public interface ObjectScanningObserver
| Modifier and Type | Method and Description |
|---|---|
void |
forNonNullArrayElement(jdk.vm.ci.meta.JavaConstant array,
AnalysisType arrayType,
jdk.vm.ci.meta.JavaConstant elementConstant,
AnalysisType elementType,
int elementIndex)
Hook for scanned non-null element value.
|
void |
forNonNullFieldValue(jdk.vm.ci.meta.JavaConstant receiver,
AnalysisField field,
jdk.vm.ci.meta.JavaConstant fieldValue)
Hook for scanned non-null field value.
|
void |
forNullArrayElement(jdk.vm.ci.meta.JavaConstant array,
AnalysisType arrayType,
int elementIndex)
Hook for scanned null element value.
|
void |
forNullFieldValue(jdk.vm.ci.meta.JavaConstant receiver,
AnalysisField field)
Hook for scanned null field value.
|
void |
forRelocatedPointerFieldValue(jdk.vm.ci.meta.JavaConstant receiver,
AnalysisField field,
jdk.vm.ci.meta.JavaConstant fieldValue)
Hook for relocated pointer scanned field value.
|
void |
forScannedConstant(jdk.vm.ci.meta.JavaConstant scannedValue,
ObjectScanner.ScanReason reason)
Hook for scanned constant.
|
void forRelocatedPointerFieldValue(jdk.vm.ci.meta.JavaConstant receiver,
AnalysisField field,
jdk.vm.ci.meta.JavaConstant fieldValue)
For relocated pointers the value is only known at runtime after methods are relocated, which is pretty much the same as a field written at runtime: we do not have a constant value.
void forNullFieldValue(jdk.vm.ci.meta.JavaConstant receiver,
AnalysisField field)
void forNonNullFieldValue(jdk.vm.ci.meta.JavaConstant receiver,
AnalysisField field,
jdk.vm.ci.meta.JavaConstant fieldValue)
void forNullArrayElement(jdk.vm.ci.meta.JavaConstant array,
AnalysisType arrayType,
int elementIndex)
void forNonNullArrayElement(jdk.vm.ci.meta.JavaConstant array,
AnalysisType arrayType,
jdk.vm.ci.meta.JavaConstant elementConstant,
AnalysisType elementType,
int elementIndex)
void forScannedConstant(jdk.vm.ci.meta.JavaConstant scannedValue,
ObjectScanner.ScanReason reason)