public class SubstrateMethod extends Object implements SharedRuntimeMethod, Replaced
Modifier and Type | Field and Description |
---|---|
protected Object |
implementations |
Constructor and Description |
---|
SubstrateMethod(jdk.vm.ci.meta.ResolvedJavaMethod original,
HostedStringDeduplication stringTable) |
Modifier and Type | Method and Description |
---|---|
StackTraceElement |
asStackTraceElement(int bci) |
boolean |
canBeInlined() |
boolean |
canBeStaticallyBound() |
boolean |
canDeoptimize() |
<T extends Annotation> |
getAnnotation(Class<T> annotationClass) |
Annotation[] |
getAnnotations() |
Object |
getAnnotationsEncoding() |
byte[] |
getCode() |
int |
getCodeOffsetInImage() |
int |
getCodeSize() |
jdk.vm.ci.meta.ConstantPool |
getConstantPool() |
Annotation[] |
getDeclaredAnnotations() |
SubstrateType |
getDeclaringClass() |
int |
getDeoptOffsetInImage() |
Deoptimizer.StubType |
getDeoptStubType()
Returns the deopt stub type for the stub methods in
Deoptimizer . |
int |
getEncodedGraphStartOffset() |
byte[] |
getEncodedLineNumberTable() |
jdk.vm.ci.meta.Constant |
getEncoding() |
jdk.vm.ci.meta.ExceptionHandler[] |
getExceptionHandlers() |
Type[] |
getGenericParameterTypes() |
SubstrateMethod[] |
getImplementations() |
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.ProfilingInfo |
getProfilingInfo(boolean includeNormal,
boolean includeOSR) |
Object |
getRawImplementations() |
jdk.vm.ci.meta.Signature |
getSignature() |
jdk.vm.ci.meta.SpeculationLog |
getSpeculationLog() |
int |
getVTableIndex() |
int |
hashCode()
Returns the hashCode of the original AnalysisMethod.
|
boolean |
hasNeverInlineDirective() |
boolean |
isBridge() |
boolean |
isClassInitializer() |
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() |
boolean |
setAnnotationsEncoding(Object annotationsEncoding) |
void |
setEncodedGraphStartOffset(long encodedGraphStartOffset) |
boolean |
setImplementations(SubstrateMethod[] rawImplementations) |
void |
setLinks(SubstrateSignature signature,
SubstrateType declaringClass) |
void |
setSubstrateData(int vTableIndex,
int codeOffsetInImage,
int deoptOffsetInImage) |
boolean |
shouldBeInlined() |
String |
toString() |
clone, equals, finalize, getClass, notify, notifyAll, wait, wait, wait
getParameterAnnotation, getParameterAnnotations, getParameters, getProfilingInfo, hasBytecodes, hasReceiver, isFinal, isJavaLangObjectInit, toParameterTypes
isAbstract, isConcrete, isFinalFlagSet, isInterface, isNative, isPackagePrivate, isPrivate, isProtected, isPublic, isStatic, isStrict, isSynchronized, isTransient, isVolatile
getAnnotationsByType, getDeclaredAnnotation, getDeclaredAnnotationsByType, isAnnotationPresent
protected Object implementations
public SubstrateMethod(jdk.vm.ci.meta.ResolvedJavaMethod original, HostedStringDeduplication stringTable)
public boolean setAnnotationsEncoding(Object annotationsEncoding)
public Object getAnnotationsEncoding()
public byte[] getEncodedLineNumberTable()
public int hashCode()
public void setLinks(SubstrateSignature signature, SubstrateType declaringClass)
public boolean setImplementations(SubstrateMethod[] rawImplementations)
public Object getRawImplementations()
public void setSubstrateData(int vTableIndex, int codeOffsetInImage, int deoptOffsetInImage)
public int getCodeOffsetInImage()
getCodeOffsetInImage
in interface SharedMethod
public int getDeoptOffsetInImage()
getDeoptOffsetInImage
in interface SharedMethod
public int getEncodedGraphStartOffset()
getEncodedGraphStartOffset
in interface SharedRuntimeMethod
public void setEncodedGraphStartOffset(long encodedGraphStartOffset)
public boolean isEntryPoint()
SharedMethod
isEntryPoint
in interface SharedMethod
public SubstrateMethod[] getImplementations()
getImplementations
in interface SharedMethod
public boolean isDeoptTarget()
isDeoptTarget
in interface SharedMethod
public boolean canDeoptimize()
canDeoptimize
in interface SharedMethod
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 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 byte[] getCode()
getCode
in interface jdk.vm.ci.meta.ResolvedJavaMethod
public int getCodeSize()
getCodeSize
in interface jdk.vm.ci.meta.ResolvedJavaMethod
public SubstrateType 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 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 jdk.vm.ci.meta.ProfilingInfo getProfilingInfo(boolean includeNormal, boolean includeOSR)
getProfilingInfo
in interface jdk.vm.ci.meta.ResolvedJavaMethod
public void reprofile()
reprofile
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 jdk.vm.ci.meta.Constant getEncoding()
getEncoding
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 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 isDefault()
isDefault
in interface jdk.vm.ci.meta.ResolvedJavaMethod
public jdk.vm.ci.meta.SpeculationLog getSpeculationLog()
getSpeculationLog
in interface jdk.vm.ci.meta.ResolvedJavaMethod