public class HostedMethod extends Object implements SharedMethod, com.oracle.graal.pointsto.infrastructure.WrappedJavaMethod, com.oracle.graal.pointsto.infrastructure.GraphProvider, org.graalvm.compiler.debug.JavaMethodContext, Comparable<HostedMethod>, com.oracle.graal.pointsto.infrastructure.OriginalMethodProvider
Modifier and Type | Field and Description |
---|---|
CompilationInfo |
compilationInfo |
protected HostedMethod[] |
implementations
All concrete methods that can actually be called when calling this method.
|
static String |
METHOD_NAME_DEOPT_SUFFIX |
protected com.oracle.graal.pointsto.results.StaticAnalysisResults |
staticAnalysisResults |
protected int |
vtableIndex |
com.oracle.graal.pointsto.meta.AnalysisMethod |
wrapped |
Constructor and Description |
---|
HostedMethod(HostedUniverse universe,
com.oracle.graal.pointsto.meta.AnalysisMethod wrapped,
HostedType holder,
jdk.vm.ci.meta.Signature signature,
jdk.vm.ci.meta.ConstantPool constantPool,
jdk.vm.ci.meta.ExceptionHandler[] handlers) |
Modifier and Type | Method and Description |
---|---|
boolean |
allowRuntimeCompilation() |
jdk.vm.ci.meta.JavaMethod |
asJavaMethod() |
StackTraceElement |
asStackTraceElement(int bci) |
org.graalvm.compiler.nodes.StructuredGraph |
buildGraph(org.graalvm.compiler.debug.DebugContext debug,
jdk.vm.ci.meta.ResolvedJavaMethod method,
com.oracle.graal.pointsto.meta.HostedProviders providers,
com.oracle.graal.pointsto.infrastructure.GraphProvider.Purpose purpose) |
boolean |
canBeInlined() |
boolean |
canBeStaticallyBound() |
boolean |
canDeoptimize() |
void |
clear() |
int |
compareTo(HostedMethod other) |
<T extends Annotation> |
getAnnotation(Class<T> annotationClass) |
Annotation[] |
getAnnotations() |
byte[] |
getCode() |
int |
getCodeAddressOffset()
Returns the address offset of the compiled code relative to the code of the first method in
the buffer.
|
int |
getCodeOffsetInImage() |
int |
getCodeSize() |
jdk.vm.ci.meta.ConstantPool |
getConstantPool() |
Annotation[] |
getDeclaredAnnotations() |
HostedType |
getDeclaringClass() |
int |
getDeoptOffsetInImage() |
Deoptimizer.StubType |
getDeoptStubType()
Returns the deopt stub type for the stub methods in
Deoptimizer . |
jdk.vm.ci.meta.Constant |
getEncoding() |
jdk.vm.ci.meta.ExceptionHandler[] |
getExceptionHandlers() |
Type[] |
getGenericParameterTypes() |
HostedMethod[] |
getImplementations() |
Executable |
getJavaMethod() |
jdk.vm.ci.meta.LineNumberTable |
getLineNumberTable() |
jdk.vm.ci.meta.LocalVariableTable |
getLocalVariableTable() |
int |
getMaxLocals() |
int |
getMaxStackSize() |
int |
getModifiers() |
String |
getName() |
Annotation[][] |
getParameterAnnotations() |
jdk.vm.ci.meta.ResolvedJavaMethod.Parameter[] |
getParameters() |
com.oracle.graal.pointsto.results.StaticAnalysisResults |
getProfilingInfo() |
com.oracle.graal.pointsto.results.StaticAnalysisResults |
getProfilingInfo(boolean includeNormal,
boolean includeOSR) |
String |
getQualifiedName() |
jdk.vm.ci.meta.Signature |
getSignature() |
jdk.vm.ci.meta.SpeculationLog |
getSpeculationLog() |
int |
getVTableIndex() |
com.oracle.graal.pointsto.meta.AnalysisMethod |
getWrapped() |
boolean |
hasCalleeSavedRegisters() |
int |
hashCode() |
boolean |
hasNeverInlineDirective() |
boolean |
hasVTableIndex() |
boolean |
isBridge() |
boolean |
isClassInitializer() |
boolean |
isCodeAddressOffsetValid() |
boolean |
isCompiled() |
boolean |
isConstructor() |
boolean |
isDefault() |
boolean |
isDeoptTarget() |
boolean |
isEntryPoint()
Returns true if this method is a native entry point, i.e., called from C code.
|
boolean |
isInVirtualMethodTable(jdk.vm.ci.meta.ResolvedJavaType resolved) |
boolean |
isSynthetic() |
boolean |
isVarArgs() |
void |
reprofile() |
void |
setCodeAddressOffset(int address) |
void |
setCompiled() |
boolean |
shouldBeInlined() |
String |
toString() |
clone, equals, finalize, getClass, notify, notifyAll, wait, wait, wait
isUninterruptible
getParameterAnnotation, getParameterAnnotations, hasBytecodes, hasReceiver, isFinal, isJavaLangObjectInit, toParameterTypes
isAbstract, isConcrete, isFinalFlagSet, isInterface, isNative, isPackagePrivate, isPrivate, isProtected, isPublic, isStatic, isStrict, isSynchronized, isTransient, isVolatile
getAnnotationsByType, getDeclaredAnnotation, getDeclaredAnnotationsByType, isAnnotationPresent
public static final String METHOD_NAME_DEOPT_SUFFIX
public final com.oracle.graal.pointsto.meta.AnalysisMethod wrapped
protected com.oracle.graal.pointsto.results.StaticAnalysisResults staticAnalysisResults
protected int vtableIndex
protected HostedMethod[] implementations
public final CompilationInfo compilationInfo
public HostedMethod(HostedUniverse universe, com.oracle.graal.pointsto.meta.AnalysisMethod wrapped, HostedType holder, jdk.vm.ci.meta.Signature signature, jdk.vm.ci.meta.ConstantPool constantPool, jdk.vm.ci.meta.ExceptionHandler[] handlers)
public HostedMethod[] getImplementations()
getImplementations
in interface SharedMethod
public String getQualifiedName()
public void setCodeAddressOffset(int address)
public int getCodeAddressOffset()
public boolean isCodeAddressOffsetValid()
public void setCompiled()
public boolean isCompiled()
public void clear()
public int getCodeOffsetInImage()
getCodeOffsetInImage
in interface SharedMethod
public int getDeoptOffsetInImage()
getDeoptOffsetInImage
in interface SharedMethod
public com.oracle.graal.pointsto.meta.AnalysisMethod getWrapped()
getWrapped
in interface com.oracle.graal.pointsto.infrastructure.WrappedElement
getWrapped
in interface com.oracle.graal.pointsto.infrastructure.WrappedJavaMethod
public jdk.vm.ci.meta.ResolvedJavaMethod.Parameter[] getParameters()
getParameters
in interface jdk.vm.ci.meta.ResolvedJavaMethod
public boolean isDeoptTarget()
isDeoptTarget
in interface SharedMethod
public boolean canDeoptimize()
canDeoptimize
in interface SharedMethod
public boolean hasVTableIndex()
public int getVTableIndex()
getVTableIndex
in interface SharedMethod
public Deoptimizer.StubType getDeoptStubType()
SharedMethod
Deoptimizer
. Only used when
compiling the deopt stubs during image generation.getDeoptStubType
in interface SharedMethod
public boolean isEntryPoint()
isEntryPoint
in interface SharedMethod
public boolean hasCalleeSavedRegisters()
hasCalleeSavedRegisters
in interface SharedMethod
public String getName()
getName
in interface jdk.vm.ci.meta.JavaMethod
public jdk.vm.ci.meta.Signature getSignature()
getSignature
in interface jdk.vm.ci.meta.JavaMethod
public org.graalvm.compiler.nodes.StructuredGraph buildGraph(org.graalvm.compiler.debug.DebugContext debug, jdk.vm.ci.meta.ResolvedJavaMethod method, com.oracle.graal.pointsto.meta.HostedProviders providers, com.oracle.graal.pointsto.infrastructure.GraphProvider.Purpose purpose)
buildGraph
in interface com.oracle.graal.pointsto.infrastructure.GraphProvider
public boolean allowRuntimeCompilation()
allowRuntimeCompilation
in interface com.oracle.graal.pointsto.infrastructure.GraphProvider
public byte[] getCode()
getCode
in interface jdk.vm.ci.meta.ResolvedJavaMethod
public int getCodeSize()
getCodeSize
in interface jdk.vm.ci.meta.ResolvedJavaMethod
public HostedType getDeclaringClass()
getDeclaringClass
in interface jdk.vm.ci.meta.JavaMethod
getDeclaringClass
in interface jdk.vm.ci.meta.ResolvedJavaMethod
public int getMaxLocals()
getMaxLocals
in interface jdk.vm.ci.meta.ResolvedJavaMethod
public int getMaxStackSize()
getMaxStackSize
in interface jdk.vm.ci.meta.ResolvedJavaMethod
public int getModifiers()
getModifiers
in interface jdk.vm.ci.meta.ModifiersProvider
public boolean isSynthetic()
isSynthetic
in interface jdk.vm.ci.meta.ResolvedJavaMethod
public boolean isVarArgs()
isVarArgs
in interface jdk.vm.ci.meta.ResolvedJavaMethod
public boolean isBridge()
isBridge
in interface jdk.vm.ci.meta.ResolvedJavaMethod
public boolean isClassInitializer()
isClassInitializer
in interface jdk.vm.ci.meta.ResolvedJavaMethod
public boolean isConstructor()
isConstructor
in interface jdk.vm.ci.meta.ResolvedJavaMethod
public boolean canBeStaticallyBound()
canBeStaticallyBound
in interface jdk.vm.ci.meta.ResolvedJavaMethod
public jdk.vm.ci.meta.ExceptionHandler[] getExceptionHandlers()
getExceptionHandlers
in interface jdk.vm.ci.meta.ResolvedJavaMethod
public StackTraceElement asStackTraceElement(int bci)
asStackTraceElement
in interface jdk.vm.ci.meta.ResolvedJavaMethod
public com.oracle.graal.pointsto.results.StaticAnalysisResults getProfilingInfo()
getProfilingInfo
in interface jdk.vm.ci.meta.ResolvedJavaMethod
public com.oracle.graal.pointsto.results.StaticAnalysisResults getProfilingInfo(boolean includeNormal, boolean includeOSR)
getProfilingInfo
in interface jdk.vm.ci.meta.ResolvedJavaMethod
public jdk.vm.ci.meta.ConstantPool getConstantPool()
getConstantPool
in interface jdk.vm.ci.meta.ResolvedJavaMethod
public Annotation[] getAnnotations()
getAnnotations
in interface AnnotatedElement
public Annotation[] getDeclaredAnnotations()
getDeclaredAnnotations
in interface AnnotatedElement
public <T extends Annotation> T getAnnotation(Class<T> annotationClass)
getAnnotation
in interface AnnotatedElement
public Annotation[][] getParameterAnnotations()
getParameterAnnotations
in interface jdk.vm.ci.meta.ResolvedJavaMethod
public Type[] getGenericParameterTypes()
getGenericParameterTypes
in interface jdk.vm.ci.meta.ResolvedJavaMethod
public boolean canBeInlined()
canBeInlined
in interface jdk.vm.ci.meta.ResolvedJavaMethod
public boolean hasNeverInlineDirective()
hasNeverInlineDirective
in interface jdk.vm.ci.meta.ResolvedJavaMethod
public boolean shouldBeInlined()
shouldBeInlined
in interface jdk.vm.ci.meta.ResolvedJavaMethod
public jdk.vm.ci.meta.LineNumberTable getLineNumberTable()
getLineNumberTable
in interface jdk.vm.ci.meta.ResolvedJavaMethod
public jdk.vm.ci.meta.LocalVariableTable getLocalVariableTable()
getLocalVariableTable
in interface jdk.vm.ci.meta.ResolvedJavaMethod
public void reprofile()
reprofile
in interface jdk.vm.ci.meta.ResolvedJavaMethod
public boolean isInVirtualMethodTable(jdk.vm.ci.meta.ResolvedJavaType resolved)
isInVirtualMethodTable
in interface jdk.vm.ci.meta.ResolvedJavaMethod
public jdk.vm.ci.meta.Constant getEncoding()
getEncoding
in interface jdk.vm.ci.meta.ResolvedJavaMethod
public boolean isDefault()
isDefault
in interface jdk.vm.ci.meta.ResolvedJavaMethod
public jdk.vm.ci.meta.SpeculationLog getSpeculationLog()
getSpeculationLog
in interface jdk.vm.ci.meta.ResolvedJavaMethod
public jdk.vm.ci.meta.JavaMethod asJavaMethod()
asJavaMethod
in interface org.graalvm.compiler.debug.JavaMethodContext
public int compareTo(HostedMethod other)
compareTo
in interface Comparable<HostedMethod>
public Executable getJavaMethod()
getJavaMethod
in interface com.oracle.graal.pointsto.infrastructure.OriginalMethodProvider