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, waitgetParameterAnnotation, getParameterAnnotations, getParameters, getProfilingInfo, hasBytecodes, hasReceiver, isFinal, isJavaLangObjectInit, toParameterTypesisAbstract, isConcrete, isFinalFlagSet, isInterface, isNative, isPackagePrivate, isPrivate, isProtected, isPublic, isStatic, isStrict, isSynchronized, isTransient, isVolatilegetAnnotationsByType, getDeclaredAnnotation, getDeclaredAnnotationsByType, isAnnotationPresentprotected 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 SharedMethodpublic int getDeoptOffsetInImage()
getDeoptOffsetInImage in interface SharedMethodpublic int getEncodedGraphStartOffset()
getEncodedGraphStartOffset in interface SharedRuntimeMethodpublic void setEncodedGraphStartOffset(long encodedGraphStartOffset)
public boolean isEntryPoint()
SharedMethodisEntryPoint in interface SharedMethodpublic SubstrateMethod[] getImplementations()
getImplementations in interface SharedMethodpublic boolean isDeoptTarget()
isDeoptTarget in interface SharedMethodpublic boolean canDeoptimize()
canDeoptimize in interface SharedMethodpublic int getVTableIndex()
getVTableIndex in interface SharedMethodpublic Deoptimizer.StubType getDeoptStubType()
SharedMethodDeoptimizer. Only used when
compiling the deopt stubs during image generation.getDeoptStubType in interface SharedMethodpublic String getName()
getName in interface jdk.vm.ci.meta.JavaMethodpublic jdk.vm.ci.meta.Signature getSignature()
getSignature in interface jdk.vm.ci.meta.JavaMethodpublic byte[] getCode()
getCode in interface jdk.vm.ci.meta.ResolvedJavaMethodpublic int getCodeSize()
getCodeSize in interface jdk.vm.ci.meta.ResolvedJavaMethodpublic SubstrateType getDeclaringClass()
getDeclaringClass in interface jdk.vm.ci.meta.JavaMethodgetDeclaringClass in interface jdk.vm.ci.meta.ResolvedJavaMethodpublic int getMaxLocals()
getMaxLocals in interface jdk.vm.ci.meta.ResolvedJavaMethodpublic int getMaxStackSize()
getMaxStackSize in interface jdk.vm.ci.meta.ResolvedJavaMethodpublic int getModifiers()
getModifiers in interface jdk.vm.ci.meta.ModifiersProviderpublic boolean isClassInitializer()
isClassInitializer in interface jdk.vm.ci.meta.ResolvedJavaMethodpublic boolean isConstructor()
isConstructor in interface jdk.vm.ci.meta.ResolvedJavaMethodpublic boolean canBeStaticallyBound()
canBeStaticallyBound in interface jdk.vm.ci.meta.ResolvedJavaMethodpublic jdk.vm.ci.meta.ExceptionHandler[] getExceptionHandlers()
getExceptionHandlers in interface jdk.vm.ci.meta.ResolvedJavaMethodpublic StackTraceElement asStackTraceElement(int bci)
asStackTraceElement in interface jdk.vm.ci.meta.ResolvedJavaMethodpublic jdk.vm.ci.meta.ProfilingInfo getProfilingInfo(boolean includeNormal,
boolean includeOSR)
getProfilingInfo in interface jdk.vm.ci.meta.ResolvedJavaMethodpublic void reprofile()
reprofile in interface jdk.vm.ci.meta.ResolvedJavaMethodpublic jdk.vm.ci.meta.ConstantPool getConstantPool()
getConstantPool in interface jdk.vm.ci.meta.ResolvedJavaMethodpublic Annotation[] getAnnotations()
getAnnotations in interface AnnotatedElementpublic Annotation[] getDeclaredAnnotations()
getDeclaredAnnotations in interface AnnotatedElementpublic <T extends Annotation> T getAnnotation(Class<T> annotationClass)
getAnnotation in interface AnnotatedElementpublic Annotation[][] getParameterAnnotations()
getParameterAnnotations in interface jdk.vm.ci.meta.ResolvedJavaMethodpublic Type[] getGenericParameterTypes()
getGenericParameterTypes in interface jdk.vm.ci.meta.ResolvedJavaMethodpublic boolean canBeInlined()
canBeInlined in interface jdk.vm.ci.meta.ResolvedJavaMethodpublic boolean hasNeverInlineDirective()
hasNeverInlineDirective in interface jdk.vm.ci.meta.ResolvedJavaMethodpublic boolean shouldBeInlined()
shouldBeInlined in interface jdk.vm.ci.meta.ResolvedJavaMethodpublic jdk.vm.ci.meta.LineNumberTable getLineNumberTable()
getLineNumberTable in interface jdk.vm.ci.meta.ResolvedJavaMethodpublic jdk.vm.ci.meta.LocalVariableTable getLocalVariableTable()
getLocalVariableTable in interface jdk.vm.ci.meta.ResolvedJavaMethodpublic jdk.vm.ci.meta.Constant getEncoding()
getEncoding in interface jdk.vm.ci.meta.ResolvedJavaMethodpublic boolean isInVirtualMethodTable(jdk.vm.ci.meta.ResolvedJavaType resolved)
isInVirtualMethodTable in interface jdk.vm.ci.meta.ResolvedJavaMethodpublic boolean isSynthetic()
isSynthetic in interface jdk.vm.ci.meta.ResolvedJavaMethodpublic boolean isVarArgs()
isVarArgs in interface jdk.vm.ci.meta.ResolvedJavaMethodpublic boolean isBridge()
isBridge in interface jdk.vm.ci.meta.ResolvedJavaMethodpublic boolean isDefault()
isDefault in interface jdk.vm.ci.meta.ResolvedJavaMethodpublic jdk.vm.ci.meta.SpeculationLog getSpeculationLog()
getSpeculationLog in interface jdk.vm.ci.meta.ResolvedJavaMethod