public final class ClassLoadingDependencyManager extends Object implements ClassLoadingListener
Modifier and Type | Field and Description |
---|---|
private InvalidationDatabase |
db
Database holding information on class loading
|
(package private) static boolean |
DEBUG
Debug execution
|
private static PrintStream |
log
Stream used in debug tracing
|
(package private) static boolean |
TRACE
Trace execution
|
Constructor and Description |
---|
ClassLoadingDependencyManager() |
Modifier and Type | Method and Description |
---|---|
void |
addNoSubclassDependency(RVMClass source,
CompiledMethod cm)
Record that the code currently being compiled (cm) must be
invalidated if source ever has a subclass.
|
void |
addNotOverriddenDependency(RVMMethod source,
CompiledMethod cm)
Record that the code currently being compiled (cm) must be
invalidated if source is overridden.
|
void |
classInitialized(RVMClass c,
boolean writingBootImage) |
private void |
handleOverriddenMethods(RVMClass c)
Takes action when a method is overridden.
|
private void |
handleSubclassing(RVMClass c) |
private void |
invalidate(CompiledMethod cm) |
private void |
processOverride(RVMMethod overridden) |
(package private) void |
report(String s) |
private final InvalidationDatabase db
static final boolean DEBUG
static final boolean TRACE
private static PrintStream log
public ClassLoadingDependencyManager()
public void classInitialized(RVMClass c, boolean writingBootImage)
classInitialized
in interface ClassLoadingListener
public void addNotOverriddenDependency(RVMMethod source, CompiledMethod cm)
source
- the method whose overriding will cause invalidationcm
- the method to invalidatepublic void addNoSubclassDependency(RVMClass source, CompiledMethod cm)
source
- the class whose subclassing will cause invalidationcm
- the method to invalidateprivate void handleOverriddenMethods(RVMClass c)
c
- a class that has just been loaded.private void processOverride(RVMMethod overridden)
private void handleSubclassing(RVMClass c)
private void invalidate(CompiledMethod cm)