public class OVStatics extends Object implements Statics
Modifier and Type | Field and Description |
---|---|
protected ObjVector<ElementInfo> |
elementInfos |
protected IntTable<String> |
ids |
protected int |
nextId |
Modifier and Type | Method and Description |
---|---|
void |
cleanUpDanglingReferences(Heap heap) |
protected int |
computeId(ClassInfo ci) |
protected StaticElementInfo |
createStaticElementInfo(int id,
ClassInfo ci,
ThreadInfo ti,
ElementInfo eiClsObj) |
StaticElementInfo |
get(int id)
get an ElementInfo that might or might not be suitable for modification.
|
Memento<Statics> |
getMemento() |
Memento<Statics> |
getMemento(MementoFactory factory) |
StaticElementInfo |
getModifiable(int id)
get an ElementInfo that is guaranteed to be modifiable.
|
Iterator<ElementInfo> |
iterator() |
Iterable<StaticElementInfo> |
liveStatics() |
void |
markRoots(Heap heap) |
StaticElementInfo |
newClass(ClassInfo ci,
ThreadInfo ti,
ElementInfo eiClsObj)
this returns the search global id which is unique within this ClassLoader namespace.
|
StaticElementInfo |
newStartupClass(ClassInfo ci,
ThreadInfo ti)
startup classes are registered and initialized in two steps since object
creation has to be deferred until we have at least Object and Class ClassInfos
|
int |
size() |
protected ObjVector<ElementInfo> elementInfos
protected int nextId
public OVStatics(Config conf)
protected int computeId(ClassInfo ci)
protected StaticElementInfo createStaticElementInfo(int id, ClassInfo ci, ThreadInfo ti, ElementInfo eiClsObj)
public StaticElementInfo newClass(ClassInfo ci, ThreadInfo ti, ElementInfo eiClsObj)
Statics
public StaticElementInfo newStartupClass(ClassInfo ci, ThreadInfo ti)
Statics
newStartupClass
in interface Statics
public StaticElementInfo get(int id)
Statics
public StaticElementInfo getModifiable(int id)
Statics
getModifiable
in interface Statics
public void cleanUpDanglingReferences(Heap heap)
cleanUpDanglingReferences
in interface Statics
public Memento<Statics> getMemento(MementoFactory factory)
getMemento
in interface Statics
public Memento<Statics> getMemento()
getMemento
in interface Statics
public Iterator<ElementInfo> iterator()
iterator
in interface Iterable<ElementInfo>
public Iterable<StaticElementInfo> liveStatics()
liveStatics
in interface Statics