Claims
- 1. A method for maintaining a write barrier during an assignment operation between a source object and a target object, comprising:
obtaining a source tag from a first reference to the source object; obtaining a target tag from a second reference to the target object; comparing the source tag and the target tag; and if the source tag is in a predetermined relationship with the target tag, then updating a data structure associated with the write barrier in accordance with the assignment operation.
- 2. A method of according to claim 1, wherein the predetermined relation is a numerical relation including one of greater-than, greater-than-or-equal-to, less-than, and less-than-or-equal-to.
- 3. A method according to claim 1, wherein the data structure includes a remember table or an exit table.
- 4. A computer-readable medium bearing instructions for maintaining a write barrier during an assignment operation between a source object and a target object, said instruction, being arranged, upon execution, to cause one or more processors to perform the method of claim 1.
- 5. A method for maintaining a write barrier during an assignment operation between a source object and a target object, comprising:
obtaining a source tag from a first reference to the source object; obtaining a target tag from a second reference to the target object; comparing the source tag and the target tag to determine whether the source object belongs to a memory space that contains objects of a more recent lifetime than objects contained in a memory space to which the target object belongs; and if the source object belongs to a memory space, then updating a data structure associated with the write barrier in accordance with the assignment operation.
- 6. A computer-readable medium bearing instructions for maintaining a write barrier during an assignment operation between a source object and a target object, said instruction, being arranged, upon execution, to cause one or more processors to perform the method of claim 5.
- 7. A method for maintaining a write barrier during an assignment operation between a source object and a target object, comprising:
obtaining a reference tag from a first reference to the source object; obtaining an object tag by dereferencing a second reference to the target object; comparing the reference tag and the object tag; and if the reference tag is in a predetermined relationship with the object tag, then updating a data structure associated with the write barrier in accordance with the assignment operation.
- 8. A method according to claim 7, further comprising:
selecting the data structure from a plurality of data structures associated with respective memory spaces based on the object tag.
- 9. A method according to claim 8, wherein said selecting includes:
dispatching to a routine from among a plurality of routines, each for updating a corresponding one of the data structures.
- 10. A computer-readable medium bearing instructions for maintaining a write barrier during an assignment operation between a source object and a target object, said instruction, being arranged, upon execution, to cause one or more processors to perform the method of claim 7.
- 11. A method for maintaining a write barrier during an assignment operation between a source object and a target object, comprising:
obtaining a source tag from a reference to the source object; obtaining a target tag from a reference to the target object; comparing the source tag and the target tag; and if the source tag is less than the target tag, then performing the steps of:
fetching an object tag from a header associated with the target object based on the reference to the target object; comparing the object tag and the target tag to determine whether the source tag is in a predetermined relationship with the target tag; and if the object tag is less than the target tag, then dispatching to a routine to update a data structure associated with the write barrier based on the object tag.
- 12. A computer-readable medium bearing instructions for maintaining a write barrier during an assignment operation between a source object and a target object, said instruction, being arranged, upon execution, to cause one or more processors to perform the method of claim 11.
RELATED APPLICATIONS
[0001] The present application claims the benefit of U.S. Provisional Patent Application Serial No. 60/378,391 filed on May 8, 2002 (attorney docket number 50277-1054), the contents of which are hereby incorporated by reference.
[0002] The present application is a continuation-in-part of U.S. patent application Ser. No. 10/102,844 filed on Mar. 22, 2002, which is a divisional application of U.S. patent application Ser. No. 09/248,295 filed on Feb. 11, 1999 now U.S. Pat. No. 6,457,019, the contents of both of which are hereby incorporated by reference.
Provisional Applications (1)
|
Number |
Date |
Country |
|
60378391 |
May 2002 |
US |
Divisions (1)
|
Number |
Date |
Country |
Parent |
09248295 |
Feb 1999 |
US |
Child |
10102844 |
Mar 2002 |
US |
Continuation in Parts (1)
|
Number |
Date |
Country |
Parent |
10102844 |
Mar 2002 |
US |
Child |
10339707 |
Jan 2003 |
US |