| Modifier and Type | Field and Description |
|---|---|
static int |
ESTIMATED_NUMBER_OF_TYPES |
protected HostVM |
hostVM |
protected SubstitutionProcessor |
substitutions |
| Constructor and Description |
|---|
AnalysisUniverse(HostVM hostVM,
JavaKind wordKind,
AnalysisPolicy analysisPolicy,
SubstitutionProcessor substitutions,
MetaAccessProvider originalMetaAccess,
org.graalvm.compiler.api.replacements.SnippetReflectionProvider snippetReflection,
AnalysisFactory analysisFactory,
org.graalvm.nativeimage.impl.AnnotationExtractor annotationExtractor) |
| Modifier and Type | Method and Description |
|---|---|
AnalysisPolicy |
analysisPolicy() |
protected org.graalvm.nativeimage.impl.AnnotationExtractor |
getAnnotationExtractor() |
BigBang |
getBigbang() |
org.graalvm.nativeimage.hosted.Feature.DuringAnalysisAccess |
getConcurrentAnalysisAccess() |
Map<JavaConstant,BytecodePosition> |
getEmbeddedRoots() |
SubstitutionProcessor[] |
getFeatureNativeSubstitutions() |
SubstitutionProcessor[] |
getFeatureSubstitutions() |
AnalysisField |
getField(ResolvedJavaField resolvedJavaField) |
Collection<AnalysisField> |
getFields() |
ImageHeapScanner |
getHeapScanner() |
HeapSnapshotVerifier |
getHeapVerifier() |
AnalysisMethod |
getMethod(ResolvedJavaMethod resolvedJavaMethod) |
static Set<AnalysisMethod> |
getMethodImplementations(AnalysisMethod method,
boolean includeInlinedMethods) |
Collection<AnalysisMethod> |
getMethods() |
int |
getNextMethodId() |
int |
getNextTypeId() |
MetaAccessProvider |
getOriginalMetaAccess() |
int |
getReachableTypes() |
org.graalvm.compiler.api.replacements.SnippetReflectionProvider |
getSnippetReflection() |
SubstitutionProcessor |
getSubstitutions() |
AnalysisType |
getType(int typeId) |
List<AnalysisType> |
getTypes() |
Set<AnalysisField> |
getUnsafeAccessedStaticFields() |
JavaKind |
getWordKind() |
HostVM |
hostVM() |
void |
initializeMetaData(AnalysisType type) |
WrappedConstantPool |
lookup(ConstantPool constantPool,
ResolvedJavaType defaultAccessingClass) |
JavaConstant |
lookup(JavaConstant constant) |
AnalysisField |
lookup(JavaField field) |
AnalysisMethod |
lookup(JavaMethod method) |
AnalysisMethod[] |
lookup(JavaMethod[] inputs) |
AnalysisType |
lookup(JavaType type) |
WrappedSignature |
lookup(Signature signature,
ResolvedJavaType defaultAccessingClass) |
JavaField |
lookupAllowUnresolved(JavaField rawField) |
JavaMethod |
lookupAllowUnresolved(JavaMethod rawMethod) |
JavaType |
lookupAllowUnresolved(JavaType rawType) |
void |
notifyReachableType() |
AnalysisType |
objectType() |
void |
onFieldAccessed(AnalysisField field) |
void |
onTypeInstantiated(AnalysisType type,
AnalysisType.UsageKind usage) |
void |
onTypeReachable(AnalysisType type) |
AnalysisType |
optionalLookup(ResolvedJavaType type) |
static Set<AnalysisMethod> |
reachableMethodOverrides(AnalysisMethod baseMethod) |
static Set<AnalysisType> |
reachableSubtypes(AnalysisType baseType)
Collect and returns *all reachable* subtypes of this type, not only the immediate subtypes.
|
void |
registerEmbeddedRoot(JavaConstant root,
BytecodePosition position)
Register an embedded root, i.e., a JavaConstant embedded in a Graal graph via a ConstantNode.
|
void |
registerFeatureNativeSubstitution(SubstitutionProcessor substitution) |
void |
registerFeatureSubstitution(SubstitutionProcessor substitution) |
void |
registerObjectReplacer(Function<Object,Object> replacer) |
void |
registerUnsafeAccessedStaticField(AnalysisField field) |
Object |
replaceObject(Object source)
Invokes all registered object replacers for an object.
|
ResolvedJavaMethod |
resolveSubstitution(ResolvedJavaMethod method) |
void |
seal() |
boolean |
sealed() |
void |
setAnalysisDataValid(boolean dataIsValid) |
void |
setBigBang(BigBang bb) |
void |
setConcurrentAnalysisAccess(org.graalvm.nativeimage.hosted.Feature.DuringAnalysisAccess access) |
void |
setHeapScanner(ImageHeapScanner heapScanner) |
void |
setHeapVerifier(HeapSnapshotVerifier heapVerifier) |
JavaConstant |
toHosted(JavaConstant constant) |
protected final HostVM hostVM
public static final int ESTIMATED_NUMBER_OF_TYPES
protected final SubstitutionProcessor substitutions
public AnalysisUniverse(HostVM hostVM, JavaKind wordKind, AnalysisPolicy analysisPolicy, SubstitutionProcessor substitutions, MetaAccessProvider originalMetaAccess, org.graalvm.compiler.api.replacements.SnippetReflectionProvider snippetReflection, AnalysisFactory analysisFactory, org.graalvm.nativeimage.impl.AnnotationExtractor annotationExtractor)
public JavaKind getWordKind()
protected org.graalvm.nativeimage.impl.AnnotationExtractor getAnnotationExtractor()
public int getNextTypeId()
public int getNextMethodId()
public void seal()
public boolean sealed()
public void setAnalysisDataValid(boolean dataIsValid)
public AnalysisType optionalLookup(ResolvedJavaType type)
public AnalysisType lookup(JavaType type)
public JavaType lookupAllowUnresolved(JavaType rawType)
lookupAllowUnresolved in interface Universepublic AnalysisField lookup(JavaField field)
public JavaField lookupAllowUnresolved(JavaField rawField)
lookupAllowUnresolved in interface Universepublic AnalysisMethod lookup(JavaMethod method)
public JavaMethod lookupAllowUnresolved(JavaMethod rawMethod)
lookupAllowUnresolved in interface Universepublic AnalysisMethod[] lookup(JavaMethod[] inputs)
public WrappedSignature lookup(Signature signature, ResolvedJavaType defaultAccessingClass)
public WrappedConstantPool lookup(ConstantPool constantPool, ResolvedJavaType defaultAccessingClass)
public JavaConstant toHosted(JavaConstant constant)
public List<AnalysisType> getTypes()
public AnalysisType getType(int typeId)
public Collection<AnalysisField> getFields()
public AnalysisField getField(ResolvedJavaField resolvedJavaField)
public Collection<AnalysisMethod> getMethods()
public AnalysisMethod getMethod(ResolvedJavaMethod resolvedJavaMethod)
public Map<JavaConstant,BytecodePosition> getEmbeddedRoots()
public void registerEmbeddedRoot(JavaConstant root,
BytecodePosition position)
public void registerUnsafeAccessedStaticField(AnalysisField field)
public Set<AnalysisField> getUnsafeAccessedStaticFields()
public void registerFeatureSubstitution(SubstitutionProcessor substitution)
public SubstitutionProcessor[] getFeatureSubstitutions()
public void registerFeatureNativeSubstitution(SubstitutionProcessor substitution)
public SubstitutionProcessor[] getFeatureNativeSubstitutions()
public Object replaceObject(Object source)
source - The source objectpublic static Set<AnalysisMethod> reachableMethodOverrides(AnalysisMethod baseMethod)
public static Set<AnalysisMethod> getMethodImplementations(AnalysisMethod method, boolean includeInlinedMethods)
public static Set<AnalysisType> reachableSubtypes(AnalysisType baseType)
AnalysisType.getSubTypes().
Since the sub-types are updated continuously as the universe is expanded this method may
return different results on each call, until the analysis universe reaches a stable state.public org.graalvm.compiler.api.replacements.SnippetReflectionProvider getSnippetReflection()
getSnippetReflection in interface Universepublic ResolvedJavaMethod resolveSubstitution(ResolvedJavaMethod method)
resolveSubstitution in interface Universepublic AnalysisType objectType()
objectType in interface Universepublic void onFieldAccessed(AnalysisField field)
public void onTypeInstantiated(AnalysisType type, AnalysisType.UsageKind usage)
public void onTypeReachable(AnalysisType type)
public void initializeMetaData(AnalysisType type)
public SubstitutionProcessor getSubstitutions()
public AnalysisPolicy analysisPolicy()
public MetaAccessProvider getOriginalMetaAccess()
public void setBigBang(BigBang bb)
public BigBang getBigbang()
public void setConcurrentAnalysisAccess(org.graalvm.nativeimage.hosted.Feature.DuringAnalysisAccess access)
public org.graalvm.nativeimage.hosted.Feature.DuringAnalysisAccess getConcurrentAnalysisAccess()
public void setHeapScanner(ImageHeapScanner heapScanner)
public ImageHeapScanner getHeapScanner()
public void setHeapVerifier(HeapSnapshotVerifier heapVerifier)
public HeapSnapshotVerifier getHeapVerifier()
public void notifyReachableType()
public int getReachableTypes()