Docjar: A Java Source and Docuemnt Enginecom.*    java.*    javax.*    org.*    all    new    plug-in

Quick Search    Search Deep

GC
Class GCBits  view GCBits download GCBits.java

java.lang.Object
  extended byGC.GCBits

public class GCBits
extends java.lang.Object

GCBits PRE-REQUISITE: All the objects and arrays are allocated align8

Version:
$Id: GCBits.java,v 1.11 2003/05/12 10:05:17 joewhaley Exp $

Field Summary
static Clazz.jq_Class _class
           
private  Util.BitString allocbits
          Each bit in allocbits corresponds to 8 bytes on the heap.
protected static int bitLength
           
protected  Memory.HeapAddress blockEnd
           
protected  Memory.HeapAddress blockHead
           
protected static int byteLength
           
private  Util.BitString markbits
          Each bit in markbits corresponds to 8 bytes on the heap.
 
Constructor Summary
GCBits(Memory.HeapAddress blockHead, Memory.HeapAddress blockEnd)
           
 
Method Summary
 java.util.HashSet diff()
           
 boolean isMarked(Memory.HeapAddress addr)
           
 boolean isSet(Memory.HeapAddress addr)
           
 void mark(Memory.HeapAddress addr)
           
 void set(Memory.HeapAddress addr)
           
 void unmark(Memory.HeapAddress addr)
           
 void unset(Memory.HeapAddress addr)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

bitLength

protected static final int bitLength
See Also:
Constant Field Values

byteLength

protected static final int byteLength
See Also:
Constant Field Values

blockHead

protected Memory.HeapAddress blockHead

blockEnd

protected Memory.HeapAddress blockEnd

allocbits

private final Util.BitString allocbits
Each bit in allocbits corresponds to 8 bytes on the heap. When an object is allocated and aligned on 8 byte boundary, the bit in allocbits corresponding to the starting 8 bytes (including HEADER) of the object is set.


markbits

private final Util.BitString markbits
Each bit in markbits corresponds to 8 bytes on the heap. When an object is reachable from TraceRootSet, the bit in markbits corresponding to the starting 8 bytes (including HEADER) of the object is set.


_class

public static final Clazz.jq_Class _class
Constructor Detail

GCBits

public GCBits(Memory.HeapAddress blockHead,
              Memory.HeapAddress blockEnd)
Method Detail

set

public void set(Memory.HeapAddress addr)

unset

public void unset(Memory.HeapAddress addr)

isSet

public boolean isSet(Memory.HeapAddress addr)

mark

public void mark(Memory.HeapAddress addr)

unmark

public void unmark(Memory.HeapAddress addr)

isMarked

public boolean isMarked(Memory.HeapAddress addr)

diff

public java.util.HashSet diff()