Patents by Inventor Perry Cheng

Perry Cheng has filed for patents to protect the following inventions. This listing includes patent applications that are pending as well as patents that have already been granted by the United States Patent and Trademark Office (USPTO).

  • Publication number: 20060085433
    Abstract: A system includes a processor for executing a collector program to perform a method (e.g., a method of collection). The method includes using an object model during a collection phase that is different than an object model used during program execution. The processor may also perform a method including assigning a hash code to at least some objects, and consulting a structure that maintains a mapping of objects to hashcode values to determine said hashcode for one of said objects. The processor may also perform a method including storing a class pointer and garbage collector state information in a single word, and accessing said class pointer by masking out non-class bits.
    Type: Application
    Filed: September 24, 2004
    Publication date: April 20, 2006
    Applicant: International Business Machines Corporation
    Inventors: David Bacon, Perry Cheng, David Grove
  • Publication number: 20050149588
    Abstract: A garbage collection system that needs to meet real-time requirements combines a null-check required for an application with a null check required by its read barrier. The null-check for the application may be the null-check required for a Java object dereference and may be performed via explicit comparisons or implicit traps. To facilitate the combining of the null-checks, the read barrier is broken into portions and sunk to its point of use. Thus, any exception due to a null-pointer in the read barrier will occur at the same location as the exception occurs in the application. Combining the null-checks reduces the overhead costs associated with the read barrier and improves the performance of the real-time application.
    Type: Application
    Filed: January 5, 2004
    Publication date: July 7, 2005
    Inventors: David Bacon, Perry Cheng, Vadakkedathu Rajan
  • Publication number: 20050149346
    Abstract: A garbage collection system that needs to meet real-time requirements breaks large objects that need to be moved into a series of arraylets. The arraylets are sized such that the amount of time required to move the arraylets is bounded by a predetermined amount. The arrays are preferably uniformly represented in the header for each array with a series of arralylet pointers that indicate the location of the arraylets. Control-flow graph splitting is used to eliminate multiple tests and allow common sub-expression elimination. Strip-mining can also be used to improve the efficiency of the process.
    Type: Application
    Filed: January 5, 2004
    Publication date: July 7, 2005
    Inventors: Matthew Arnold, David Bacon, Perry Cheng, Vadakkedathu Rajan
  • Publication number: 20050149585
    Abstract: A garbage collection system that needs to meet real-time requirements with guaranteed space bounds uses a mostly non-copying hybrid collector that performs defragmentation with limited copying of objects. The garbage collection and the real-time application are interleaved on a time-based schedule. An interval for the interleaving is selected based upon a garbage collector processing rate, a garbage generation rate and a memory allocation rate of the real-time application. An amount of memory for the real-time application and the garbage collection process is selected based upon the maximum excess memory requirement of the garbage collection process and the maximum memory requirement for the application. Defragmentation is only performed when an amount of available memory falls below a predetermined level.
    Type: Application
    Filed: January 5, 2004
    Publication date: July 7, 2005
    Inventors: David Bacon, Perry Cheng, Vadakkedathu Rajan
  • Publication number: 20050149589
    Abstract: A garbage collection system that needs to meet real-time requirements uses an eager read barrier that performs a forwarding operation as soon as a quantity is loaded. The barrier maintains a to-space invariant by including a forwarding pointer in the header of objects to be moved or accessed that normally points to the object itself. However, if the object has been moved, the forwarding pointer points to the new object location. The eager read barrier maintains the registers and stack cells such that the registers and stack cells always point into to-space. Barrier-sinking and common sub-expression elimination are used to minimize the overhead associated with the read barrier.
    Type: Application
    Filed: January 5, 2004
    Publication date: July 7, 2005
    Inventors: David Bacon, Perry Cheng, Vadakkedathu Rajan
  • Publication number: 20050149686
    Abstract: A garbage collection process for managing a memory includes a defragmentation cycle. The garbage collection process is interleaved with a running application on a time-based or work-based schedule. The memory is divided into pages which are further divided into blocks falling into one of a number of block size classes. Objects that were not used during the last garbage collection phase are marked. Objects that were used are moved from pages containing the least live objects to pages containing the most live objects. Objects of the largest block size classes are moved first and objects of the smallest block size class are moved last. The garbage collection interval can be selected to satisfy desired CPU utilization or memory overhead requirements.
    Type: Application
    Filed: January 5, 2004
    Publication date: July 7, 2005
    Inventors: David Bacon, Perry Cheng, Vadakkedathu Rajan
  • Publication number: 20050149587
    Abstract: A garbage collection system that needs to meet real-time requirements utilizes a read barrier that is implemented in an optimizing compiler. The read barrier is implemented with a forwarding pointer positioned in a header of each object. The forwarding pointer points to the object unless the object has been moved. The barrier is optimized by breaking the barrier and applying barrier sinking to sink the read barrier to its point of use and by using sub-expression elimination. A null-check for the read barrier is combined with a null-check required by the real-time application. All objects are located and moved with the collector to minimize variations in mutator utilization.
    Type: Application
    Filed: January 5, 2004
    Publication date: July 7, 2005
    Inventors: David Bacon, Perry Cheng, Vadakkedathu Rajan