Claims
- 1. A method for accessing an instance of a recreatable object in a shorter-duration memory based on a reference located in a longer-duration memory, wherein the shorter-duration memory is associated with a call, the method comprising the steps of:
locating, within the shorter-duration memory, a context structure associated with the call; locating an XREF pointers array based on data cached within the context structure; determining whether the XREF pointers array includes a pointer associated with said reference; and if the XREF pointers array includes a pointer associated with said reference, then following said pointer to locate said instance within said shorter-duration memory.
- 2. The method of claim 1 wherein the step of locating an XREF pointers array based on data cached within the context structure comprises the steps of:
determining a hash code associated with a memory page in which the XREF is located; using at least a portion of the hash code as an index to locate an array entry within an array stored within the context structure; and if said array entry contains a pointer, then following said pointer stored in said array entry to locate said XREF pointers array.
- 3. The method of claim 2 wherein:
the array is a power-of-two array; and the portion of said hash code that is used as said index includes a particular number of bits of said hash code.
- 4. The method of claim 1 wherein:
the XREF pointers array does not include a pointer associated with said reference; and the method further comprises the steps of creating said instance by activating said recreatable object; and storing a pointer to said instance in said XREF pointers array.
- 5. The method of claim 2 wherein:
if said array entry does not contain a pointer, then creating said instance by activating said recreatable object; and storing a pointer to said instance in said array entry.
- 6. A method for accessing an instance of a recreatable object in shorter-duration memory based on a reference located in a longer-duration memory, wherein the shorter-duration memory is associated with a call, the method comprising the steps of:
when a class is activated, generating, within said shorter-duration memory, a class object associated with the class; storing, within said class object, data for locating instances of recreatable objects associated with said class; to dereference said reference, performing the steps of determining that said reference is associated with said class; and using said data within said class object to locate said instance of said recreatable object.
- 7. The method of claim 6 wherein the step of storing, within said class object, data for locating instances is performed by storing, within said class object, a pointer to an XREF pointers array.
- 8. The method of claim 7 wherein the step of using said data within object to locate said instance includes the steps of:
determining whether the XREF pointers array includes a pointer associated with said reference; if the XREF pointers array includes a pointer associated with said reference, then following said pointer to locate said instance within said shorter-duration memory.
- 9. The method of claim 8 wherein:
the XREF pointers array does not include a pointer associated with said reference; and the method further comprises the steps of creating said instance by activating said recreatable object; and storing a pointer to said instance in said XREF pointers array.
- 10. A computer-readable medium carrying instructions for accessing an instance of a recreatable object in a shorter-duration memory based on a reference located in a longer-duration memory, wherein the shorter-duration memory is associated with a call, the computer-readable medium comprising instructions for performing the steps of:
locating, within the shorter-duration memory, a context structure associated with the call; locating an XREF pointers array based on data cached within the context structure; determining whether the XREF pointers array includes a pointer associated with said reference; and if the XREF pointers array includes a pointer associated with said reference, then following said pointer to locate said instance within said shorter-duration memory.
- 11. The computer-readable medium of claim 10 wherein the step of locating an XREF pointers array based on data cached within the context structure comprises the steps of:
determining a hash code associated with a memory page in which the XREF is located; using at least a portion of the hash code as an index to locate an array entry within an array stored within the context structure; and if said array entry contains a pointer, then following said pointer stored in said array entry to locate said XREF pointers array.
- 12. The computer-readable medium of claim 11 wherein:
the array is a power-of-two array; and the portion of said hash code that is used as said index includes a particular number of bits of said hash code.
- 13. The computer-readable medium of claim 10 wherein:
the XREF pointers array does not include a pointer associated with said reference; and the computer-readable medium further comprises instructions for performing the steps of
creating said instance by activating said recreatable object; and storing a pointer to said instance in said XREF pointers array.
- 14. The computer-readable medium of claim 11 further comprising instructions for performing the steps of:
if said array entry does not contain a pointer, then creating said instance by activating said recreatable object; and storing a pointer to said instance in said array entry.
- 15. A computer-readable medium carrying instructions for accessing an instance of a recreatable object in shorter-duration memory based on a reference located in a longer-duration memory, wherein the shorter-duration memory is associated with a call, the computer-readable medium comprising instructions for performing the steps of:
when a class is activated, generating, within said shorter-duration memory, a class object associated with the class; storing, within said class object, data for locating instances of recreatable objects associated with said class; to dereference said reference, performing the steps of determining that said reference is associated with said class; and using said data within said class object to locate said instance of said recreatable object.
- 16. The computer-readable medium of claim 15 wherein the step of storing, within said class object, data for locating instances is performed by storing, within said class object, a pointer to an XREF pointers array.
- 17. The computer-readable medium of claim 16 wherein the step of using said data within object to locate said instance includes the steps of:
determining whether the XREF pointers array includes a pointer associated with said reference; if the XREF pointers array includes a pointer associated with said reference, then following said pointer to locate said instance within said shorter-duration memory.
- 18. The computer-readable medium of claim 17 wherein:
the XREF pointers array does not include a pointer associated with said reference; and the computer-readable medium further comprises instructions for performing the steps of
creating said instance by activating said recreatable object; and storing a pointer to said instance in said XREF pointers array.
RELATED APPLICATIONS
[0001] The present application claims the benefit of the following U.S. Provisional patent application, the contents of which are incorporated by reference in their entirety:
[0002] U.S. Provisional patent application Ser. No. 60/185,137 entitled ACCESSING SHORTER-DURATION INSTANCES OF ACTIVATABLE OBJECTS BASED ON OBJECT REFERENCES STORED IN LONGER-DURATION MEMORY, filed on Feb. 25, 2000 by Harlan Sexton et al. (docket 50277-332; OID-1999-084-01PRO).
[0003] The present application is related to the following commonly-assigned, co-pending U.S. patent applications, the contents of all of which are incorporated by reference in their entirety:
[0004] U.S. patent application Ser. No. 09/248,295 entitled MEMORY MANAGEMENT SYSTEM WITHIN A RUN-TIME ENVIRONMENT, filed on Feb. 11, 1999 by Harlan Sexton et al. (docket 50277-178; OID-1997-048-01);
[0005] U.S. patent application Ser. No. 09/248,291 entitled MACHINE INDEPENDENT MEMORY MANAGEMENT SYSTEM WITHIN A RUN-TIME ENVIRONMENT, filed on Feb. 11, 1999 by Harlan Sexton et al. (docket 50277-172; OID-1997-048-02);
[0006] U.S. patent application Ser. No. 09/248,294 entitled ADDRESS CALCULATION OF INVARIANT REFERENCES WITHIN A RUN-TIME ENVIRONMENT, filed on Feb. 11, 1999 by Harlan Sexton et al. (docket 50277-179; OID-1997-048-03);
[0007] U.S. patent application Ser. No. 09/248,297 entitled PAGED MEMORY MANAGEMENT SYSTEM WITHIN A RUN-TIME ENVIRONMENT, filed on Feb. 11, 1999 by Harlan Sexton et al. (docket 50277-261; OID-1997-048-17);
[0008] U.S. patent application Ser. No. 09/320,578 entitled METHOD AND ARTICLE FOR ACCESSING SLOTS OF PAGED OBJECTS, filed on May 27, 1999 by Harlan Sexton et al. (docket 50277-293; OID-1998-034-01);
[0009] U.S. patent application Ser. No. 09/320,578 entitled METHOD AND ARTICLE FOR MANAGING REFERENCES TO EXTERNAL OBJECTS IN A RUNTIME ENVIRONMENT, filed on May 27, 1999 by Harlan Sexton et al. (docket 50277-293; OID-1998-034-01);
[0010] U.S. patent application Ser. No. 09/512,619 entitled METHOD FOR MANAGING MEMORY USING EXPLICIT, LAZY INITALIZATION IN A RUN-TIME ENVIRONMENT, filed on Feb. 25, 2000 by Harlan Sexton et al. (docket 50277-214; OID-1997-048-07);
[0011] U.S. patent application Ser. No. 09/512,622 entitled METHOD FOR MANAGING MEMORY USING ACTIVATION-DRIVEN INITIALIZATION IN A RUN-TIME ENVIRONMENT, filed on Feb. 25, 2000 by Harlan Sexton et al. (docket 50277-213; OID-1997-048-08);
[0012] U.S. patent application Ser. No. 09/512,621 entitled SYSTEM AND METHODLOGY FOR SUPPORTING A PLATFORM INDEPENDENT OBJECT FORMAT FOR A RUN-TIME ENVIRONMENT, filed on Feb. 25, 2000 by Harlan Sexton et al. (docket 50277-258; OID-1997-048-14);
[0013] U.S. patent application Ser. No. 09/512,618 entitled METHOD AND APPARATUS FOR MANAGING SHARED MEMORY IN A RUN-TIME ENVIRONMENT, filed on Feb. 25, 2000 by Harlan Sexton et al. (docket 50277-259; OID-1997-048-15); and
[0014] U.S. patent application Ser. No. 09/512,620 entitled USING A VIRTUAL MACHINE INSTANCE AS THE BASIC UNIT OF USER EXECUTION IN A SERVER ENVIRONMENT, filed on Feb. 25, 2000 by Harlan Sexton et al. (docket 50277-403; OID-1997-048-19).
Provisional Applications (1)
|
Number |
Date |
Country |
|
60185137 |
Feb 2000 |
US |