Method for reducing write barrier overhead

a write barrier and overhead technology, applied in the field of automatic memory management, can solve the problems of reducing the throughput of applications, java does not provide the programmer with an explicit mechanism, etc., and achieve the effect of eliminating write barrier code and eliminating write barrier cod

US7210122B2Inactive Publication Date: 2007-04-24IBM CORP
17 Cites 18 Cited by

Patent Information

Authority / Receiving Office
US · United States
Patent Type
Patents(United States)
Current Assignee / Owner
Publication Date
2007-04-24
Estimated Expiration
Not applicable · inactive patent

Smart Images

  • Figure 1
    Figure 1
  • Figure 2
    Figure 2
  • Figure 3
    Figure 3
Patent Text Reader

Abstract

A computer system and method for compiling a program, where the program executes pointer assignments from a source object to a destination object, each source object being addressable through a first pointer and each destination object being addressable through a second pointer. The system and method eliminate write barrier code from association with compiled program code when the first pointer points to a source object whose type is prolific, eliminate write barrier code from association with compiled program code when the second pointer points to a destination object whose type is non-prolific, and associate write barrier code with compiled program code when the source object is non-prolific and the destination object is prolific. Additionally, the system and method can determine not to associate write barrier code with a compiled program code if the second pointer points to a destination object whose type is non-prolific and if the first pointer points to a source object whose type is prolific.
Need to check novelty before this filing date? Find Prior Art

Description

CROSS-REFERENCE TO RELATED APPLICATIONS

[0001] This application is based upon and claims priority from prior U.S. Provisional Patent Application No. 60 / 278,060, filed on Mar. 22, 2001, and further is based upon and claims priority from prior U.S. Provisional Patent Application No. 60 / 281,759, filed on Apr. 5, 2001, collectively the entire disclosure of which is herein incorporated by reference.

[0002] The present patent application is related to co-pending and commonly owned U.S. patent application Ser. No. 10 / 093,656, entitled “Method for Efficient Garbage Collection Based on Object Types”, filed on even date with the present patent application, the entire teachings of which being hereby incorporated by reference.BACKGROUND OF THE INVENTION

[0003] 1. Field of the Invention

[0004] This invention generally relates to the field of automatic memory management, and more particularly relates to a system and method for reducing write barrier overhead.

[0005] 2. Description of Related Art

[0006] The p...

Examples

Embodiment Construction

[0029]The present invention, according to a preferred embodiment, overcomes problems with the prior art by implementing a new approach to garbage collection based on the notion of prolific and non-prolific object types. Relatively few object types, referred to as prolific types, usually account for a large percentage of objects (and heap space) cumulatively allocated by the program. The objects of prolific types have short lifetimes, and therefore, account for a large percentage of garbage that is collectible at various points during program execution. The present invention, according to a preferred embodiment, presents a new approach to garbage collection that relies on finding garbage primarily among prolific objects. The present invention improves upon generational garbage collection by distinguishing between groups of objects based on type rather than age.

[0030]In a preferred embodiment of a type-based garbage collector, all objects of a prolific type are assigned at allocation ...