public class JNIFieldAccessorMethod extends Object
basic type
of the field, to static or non-static fields, and can either read or write the field.
The generated method implements one of the following JNI functions:
GetObjectField
GetBooleanField
GetByteField
GetCharField
GetShortField
GetIntField
GetLongField
GetFloatField
GetDoubleField
SetObjectField
SetBooleanField
SetByteField
SetCharField
SetShortField
SetIntField
SetLongField
SetFloatField
SetDoubleField
GetStaticObjectField
GetStaticBooleanField
GetStaticByteField
GetStaticCharField
GetStaticShortField
GetStaticIntField
GetStaticLongField
GetStaticFloatField
GetStaticDoubleField
SetStaticObjectField
SetStaticBooleanField
SetStaticByteField
SetStaticCharField
SetStaticShortField
SetStaticIntField
SetStaticLongField
SetStaticFloatField
SetStaticDoubleField
Modifier and Type | Class and Description |
---|---|
static class |
JNIFieldAccessorMethod.Factory |
Modifier and Type | Field and Description |
---|---|
protected jdk.vm.ci.meta.ConstantPool |
constantPool |
protected jdk.vm.ci.meta.ResolvedJavaType |
declaringClass |
protected jdk.vm.ci.meta.JavaKind |
fieldKind |
protected boolean |
isSetter |
protected boolean |
isStatic |
protected String |
name |
protected jdk.vm.ci.meta.Signature |
signature |
Modifier | Constructor and Description |
---|---|
protected |
JNIFieldAccessorMethod(jdk.vm.ci.meta.JavaKind fieldKind,
boolean isSetter,
boolean isStatic,
jdk.vm.ci.meta.ResolvedJavaType declaringClass,
jdk.vm.ci.meta.ConstantPool constantPool,
jdk.vm.ci.meta.MetaAccessProvider metaAccess) |
Modifier and Type | Method and Description |
---|---|
boolean |
allowRuntimeCompilation() |
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) |
protected org.graalvm.compiler.nodes.ValueNode |
buildGraphBody(JNIGraphKit kit,
List<org.graalvm.compiler.nodes.ValueNode> arguments,
org.graalvm.compiler.java.FrameStateBuilder state,
jdk.vm.ci.meta.MetaAccessProvider metaAccess) |
boolean |
canBeInlined() |
boolean |
canBeStaticallyBound() |
CEntryPointData |
createEntryPointData() |
<T extends Annotation> |
getAnnotation(Class<T> annotationClass) |
Annotation[] |
getAnnotations() |
byte[] |
getCode() |
int |
getCodeSize() |
jdk.vm.ci.meta.ConstantPool |
getConstantPool() |
Annotation[] |
getDeclaredAnnotations() |
jdk.vm.ci.meta.ResolvedJavaType |
getDeclaringClass() |
jdk.vm.ci.meta.Constant |
getEncoding() |
jdk.vm.ci.meta.ExceptionHandler[] |
getExceptionHandlers() |
Type[] |
getGenericParameterTypes() |
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) |
jdk.vm.ci.meta.Signature |
getSignature() |
jdk.vm.ci.meta.SpeculationLog |
getSpeculationLog() |
boolean |
hasNeverInlineDirective() |
boolean |
isBridge() |
boolean |
isClassInitializer() |
boolean |
isConstructor() |
boolean |
isDefault() |
boolean |
isInVirtualMethodTable(jdk.vm.ci.meta.ResolvedJavaType resolved) |
boolean |
isSynthetic() |
boolean |
isVarArgs() |
void |
reprofile() |
boolean |
shouldBeInlined() |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, 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 final jdk.vm.ci.meta.JavaKind fieldKind
protected final boolean isSetter
protected final boolean isStatic
protected final jdk.vm.ci.meta.ResolvedJavaType declaringClass
protected final jdk.vm.ci.meta.ConstantPool constantPool
protected final String name
protected final jdk.vm.ci.meta.Signature signature
protected JNIFieldAccessorMethod(jdk.vm.ci.meta.JavaKind fieldKind, boolean isSetter, boolean isStatic, jdk.vm.ci.meta.ResolvedJavaType declaringClass, jdk.vm.ci.meta.ConstantPool constantPool, jdk.vm.ci.meta.MetaAccessProvider metaAccess)
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)
protected org.graalvm.compiler.nodes.ValueNode buildGraphBody(JNIGraphKit kit, List<org.graalvm.compiler.nodes.ValueNode> arguments, org.graalvm.compiler.java.FrameStateBuilder state, jdk.vm.ci.meta.MetaAccessProvider metaAccess)
public String getName()
public jdk.vm.ci.meta.Signature getSignature()
public jdk.vm.ci.meta.ResolvedJavaType getDeclaringClass()
public jdk.vm.ci.meta.ConstantPool getConstantPool()
public CEntryPointData createEntryPointData()
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 int getMaxLocals()
getMaxLocals
in interface jdk.vm.ci.meta.ResolvedJavaMethod
public int getMaxStackSize()
getMaxStackSize
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 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 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 jdk.vm.ci.meta.SpeculationLog getSpeculationLog()
getSpeculationLog
in interface jdk.vm.ci.meta.ResolvedJavaMethod
public <T extends Annotation> T getAnnotation(Class<T> annotationClass)
getAnnotation
in interface AnnotatedElement
public Annotation[] getAnnotations()
getAnnotations
in interface AnnotatedElement
public Annotation[] getDeclaredAnnotations()
getDeclaredAnnotations
in interface AnnotatedElement
public int getModifiers()
getModifiers
in interface jdk.vm.ci.meta.ModifiersProvider