public interface BigBang extends ReachabilityAnalysis, HeapScanning
PointsToAnalysis| Modifier and Type | Method and Description |
|---|---|
default void |
afterAnalysis()
Callback executed after the analysis finished.
|
void |
checkUserLimitations()
Checks if all user defined limitations such as the number of types are satisfied.
|
boolean |
executorIsStarted() |
boolean |
extendedAsserts() |
default AnalysisMethod |
fallbackResolveConcreteMethod(AnalysisType resolvingType,
AnalysisMethod method) |
jdk.vm.ci.meta.ConstantReflectionProvider |
getConstantReflectionProvider() |
org.graalvm.compiler.debug.DebugContext |
getDebug() |
List<org.graalvm.compiler.debug.DebugHandlersFactory> |
getDebugHandlerFactories() |
Runnable |
getHeartbeatCallback() |
HostVM |
getHostVM() |
org.graalvm.compiler.options.OptionValues |
getOptions() |
default HostedProviders |
getProviders(AnalysisMethod method) |
HostedProviders |
getProviders(com.oracle.svm.common.meta.MultiMethod.MultiMethodKey key) |
org.graalvm.compiler.api.replacements.SnippetReflectionProvider |
getSnippetReflectionProvider() |
UnsupportedFeatures |
getUnsupportedFeatures() |
org.graalvm.compiler.word.WordTypes |
getWordTypes() |
void |
initializeMetaData(AnalysisType type) |
default boolean |
isCallAllowed(PointsToAnalysis bb,
AnalysisMethod caller,
AnalysisMethod target,
jdk.vm.ci.code.BytecodePosition srcPosition)
You can blacklist certain callees here.
|
default void |
onFieldAccessed(AnalysisField field)
Callback for when a field is marked as read, written, or unsafe accessed.
|
default void |
onTypeInstantiated(AnalysisType type,
AnalysisType.UsageKind usageKind) |
default void |
onTypeReachable(AnalysisType type) |
void |
postTask(CompletionExecutor.DebugContextRunnable task) |
void |
printTimerStatistics(PrintWriter out)
Prints more detailed information about all analysis timers.
|
void |
runAnalysis(org.graalvm.compiler.debug.DebugContext debug,
Function<AnalysisUniverse,Boolean> duringAnalysisAction) |
boolean |
strengthenGraalGraphs() |
addRootClass, addRootClass, addRootField, addRootMethod, addRootMethod, analysisPolicy, cleanupAfterAnalysis, finish, forceUnsafeUpdate, getAllInstantiatedTypes, getAllSynchronizedTypes, getMetaAccess, getUniverse, markFieldAccessed, markFieldRead, markFieldWritten, registerAsFrozenUnsafeAccessed, registerAsJNIAccessed, registerAsUnsafeAccessed, registerTypeAsAllocated, registerTypeAsInHeap, registerTypeAsReachablescanningPolicy, skippedHeapTypesHostVM getHostVM()
UnsupportedFeatures getUnsupportedFeatures()
void checkUserLimitations()
org.graalvm.compiler.options.OptionValues getOptions()
default HostedProviders getProviders(AnalysisMethod method)
HostedProviders getProviders(com.oracle.svm.common.meta.MultiMethod.MultiMethodKey key)
List<org.graalvm.compiler.debug.DebugHandlersFactory> getDebugHandlerFactories()
void printTimerStatistics(PrintWriter out)
jdk.vm.ci.meta.ConstantReflectionProvider getConstantReflectionProvider()
org.graalvm.compiler.api.replacements.SnippetReflectionProvider getSnippetReflectionProvider()
org.graalvm.compiler.word.WordTypes getWordTypes()
org.graalvm.compiler.debug.DebugContext getDebug()
Runnable getHeartbeatCallback()
boolean extendedAsserts()
void runAnalysis(org.graalvm.compiler.debug.DebugContext debug,
Function<AnalysisUniverse,Boolean> duringAnalysisAction)
throws InterruptedException
InterruptedExceptionboolean strengthenGraalGraphs()
default boolean isCallAllowed(PointsToAnalysis bb, AnalysisMethod caller, AnalysisMethod target, jdk.vm.ci.code.BytecodePosition srcPosition)
default void onFieldAccessed(AnalysisField field)
AnalysisField.isAccessed() for field accessibility definition.default void onTypeInstantiated(AnalysisType type, AnalysisType.UsageKind usageKind)
default void onTypeReachable(AnalysisType type)
void postTask(CompletionExecutor.DebugContextRunnable task)
boolean executorIsStarted()
void initializeMetaData(AnalysisType type)
default void afterAnalysis()
default AnalysisMethod fallbackResolveConcreteMethod(AnalysisType resolvingType, AnalysisMethod method)