public class com.oracle.svm.hosted.thread.VMThreadMTFeature implements com.oracle.svm.core.graal.GraalFeature
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: com.oracle.svm.hosted.thread.VMThreadMTFeature
super_class: java.lang.Object
{
private final com.oracle.svm.hosted.thread.VMThreadLocalCollector threadLocalCollector;
descriptor: Lcom/oracle/svm/hosted/thread/VMThreadLocalCollector;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final com.oracle.svm.core.threadlocal.VMThreadLocalMTSupport threadLocalSupport;
descriptor: Lcom/oracle/svm/core/threadlocal/VMThreadLocalMTSupport;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
static final boolean $assertionsDisabled;
descriptor: Z
flags: (0x1018) ACC_STATIC, ACC_FINAL, ACC_SYNTHETIC
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=1, locals=0, args_size=0
0: ldc Lcom/oracle/svm/hosted/thread/VMThreadMTFeature;
invokevirtual java.lang.Class.desiredAssertionStatus:()Z
ifne 1
iconst_1
goto 2
StackMap locals:
StackMap stack:
1: iconst_0
StackMap locals:
StackMap stack: int
2: putstatic com.oracle.svm.hosted.thread.VMThreadMTFeature.$assertionsDisabled:Z
return
LocalVariableTable:
Start End Slot Name Signature
public void <init>();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
new com.oracle.svm.hosted.thread.VMThreadLocalCollector
dup
invokespecial com.oracle.svm.hosted.thread.VMThreadLocalCollector.<init>:()V
putfield com.oracle.svm.hosted.thread.VMThreadMTFeature.threadLocalCollector:Lcom/oracle/svm/hosted/thread/VMThreadLocalCollector;
2: aload 0
new com.oracle.svm.core.threadlocal.VMThreadLocalMTSupport
dup
invokespecial com.oracle.svm.core.threadlocal.VMThreadLocalMTSupport.<init>:()V
putfield com.oracle.svm.hosted.thread.VMThreadMTFeature.threadLocalSupport:Lcom/oracle/svm/core/threadlocal/VMThreadLocalMTSupport;
3: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lcom/oracle/svm/hosted/thread/VMThreadMTFeature;
public int getVMThreadSize();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: getstatic com.oracle.svm.hosted.thread.VMThreadMTFeature.$assertionsDisabled:Z
ifne 1
aload 0
getfield com.oracle.svm.hosted.thread.VMThreadMTFeature.threadLocalSupport:Lcom/oracle/svm/core/threadlocal/VMThreadLocalMTSupport;
getfield com.oracle.svm.core.threadlocal.VMThreadLocalMTSupport.vmThreadSize:I
iconst_m1
if_icmpne 1
new java.lang.AssertionError
dup
ldc "not yet initialized"
invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
athrow
1: StackMap locals:
StackMap stack:
aload 0
getfield com.oracle.svm.hosted.thread.VMThreadMTFeature.threadLocalSupport:Lcom/oracle/svm/core/threadlocal/VMThreadLocalMTSupport;
getfield com.oracle.svm.core.threadlocal.VMThreadLocalMTSupport.vmThreadSize:I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/oracle/svm/hosted/thread/VMThreadMTFeature;
public boolean isInConfiguration(org.graalvm.nativeimage.hosted.Feature$IsInConfigurationAccess);
descriptor: (Lorg/graalvm/nativeimage/hosted/Feature$IsInConfigurationAccess;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=2, args_size=2
start local 0 start local 1 0: getstatic com.oracle.svm.core.SubstrateOptions.MultiThreaded:Lcom/oracle/svm/core/option/HostedOptionKey;
invokevirtual com.oracle.svm.core.option.HostedOptionKey.getValue:()Ljava/lang/Object;
checkcast java.lang.Boolean
invokevirtual java.lang.Boolean.booleanValue:()Z
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/svm/hosted/thread/VMThreadMTFeature;
0 1 1 access Lorg/graalvm/nativeimage/hosted/Feature$IsInConfigurationAccess;
MethodParameters:
Name Flags
access
public void duringSetup(org.graalvm.nativeimage.hosted.Feature$DuringSetupAccess);
descriptor: (Lorg/graalvm/nativeimage/hosted/Feature$DuringSetupAccess;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: ldc Lcom/oracle/svm/core/threadlocal/VMThreadLocalMTSupport;
aload 0
getfield com.oracle.svm.hosted.thread.VMThreadMTFeature.threadLocalSupport:Lcom/oracle/svm/core/threadlocal/VMThreadLocalMTSupport;
invokestatic org.graalvm.nativeimage.ImageSingletons.add:(Ljava/lang/Class;Ljava/lang/Object;)V
1: aload 1
aload 0
getfield com.oracle.svm.hosted.thread.VMThreadMTFeature.threadLocalCollector:Lcom/oracle/svm/hosted/thread/VMThreadLocalCollector;
invokeinterface org.graalvm.nativeimage.hosted.Feature$DuringSetupAccess.registerObjectReplacer:(Ljava/util/function/Function;)V
2: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/oracle/svm/hosted/thread/VMThreadMTFeature;
0 3 1 config Lorg/graalvm/nativeimage/hosted/Feature$DuringSetupAccess;
MethodParameters:
Name Flags
config
public void registerInvocationPlugins(org.graalvm.compiler.phases.util.Providers, org.graalvm.compiler.api.replacements.SnippetReflectionProvider, org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugins, boolean, boolean);
descriptor: (Lorg/graalvm/compiler/phases/util/Providers;Lorg/graalvm/compiler/api/replacements/SnippetReflectionProvider;Lorg/graalvm/compiler/nodes/graphbuilderconf/InvocationPlugins;ZZ)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=9, locals=12, args_size=6
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 0: getstatic com.oracle.svm.core.threadlocal.VMThreadLocalInfo.THREAD_LOCAL_CLASSES:[Ljava/lang/Class;
dup
astore 9
arraylength
istore 8
iconst_0
istore 7
goto 9
StackMap locals: com.oracle.svm.hosted.thread.VMThreadMTFeature org.graalvm.compiler.phases.util.Providers org.graalvm.compiler.api.replacements.SnippetReflectionProvider org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugins int int top int int java.lang.Class[]
StackMap stack:
1: aload 9
iload 7
aaload
astore 6
start local 6 2: new org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugins$Registration
dup
aload 3
aload 6
invokespecial org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugins$Registration.<init>:(Lorg/graalvm/compiler/nodes/graphbuilderconf/InvocationPlugins;Ljava/lang/reflect/Type;)V
astore 10
start local 10 3: aload 6
invokestatic com.oracle.svm.core.threadlocal.VMThreadLocalInfo.getValueClass:(Ljava/lang/Class;)Ljava/lang/Class;
astore 11
start local 11 4: aload 0
aload 10
aload 11
iconst_0
invokevirtual com.oracle.svm.hosted.thread.VMThreadMTFeature.registerAccessors:(Lorg/graalvm/compiler/nodes/graphbuilderconf/InvocationPlugins$Registration;Ljava/lang/Class;Z)V
5: aload 0
aload 10
aload 11
iconst_1
invokevirtual com.oracle.svm.hosted.thread.VMThreadMTFeature.registerAccessors:(Lorg/graalvm/compiler/nodes/graphbuilderconf/InvocationPlugins$Registration;Ljava/lang/Class;Z)V
6: aload 10
ldc "compareAndSet"
ldc Lorg/graalvm/compiler/nodes/graphbuilderconf/InvocationPlugin$Receiver;
aload 11
aload 11
new com.oracle.svm.hosted.thread.VMThreadMTFeature$1
dup
aload 0
invokespecial com.oracle.svm.hosted.thread.VMThreadMTFeature$1.<init>:(Lcom/oracle/svm/hosted/thread/VMThreadMTFeature;)V
invokevirtual org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugins$Registration.register3:(Ljava/lang/String;Ljava/lang/reflect/Type;Ljava/lang/reflect/Type;Ljava/lang/reflect/Type;Lorg/graalvm/compiler/nodes/graphbuilderconf/InvocationPlugin;)V
7: aload 10
ldc "compareAndSet"
ldc Lorg/graalvm/compiler/nodes/graphbuilderconf/InvocationPlugin$Receiver;
ldc Lorg/graalvm/nativeimage/IsolateThread;
aload 11
aload 11
new com.oracle.svm.hosted.thread.VMThreadMTFeature$2
dup
aload 0
invokespecial com.oracle.svm.hosted.thread.VMThreadMTFeature$2.<init>:(Lcom/oracle/svm/hosted/thread/VMThreadMTFeature;)V
invokevirtual org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugins$Registration.register4:(Ljava/lang/String;Ljava/lang/reflect/Type;Ljava/lang/reflect/Type;Ljava/lang/reflect/Type;Ljava/lang/reflect/Type;Lorg/graalvm/compiler/nodes/graphbuilderconf/InvocationPlugin;)V
end local 11 end local 10 end local 6 8: iinc 7 1
StackMap locals:
StackMap stack:
9: iload 7
iload 8
if_icmplt 1
10: iconst_2
anewarray java.lang.Class
dup
iconst_0
ldc Lcom/oracle/svm/core/threadlocal/FastThreadLocalBytes;
aastore
dup
iconst_1
ldc Lcom/oracle/svm/core/threadlocal/FastThreadLocalWord;
aastore
astore 6
start local 6 11: aload 6
dup
astore 10
arraylength
istore 9
iconst_0
istore 8
goto 17
StackMap locals: com.oracle.svm.hosted.thread.VMThreadMTFeature org.graalvm.compiler.phases.util.Providers org.graalvm.compiler.api.replacements.SnippetReflectionProvider org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugins int int java.lang.Class[] top int int java.lang.Class[]
StackMap stack:
12: aload 10
iload 8
aaload
astore 7
start local 7 13: new org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugins$Registration
dup
aload 3
aload 7
invokespecial org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugins$Registration.<init>:(Lorg/graalvm/compiler/nodes/graphbuilderconf/InvocationPlugins;Ljava/lang/reflect/Type;)V
astore 11
start local 11 14: aload 11
ldc "getAddress"
ldc Lorg/graalvm/compiler/nodes/graphbuilderconf/InvocationPlugin$Receiver;
new com.oracle.svm.hosted.thread.VMThreadMTFeature$3
dup
aload 0
invokespecial com.oracle.svm.hosted.thread.VMThreadMTFeature$3.<init>:(Lcom/oracle/svm/hosted/thread/VMThreadMTFeature;)V
invokevirtual org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugins$Registration.register1:(Ljava/lang/String;Ljava/lang/reflect/Type;Lorg/graalvm/compiler/nodes/graphbuilderconf/InvocationPlugin;)V
15: aload 11
ldc "getAddress"
ldc Lorg/graalvm/compiler/nodes/graphbuilderconf/InvocationPlugin$Receiver;
ldc Lorg/graalvm/nativeimage/IsolateThread;
new com.oracle.svm.hosted.thread.VMThreadMTFeature$4
dup
aload 0
invokespecial com.oracle.svm.hosted.thread.VMThreadMTFeature$4.<init>:(Lcom/oracle/svm/hosted/thread/VMThreadMTFeature;)V
invokevirtual org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugins$Registration.register2:(Ljava/lang/String;Ljava/lang/reflect/Type;Ljava/lang/reflect/Type;Lorg/graalvm/compiler/nodes/graphbuilderconf/InvocationPlugin;)V
end local 11 end local 7 16: iinc 8 1
StackMap locals:
StackMap stack:
17: iload 8
iload 9
if_icmplt 12
18: return
end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 19 0 this Lcom/oracle/svm/hosted/thread/VMThreadMTFeature;
0 19 1 providers Lorg/graalvm/compiler/phases/util/Providers;
0 19 2 snippetReflection Lorg/graalvm/compiler/api/replacements/SnippetReflectionProvider;
0 19 3 invocationPlugins Lorg/graalvm/compiler/nodes/graphbuilderconf/InvocationPlugins;
0 19 4 analysis Z
0 19 5 hosted Z
2 8 6 threadLocalClass Ljava/lang/Class<+Lcom/oracle/svm/core/threadlocal/FastThreadLocal;>;
3 8 10 r Lorg/graalvm/compiler/nodes/graphbuilderconf/InvocationPlugins$Registration;
4 8 11 valueClass Ljava/lang/Class<*>;
11 19 6 typesWithGetAddress [Ljava/lang/Class;
13 16 7 type Ljava/lang/Class<*>;
14 16 11 r Lorg/graalvm/compiler/nodes/graphbuilderconf/InvocationPlugins$Registration;
MethodParameters:
Name Flags
providers
snippetReflection
invocationPlugins
analysis
hosted
private void registerAccessors(org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugins$Registration, java.lang.Class<?>, );
descriptor: (Lorg/graalvm/compiler/nodes/graphbuilderconf/InvocationPlugins$Registration;Ljava/lang/Class;Z)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=9, locals=5, args_size=4
start local 0 start local 1 start local 2 start local 3 0: iload 3
ifeq 1
ldc "Volatile"
goto 2
StackMap locals:
StackMap stack:
1: ldc ""
StackMap locals:
StackMap stack: java.lang.String
2: astore 4
start local 4 3: aload 1
new java.lang.StringBuilder
dup
ldc "get"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 4
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
ldc Lorg/graalvm/compiler/nodes/graphbuilderconf/InvocationPlugin$Receiver;
new com.oracle.svm.hosted.thread.VMThreadMTFeature$5
dup
aload 0
iload 3
invokespecial com.oracle.svm.hosted.thread.VMThreadMTFeature$5.<init>:(Lcom/oracle/svm/hosted/thread/VMThreadMTFeature;Z)V
invokevirtual org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugins$Registration.register1:(Ljava/lang/String;Ljava/lang/reflect/Type;Lorg/graalvm/compiler/nodes/graphbuilderconf/InvocationPlugin;)V
4: aload 1
new java.lang.StringBuilder
dup
ldc "get"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 4
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
ldc Lorg/graalvm/compiler/nodes/graphbuilderconf/InvocationPlugin$Receiver;
ldc Lorg/graalvm/nativeimage/IsolateThread;
new com.oracle.svm.hosted.thread.VMThreadMTFeature$6
dup
aload 0
iload 3
invokespecial com.oracle.svm.hosted.thread.VMThreadMTFeature$6.<init>:(Lcom/oracle/svm/hosted/thread/VMThreadMTFeature;Z)V
invokevirtual org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugins$Registration.register2:(Ljava/lang/String;Ljava/lang/reflect/Type;Ljava/lang/reflect/Type;Lorg/graalvm/compiler/nodes/graphbuilderconf/InvocationPlugin;)V
5: aload 1
new java.lang.StringBuilder
dup
ldc "set"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 4
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
ldc Lorg/graalvm/compiler/nodes/graphbuilderconf/InvocationPlugin$Receiver;
aload 2
new com.oracle.svm.hosted.thread.VMThreadMTFeature$7
dup
aload 0
iload 3
invokespecial com.oracle.svm.hosted.thread.VMThreadMTFeature$7.<init>:(Lcom/oracle/svm/hosted/thread/VMThreadMTFeature;Z)V
invokevirtual org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugins$Registration.register2:(Ljava/lang/String;Ljava/lang/reflect/Type;Ljava/lang/reflect/Type;Lorg/graalvm/compiler/nodes/graphbuilderconf/InvocationPlugin;)V
6: aload 1
new java.lang.StringBuilder
dup
ldc "set"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 4
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
ldc Lorg/graalvm/compiler/nodes/graphbuilderconf/InvocationPlugin$Receiver;
ldc Lorg/graalvm/nativeimage/IsolateThread;
aload 2
new com.oracle.svm.hosted.thread.VMThreadMTFeature$8
dup
aload 0
iload 3
invokespecial com.oracle.svm.hosted.thread.VMThreadMTFeature$8.<init>:(Lcom/oracle/svm/hosted/thread/VMThreadMTFeature;Z)V
invokevirtual org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugins$Registration.register3:(Ljava/lang/String;Ljava/lang/reflect/Type;Ljava/lang/reflect/Type;Ljava/lang/reflect/Type;Lorg/graalvm/compiler/nodes/graphbuilderconf/InvocationPlugin;)V
7: return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lcom/oracle/svm/hosted/thread/VMThreadMTFeature;
0 8 1 r Lorg/graalvm/compiler/nodes/graphbuilderconf/InvocationPlugins$Registration;
0 8 2 valueClass Ljava/lang/Class<*>;
0 8 3 isVolatile Z
3 8 4 suffix Ljava/lang/String;
Signature: (Lorg/graalvm/compiler/nodes/graphbuilderconf/InvocationPlugins$Registration;Ljava/lang/Class<*>;Z)V
MethodParameters:
Name Flags
r
valueClass
isVolatile
private static org.graalvm.compiler.nodes.ValueNode currentThread(org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContext);
descriptor: (Lorg/graalvm/compiler/nodes/graphbuilderconf/GraphBuilderContext;)Lorg/graalvm/compiler/nodes/ValueNode;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
aload 0
invokeinterface org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContext.getGraph:()Lorg/graalvm/compiler/nodes/StructuredGraph;
invokestatic com.oracle.svm.core.graal.nodes.ReadReservedRegister.createReadIsolateThreadNode:(Lorg/graalvm/compiler/nodes/StructuredGraph;)Lorg/graalvm/compiler/nodes/ValueNode;
invokeinterface org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContext.add:(Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/nodes/ValueNode;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 b Lorg/graalvm/compiler/nodes/graphbuilderconf/GraphBuilderContext;
MethodParameters:
Name Flags
b
private boolean handleGet(org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContext, jdk.vm.ci.meta.ResolvedJavaMethod, org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugin$Receiver, org.graalvm.compiler.nodes.ValueNode, boolean);
descriptor: (Lorg/graalvm/compiler/nodes/graphbuilderconf/GraphBuilderContext;Ljdk/vm/ci/meta/ResolvedJavaMethod;Lorg/graalvm/compiler/nodes/graphbuilderconf/InvocationPlugin$Receiver;Lorg/graalvm/compiler/nodes/ValueNode;Z)Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=8, locals=7, args_size=6
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 0: aload 0
getfield com.oracle.svm.hosted.thread.VMThreadMTFeature.threadLocalCollector:Lcom/oracle/svm/hosted/thread/VMThreadLocalCollector;
aload 1
aload 3
invokeinterface org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugin$Receiver.get:()Lorg/graalvm/compiler/nodes/ValueNode;
invokevirtual com.oracle.svm.hosted.thread.VMThreadLocalCollector.findInfo:(Lorg/graalvm/compiler/nodes/graphbuilderconf/GraphBuilderContext;Lorg/graalvm/compiler/nodes/ValueNode;)Lcom/oracle/svm/core/threadlocal/VMThreadLocalInfo;
astore 6
start local 6 1: iload 5
ifeq 3
2: aload 1
new org.graalvm.compiler.nodes.extended.MembarNode
dup
iconst_0
invokespecial org.graalvm.compiler.nodes.extended.MembarNode.<init>:(I)V
invokeinterface org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContext.add:(Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/nodes/ValueNode;
pop
3: StackMap locals: com.oracle.svm.core.threadlocal.VMThreadLocalInfo
StackMap stack:
aload 1
aload 2
invokeinterface jdk.vm.ci.meta.ResolvedJavaMethod.getSignature:()Ljdk/vm/ci/meta/Signature;
invokeinterface jdk.vm.ci.meta.Signature.getReturnKind:()Ljdk/vm/ci/meta/JavaKind;
new com.oracle.svm.core.graal.thread.LoadVMThreadLocalNode
dup
aload 1
invokeinterface org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContext.getMetaAccess:()Ljdk/vm/ci/meta/MetaAccessProvider;
aload 6
aload 4
getstatic org.graalvm.compiler.nodes.memory.OnHeapMemoryAccess$BarrierType.NONE:Lorg/graalvm/compiler/nodes/memory/OnHeapMemoryAccess$BarrierType;
invokespecial com.oracle.svm.core.graal.thread.LoadVMThreadLocalNode.<init>:(Ljdk/vm/ci/meta/MetaAccessProvider;Lcom/oracle/svm/core/threadlocal/VMThreadLocalInfo;Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/memory/OnHeapMemoryAccess$BarrierType;)V
invokeinterface org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContext.addPush:(Ljdk/vm/ci/meta/JavaKind;Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/nodes/ValueNode;
pop
4: iload 5
ifeq 6
5: aload 1
new org.graalvm.compiler.nodes.extended.MembarNode
dup
iconst_3
invokespecial org.graalvm.compiler.nodes.extended.MembarNode.<init>:(I)V
invokeinterface org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContext.add:(Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/nodes/ValueNode;
pop
6: StackMap locals:
StackMap stack:
iconst_1
ireturn
end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lcom/oracle/svm/hosted/thread/VMThreadMTFeature;
0 7 1 b Lorg/graalvm/compiler/nodes/graphbuilderconf/GraphBuilderContext;
0 7 2 targetMethod Ljdk/vm/ci/meta/ResolvedJavaMethod;
0 7 3 receiver Lorg/graalvm/compiler/nodes/graphbuilderconf/InvocationPlugin$Receiver;
0 7 4 threadNode Lorg/graalvm/compiler/nodes/ValueNode;
0 7 5 isVolatile Z
1 7 6 threadLocalInfo Lcom/oracle/svm/core/threadlocal/VMThreadLocalInfo;
MethodParameters:
Name Flags
b
targetMethod
receiver
threadNode
isVolatile
private boolean handleSet(org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContext, org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugin$Receiver, org.graalvm.compiler.nodes.ValueNode, org.graalvm.compiler.nodes.ValueNode, boolean);
descriptor: (Lorg/graalvm/compiler/nodes/graphbuilderconf/GraphBuilderContext;Lorg/graalvm/compiler/nodes/graphbuilderconf/InvocationPlugin$Receiver;Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/ValueNode;Z)Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=6, locals=8, args_size=6
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 0: aload 0
getfield com.oracle.svm.hosted.thread.VMThreadMTFeature.threadLocalCollector:Lcom/oracle/svm/hosted/thread/VMThreadLocalCollector;
aload 1
aload 2
invokeinterface org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugin$Receiver.get:()Lorg/graalvm/compiler/nodes/ValueNode;
invokevirtual com.oracle.svm.hosted.thread.VMThreadLocalCollector.findInfo:(Lorg/graalvm/compiler/nodes/graphbuilderconf/GraphBuilderContext;Lorg/graalvm/compiler/nodes/ValueNode;)Lcom/oracle/svm/core/threadlocal/VMThreadLocalInfo;
astore 6
start local 6 1: iload 5
ifeq 3
2: aload 1
new org.graalvm.compiler.nodes.extended.MembarNode
dup
bipush 10
invokespecial org.graalvm.compiler.nodes.extended.MembarNode.<init>:(I)V
invokeinterface org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContext.add:(Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/nodes/ValueNode;
pop
3: StackMap locals: com.oracle.svm.core.threadlocal.VMThreadLocalInfo
StackMap stack:
new com.oracle.svm.core.graal.thread.StoreVMThreadLocalNode
dup
aload 6
aload 3
aload 4
getstatic org.graalvm.compiler.nodes.memory.OnHeapMemoryAccess$BarrierType.NONE:Lorg/graalvm/compiler/nodes/memory/OnHeapMemoryAccess$BarrierType;
invokespecial com.oracle.svm.core.graal.thread.StoreVMThreadLocalNode.<init>:(Lcom/oracle/svm/core/threadlocal/VMThreadLocalInfo;Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/memory/OnHeapMemoryAccess$BarrierType;)V
astore 7
start local 7 4: aload 1
aload 7
invokeinterface org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContext.add:(Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/nodes/ValueNode;
pop
5: getstatic com.oracle.svm.hosted.thread.VMThreadMTFeature.$assertionsDisabled:Z
ifne 6
aload 7
invokevirtual com.oracle.svm.core.graal.thread.StoreVMThreadLocalNode.stateAfter:()Lorg/graalvm/compiler/nodes/FrameState;
ifnonnull 6
new java.lang.AssertionError
dup
new java.lang.StringBuilder
dup
invokespecial java.lang.StringBuilder.<init>:()V
aload 7
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc " has no state after with graph builder context "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
athrow
6: StackMap locals: com.oracle.svm.core.graal.thread.StoreVMThreadLocalNode
StackMap stack:
iload 5
ifeq 8
7: aload 1
new org.graalvm.compiler.nodes.extended.MembarNode
dup
bipush 12
invokespecial org.graalvm.compiler.nodes.extended.MembarNode.<init>:(I)V
invokeinterface org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContext.add:(Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/nodes/ValueNode;
pop
8: StackMap locals:
StackMap stack:
iconst_1
ireturn
end local 7 end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lcom/oracle/svm/hosted/thread/VMThreadMTFeature;
0 9 1 b Lorg/graalvm/compiler/nodes/graphbuilderconf/GraphBuilderContext;
0 9 2 receiver Lorg/graalvm/compiler/nodes/graphbuilderconf/InvocationPlugin$Receiver;
0 9 3 threadNode Lorg/graalvm/compiler/nodes/ValueNode;
0 9 4 valueNode Lorg/graalvm/compiler/nodes/ValueNode;
0 9 5 isVolatile Z
1 9 6 threadLocalInfo Lcom/oracle/svm/core/threadlocal/VMThreadLocalInfo;
4 9 7 store Lcom/oracle/svm/core/graal/thread/StoreVMThreadLocalNode;
MethodParameters:
Name Flags
b
receiver
threadNode
valueNode
isVolatile
private boolean handleCompareAndSet(org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContext, jdk.vm.ci.meta.ResolvedJavaMethod, org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugin$Receiver, org.graalvm.compiler.nodes.ValueNode, org.graalvm.compiler.nodes.ValueNode, org.graalvm.compiler.nodes.ValueNode);
descriptor: (Lorg/graalvm/compiler/nodes/graphbuilderconf/GraphBuilderContext;Ljdk/vm/ci/meta/ResolvedJavaMethod;Lorg/graalvm/compiler/nodes/graphbuilderconf/InvocationPlugin$Receiver;Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/ValueNode;)Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=6, locals=9, args_size=7
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 start local 6 0: aload 0
getfield com.oracle.svm.hosted.thread.VMThreadMTFeature.threadLocalCollector:Lcom/oracle/svm/hosted/thread/VMThreadLocalCollector;
aload 1
aload 3
invokeinterface org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugin$Receiver.get:()Lorg/graalvm/compiler/nodes/ValueNode;
invokevirtual com.oracle.svm.hosted.thread.VMThreadLocalCollector.findInfo:(Lorg/graalvm/compiler/nodes/graphbuilderconf/GraphBuilderContext;Lorg/graalvm/compiler/nodes/ValueNode;)Lcom/oracle/svm/core/threadlocal/VMThreadLocalInfo;
astore 7
start local 7 1: new com.oracle.svm.core.graal.thread.CompareAndSetVMThreadLocalNode
dup
aload 7
aload 4
aload 5
aload 6
invokespecial com.oracle.svm.core.graal.thread.CompareAndSetVMThreadLocalNode.<init>:(Lcom/oracle/svm/core/threadlocal/VMThreadLocalInfo;Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/ValueNode;)V
astore 8
start local 8 2: aload 1
aload 2
invokeinterface jdk.vm.ci.meta.ResolvedJavaMethod.getSignature:()Ljdk/vm/ci/meta/Signature;
invokeinterface jdk.vm.ci.meta.Signature.getReturnKind:()Ljdk/vm/ci/meta/JavaKind;
aload 8
invokeinterface org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContext.addPush:(Ljdk/vm/ci/meta/JavaKind;Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/nodes/ValueNode;
pop
3: getstatic com.oracle.svm.hosted.thread.VMThreadMTFeature.$assertionsDisabled:Z
ifne 4
aload 8
invokevirtual com.oracle.svm.core.graal.thread.CompareAndSetVMThreadLocalNode.stateAfter:()Lorg/graalvm/compiler/nodes/FrameState;
ifnonnull 4
new java.lang.AssertionError
dup
new java.lang.StringBuilder
dup
invokespecial java.lang.StringBuilder.<init>:()V
aload 8
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc " has no state after with graph builder context "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
athrow
4: StackMap locals: com.oracle.svm.core.threadlocal.VMThreadLocalInfo com.oracle.svm.core.graal.thread.CompareAndSetVMThreadLocalNode
StackMap stack:
iconst_1
ireturn
end local 8 end local 7 end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lcom/oracle/svm/hosted/thread/VMThreadMTFeature;
0 5 1 b Lorg/graalvm/compiler/nodes/graphbuilderconf/GraphBuilderContext;
0 5 2 targetMethod Ljdk/vm/ci/meta/ResolvedJavaMethod;
0 5 3 receiver Lorg/graalvm/compiler/nodes/graphbuilderconf/InvocationPlugin$Receiver;
0 5 4 threadNode Lorg/graalvm/compiler/nodes/ValueNode;
0 5 5 expect Lorg/graalvm/compiler/nodes/ValueNode;
0 5 6 update Lorg/graalvm/compiler/nodes/ValueNode;
1 5 7 threadLocalInfo Lcom/oracle/svm/core/threadlocal/VMThreadLocalInfo;
2 5 8 cas Lcom/oracle/svm/core/graal/thread/CompareAndSetVMThreadLocalNode;
MethodParameters:
Name Flags
b
targetMethod
receiver
threadNode
expect
update
private boolean handleGetAddress(org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContext, jdk.vm.ci.meta.ResolvedJavaMethod, org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugin$Receiver, org.graalvm.compiler.nodes.ValueNode);
descriptor: (Lorg/graalvm/compiler/nodes/graphbuilderconf/GraphBuilderContext;Ljdk/vm/ci/meta/ResolvedJavaMethod;Lorg/graalvm/compiler/nodes/graphbuilderconf/InvocationPlugin$Receiver;Lorg/graalvm/compiler/nodes/ValueNode;)Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=6, locals=6, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 0
getfield com.oracle.svm.hosted.thread.VMThreadMTFeature.threadLocalCollector:Lcom/oracle/svm/hosted/thread/VMThreadLocalCollector;
aload 1
aload 3
invokeinterface org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugin$Receiver.get:()Lorg/graalvm/compiler/nodes/ValueNode;
invokevirtual com.oracle.svm.hosted.thread.VMThreadLocalCollector.findInfo:(Lorg/graalvm/compiler/nodes/graphbuilderconf/GraphBuilderContext;Lorg/graalvm/compiler/nodes/ValueNode;)Lcom/oracle/svm/core/threadlocal/VMThreadLocalInfo;
astore 5
start local 5 1: aload 1
aload 2
invokeinterface jdk.vm.ci.meta.ResolvedJavaMethod.getSignature:()Ljdk/vm/ci/meta/Signature;
invokeinterface jdk.vm.ci.meta.Signature.getReturnKind:()Ljdk/vm/ci/meta/JavaKind;
new com.oracle.svm.core.graal.thread.AddressOfVMThreadLocalNode
dup
aload 5
aload 4
invokespecial com.oracle.svm.core.graal.thread.AddressOfVMThreadLocalNode.<init>:(Lcom/oracle/svm/core/threadlocal/VMThreadLocalInfo;Lorg/graalvm/compiler/nodes/ValueNode;)V
invokeinterface org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContext.addPush:(Ljdk/vm/ci/meta/JavaKind;Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/nodes/ValueNode;
pop
2: iconst_1
ireturn
end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/oracle/svm/hosted/thread/VMThreadMTFeature;
0 3 1 b Lorg/graalvm/compiler/nodes/graphbuilderconf/GraphBuilderContext;
0 3 2 targetMethod Ljdk/vm/ci/meta/ResolvedJavaMethod;
0 3 3 receiver Lorg/graalvm/compiler/nodes/graphbuilderconf/InvocationPlugin$Receiver;
0 3 4 threadNode Lorg/graalvm/compiler/nodes/ValueNode;
1 3 5 threadLocalInfo Lcom/oracle/svm/core/threadlocal/VMThreadLocalInfo;
MethodParameters:
Name Flags
b
targetMethod
receiver
threadNode
public void duringAnalysis(org.graalvm.nativeimage.hosted.Feature$DuringAnalysisAccess);
descriptor: (Lorg/graalvm/nativeimage/hosted/Feature$DuringAnalysisAccess;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield com.oracle.svm.hosted.thread.VMThreadMTFeature.threadLocalCollector:Lcom/oracle/svm/hosted/thread/VMThreadLocalCollector;
getfield com.oracle.svm.hosted.thread.VMThreadLocalCollector.threadLocals:Ljava/util/Map;
invokeinterface java.util.Map.values:()Ljava/util/Collection;
invokestatic com.oracle.svm.core.threadlocal.VMThreadLocalInfos.setInfos:(Ljava/util/Collection;)Z
ifeq 2
1: aload 1
invokeinterface org.graalvm.nativeimage.hosted.Feature$DuringAnalysisAccess.requireAnalysisIteration:()V
2: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/oracle/svm/hosted/thread/VMThreadMTFeature;
0 3 1 access Lorg/graalvm/nativeimage/hosted/Feature$DuringAnalysisAccess;
MethodParameters:
Name Flags
access
public void beforeCompilation(org.graalvm.nativeimage.hosted.Feature$BeforeCompilationAccess);
descriptor: (Lorg/graalvm/nativeimage/hosted/Feature$BeforeCompilationAccess;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=8, args_size=2
start local 0 start local 1 0: aload 0
getfield com.oracle.svm.hosted.thread.VMThreadMTFeature.threadLocalCollector:Lcom/oracle/svm/hosted/thread/VMThreadLocalCollector;
aload 1
invokevirtual com.oracle.svm.hosted.thread.VMThreadLocalCollector.sortThreadLocals:(Lorg/graalvm/nativeimage/hosted/Feature$CompilationAccess;)Ljava/util/List;
astore 2
start local 2 1: new com.oracle.svm.core.heap.SubstrateReferenceMap
dup
invokespecial com.oracle.svm.core.heap.SubstrateReferenceMap.<init>:()V
astore 3
start local 3 2: iconst_0
istore 4
start local 4 3: aload 2
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 6
goto 13
StackMap locals: com.oracle.svm.hosted.thread.VMThreadMTFeature org.graalvm.nativeimage.hosted.Feature$BeforeCompilationAccess java.util.List com.oracle.svm.core.heap.SubstrateReferenceMap int top java.util.Iterator
StackMap stack:
4: aload 6
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast com.oracle.svm.core.threadlocal.VMThreadLocalInfo
astore 5
start local 5 5: bipush 8
aload 5
getfield com.oracle.svm.core.threadlocal.VMThreadLocalInfo.sizeInBytes:I
invokestatic java.lang.Math.min:(II)I
istore 7
start local 7 6: iload 4
iload 7
invokestatic org.graalvm.compiler.core.common.NumUtil.roundUp:(II)I
istore 4
7: aload 5
getfield com.oracle.svm.core.threadlocal.VMThreadLocalInfo.isObject:Z
ifeq 9
8: aload 3
iload 4
iconst_1
invokevirtual com.oracle.svm.core.heap.SubstrateReferenceMap.markReferenceAtOffset:(IZ)V
9: StackMap locals: com.oracle.svm.hosted.thread.VMThreadMTFeature org.graalvm.nativeimage.hosted.Feature$BeforeCompilationAccess java.util.List com.oracle.svm.core.heap.SubstrateReferenceMap int com.oracle.svm.core.threadlocal.VMThreadLocalInfo java.util.Iterator int
StackMap stack:
aload 5
iload 4
putfield com.oracle.svm.core.threadlocal.VMThreadLocalInfo.offset:I
10: iload 4
aload 5
getfield com.oracle.svm.core.threadlocal.VMThreadLocalInfo.sizeInBytes:I
iadd
istore 4
11: aload 5
getfield com.oracle.svm.core.threadlocal.VMThreadLocalInfo.offset:I
aload 5
getfield com.oracle.svm.core.threadlocal.VMThreadLocalInfo.maxOffset:I
if_icmple 13
12: new java.lang.StringBuilder
dup
ldc "Too many thread local variables with maximum offset "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 5
getfield com.oracle.svm.core.threadlocal.VMThreadLocalInfo.maxOffset:I
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc " defined"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokestatic com.oracle.svm.core.util.VMError.shouldNotReachHere:(Ljava/lang/String;)Ljava/lang/RuntimeException;
pop
end local 7 end local 5 13: StackMap locals: com.oracle.svm.hosted.thread.VMThreadMTFeature org.graalvm.nativeimage.hosted.Feature$BeforeCompilationAccess java.util.List com.oracle.svm.core.heap.SubstrateReferenceMap int top java.util.Iterator
StackMap stack:
aload 6
invokeinterface java.util.Iterator.hasNext:()Z
ifne 4
14: new com.oracle.svm.core.heap.InstanceReferenceMapEncoder
dup
invokespecial com.oracle.svm.core.heap.InstanceReferenceMapEncoder.<init>:()V
astore 5
start local 5 15: aload 5
aload 3
invokevirtual com.oracle.svm.core.heap.InstanceReferenceMapEncoder.add:(Lcom/oracle/svm/core/heap/ReferenceMapEncoder$Input;)V
16: aload 5
invokevirtual com.oracle.svm.core.heap.InstanceReferenceMapEncoder.encodeAll:()Lcom/oracle/svm/core/c/NonmovableArray;
astore 6
start local 6 17: aload 0
getfield com.oracle.svm.hosted.thread.VMThreadMTFeature.threadLocalSupport:Lcom/oracle/svm/core/threadlocal/VMThreadLocalMTSupport;
aload 6
invokestatic com.oracle.svm.core.c.NonmovableArrays.getHostedArray:(Lcom/oracle/svm/core/c/NonmovableArray;)Ljava/lang/Object;
checkcast byte[]
putfield com.oracle.svm.core.threadlocal.VMThreadLocalMTSupport.vmThreadReferenceMapEncoding:[B
18: aload 0
getfield com.oracle.svm.hosted.thread.VMThreadMTFeature.threadLocalSupport:Lcom/oracle/svm/core/threadlocal/VMThreadLocalMTSupport;
aload 5
aload 3
invokevirtual com.oracle.svm.core.heap.InstanceReferenceMapEncoder.lookupEncoding:(Lcom/oracle/svm/core/heap/ReferenceMapEncoder$Input;)J
putfield com.oracle.svm.core.threadlocal.VMThreadLocalMTSupport.vmThreadReferenceMapIndex:J
19: aload 0
getfield com.oracle.svm.hosted.thread.VMThreadMTFeature.threadLocalSupport:Lcom/oracle/svm/core/threadlocal/VMThreadLocalMTSupport;
iload 4
putfield com.oracle.svm.core.threadlocal.VMThreadLocalMTSupport.vmThreadSize:I
20: aload 2
invokestatic com.oracle.svm.core.threadlocal.VMThreadLocalInfos.setInfos:(Ljava/util/Collection;)Z
pop
21: return
end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 22 0 this Lcom/oracle/svm/hosted/thread/VMThreadMTFeature;
0 22 1 config Lorg/graalvm/nativeimage/hosted/Feature$BeforeCompilationAccess;
1 22 2 sortedThreadLocalInfos Ljava/util/List<Lcom/oracle/svm/core/threadlocal/VMThreadLocalInfo;>;
2 22 3 referenceMap Lcom/oracle/svm/core/heap/SubstrateReferenceMap;
3 22 4 nextOffset I
5 13 5 info Lcom/oracle/svm/core/threadlocal/VMThreadLocalInfo;
6 13 7 alignment I
15 22 5 encoder Lcom/oracle/svm/core/heap/InstanceReferenceMapEncoder;
17 22 6 referenceMapEncoding Lcom/oracle/svm/core/c/NonmovableArray<Ljava/lang/Byte;>;
MethodParameters:
Name Flags
config
public int offsetOf(com.oracle.svm.core.threadlocal.FastThreadLocal);
descriptor: (Lcom/oracle/svm/core/threadlocal/FastThreadLocal;)I
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield com.oracle.svm.hosted.thread.VMThreadMTFeature.threadLocalCollector:Lcom/oracle/svm/hosted/thread/VMThreadLocalCollector;
aload 1
invokevirtual com.oracle.svm.hosted.thread.VMThreadLocalCollector.getInfo:(Lcom/oracle/svm/core/threadlocal/FastThreadLocal;)Lcom/oracle/svm/core/threadlocal/VMThreadLocalInfo;
getfield com.oracle.svm.core.threadlocal.VMThreadLocalInfo.offset:I
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/svm/hosted/thread/VMThreadMTFeature;
0 1 1 threadLocal Lcom/oracle/svm/core/threadlocal/FastThreadLocal;
MethodParameters:
Name Flags
threadLocal
}
SourceFile: "VMThreadMTFeature.java"
NestMembers:
com.oracle.svm.hosted.thread.VMThreadMTFeature$1 com.oracle.svm.hosted.thread.VMThreadMTFeature$2 com.oracle.svm.hosted.thread.VMThreadMTFeature$3 com.oracle.svm.hosted.thread.VMThreadMTFeature$4 com.oracle.svm.hosted.thread.VMThreadMTFeature$5 com.oracle.svm.hosted.thread.VMThreadMTFeature$6 com.oracle.svm.hosted.thread.VMThreadMTFeature$7 com.oracle.svm.hosted.thread.VMThreadMTFeature$8
InnerClasses:
public abstract Input = com.oracle.svm.core.heap.ReferenceMapEncoder$Input of com.oracle.svm.core.heap.ReferenceMapEncoder
com.oracle.svm.hosted.thread.VMThreadMTFeature$1
com.oracle.svm.hosted.thread.VMThreadMTFeature$2
com.oracle.svm.hosted.thread.VMThreadMTFeature$3
com.oracle.svm.hosted.thread.VMThreadMTFeature$4
com.oracle.svm.hosted.thread.VMThreadMTFeature$5
com.oracle.svm.hosted.thread.VMThreadMTFeature$6
com.oracle.svm.hosted.thread.VMThreadMTFeature$7
com.oracle.svm.hosted.thread.VMThreadMTFeature$8
public abstract Receiver = org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugin$Receiver of org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugin
public Registration = org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugins$Registration of org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugins
public final BarrierType = org.graalvm.compiler.nodes.memory.OnHeapMemoryAccess$BarrierType of org.graalvm.compiler.nodes.memory.OnHeapMemoryAccess
public abstract BeforeCompilationAccess = org.graalvm.nativeimage.hosted.Feature$BeforeCompilationAccess of org.graalvm.nativeimage.hosted.Feature
public abstract CompilationAccess = org.graalvm.nativeimage.hosted.Feature$CompilationAccess of org.graalvm.nativeimage.hosted.Feature
public abstract DuringAnalysisAccess = org.graalvm.nativeimage.hosted.Feature$DuringAnalysisAccess of org.graalvm.nativeimage.hosted.Feature
public abstract DuringSetupAccess = org.graalvm.nativeimage.hosted.Feature$DuringSetupAccess of org.graalvm.nativeimage.hosted.Feature
public abstract IsInConfigurationAccess = org.graalvm.nativeimage.hosted.Feature$IsInConfigurationAccess of org.graalvm.nativeimage.hosted.Feature
RuntimeVisibleAnnotations:
com.oracle.svm.core.annotate.AutomaticFeature()