Patent · US Expired

Efficient locking for thread-safe self-modifying code

US7185337B2 · kind B2 · utility

2Cited by
15References
21Claims
0Family size

Assignee

Inventors

Key dates

Filing dateMay 29, 2001
Grant dateFeb 27, 2007
Priority date
Expiry dateDec 27, 2022

Classification

  • Technology area (CPC Y)Emerging Cross-Sectional Technologies
  • CPC primaryY10S707/99953
  • WIPO fieldComputer technology
  • WIPO sectorElectrical engineering

Abstract

A locking mechanism for use in a multi-thread environment supporting self-modifying code in which modifications to the code are made at runtime. The locking mechanism having associated helper code accessed by a call from the first instruction address in the code block. The helper code calculating the binary encoding for the call instruction and using an atomic compare and exchange instruction to compare the calculated binary encoding with the actual contents of the first instruction address. Where there is a match, a self loop instruction is written to the first instruction address to lock the specified code block for subsequent threads. The helper code contains instructions to resolve the references in the specified block. The last such instruction is an atomic store operation to replace the self loop instruction at the first instruction address with the appropriate modified instruction.

Source: USPTO / EPO open patent data. Objective bibliographic and citation counts.