IP Library Granted Patent US 7,650,370
Granted Patent B2
US 7,650,370 · App. 11/187,529 · Granted Jan 19, 2010

System and method for regeneration of methods and garbage collection of unused methods

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,650,370
App. No.
11/187,529
Granted
Jan 19, 2010
Kind
B2
Abstract

A system and method for improving the effectiveness of a data processing application when using a virtual machine, where the program includes many methods, i.e. program sections, that are stored in the memory of the computer used, and where garbage collecting is used by said program. Thread stacks are first analyzed with respect to the methods required thereby. Each of the methods required is caused to be regenerated, where occurrent references to a method are replaced with references to the regenerated methods. All non-regenerated methods are then erased, and the corresponding memory space released.

Claims (28)

1. A method of optimizing distribution of software methods within a memory space of a virtual machine, comprising the steps of:

determining, within a plurality of methods originally distributed within a memory space of a virtual machine, a selection of the plurality of methods to be regenerated, wherein the step of determining includes analyzing threads to determine the methods currently required;

creating regenerated methods, and replacing references to each method in the selection with references to the regenerated method; and

erasing methods that have not been regenerated,

wherein the step of creating regenerated methods includes stopping the threads and recreating at an alternate memory address a copy of the methods required by the threads.

2. The method of claim 1 , wherein the step of analyzing threads includes analyzing thread stacks to determine the methods currently required by the threads.

3. The method of claim 1 , wherein the step of erasing includes releasing the portion of memory space occupied by the non-regenerated methods.

4. The method of claim 1 , wherein the step of determining includes determining an optimal locking mechanism to be used with the selection of methods.

5. The method of claim 1 , wherein the step of erasing includes using a stop and copy method of garbage collection.

6. The method of claim 1 , wherein the step of erasing includes using a mark and sweep method of garbage collection.

7. The method of claim 1 , wherein the step of erasing includes using a mark and compact method of garbage collection.

8. A system for optimizing distribution of software methods within a memory space of a virtual machine, comprising:

a virtual machine having a memory space and methods stored therein; and

a garbage collector that

determines a selection of methods to be regenerated, including determining the methods currently required by the virtual machine,

creates regenerated methods, including stopping the threads and recreating at an alternate memory address a copy of the methods required by the threads, and replacing references to each method with references to the regenerated method, and

erases all non-regenerated methods.

9. The system of claim 8 , wherein the garbage collector determines the methods currently required by analyzing thread stacks to determine the methods currently required by threads.

10. The system of claim 8 , wherein the garbage collector erases by releasing the portion of memory space occupied by the non-regenerated methods.

11. The system of claim 8 , wherein the garbage collector determines by determining an optimal locking mechanism to be used with the selection of methods.

12. The system of claim 8 , wherein the garbage collector erases by using a stop and copy method of garbage collection.

13. The system of claim 8 , wherein the garbage collector erases by using a mark and sweep method of garbage collection.

14. The system of claim 8 , wherein the garbage collector erases by using a mark and compact method of garbage collection.

15. A computer readable medium including instructions stored therein which when executed by a computer causes the computer to perform the steps of:

determining, within a plurality of methods originally distributed within a memory space of a virtual machine, a selection of the plurality of methods to be regenerated, wherein the step of determining includes analyzing threads to determine the methods currently required;

creating regenerated methods, and replacing references to each method in the selection with references to the regenerated method; and

erasing methods that have not been regenerated,

wherein the step of creating regenerated methods includes stopping the threads and recreating at an alternate memory address a copy of the methods required by the threads.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 1, 2010
From: BEA SYSTEMS, INC.
To: ORACLE INTERNATIONAL CORPORATION
Reel/Frame 025084/0470 →