Object oriented apparatus and method for allocating objects...

Electrical computers and digital processing systems: virtual mac – Virtual machine task or process management

Reexamination Certificate

Rate now

  [ 0.00 ] – not rated yet Voters 0   Comments 0

Details

C717S140000, C717S155000

Reexamination Certificate

active

07058943

ABSTRACT:
An object oriented mechanism and method allow allocating Java objects on a method's invocation stack in a partial compilation environment under certain conditions. Only the classes that are visible are taken into account when performing escape analysis in accordance with the preferred embodiments. In a first aspect of the invention, conservative assumptions are made to assure that objects are only allocated on an invocation stack when this can be proven safe by examining only those classes in the compilation unit. In a second aspect of the invention, the concept of visible classes is extended to include other classes that may be found from a user-defined classpath that matches the anticipated run-time classpath used to find classes during program execution. When stack allocation decisions for a method depends on such classes that are outside the compilation unit, two versions of run time code for that method are created. One version allocates all objects from the heap, whereas the other allocates some or all objects on the invocation stack. For each class outside the compilation unit that was examined when making stack allocation decisions for a method, information about the requisite class is stored with the method. At run time, the class loader verifies that the run time version of each requisite class matches all stored information about that class. If all information matches for all requisite classes, the version of the method using stack allocation is safe to use at run time. Otherwise, the method using heap allocation must be used.

REFERENCES:
patent: 6237141 (2001-05-01), Holzle et al.
patent: 6505344 (2003-01-01), Blais et al.
patent: 6675378 (2004-01-01), Schmidt
patent: 6851109 (2005-02-01), Alexander et al.
patent: 2004/0015920 (2004-01-01), Schmidt
Whaley et al., “Compositional Pointer and Escape Analysis for Java Programs”, Laboratory for Computer Science Massachusetts Institute of Technology, 1999.
Choi et al., “Escape Analysis for Java”, IBM T.J. Watson Research Center, Nov. 1, 1999.
Burke et al. “The Jalapeno Dynamic Optimizing Compiler for Java”, JAVA '99, ACM, pp. 129-141 (1999).
Whaley, John. “Partial Method Compilation Using Dynamic Profile Information”, Conference on Object Oriented Programming Systems Languages and Applications, ACM, pp. 166-179 (Oct. 2001).
Choi et al., “Escape Analysis for Java”, 14thACM SIGPLAN Conference on Object Oriented Programming Systems, Languages and Applications, Nov. 1, 1999, pp. 1-19, Denver, Colorado.
Whaley et al., “Compositional Pointer and Escape Analysis for Java Programs”, 14thACM SIGPLAN Conference on Object Oriented Programming Systems, Languages, and Applications, Nov. 1, 1999, 10 pgs., Denver, Colorado.
Bogda et al., “Removing Unnecessary Synchronization in Java”, 14thACM SIGPLAN Conference on Object Oriented Programming Systems, Languages, and Applications, Nov. 1, 1999, pp. 35-46, Denver, Colorado.

LandOfFree

Say what you really think

Search LandOfFree.com for the USA inventors and patents. Rate them and share your experience with other people.

Rating

Object oriented apparatus and method for allocating objects... does not yet have a rating. At this time, there are no reviews or comments for this patent.

If you have personal experience with Object oriented apparatus and method for allocating objects..., we encourage you to share that experience with our LandOfFree.com community. Your opinion is very important and Object oriented apparatus and method for allocating objects... will most certainly appreciate the feedback.

Rate now

     

Profile ID: LFUS-PAI-O-3681223

  Search
All data on this website is collected from public sources. Our data reflects the most accurate information available at the time of publication.