The patent badge is an abbreviated version of the USPTO patent document. The patent badge does contain a link to the full patent document.

The patent badge is an abbreviated version of the USPTO patent document. The patent badge covers the following: Patent number, Date patent was issued, Date patent was filed, Title of the patent, Applicant, Inventor, Assignee, Attorney firm, Primary examiner, Assistant examiner, CPCs, and Abstract. The patent badge does contain a link to the full patent document (in Adobe Acrobat format, aka pdf). To download or print any patent click here.

Date of Patent:
Feb. 11, 1992

Filed:

Jan. 17, 1989
Applicant:
Inventors:

John R Ellis, Woodside, CA (US);

Kai Li, Princeton, NJ (US);

Andrew Appel, Princeton, NJ (US);

Assignee:

Digital Equipment Corporation, Maynard, MA (US);

Attorney:
Primary Examiner:
Assistant Examiner:
Int. Cl.
CPC ...
G06F / ; G06F / ;
U.S. Cl.
CPC ...
395425 ; 364280 ; 3642811 ; 3642563 ; 3642383 ; 3642543 ; 3649782 ; 364D / ; 364D / ;
Abstract

A real-time, concurrent garbage collection system and method uses the virtual-memory page protection mechanisms of a standard computer system to collect used storage space in a heap. The heap is divided into old-space and new-space portions, each of which is further divided into a multiplicity of pages. At least one mutator thread modifies and adds objects to new-space. Two garbage collection process threads are used: a fault processing thread, and a concurrent scanning thread, both of which help to collect the accessible objects in old-space. The garbage collector initially copies only the root objects, or a portion of the root objects, to new-space. In addition, all pages of new-space which contain copies of old-space objects are initially marked as being protected. Whenever the mutator tries to access an object in a protected page, a page-access trap is generated. The fault processing thread of the garbage collector responds to the trap by scanning the objects in the referenced page, copying old-space object and forwarding pointers as necessary. Then it unprotects the page and resumes the mutator at the faulting instruction. The concurrent scanning thread of the garbage collector executes concurrently with the mutator, scanning the protected pages in new-space and unprotecting them as each is scanned. The two collection threads together provide an efficient, medium-grained synchronization between the collector and the mutator.


Find Patent Forward Citations

Loading…