IP Library Granted Patent US 7,080,382
Granted Patent B2
US 7,080,382 · App. 09/768,823 · Granted Jul 18, 2006

Accessing shorter-duration instances of activatable objects based on object references stored in longer-duration memory

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 7,080,382
App. No.
09/768,823
Granted
Jul 18, 2006
Kind
B2
Abstract

Techniques are provided for accessing an instance of a recreatable object in a shorter-duration memory based on a reference located in a longer-duration memory, where the shorter-duration memory is associated with a call. One technique involves (1) locating, within the shorter-duration memory, a context structure associated with the call; (2) locating an XREF pointers array based on data cached within the context structure; (3) determining whether the XREF pointers array includes a pointer associated with the reference; and (4) if the XREF pointers array includes a pointer associated with the reference, then following the pointer to locate the instance within the shorter-duration memory. Another technique, which may be employed in addition to or instead of the first technique, involves: (1) when a class is activated, generating, within the shorter-duration memory, a class object associated with the class; (2) storing, within the class object, data for locating instances of recreatable objects associated with the class; (3) to dereference the reference, performing the steps of (a) determining that the reference is associated with the class; and (b) using the data within the class object to locate the instance of the recreatable object.

Claims (66)

1. A computer-implemented method for accessing an instance of a recreatable object in a shorter-duration memory based on a reference to the instance of the recreatable object 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, wherein at least a portion of the context structure is passed as an argument to the call;

locating an XREF pointers array based on data cached within the context structure, wherein the data cached within the context structure includes a reference to the XREF pointers array;

determining whether the XREF pointers array includes a pointer associated with said reference to the instance of the recreatable object; and

if the XREF pointers array includes a pointer associated with said reference to the instance of the recreatable object, 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 reference to the instance of the recreatable object located in the longer-duration memory 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 2 wherein, if said array entry does not contain a pointer:

creating said instance of the recreatable object by activating said recreatable object; and

storing a pointer to said instance of the recreatable object in said array entry.

5. The method of claim 1 wherein, the XREF pointers array does not include a pointer associated with said reference to the instance of the recreatable object, the computer-implemented method further comprising the steps of:

creating said instance of the recreatable object by activating said recreatable object; and

storing a pointer to said instance of the recreatable object in said XREF pointers array.

6. The method of claim 1 wherein the duration of the shorter-duration memory is shorter than the duration of the longer-duration memory.

7. A computer implemented 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, wherein said data includes a pointer to an XREF pointers array;

to dereference said reference located in a longer-duration memory, performing the steps of:

determining that said reference located in a longer-duration memory is associated with said class; and

using said data within said class object to locate said instance of said recreatable object.

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; 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.

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 storage medium stores instructions for accessing an instance of a recreatable object in a shorter-duration memory based on a reference to the instance of the recreatable object 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, wherein at least a portion of the context structure is passed as an argument to the call;

locating an XREF pointers array based on data cached within the context structure, wherein the data cached within the context structure includes a reference to the XREF pointers array;

determining whether the XREF pointers array includes a pointer associated with said reference to the instance of the recreatable object; and

if the XREF pointers array includes a pointer associated with said reference to the instance of the recreatable object, 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 reference to the instance of the recreatable object located in the longer-duration memory 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 11 further comprising instructions for performing the steps of:

if said array entry does not contain a pointer, then creating said instance of the recreatable object by activating said recreatable object; and

storing a pointer to said instance of the recreatable object in said array entry.

14. The computer-readable medium of claim 10 wherein if the XREF pointers array does not include a pointer associated with said reference to the instance of the recreatable object, the computer-readable medium further comprises instructions for performing the steps of:

creating said instance of the recreatable object by activating said recreatable object; and

storing a pointer to said instance of the recreatable object in said XREF pointers array.

15. The computer-readable medium of claim 10 wherein the duration of the shorter-duration memory is shorter than the duration of the longer-duration memory.

16. A computer-readable storage medium stores 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, wherein said data includes a pointer to an XREF pointers array;

to dereference said reference located in the longer-duration memory, performing the steps of:

determining that said reference located in the longer-duration memory is associated with said class; and

using said data within said class object to locate said instance of said recreatable object.

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; 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.

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.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 4, 2003
From: ORACLE CORPORATION
To: ORACLE INTERNATIONAL CORPORATION (OIC)
Reel/Frame 014725/0372 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 25, 2001
From: SEXTON, HARLAN; UNIETIS, DAVID; JUNGERMAN, MARK; BENSON, PETER
To: ORACLE CORPORATION
Reel/Frame 011493/0961 →