Patents by Inventor Antonios Printezis

Antonios Printezis 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: 20080263295
    Abstract: Apparatus, methods, and computer program products are disclosed that improve management of a dynamic memory area. One aspect is a method that reclaims memory referenced by a finalizable-object that has been instantiated from a class definition that incorporates at least one parent class and one or more class-extensions into a class hierarchy. The method includes marking for retention a related memory reachable from a reference field of the finalizable-object, and adding the finalizable-object to a finalization set for subsequent invocation of a non-trivial finalize-method. The method also determines whether the portion of the finalizable-object that includes the reference field to the related memory is a class-extension that has a finalizer-free characteristic and conditions the marking for retention on that determination. Thus, a portion the finalizable-object's related memory can be more quickly reclaimed from a dynamic memory area.
    Type: Application
    Filed: April 18, 2007
    Publication date: October 23, 2008
    Inventors: Antonios Printezis, Peter B. Kessler
  • Patent number: 7441201
    Abstract: A method for creating a three-dimensional (3D) graphical user interface (GUI) involves creating a first two-dimensional (2D) container and a second 2D container, and placing the first 2D container and the second 2D container in a 3D environment to create the 3D GUI, wherein the orientation of the first 2D container in the 3D environment and the orientation of the second 2D container in the 3D environment are set prior to run time.
    Type: Grant
    Filed: October 19, 2004
    Date of Patent: October 21, 2008
    Assignee: Sun Microsystems, Inc.
    Inventor: Antonios Printezis
  • Publication number: 20080250088
    Abstract: The invention relates to a method for performing generational garbage collection on a heap comprising a plurality of generations. The method involves dividing a young generation of the heap into a first young generation and a second young generation, evacuating the first young generation concurrently with allocating the second young generation, and evacuating the second young generation concurrently with allocating the first young generation and subsequent to fully evacuating the first young generation.
    Type: Application
    Filed: April 3, 2007
    Publication date: October 9, 2008
    Applicant: Sun Microsystems, Inc.
    Inventors: Antonios Printezis, Alexander T. Garthwaite
  • Publication number: 20080235305
    Abstract: A technique for establishing a dense prefix for a memory in a computer system. Memory is divided into a plurality of chunks. An efficiency factor is generated for each chunk in one or more chunks contained in the plurality of chunks. The efficiency factor may be based on an amount of memory to be reclaimed, an amount of memory to be scanned and an amount of memory to be copied relative to the chunk. A dense prefix is then established for the memory based on an efficiency factor associated with a chunk.
    Type: Application
    Filed: March 20, 2007
    Publication date: September 25, 2008
    Inventors: Antonios Printezis, John W. Coomes
  • Publication number: 20080172538
    Abstract: A method, apparatus and computer program product for providing page-protection based memory access barrier traps is presented. A value for a user-mode bit (u-bit) is computed for each extant virtual page in an address space, the u-bit indicative that an object on the virtual page is being moved by a Garbage Collector process. An instruction is executed which causes an access protection fault. The state of the u-bit for the virtual page associated with the access protection fault is consulted when the access protection fault is encountered. Additionally, the access protection fault is translated into a user-trap (utrap) and the utrap is serviced when the u-bit is set.
    Type: Application
    Filed: January 17, 2007
    Publication date: July 17, 2008
    Inventors: David Dice, Antonios Printezis
  • Patent number: 7389395
    Abstract: A heap may be marked and compacted while performing only two passes over the objects and object references in the heap. Specifically, objects and object references are traversed once during a marking phase and again during a compaction phase of split-reference, two-pass mark-compaction. Object references are updated in two steps. First, during marking, each object reference may be updated to include the relative offset within its block of the referenced object and-during compaction that offset may be added to the block's destination address resulting in a reference that points to the actual post-compaction location for the referenced object. Objects of a particular block may be rearranged, or permuted, with respect to each other within the block. However, the order between groups of objects in different blocks may be preserved across compaction.
    Type: Grant
    Filed: June 26, 2005
    Date of Patent: June 17, 2008
    Assignee: Sun Microsystems, Inc.
    Inventors: Alexander T. Garthwaite, David P. Stoutamire, Peter B. Kessler, Y Srinivas Ramakrisha, David L. Detlefs, Antonios Printezis, Jon A. Masamitsu, John W. Coomes
  • Patent number: 7313566
    Abstract: All references to an object subset to which an atomic operation is to be applied are deliberately transformed so that an attempt by an application thread to dereference such a transformed reference will raise a faulting address trap. When the faulting address trap is raised, the faulting thread will enter a trap handler, which suspends the faulting thread. The atomic operation can then be applied and the faulting thread restarted.
    Type: Grant
    Filed: December 23, 2004
    Date of Patent: December 25, 2007
    Assignee: Sun Microsystems, Inc.
    Inventors: Antonios Printezis, Alexander T. Garthwaite
  • Patent number: 7293051
    Abstract: A space-incremental garbage collector performs marking operations that are usually separated by several collection increments. It uses the marking results to compute collection-efficiency metrics for regions into which it treats the heap as divided. It bases its selection of regions for successive increments' collection sets on the metrics' values, whose computations also depend on the sizes of the regions' “remembered sets,” i.e., on the lists of locations where references to objects in those regions have been observed. Although the remembered-set sizes therefore potentially change between collection increments, the collector re-computes metrics in most collection increments for only a subset of the regions. It selects the subset in accordance with a sorting of all regions that it performed at the end of the most recent completed marking operation.
    Type: Grant
    Filed: July 1, 2004
    Date of Patent: November 6, 2007
    Assignee: Sun Microsystems, Inc.
    Inventors: Antonios Printezis, David L. Detlefs
  • Patent number: 7287049
    Abstract: A garbage collector keeps a log of recent system usage. From that usage thus recorded, it determines whether a time slice whose duration a maximum-mutator-utilization (“MMU”) specification prescribes and whose end time is the same as a prospective future collection pause will contain more than the maximum imposed by the MMU specification on the time slice's garbage collector time. The collector uses that determination to arrive at a compliant length for a pause that is to start at a predetermined time or to find a time at which a pause of a predetermined length can start without violating the MMU specification.
    Type: Grant
    Filed: June 29, 2004
    Date of Patent: October 23, 2007
    Assignee: Sun Microsystems, Inc.
    Inventors: Antonios Printezis, David L. Detlefs
  • Publication number: 20070180002
    Abstract: In some circumstances a generational garbage collector may be made more efficient by “pre-tenuring” objects or directly allocating new objects in an old generation instead of allocating them in the normal fashion in a young generation. A pre-tenuring decision is made by a two step process. In the first step, during a young-generation collection, an execution frequency is determined for each allocation site and sites with the highest execution frequency are selected as candidate sites. In the second step, during a subsequent young-generation collection, the survival rates are determined for the candidate sites. After this, objects allocated from sites with sufficiently high survival rates are allocated directly in the old generation.
    Type: Application
    Filed: January 27, 2006
    Publication date: August 2, 2007
    Applicant: Sun Microsystems, Inc.
    Inventors: Antonios Printezis, David Detlefs, Fabio Rojas
  • Publication number: 20070174370
    Abstract: In a generational, copying garbage collector, young generation collection may be made more efficient by dynamically measuring object survival rates as a function of “fine-grained” allocation age, and choosing, on the basis of these survival rates, part of the young generation that will be not be collected, but instead scanned for pointers to objects in the rest of the young generation. The rest of the young generation, including objects referenced by the pointers, is then collected.
    Type: Application
    Filed: January 12, 2006
    Publication date: July 26, 2007
    Applicant: Sun Microsystems, Inc.
    Inventors: David Detlefs, Antonios Printezis, Steven Heller
  • Publication number: 20070162526
    Abstract: The time cost of collecting a region in a Garbage-First garbage collector is adjusted to account for concurrent thread activity. The overhead of a concurrent thread is tracked by dividing elapsed time into relatively short time “windows” and monitoring the system during those windows to determine how long that thread is scheduled to run during those windows. Using measurements of this type for each concurrent thread, the percentage of each elapsed time window dedicated to each concurrent thread is determined. Finally, by summing the percentages of elapsed time dedicated to concurrent thread activity, the cost of collecting a region can be increased by adding the overhead attributable to concurrent activity.
    Type: Application
    Filed: December 19, 2005
    Publication date: July 12, 2007
    Applicant: Sun Microsystems, Inc.
    Inventors: Antonios Printezis, David Detlefs
  • Patent number: 7136887
    Abstract: A garbage collector divides the garbage-collected heap into “cards.” It maintains a table containing a card-object table entry for each card. A card's entry contains information from which the collector can determine where any references in the card are located and thereby identify objects that may be reachable. The encoding of a card's table entry is not restricted to values that indicate the location of the object in which the card begins. Instead, its possible values additionally include ones that indicate that the card begins with a certain number of references or that an object begins at a given location in the middle of the card. The collector thereby avoids consulting object's class information unnecessarily.
    Type: Grant
    Filed: December 4, 2002
    Date of Patent: November 14, 2006
    Assignee: Sun Microsystems, Inc.
    Inventors: Alexander T. Garthwaite, David L. Detlefs, Antonios Printezis, Y. Srinivas Ramakrishna
  • Publication number: 20040111445
    Abstract: A garbage collector divides the garbage-collected heap into “cards.” It maintains a table containing a card-object table entry for each card. A card's entry contains information from which the collector can determine where any references in the card are located and thereby identify objects that may be reachable. The encoding of a card's table entry is not restricted to values that indicate the location of the object in which the card begins. Instead, its possible values additionally include ones that indicate that the card begins with a certain number of references or that an object begins at a given location in the middle of the card. The collector thereby avoids consulting object's class information unnecessarily.
    Type: Application
    Filed: December 4, 2002
    Publication date: June 10, 2004
    Inventors: Alexander T. Garthwaite, David L. Detlefs, Antonios Printezis, Y. Srinivas Ramakrishna
  • Patent number: 6249793
    Abstract: A system for mostly concurrent compaction in a garbage collection system is disclosed. Objects that have been allocated to a program are relocated by first identifying those variables pointing to a selected set of objects that are in use within a subset of memory. As these pointers are identified, they are added to a data structure. The selection of the objects, identification of the pointers, and addition of the pointers to the data structure may all be performed concurrently with execution of the program. At the same time, a write barrier marks as “dirty” those memory regions in which one or more pointers are modified by the program. A number of locations outside the subset of memory are reserved to be used to store the selected objects. Execution of the program is then suspended. The memory regions marked as “dirty” are examined to identify any further variables pointing to the selected objects. Any such identified variables are added to the data structure.
    Type: Grant
    Filed: June 10, 1999
    Date of Patent: June 19, 2001
    Assignee: Sun Microsystems, Inc.
    Inventors: Antonios Printezis, David L. Detlefs