Method and system of dynamic memory management
First Claim
Patent Images
1. A method of managing memory in a computer system, the computer system having an activation stack, the method comprising:
- accessing the activation stack with a first thread;
accessing the activation stack with a second thread;
pausing the first thread only during a portion of time that the activation stack is accessed by the second thread; and
managing access of the activation stack to prevent access of the activation stack by the first and second threads at the same time.
5 Assignments
0 Petitions
Accused Products
Abstract
A method and system of dynamic memory management. The method of managing memory in a computer system includes accessing the activation stack with a first thread, accessing the activation stack with a second thread, pausing the first thread only during a portion of time that the activation stack is accessed by the second thread, and managing access of the activation stack to prevent access of the activation stack by the first and second threads at the same time. The activation stack includes a plurality of frames, and a processor is utilized to activate and deactivate the threads.
-
Citations
24 Claims
-
1. A method of managing memory in a computer system, the computer system having an activation stack, the method comprising:
-
accessing the activation stack with a first thread;
accessing the activation stack with a second thread;
pausing the first thread only during a portion of time that the activation stack is accessed by the second thread; and
managing access of the activation stack to prevent access of the activation stack by the first and second threads at the same time. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. A computer system comprising:
-
an activation stack with a plurality of frames; and
a processor to activate and deactivate at least a first thread and a second thread, the first and second threads having access to the activation stack, the processor operable to pause the first thread during a portion of time that the activation stack is accessed by the second thread. - View Dependent Claims (10, 11, 12, 13, 14, 15, 17, 19, 20, 21, 22, 23, 24)
-
-
16. A method of operating a computer system having an activation stack with a plurality of frames, each frame having data, and the frames organized according to age, each frame having a return address, the method comprising:
-
enabling a second thread to access a first thread in the stack;
suspending execution of the first thread only for the time it takes the second thread to examine the youngest frame in the activation stack;
editing the return address of a frame of interest to refer to a return barrier code;
allowing execution of the first thread to continue once a garbage collection thread has examined the youngest frame in the activation stack;
examining additional frames in the activation stack using the second thread; and
editing the return address of each frame examined by the second thread to refer to the return barrier code.
-
-
18. A computer system comprising:
-
a dynamic compiler, the dynamic compiler including;
an execution history recorder configured to record the number of times a fragment of code is executed, the execution history recorder having a threshold;
an interpreter coupled to the execution history recorder;
a compiler manager coupled to the execution history recorder;
a compiler coupled to the compiler manager, the compiler arranged to create compiled fragments of code having dominant code blocks and at least one outlier;
cache coupled to the dynamic compiler and managed by the compiler manager such that dominant code blocks are stored in one portion of the cache and the at least one outlier is stored in another portion of the cache;
an activation stack with a plurality of frames; and
a processor to activate and deactivate at least a first thread and a second thread, the first and second threads having access to the activation stack, the processor operable to pause the first thread during a portion of time that the activation stack is accessed by the second thread.
-
Specification