Mark-sweep Patents (Class 707/816)
  • Patent number: 7747659
    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: Grant
    Filed: January 5, 2004
    Date of Patent: June 29, 2010
    Assignee: International Business Machines Corporation
    Inventors: David Francis Bacon, Perry Cheng, Vadakkedathu Thomas Rajan
  • Patent number: 7734667
    Abstract: A system and method is provided for reducing memory leaks in virtual machine programs, such as those encountered in programs running in the Java Virtual Machine (JVM) environment. A compiler, such as a Java Just-In-Time (JIT) compiler, is used to identify the last use of an variable and, subsequent to the program statement where the last use occurs, insert a nullification statement. The nullification statement nullifies the variable so that it no longer references an object stored in a garbage collected heap. Variables in a program are identified in the activation records of the program. The nullification statement, when executed, severs the link between the program and the objects stored in the garbage-collected heap so that the program is no longer seen as a “root” for the object, often enabling the garbage collector to reclaim memory occupied by the object sooner.
    Type: Grant
    Filed: November 12, 2007
    Date of Patent: June 8, 2010
    Assignee: International Business Machines Corporation
    Inventor: John M. Lake
  • Patent number: 7716192
    Abstract: Described is a technology by which a real-time data relocating mechanism is provided for multiprocessing environments, including supporting lock-free programs that run in parallel. The relocating mechanism moves an object by using a status field related to the data field, possibly in an interim (wide) object space, which is then copied to a to-space object. The status information for each data field of the original object contains information indicating where a current version of the data for each field is present, that is, in the original, wide or to-space object. In one example, a handshake mechanism of a garbage collector establishes preparation and copy phases between the mechanism and other threads that determine where memory accesses occur. Also described is support for program thread compare-and-swap (CAS) operations and/or multi-word atomic operations.
    Type: Grant
    Filed: May 8, 2007
    Date of Patent: May 11, 2010
    Assignee: Microsoft Corporation
    Inventors: Erez Petrank, Filip Jerzy Pizlo, Bjarne Steensgaard
  • Publication number: 20100114999
    Abstract: The present invention provides a method and system for processing memory access events.
    Type: Application
    Filed: October 30, 2009
    Publication date: May 6, 2010
    Applicant: International Business Machines Corporation
    Inventor: Yao Qi
  • Publication number: 20100082711
    Abstract: Communications systems and methods for minimizing file corruption when communicating between a device and a host are provided. To initiate a file transfer section, a host can transfer data to a device on a primary communications channel. The device can then temporarily store the received data in a memory circuit until a command is received indicating that the file has been completely transferred. In order to avoid interfering with the data transfer, the host can provide such a command to the device on a sideband communications channel. Upon receiving the command, the device can integrate the received data into its file system by transferring the data from the memory circuit to a more permanent storage component. If the communications interface is disconnected before such a command is received, the temporarily stored data can be considered incomplete and can be deleted.
    Type: Application
    Filed: September 26, 2008
    Publication date: April 1, 2010
    Inventors: Kenneth Herman, Daniel Fletcher, Matthew Rogers
  • Publication number: 20100063727
    Abstract: A map information processing apparatus includes: a vehicle position calculation unit 12 for calculating a vehicle position; a traveling locus data generation unit 21 for generating traveling locus data on the basis of the calculated vehicle position when the vehicle position deviates from a road indicated by road data that are included in map data read from a map data storage unit 1; a temporary registration unit 23 for registering the traveling locus data generated by the traveling locus data generation unit in a temporarily registered road list as a temporarily registered road; an operation unit 11 for selecting one of temporarily registered roads registered in the temporarily registered road list; and an official registration unit 24 for registering the temporarily registered road selected by the operation unit in an officially registered road list as an officially registered road in accordance with an instruction from the operation unit, generating road data on the basis of traveling locus data relating t
    Type: Application
    Filed: January 18, 2008
    Publication date: March 11, 2010
    Inventors: Masaharu Umezu, Atsushi Kohno, Kiyoshi Matsutani, Tomoya Ikeuchi, Makoto Mikuriya, Tomohiro Nakae, Yasushi Kodaka