public final class com.oracle.truffle.llvm.runtime.LLVMContext
minor version: 0
major version: 59
flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
this_class: com.oracle.truffle.llvm.runtime.LLVMContext
super_class: java.lang.Object
{
public static final java.lang.String SULONG_INIT_CONTEXT;
descriptor: Ljava/lang/String;
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: "__sulong_init_context"
public static final java.lang.String SULONG_DISPOSE_CONTEXT;
descriptor: Ljava/lang/String;
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: "__sulong_dispose_context"
private static final java.lang.String START_METHOD_NAME;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: "_start"
private final java.util.List<java.nio.file.Path> libraryPaths;
descriptor: Ljava/util/List;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/util/List<Ljava/nio/file/Path;>;
private final java.lang.Object libraryPathsLock;
descriptor: Ljava/lang/Object;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final java.lang.Object truffleFilesLock;
descriptor: Ljava/lang/Object;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final com.oracle.truffle.llvm.api.Toolchain toolchain;
descriptor: Lcom/oracle/truffle/llvm/api/Toolchain;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private java.nio.file.Path internalLibraryPath;
descriptor: Ljava/nio/file/Path;
flags: (0x0002) ACC_PRIVATE
RuntimeVisibleAnnotations:
com.oracle.truffle.api.CompilerDirectives$CompilationFinal()
private com.oracle.truffle.api.TruffleFile internalLibraryPathFile;
descriptor: Lcom/oracle/truffle/api/TruffleFile;
flags: (0x0002) ACC_PRIVATE
RuntimeVisibleAnnotations:
com.oracle.truffle.api.CompilerDirectives$CompilationFinal()
private final java.util.List<com.oracle.truffle.api.TruffleFile> truffleFiles;
descriptor: Ljava/util/List;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/util/List<Lcom/oracle/truffle/api/TruffleFile;>;
private final java.util.List<java.lang.String> internalLibraryNames;
descriptor: Ljava/util/List;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/util/List<Ljava/lang/String;>;
private final java.util.concurrent.ConcurrentHashMap<com.oracle.truffle.llvm.runtime.pointer.LLVMPointer, java.util.List<com.oracle.truffle.llvm.runtime.LLVMSymbol>> symbolsReverseMap;
descriptor: Ljava/util/concurrent/ConcurrentHashMap;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/util/concurrent/ConcurrentHashMap<Lcom/oracle/truffle/llvm/runtime/pointer/LLVMPointer;Ljava/util/List<Lcom/oracle/truffle/llvm/runtime/LLVMSymbol;>;>;
protected final java.util.ArrayList<com.oracle.truffle.llvm.runtime.pointer.LLVMPointer> globalsNonPointerStore;
descriptor: Ljava/util/ArrayList;
flags: (0x0014) ACC_PROTECTED, ACC_FINAL
Signature: Ljava/util/ArrayList<Lcom/oracle/truffle/llvm/runtime/pointer/LLVMPointer;>;
protected final org.graalvm.collections.EconomicMap<java.lang.Integer, com.oracle.truffle.llvm.runtime.pointer.LLVMPointer> globalsReadOnlyStore;
descriptor: Lorg/graalvm/collections/EconomicMap;
flags: (0x0014) ACC_PROTECTED, ACC_FINAL
Signature: Lorg/graalvm/collections/EconomicMap<Ljava/lang/Integer;Lcom/oracle/truffle/llvm/runtime/pointer/LLVMPointer;>;
private final java.lang.Object globalsStoreLock;
descriptor: Ljava/lang/Object;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final java.util.List<com.oracle.truffle.llvm.runtime.LLVMThread> runningThreads;
descriptor: Ljava/util/List;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/util/List<Lcom/oracle/truffle/llvm/runtime/LLVMThread;>;
private com.oracle.truffle.llvm.runtime.memory.LLVMThreadingStack threadingStack;
descriptor: Lcom/oracle/truffle/llvm/runtime/memory/LLVMThreadingStack;
flags: (0x0002) ACC_PRIVATE
RuntimeVisibleAnnotations:
com.oracle.truffle.api.CompilerDirectives$CompilationFinal()
private java.lang.Object[] mainArguments;
descriptor: [Ljava/lang/Object;
flags: (0x0002) ACC_PRIVATE
private final java.util.ArrayList<com.oracle.truffle.llvm.runtime.pointer.LLVMNativePointer> caughtExceptionStack;
descriptor: Ljava/util/ArrayList;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/util/ArrayList<Lcom/oracle/truffle/llvm/runtime/pointer/LLVMNativePointer;>;
private java.util.concurrent.ConcurrentHashMap<java.lang.String, java.lang.Integer> nativeCallStatistics;
descriptor: Ljava/util/concurrent/ConcurrentHashMap;
flags: (0x0002) ACC_PRIVATE
Signature: Ljava/util/concurrent/ConcurrentHashMap<Ljava/lang/String;Ljava/lang/Integer;>;
private final com.oracle.truffle.llvm.runtime.memory.LLVMMemory$HandleContainer handleContainer;
descriptor: Lcom/oracle/truffle/llvm/runtime/memory/LLVMMemory$HandleContainer;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final com.oracle.truffle.llvm.runtime.memory.LLVMMemory$HandleContainer derefHandleContainer;
descriptor: Lcom/oracle/truffle/llvm/runtime/memory/LLVMMemory$HandleContainer;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final com.oracle.truffle.llvm.runtime.debug.LLVMSourceContext sourceContext;
descriptor: Lcom/oracle/truffle/llvm/runtime/debug/LLVMSourceContext;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private com.oracle.truffle.llvm.runtime.ContextExtension[] contextExtensions;
descriptor: [Lcom/oracle/truffle/llvm/runtime/ContextExtension;
flags: (0x0002) ACC_PRIVATE
RuntimeVisibleAnnotations:
com.oracle.truffle.api.CompilerDirectives$CompilationFinal(dimensions = 1)
private com.oracle.truffle.api.TruffleLanguage$Env env;
descriptor: Lcom/oracle/truffle/api/TruffleLanguage$Env;
flags: (0x0002) ACC_PRIVATE
RuntimeVisibleAnnotations:
com.oracle.truffle.api.CompilerDirectives$CompilationFinal()
private final com.oracle.truffle.llvm.runtime.LLVMScope globalScope;
descriptor: Lcom/oracle/truffle/llvm/runtime/LLVMScope;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final java.util.ArrayList<com.oracle.truffle.llvm.runtime.LLVMLocalScope> localScopes;
descriptor: Ljava/util/ArrayList;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/util/ArrayList<Lcom/oracle/truffle/llvm/runtime/LLVMLocalScope;>;
private final com.oracle.truffle.llvm.runtime.LLVMContext$DynamicLinkChain dynamicLinkChain;
descriptor: Lcom/oracle/truffle/llvm/runtime/LLVMContext$DynamicLinkChain;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final com.oracle.truffle.llvm.runtime.LLVMContext$DynamicLinkChain dynamicLinkChainForScopes;
descriptor: Lcom/oracle/truffle/llvm/runtime/LLVMContext$DynamicLinkChain;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final java.util.List<com.oracle.truffle.api.RootCallTarget> destructorFunctions;
descriptor: Ljava/util/List;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/util/List<Lcom/oracle/truffle/api/RootCallTarget;>;
private final com.oracle.truffle.llvm.runtime.LLVMContext$LLVMFunctionPointerRegistry functionPointerRegistry;
descriptor: Lcom/oracle/truffle/llvm/runtime/LLVMContext$LLVMFunctionPointerRegistry;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final java.util.Map<java.lang.Thread, java.lang.Object> tls;
descriptor: Ljava/util/Map;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/util/Map<Ljava/lang/Thread;Ljava/lang/Object;>;
private com.oracle.truffle.llvm.runtime.pointer.LLVMPointer[][] symbolFinalStorage;
descriptor: [[Lcom/oracle/truffle/llvm/runtime/pointer/LLVMPointer;
flags: (0x0002) ACC_PRIVATE
RuntimeVisibleAnnotations:
com.oracle.truffle.api.CompilerDirectives$CompilationFinal(dimensions = 2)
private com.oracle.truffle.llvm.runtime.pointer.LLVMPointer[][] symbolDynamicStorage;
descriptor: [[Lcom/oracle/truffle/llvm/runtime/pointer/LLVMPointer;
flags: (0x0002) ACC_PRIVATE
RuntimeVisibleAnnotations:
com.oracle.truffle.api.CompilerDirectives$CompilationFinal(dimensions = 1)
private com.oracle.truffle.api.Assumption[][] symbolAssumptions;
descriptor: [[Lcom/oracle/truffle/api/Assumption;
flags: (0x0002) ACC_PRIVATE
RuntimeVisibleAnnotations:
com.oracle.truffle.api.CompilerDirectives$CompilationFinal(dimensions = 2)
private boolean[] libraryLoaded;
descriptor: [Z
flags: (0x0002) ACC_PRIVATE
private final com.oracle.truffle.llvm.runtime.pointer.LLVMNativePointer sigDfl;
descriptor: Lcom/oracle/truffle/llvm/runtime/pointer/LLVMNativePointer;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final com.oracle.truffle.llvm.runtime.pointer.LLVMNativePointer sigIgn;
descriptor: Lcom/oracle/truffle/llvm/runtime/pointer/LLVMNativePointer;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final com.oracle.truffle.llvm.runtime.pointer.LLVMNativePointer sigErr;
descriptor: Lcom/oracle/truffle/llvm/runtime/pointer/LLVMNativePointer;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final com.oracle.truffle.llvm.runtime.pthread.LLVMPThreadContext pThreadContext;
descriptor: Lcom/oracle/truffle/llvm/runtime/pthread/LLVMPThreadContext;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
java.lang.Object freeGlobalsBlockFunction;
descriptor: Ljava/lang/Object;
flags: (0x0000)
RuntimeVisibleAnnotations:
com.oracle.truffle.api.CompilerDirectives$CompilationFinal()
java.lang.Object allocateGlobalsBlockFunction;
descriptor: Ljava/lang/Object;
flags: (0x0000)
RuntimeVisibleAnnotations:
com.oracle.truffle.api.CompilerDirectives$CompilationFinal()
java.lang.Object protectGlobalsBlockFunction;
descriptor: Ljava/lang/Object;
flags: (0x0000)
RuntimeVisibleAnnotations:
com.oracle.truffle.api.CompilerDirectives$CompilationFinal()
protected boolean initialized;
descriptor: Z
flags: (0x0004) ACC_PROTECTED
protected boolean cleanupNecessary;
descriptor: Z
flags: (0x0004) ACC_PROTECTED
private boolean initializeContextCalled;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private com.oracle.truffle.llvm.runtime.datalayout.DataLayout libsulongDatalayout;
descriptor: Lcom/oracle/truffle/llvm/runtime/datalayout/DataLayout;
flags: (0x0002) ACC_PRIVATE
private java.lang.Boolean datalayoutInitialised;
descriptor: Ljava/lang/Boolean;
flags: (0x0002) ACC_PRIVATE
private final com.oracle.truffle.llvm.runtime.LLVMLanguage language;
descriptor: Lcom/oracle/truffle/llvm/runtime/LLVMLanguage;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private com.oracle.truffle.llvm.runtime.instruments.trace.LLVMTracerInstrument tracer;
descriptor: Lcom/oracle/truffle/llvm/runtime/instruments/trace/LLVMTracerInstrument;
flags: (0x0002) ACC_PRIVATE
private com.oracle.truffle.llvm.runtime.options.TargetStream loaderTraceStream;
descriptor: Lcom/oracle/truffle/llvm/runtime/options/TargetStream;
flags: (0x0002) ACC_PRIVATE
RuntimeVisibleAnnotations:
com.oracle.truffle.api.CompilerDirectives$CompilationFinal()
private com.oracle.truffle.llvm.runtime.options.TargetStream syscallTraceStream;
descriptor: Lcom/oracle/truffle/llvm/runtime/options/TargetStream;
flags: (0x0002) ACC_PRIVATE
RuntimeVisibleAnnotations:
com.oracle.truffle.api.CompilerDirectives$CompilationFinal()
private com.oracle.truffle.llvm.runtime.options.TargetStream nativeCallStatsStream;
descriptor: Lcom/oracle/truffle/llvm/runtime/options/TargetStream;
flags: (0x0002) ACC_PRIVATE
RuntimeVisibleAnnotations:
com.oracle.truffle.api.CompilerDirectives$CompilationFinal()
private com.oracle.truffle.llvm.runtime.options.TargetStream lifetimeAnalysisStream;
descriptor: Lcom/oracle/truffle/llvm/runtime/options/TargetStream;
flags: (0x0002) ACC_PRIVATE
RuntimeVisibleAnnotations:
com.oracle.truffle.api.CompilerDirectives$CompilationFinal()
private com.oracle.truffle.llvm.runtime.options.TargetStream llDebugVerboseStream;
descriptor: Lcom/oracle/truffle/llvm/runtime/options/TargetStream;
flags: (0x0002) ACC_PRIVATE
RuntimeVisibleAnnotations:
com.oracle.truffle.api.CompilerDirectives$CompilationFinal()
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/truffle/llvm/runtime/LLVMContext;
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.truffle.llvm.runtime.LLVMContext.$assertionsDisabled:Z
3: return
LocalVariableTable:
Start End Slot Name Signature
void <init>(com.oracle.truffle.llvm.runtime.LLVMLanguage, com.oracle.truffle.api.TruffleLanguage$Env, com.oracle.truffle.llvm.api.Toolchain);
descriptor: (Lcom/oracle/truffle/llvm/runtime/LLVMLanguage;Lcom/oracle/truffle/api/TruffleLanguage$Env;Lcom/oracle/truffle/llvm/api/Toolchain;)V
flags: (0x0000)
Code:
stack=6, locals=5, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
putfield com.oracle.truffle.llvm.runtime.LLVMContext.libraryPaths:Ljava/util/List;
2: aload 0
new java.lang.Object
dup
invokespecial java.lang.Object.<init>:()V
putfield com.oracle.truffle.llvm.runtime.LLVMContext.libraryPathsLock:Ljava/lang/Object;
3: aload 0
new java.lang.Object
dup
invokespecial java.lang.Object.<init>:()V
putfield com.oracle.truffle.llvm.runtime.LLVMContext.truffleFilesLock:Ljava/lang/Object;
4: aload 0
new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
putfield com.oracle.truffle.llvm.runtime.LLVMContext.truffleFiles:Ljava/util/List;
5: aload 0
new java.util.concurrent.ConcurrentHashMap
dup
invokespecial java.util.concurrent.ConcurrentHashMap.<init>:()V
putfield com.oracle.truffle.llvm.runtime.LLVMContext.symbolsReverseMap:Ljava/util/concurrent/ConcurrentHashMap;
6: aload 0
new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
putfield com.oracle.truffle.llvm.runtime.LLVMContext.globalsNonPointerStore:Ljava/util/ArrayList;
7: aload 0
invokestatic org.graalvm.collections.EconomicMap.create:()Lorg/graalvm/collections/EconomicMap;
putfield com.oracle.truffle.llvm.runtime.LLVMContext.globalsReadOnlyStore:Lorg/graalvm/collections/EconomicMap;
8: aload 0
new java.lang.Object
dup
invokespecial java.lang.Object.<init>:()V
putfield com.oracle.truffle.llvm.runtime.LLVMContext.globalsStoreLock:Ljava/lang/Object;
9: aload 0
new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
putfield com.oracle.truffle.llvm.runtime.LLVMContext.runningThreads:Ljava/util/List;
10: aload 0
new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
putfield com.oracle.truffle.llvm.runtime.LLVMContext.caughtExceptionStack:Ljava/util/ArrayList;
11: aload 0
new java.util.concurrent.ConcurrentHashMap
dup
invokespecial java.util.concurrent.ConcurrentHashMap.<init>:()V
putfield com.oracle.truffle.llvm.runtime.LLVMContext.tls:Ljava/util/Map;
12: aload 0
aload 1
putfield com.oracle.truffle.llvm.runtime.LLVMContext.language:Lcom/oracle/truffle/llvm/runtime/LLVMLanguage;
13: aload 0
aconst_null
putfield com.oracle.truffle.llvm.runtime.LLVMContext.libsulongDatalayout:Lcom/oracle/truffle/llvm/runtime/datalayout/DataLayout;
14: aload 0
iconst_0
invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
putfield com.oracle.truffle.llvm.runtime.LLVMContext.datalayoutInitialised:Ljava/lang/Boolean;
15: aload 0
aload 2
putfield com.oracle.truffle.llvm.runtime.LLVMContext.env:Lcom/oracle/truffle/api/TruffleLanguage$Env;
16: aload 0
iconst_0
putfield com.oracle.truffle.llvm.runtime.LLVMContext.initialized:Z
17: aload 0
iconst_0
putfield com.oracle.truffle.llvm.runtime.LLVMContext.cleanupNecessary:Z
18: aload 0
new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
putfield com.oracle.truffle.llvm.runtime.LLVMContext.destructorFunctions:Ljava/util/List;
19: aload 0
aload 2
invokevirtual com.oracle.truffle.api.TruffleLanguage$Env.getOptions:()Lorg/graalvm/options/OptionValues;
getstatic com.oracle.truffle.llvm.runtime.options.SulongEngineOption.NATIVE_CALL_STATS:Lorg/graalvm/options/OptionKey;
invokeinterface org.graalvm.options.OptionValues.get:(Lorg/graalvm/options/OptionKey;)Ljava/lang/Object;
checkcast java.lang.String
invokestatic com.oracle.truffle.llvm.runtime.options.SulongEngineOption.optionEnabled:(Ljava/lang/String;)Z
ifeq 20
new java.util.concurrent.ConcurrentHashMap
dup
invokespecial java.util.concurrent.ConcurrentHashMap.<init>:()V
goto 21
StackMap locals: com.oracle.truffle.llvm.runtime.LLVMContext com.oracle.truffle.llvm.runtime.LLVMLanguage com.oracle.truffle.api.TruffleLanguage$Env com.oracle.truffle.llvm.api.Toolchain
StackMap stack: com.oracle.truffle.llvm.runtime.LLVMContext
20: aconst_null
StackMap locals: com.oracle.truffle.llvm.runtime.LLVMContext com.oracle.truffle.llvm.runtime.LLVMLanguage com.oracle.truffle.api.TruffleLanguage$Env com.oracle.truffle.llvm.api.Toolchain
StackMap stack: com.oracle.truffle.llvm.runtime.LLVMContext java.util.concurrent.ConcurrentHashMap
21: putfield com.oracle.truffle.llvm.runtime.LLVMContext.nativeCallStatistics:Ljava/util/concurrent/ConcurrentHashMap;
22: aload 0
lconst_0
invokestatic com.oracle.truffle.llvm.runtime.pointer.LLVMNativePointer.create:(J)Lcom/oracle/truffle/llvm/runtime/pointer/LLVMNativePointer;
putfield com.oracle.truffle.llvm.runtime.LLVMContext.sigDfl:Lcom/oracle/truffle/llvm/runtime/pointer/LLVMNativePointer;
23: aload 0
lconst_1
invokestatic com.oracle.truffle.llvm.runtime.pointer.LLVMNativePointer.create:(J)Lcom/oracle/truffle/llvm/runtime/pointer/LLVMNativePointer;
putfield com.oracle.truffle.llvm.runtime.LLVMContext.sigIgn:Lcom/oracle/truffle/llvm/runtime/pointer/LLVMNativePointer;
24: aload 0
ldc -1
invokestatic com.oracle.truffle.llvm.runtime.pointer.LLVMNativePointer.create:(J)Lcom/oracle/truffle/llvm/runtime/pointer/LLVMNativePointer;
putfield com.oracle.truffle.llvm.runtime.LLVMContext.sigErr:Lcom/oracle/truffle/llvm/runtime/pointer/LLVMNativePointer;
25: aload 1
invokevirtual com.oracle.truffle.llvm.runtime.LLVMLanguage.getLLVMMemory:()Lcom/oracle/truffle/llvm/runtime/memory/LLVMMemory;
astore 4
start local 4 26: aload 0
aload 4
iconst_0
aload 1
invokevirtual com.oracle.truffle.llvm.runtime.LLVMLanguage.getNoCommonHandleAssumption:()Lcom/oracle/truffle/api/Assumption;
invokevirtual com.oracle.truffle.llvm.runtime.memory.LLVMMemory.createHandleContainer:(ZLcom/oracle/truffle/api/Assumption;)Lcom/oracle/truffle/llvm/runtime/memory/LLVMMemory$HandleContainer;
putfield com.oracle.truffle.llvm.runtime.LLVMContext.handleContainer:Lcom/oracle/truffle/llvm/runtime/memory/LLVMMemory$HandleContainer;
27: aload 0
aload 4
iconst_1
aload 1
invokevirtual com.oracle.truffle.llvm.runtime.LLVMLanguage.getNoDerefHandleAssumption:()Lcom/oracle/truffle/api/Assumption;
invokevirtual com.oracle.truffle.llvm.runtime.memory.LLVMMemory.createHandleContainer:(ZLcom/oracle/truffle/api/Assumption;)Lcom/oracle/truffle/llvm/runtime/memory/LLVMMemory$HandleContainer;
putfield com.oracle.truffle.llvm.runtime.LLVMContext.derefHandleContainer:Lcom/oracle/truffle/llvm/runtime/memory/LLVMMemory$HandleContainer;
28: aload 0
new com.oracle.truffle.llvm.runtime.LLVMContext$LLVMFunctionPointerRegistry
dup
aload 0
invokespecial com.oracle.truffle.llvm.runtime.LLVMContext$LLVMFunctionPointerRegistry.<init>:(Lcom/oracle/truffle/llvm/runtime/LLVMContext;)V
putfield com.oracle.truffle.llvm.runtime.LLVMContext.functionPointerRegistry:Lcom/oracle/truffle/llvm/runtime/LLVMContext$LLVMFunctionPointerRegistry;
29: aload 0
new com.oracle.truffle.llvm.runtime.debug.LLVMSourceContext
dup
invokespecial com.oracle.truffle.llvm.runtime.debug.LLVMSourceContext.<init>:()V
putfield com.oracle.truffle.llvm.runtime.LLVMContext.sourceContext:Lcom/oracle/truffle/llvm/runtime/debug/LLVMSourceContext;
30: aload 0
aload 3
putfield com.oracle.truffle.llvm.runtime.LLVMContext.toolchain:Lcom/oracle/truffle/llvm/api/Toolchain;
31: aload 0
aload 1
ldc Lcom/oracle/truffle/llvm/runtime/PlatformCapability;
invokevirtual com.oracle.truffle.llvm.runtime.LLVMLanguage.getCapability:(Ljava/lang/Class;)Lcom/oracle/truffle/llvm/runtime/config/LLVMCapability;
checkcast com.oracle.truffle.llvm.runtime.PlatformCapability
invokevirtual com.oracle.truffle.llvm.runtime.PlatformCapability.getSulongDefaultLibraries:()[Ljava/lang/String;
invokestatic java.util.Arrays.asList:([Ljava/lang/Object;)Ljava/util/List;
invokestatic java.util.Collections.unmodifiableList:(Ljava/util/List;)Ljava/util/List;
putfield com.oracle.truffle.llvm.runtime.LLVMContext.internalLibraryNames:Ljava/util/List;
32: getstatic com.oracle.truffle.llvm.runtime.LLVMContext.$assertionsDisabled:Z
ifne 33
aload 0
getfield com.oracle.truffle.llvm.runtime.LLVMContext.internalLibraryNames:Ljava/util/List;
invokeinterface java.util.List.isEmpty:()Z
ifeq 33
new java.lang.AssertionError
dup
ldc "No internal libraries?"
invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
athrow
33: StackMap locals: com.oracle.truffle.llvm.runtime.memory.LLVMMemory
StackMap stack:
aload 0
new com.oracle.truffle.llvm.runtime.LLVMScope
dup
invokespecial com.oracle.truffle.llvm.runtime.LLVMScope.<init>:()V
putfield com.oracle.truffle.llvm.runtime.LLVMContext.globalScope:Lcom/oracle/truffle/llvm/runtime/LLVMScope;
34: aload 0
new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
putfield com.oracle.truffle.llvm.runtime.LLVMContext.localScopes:Ljava/util/ArrayList;
35: aload 0
new com.oracle.truffle.llvm.runtime.LLVMContext$DynamicLinkChain
dup
invokespecial com.oracle.truffle.llvm.runtime.LLVMContext$DynamicLinkChain.<init>:()V
putfield com.oracle.truffle.llvm.runtime.LLVMContext.dynamicLinkChain:Lcom/oracle/truffle/llvm/runtime/LLVMContext$DynamicLinkChain;
36: aload 0
new com.oracle.truffle.llvm.runtime.LLVMContext$DynamicLinkChain
dup
invokespecial com.oracle.truffle.llvm.runtime.LLVMContext$DynamicLinkChain.<init>:()V
putfield com.oracle.truffle.llvm.runtime.LLVMContext.dynamicLinkChainForScopes:Lcom/oracle/truffle/llvm/runtime/LLVMContext$DynamicLinkChain;
37: aload 0
aload 2
invokestatic com.oracle.truffle.llvm.runtime.LLVMContext.getMainArguments:(Lcom/oracle/truffle/api/TruffleLanguage$Env;)[Ljava/lang/Object;
putfield com.oracle.truffle.llvm.runtime.LLVMContext.mainArguments:[Ljava/lang/Object;
38: aload 0
aload 2
invokestatic com.oracle.truffle.llvm.runtime.options.SulongEngineOption.getPolyglotOptionSearchPaths:(Lcom/oracle/truffle/api/TruffleLanguage$Env;)Ljava/util/List;
invokevirtual com.oracle.truffle.llvm.runtime.LLVMContext.addLibraryPaths:(Ljava/util/List;)V
39: aload 0
new com.oracle.truffle.llvm.runtime.pthread.LLVMPThreadContext
dup
aload 0
invokevirtual com.oracle.truffle.llvm.runtime.LLVMContext.getEnv:()Lcom/oracle/truffle/api/TruffleLanguage$Env;
aload 0
invokevirtual com.oracle.truffle.llvm.runtime.LLVMContext.getLanguage:()Lcom/oracle/truffle/llvm/runtime/LLVMLanguage;
aload 0
invokevirtual com.oracle.truffle.llvm.runtime.LLVMContext.getLibsulongDataLayout:()Lcom/oracle/truffle/llvm/runtime/datalayout/DataLayout;
invokespecial com.oracle.truffle.llvm.runtime.pthread.LLVMPThreadContext.<init>:(Lcom/oracle/truffle/api/TruffleLanguage$Env;Lcom/oracle/truffle/llvm/runtime/LLVMLanguage;Lcom/oracle/truffle/llvm/runtime/datalayout/DataLayout;)V
putfield com.oracle.truffle.llvm.runtime.LLVMContext.pThreadContext:Lcom/oracle/truffle/llvm/runtime/pthread/LLVMPThreadContext;
40: aload 0
bipush 10
anewarray com.oracle.truffle.api.Assumption[]
putfield com.oracle.truffle.llvm.runtime.LLVMContext.symbolAssumptions:[[Lcom/oracle/truffle/api/Assumption;
41: aload 0
aload 0
bipush 10
anewarray com.oracle.truffle.llvm.runtime.pointer.LLVMPointer[]
dup_x1
putfield com.oracle.truffle.llvm.runtime.LLVMContext.symbolDynamicStorage:[[Lcom/oracle/truffle/llvm/runtime/pointer/LLVMPointer;
putfield com.oracle.truffle.llvm.runtime.LLVMContext.symbolFinalStorage:[[Lcom/oracle/truffle/llvm/runtime/pointer/LLVMPointer;
42: aload 0
bipush 10
newarray 4
putfield com.oracle.truffle.llvm.runtime.LLVMContext.libraryLoaded:[Z
43: return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 44 0 this Lcom/oracle/truffle/llvm/runtime/LLVMContext;
0 44 1 language Lcom/oracle/truffle/llvm/runtime/LLVMLanguage;
0 44 2 env Lcom/oracle/truffle/api/TruffleLanguage$Env;
0 44 3 toolchain Lcom/oracle/truffle/llvm/api/Toolchain;
26 44 4 memory Lcom/oracle/truffle/llvm/runtime/memory/LLVMMemory;
MethodParameters:
Name Flags
language
env
toolchain
boolean patchContext(com.oracle.truffle.api.TruffleLanguage$Env);
descriptor: (Lcom/oracle/truffle/api/TruffleLanguage$Env;)Z
flags: (0x0000)
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield com.oracle.truffle.llvm.runtime.LLVMContext.initializeContextCalled:Z
ifeq 2
1: iconst_0
ireturn
2: StackMap locals:
StackMap stack:
aload 0
aload 1
putfield com.oracle.truffle.llvm.runtime.LLVMContext.env:Lcom/oracle/truffle/api/TruffleLanguage$Env;
3: aload 0
aload 0
getfield com.oracle.truffle.llvm.runtime.LLVMContext.env:Lcom/oracle/truffle/api/TruffleLanguage$Env;
invokevirtual com.oracle.truffle.api.TruffleLanguage$Env.getOptions:()Lorg/graalvm/options/OptionValues;
getstatic com.oracle.truffle.llvm.runtime.options.SulongEngineOption.NATIVE_CALL_STATS:Lorg/graalvm/options/OptionKey;
invokeinterface org.graalvm.options.OptionValues.get:(Lorg/graalvm/options/OptionKey;)Ljava/lang/Object;
checkcast java.lang.String
invokestatic com.oracle.truffle.llvm.runtime.options.SulongEngineOption.optionEnabled:(Ljava/lang/String;)Z
ifeq 4
new java.util.concurrent.ConcurrentHashMap
dup
invokespecial java.util.concurrent.ConcurrentHashMap.<init>:()V
goto 5
StackMap locals:
StackMap stack: com.oracle.truffle.llvm.runtime.LLVMContext
4: aconst_null
StackMap locals: com.oracle.truffle.llvm.runtime.LLVMContext com.oracle.truffle.api.TruffleLanguage$Env
StackMap stack: com.oracle.truffle.llvm.runtime.LLVMContext java.util.concurrent.ConcurrentHashMap
5: putfield com.oracle.truffle.llvm.runtime.LLVMContext.nativeCallStatistics:Ljava/util/concurrent/ConcurrentHashMap;
6: aload 0
aload 1
invokestatic com.oracle.truffle.llvm.runtime.LLVMContext.getMainArguments:(Lcom/oracle/truffle/api/TruffleLanguage$Env;)[Ljava/lang/Object;
putfield com.oracle.truffle.llvm.runtime.LLVMContext.mainArguments:[Ljava/lang/Object;
7: iconst_1
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lcom/oracle/truffle/llvm/runtime/LLVMContext;
0 8 1 newEnv Lcom/oracle/truffle/api/TruffleLanguage$Env;
MethodParameters:
Name Flags
newEnv
private static java.lang.Object[] getMainArguments(com.oracle.truffle.api.TruffleLanguage$Env);
descriptor: (Lcom/oracle/truffle/api/TruffleLanguage$Env;)[Ljava/lang/Object;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=2, args_size=1
start local 0 0: aload 0
invokevirtual com.oracle.truffle.api.TruffleLanguage$Env.getConfig:()Ljava/util/Map;
ldc "Sulong Main Args"
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
astore 1
start local 1 1: aload 1
ifnonnull 2
aload 0
invokevirtual com.oracle.truffle.api.TruffleLanguage$Env.getApplicationArguments:()[Ljava/lang/String;
goto 3
StackMap locals: java.lang.Object
StackMap stack:
2: aload 1
checkcast java.lang.Object[]
StackMap locals:
StackMap stack: java.lang.Object[]
3: areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 environment Lcom/oracle/truffle/api/TruffleLanguage$Env;
1 4 1 mainArgs Ljava/lang/Object;
MethodParameters:
Name Flags
environment
void initialize(com.oracle.truffle.llvm.runtime.ContextExtension[]);
descriptor: ([Lcom/oracle/truffle/llvm/runtime/ContextExtension;)V
flags: (0x0000)
Code:
stack=6, locals=8, args_size=2
start local 0 start local 1 0: aload 0
iconst_1
putfield com.oracle.truffle.llvm.runtime.LLVMContext.initializeContextCalled:Z
1: getstatic com.oracle.truffle.llvm.runtime.LLVMContext.$assertionsDisabled:Z
ifne 2
aload 0
getfield com.oracle.truffle.llvm.runtime.LLVMContext.threadingStack:Lcom/oracle/truffle/llvm/runtime/memory/LLVMThreadingStack;
ifnull 2
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
2: StackMap locals:
StackMap stack:
aload 0
aload 1
putfield com.oracle.truffle.llvm.runtime.LLVMContext.contextExtensions:[Lcom/oracle/truffle/llvm/runtime/ContextExtension;
3: aload 0
getfield com.oracle.truffle.llvm.runtime.LLVMContext.env:Lcom/oracle/truffle/api/TruffleLanguage$Env;
invokevirtual com.oracle.truffle.api.TruffleLanguage$Env.getOptions:()Lorg/graalvm/options/OptionValues;
getstatic com.oracle.truffle.llvm.runtime.options.SulongEngineOption.LD_DEBUG:Lorg/graalvm/options/OptionKey;
invokeinterface org.graalvm.options.OptionValues.get:(Lorg/graalvm/options/OptionKey;)Ljava/lang/Object;
checkcast java.lang.String
astore 2
start local 2 4: aload 0
aload 2
invokestatic com.oracle.truffle.llvm.runtime.options.SulongEngineOption.optionEnabled:(Ljava/lang/String;)Z
ifeq 5
new com.oracle.truffle.llvm.runtime.options.TargetStream
dup
aload 0
getfield com.oracle.truffle.llvm.runtime.LLVMContext.env:Lcom/oracle/truffle/api/TruffleLanguage$Env;
aload 2
invokespecial com.oracle.truffle.llvm.runtime.options.TargetStream.<init>:(Lcom/oracle/truffle/api/TruffleLanguage$Env;Ljava/lang/String;)V
goto 6
StackMap locals: com.oracle.truffle.llvm.runtime.LLVMContext com.oracle.truffle.llvm.runtime.ContextExtension[] java.lang.String
StackMap stack: com.oracle.truffle.llvm.runtime.LLVMContext
5: aconst_null
StackMap locals: com.oracle.truffle.llvm.runtime.LLVMContext com.oracle.truffle.llvm.runtime.ContextExtension[] java.lang.String
StackMap stack: com.oracle.truffle.llvm.runtime.LLVMContext com.oracle.truffle.llvm.runtime.options.TargetStream
6: putfield com.oracle.truffle.llvm.runtime.LLVMContext.loaderTraceStream:Lcom/oracle/truffle/llvm/runtime/options/TargetStream;
7: aload 0
getfield com.oracle.truffle.llvm.runtime.LLVMContext.env:Lcom/oracle/truffle/api/TruffleLanguage$Env;
invokevirtual com.oracle.truffle.api.TruffleLanguage$Env.getOptions:()Lorg/graalvm/options/OptionValues;
getstatic com.oracle.truffle.llvm.runtime.options.SulongEngineOption.DEBUG_SYSCALLS:Lorg/graalvm/options/OptionKey;
invokeinterface org.graalvm.options.OptionValues.get:(Lorg/graalvm/options/OptionKey;)Ljava/lang/Object;
checkcast java.lang.String
astore 2
8: aload 0
aload 2
invokestatic com.oracle.truffle.llvm.runtime.options.SulongEngineOption.optionEnabled:(Ljava/lang/String;)Z
ifeq 9
new com.oracle.truffle.llvm.runtime.options.TargetStream
dup
aload 0
getfield com.oracle.truffle.llvm.runtime.LLVMContext.env:Lcom/oracle/truffle/api/TruffleLanguage$Env;
aload 2
invokespecial com.oracle.truffle.llvm.runtime.options.TargetStream.<init>:(Lcom/oracle/truffle/api/TruffleLanguage$Env;Ljava/lang/String;)V
goto 10
StackMap locals:
StackMap stack: com.oracle.truffle.llvm.runtime.LLVMContext
9: aconst_null
StackMap locals: com.oracle.truffle.llvm.runtime.LLVMContext com.oracle.truffle.llvm.runtime.ContextExtension[] java.lang.String
StackMap stack: com.oracle.truffle.llvm.runtime.LLVMContext com.oracle.truffle.llvm.runtime.options.TargetStream
10: putfield com.oracle.truffle.llvm.runtime.LLVMContext.syscallTraceStream:Lcom/oracle/truffle/llvm/runtime/options/TargetStream;
11: aload 0
getfield com.oracle.truffle.llvm.runtime.LLVMContext.env:Lcom/oracle/truffle/api/TruffleLanguage$Env;
invokevirtual com.oracle.truffle.api.TruffleLanguage$Env.getOptions:()Lorg/graalvm/options/OptionValues;
getstatic com.oracle.truffle.llvm.runtime.options.SulongEngineOption.NATIVE_CALL_STATS:Lorg/graalvm/options/OptionKey;
invokeinterface org.graalvm.options.OptionValues.get:(Lorg/graalvm/options/OptionKey;)Ljava/lang/Object;
checkcast java.lang.String
astore 2
12: aload 0
aload 2
invokestatic com.oracle.truffle.llvm.runtime.options.SulongEngineOption.optionEnabled:(Ljava/lang/String;)Z
ifeq 13
new com.oracle.truffle.llvm.runtime.options.TargetStream
dup
aload 0
getfield com.oracle.truffle.llvm.runtime.LLVMContext.env:Lcom/oracle/truffle/api/TruffleLanguage$Env;
aload 2
invokespecial com.oracle.truffle.llvm.runtime.options.TargetStream.<init>:(Lcom/oracle/truffle/api/TruffleLanguage$Env;Ljava/lang/String;)V
goto 14
StackMap locals:
StackMap stack: com.oracle.truffle.llvm.runtime.LLVMContext
13: aconst_null
StackMap locals: com.oracle.truffle.llvm.runtime.LLVMContext com.oracle.truffle.llvm.runtime.ContextExtension[] java.lang.String
StackMap stack: com.oracle.truffle.llvm.runtime.LLVMContext com.oracle.truffle.llvm.runtime.options.TargetStream
14: putfield com.oracle.truffle.llvm.runtime.LLVMContext.nativeCallStatsStream:Lcom/oracle/truffle/llvm/runtime/options/TargetStream;
15: aload 0
getfield com.oracle.truffle.llvm.runtime.LLVMContext.env:Lcom/oracle/truffle/api/TruffleLanguage$Env;
invokevirtual com.oracle.truffle.api.TruffleLanguage$Env.getOptions:()Lorg/graalvm/options/OptionValues;
getstatic com.oracle.truffle.llvm.runtime.options.SulongEngineOption.PRINT_LIFE_TIME_ANALYSIS_STATS:Lorg/graalvm/options/OptionKey;
invokeinterface org.graalvm.options.OptionValues.get:(Lorg/graalvm/options/OptionKey;)Ljava/lang/Object;
checkcast java.lang.String
astore 2
16: aload 0
aload 2
invokestatic com.oracle.truffle.llvm.runtime.options.SulongEngineOption.optionEnabled:(Ljava/lang/String;)Z
ifeq 17
new com.oracle.truffle.llvm.runtime.options.TargetStream
dup
aload 0
getfield com.oracle.truffle.llvm.runtime.LLVMContext.env:Lcom/oracle/truffle/api/TruffleLanguage$Env;
aload 2
invokespecial com.oracle.truffle.llvm.runtime.options.TargetStream.<init>:(Lcom/oracle/truffle/api/TruffleLanguage$Env;Ljava/lang/String;)V
goto 18
StackMap locals:
StackMap stack: com.oracle.truffle.llvm.runtime.LLVMContext
17: aconst_null
StackMap locals: com.oracle.truffle.llvm.runtime.LLVMContext com.oracle.truffle.llvm.runtime.ContextExtension[] java.lang.String
StackMap stack: com.oracle.truffle.llvm.runtime.LLVMContext com.oracle.truffle.llvm.runtime.options.TargetStream
18: putfield com.oracle.truffle.llvm.runtime.LLVMContext.lifetimeAnalysisStream:Lcom/oracle/truffle/llvm/runtime/options/TargetStream;
19: aload 0
getfield com.oracle.truffle.llvm.runtime.LLVMContext.env:Lcom/oracle/truffle/api/TruffleLanguage$Env;
invokevirtual com.oracle.truffle.api.TruffleLanguage$Env.getOptions:()Lorg/graalvm/options/OptionValues;
getstatic com.oracle.truffle.llvm.runtime.options.SulongEngineOption.LL_DEBUG_VERBOSE:Lorg/graalvm/options/OptionKey;
invokeinterface org.graalvm.options.OptionValues.get:(Lorg/graalvm/options/OptionKey;)Ljava/lang/Object;
checkcast java.lang.String
astore 2
20: aload 0
aload 2
invokestatic com.oracle.truffle.llvm.runtime.options.SulongEngineOption.optionEnabled:(Ljava/lang/String;)Z
ifeq 21
aload 0
getfield com.oracle.truffle.llvm.runtime.LLVMContext.env:Lcom/oracle/truffle/api/TruffleLanguage$Env;
invokevirtual com.oracle.truffle.api.TruffleLanguage$Env.getOptions:()Lorg/graalvm/options/OptionValues;
getstatic com.oracle.truffle.llvm.runtime.options.SulongEngineOption.LL_DEBUG:Lorg/graalvm/options/OptionKey;
invokeinterface org.graalvm.options.OptionValues.get:(Lorg/graalvm/options/OptionKey;)Ljava/lang/Object;
checkcast java.lang.Boolean
invokevirtual java.lang.Boolean.booleanValue:()Z
ifeq 21
new com.oracle.truffle.llvm.runtime.options.TargetStream
dup
aload 0
getfield com.oracle.truffle.llvm.runtime.LLVMContext.env:Lcom/oracle/truffle/api/TruffleLanguage$Env;
aload 2
invokespecial com.oracle.truffle.llvm.runtime.options.TargetStream.<init>:(Lcom/oracle/truffle/api/TruffleLanguage$Env;Ljava/lang/String;)V
goto 22
StackMap locals:
StackMap stack: com.oracle.truffle.llvm.runtime.LLVMContext
21: aconst_null
StackMap locals: com.oracle.truffle.llvm.runtime.LLVMContext com.oracle.truffle.llvm.runtime.ContextExtension[] java.lang.String
StackMap stack: com.oracle.truffle.llvm.runtime.LLVMContext com.oracle.truffle.llvm.runtime.options.TargetStream
22: putfield com.oracle.truffle.llvm.runtime.LLVMContext.llDebugVerboseStream:Lcom/oracle/truffle/llvm/runtime/options/TargetStream;
23: aload 0
getfield com.oracle.truffle.llvm.runtime.LLVMContext.env:Lcom/oracle/truffle/api/TruffleLanguage$Env;
invokevirtual com.oracle.truffle.api.TruffleLanguage$Env.getOptions:()Lorg/graalvm/options/OptionValues;
getstatic com.oracle.truffle.llvm.runtime.options.SulongEngineOption.TRACE_IR:Lorg/graalvm/options/OptionKey;
invokeinterface org.graalvm.options.OptionValues.get:(Lorg/graalvm/options/OptionKey;)Ljava/lang/Object;
checkcast java.lang.String
astore 2
24: aload 2
invokestatic com.oracle.truffle.llvm.runtime.options.SulongEngineOption.optionEnabled:(Ljava/lang/String;)Z
ifeq 28
25: aload 0
getfield com.oracle.truffle.llvm.runtime.LLVMContext.env:Lcom/oracle/truffle/api/TruffleLanguage$Env;
invokevirtual com.oracle.truffle.api.TruffleLanguage$Env.getOptions:()Lorg/graalvm/options/OptionValues;
getstatic com.oracle.truffle.llvm.runtime.options.SulongEngineOption.LL_DEBUG:Lorg/graalvm/options/OptionKey;
invokeinterface org.graalvm.options.OptionValues.get:(Lorg/graalvm/options/OptionKey;)Ljava/lang/Object;
checkcast java.lang.Boolean
invokevirtual java.lang.Boolean.booleanValue:()Z
ifne 27
26: new java.lang.IllegalStateException
dup
ldc "'--llvm.traceIR' requires '--llvm.llDebug=true'"
invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
athrow
27: StackMap locals:
StackMap stack:
aload 0
new com.oracle.truffle.llvm.runtime.instruments.trace.LLVMTracerInstrument
dup
aload 0
getfield com.oracle.truffle.llvm.runtime.LLVMContext.env:Lcom/oracle/truffle/api/TruffleLanguage$Env;
aload 2
invokespecial com.oracle.truffle.llvm.runtime.instruments.trace.LLVMTracerInstrument.<init>:(Lcom/oracle/truffle/api/TruffleLanguage$Env;Ljava/lang/String;)V
putfield com.oracle.truffle.llvm.runtime.LLVMContext.tracer:Lcom/oracle/truffle/llvm/runtime/instruments/trace/LLVMTracerInstrument;
28: StackMap locals:
StackMap stack:
aload 0
new com.oracle.truffle.llvm.runtime.memory.LLVMThreadingStack
dup
invokestatic java.lang.Thread.currentThread:()Ljava/lang/Thread;
aload 0
getfield com.oracle.truffle.llvm.runtime.LLVMContext.env:Lcom/oracle/truffle/api/TruffleLanguage$Env;
invokevirtual com.oracle.truffle.api.TruffleLanguage$Env.getOptions:()Lorg/graalvm/options/OptionValues;
getstatic com.oracle.truffle.llvm.runtime.options.SulongEngineOption.STACK_SIZE:Lorg/graalvm/options/OptionKey;
invokeinterface org.graalvm.options.OptionValues.get:(Lorg/graalvm/options/OptionKey;)Ljava/lang/Object;
checkcast java.lang.String
invokestatic com.oracle.truffle.llvm.runtime.LLVMContext.parseStackSize:(Ljava/lang/String;)J
invokespecial com.oracle.truffle.llvm.runtime.memory.LLVMThreadingStack.<init>:(Ljava/lang/Thread;J)V
putfield com.oracle.truffle.llvm.runtime.LLVMContext.threadingStack:Lcom/oracle/truffle/llvm/runtime/memory/LLVMThreadingStack;
29: aload 0
getfield com.oracle.truffle.llvm.runtime.LLVMContext.language:Lcom/oracle/truffle/llvm/runtime/LLVMLanguage;
invokevirtual com.oracle.truffle.llvm.runtime.LLVMLanguage.getLLVMLanguageHome:()Ljava/lang/String;
astore 3
start local 3 30: aload 3
ifnull 35
31: aload 0
getfield com.oracle.truffle.llvm.runtime.LLVMContext.language:Lcom/oracle/truffle/llvm/runtime/LLVMLanguage;
ldc Lcom/oracle/truffle/llvm/runtime/PlatformCapability;
invokevirtual com.oracle.truffle.llvm.runtime.LLVMLanguage.getCapability:(Ljava/lang/Class;)Lcom/oracle/truffle/llvm/runtime/config/LLVMCapability;
checkcast com.oracle.truffle.llvm.runtime.PlatformCapability
astore 4
start local 4 32: aload 0
aload 3
iconst_0
anewarray java.lang.String
invokestatic java.nio.file.Paths.get:(Ljava/lang/String;[Ljava/lang/String;)Ljava/nio/file/Path;
aload 4
invokevirtual com.oracle.truffle.llvm.runtime.PlatformCapability.getSulongLibrariesPath:()Ljava/nio/file/Path;
invokeinterface java.nio.file.Path.resolve:(Ljava/nio/file/Path;)Ljava/nio/file/Path;
putfield com.oracle.truffle.llvm.runtime.LLVMContext.internalLibraryPath:Ljava/nio/file/Path;
33: aload 0
aload 0
getfield com.oracle.truffle.llvm.runtime.LLVMContext.env:Lcom/oracle/truffle/api/TruffleLanguage$Env;
aload 0
getfield com.oracle.truffle.llvm.runtime.LLVMContext.internalLibraryPath:Ljava/nio/file/Path;
invokeinterface java.nio.file.Path.toUri:()Ljava/net/URI;
invokevirtual com.oracle.truffle.api.TruffleLanguage$Env.getInternalTruffleFile:(Ljava/net/URI;)Lcom/oracle/truffle/api/TruffleFile;
putfield com.oracle.truffle.llvm.runtime.LLVMContext.internalLibraryPathFile:Lcom/oracle/truffle/api/TruffleFile;
34: aload 0
aload 0
getfield com.oracle.truffle.llvm.runtime.LLVMContext.internalLibraryPath:Ljava/nio/file/Path;
invokeinterface java.nio.file.Path.toString:()Ljava/lang/String;
invokevirtual com.oracle.truffle.llvm.runtime.LLVMContext.addLibraryPath:(Ljava/lang/String;)V
end local 4 35: StackMap locals: java.lang.String
StackMap stack:
aload 0
getfield com.oracle.truffle.llvm.runtime.LLVMContext.contextExtensions:[Lcom/oracle/truffle/llvm/runtime/ContextExtension;
dup
astore 7
arraylength
istore 6
iconst_0
istore 5
goto 39
StackMap locals: com.oracle.truffle.llvm.runtime.LLVMContext com.oracle.truffle.llvm.runtime.ContextExtension[] java.lang.String java.lang.String top int int com.oracle.truffle.llvm.runtime.ContextExtension[]
StackMap stack:
36: aload 7
iload 5
aaload
astore 4
start local 4 37: aload 4
aload 0
invokeinterface com.oracle.truffle.llvm.runtime.ContextExtension.initialize:(Lcom/oracle/truffle/llvm/runtime/LLVMContext;)V
end local 4 38: iinc 5 1
StackMap locals:
StackMap stack:
39: iload 5
iload 6
if_icmplt 36
40: aload 0
getfield com.oracle.truffle.llvm.runtime.LLVMContext.language:Lcom/oracle/truffle/llvm/runtime/LLVMLanguage;
ldc Lcom/oracle/truffle/llvm/runtime/PlatformCapability;
invokevirtual com.oracle.truffle.llvm.runtime.LLVMLanguage.getCapability:(Ljava/lang/Class;)Lcom/oracle/truffle/llvm/runtime/config/LLVMCapability;
checkcast com.oracle.truffle.llvm.runtime.PlatformCapability
invokevirtual com.oracle.truffle.llvm.runtime.PlatformCapability.getSulongDefaultLibraries:()[Ljava/lang/String;
astore 4
start local 4 41: aload 4
arraylength
iconst_1
isub
istore 5
start local 5 42: goto 46
43: StackMap locals: com.oracle.truffle.llvm.runtime.LLVMContext com.oracle.truffle.llvm.runtime.ContextExtension[] java.lang.String java.lang.String java.lang.String[] int
StackMap stack:
getstatic com.oracle.truffle.llvm.runtime.LLVMContext$InternalLibraryLocator.INSTANCE:Lcom/oracle/truffle/llvm/runtime/LLVMContext$InternalLibraryLocator;
aload 0
aload 4
iload 5
aaload
ldc "<default bitcode library>"
invokevirtual com.oracle.truffle.llvm.runtime.LLVMContext$InternalLibraryLocator.locateLibrary:(Lcom/oracle/truffle/llvm/runtime/LLVMContext;Ljava/lang/String;Ljava/lang/Object;)Lcom/oracle/truffle/api/TruffleFile;
astore 6
start local 6 44: aload 0
getfield com.oracle.truffle.llvm.runtime.LLVMContext.env:Lcom/oracle/truffle/api/TruffleLanguage$Env;
ldc "llvm"
aload 6
invokestatic com.oracle.truffle.api.source.Source.newBuilder:(Ljava/lang/String;Lcom/oracle/truffle/api/TruffleFile;)Lcom/oracle/truffle/api/source/Source$SourceBuilder;
aload 0
aload 6
invokevirtual com.oracle.truffle.llvm.runtime.LLVMContext.isInternalLibraryFile:(Lcom/oracle/truffle/api/TruffleFile;)Z
invokevirtual com.oracle.truffle.api.source.Source$SourceBuilder.internal:(Z)Lcom/oracle/truffle/api/source/Source$SourceBuilder;
invokevirtual com.oracle.truffle.api.source.Source$SourceBuilder.build:()Lcom/oracle/truffle/api/source/Source;
iconst_0
anewarray java.lang.String
invokevirtual com.oracle.truffle.api.TruffleLanguage$Env.parseInternal:(Lcom/oracle/truffle/api/source/Source;[Ljava/lang/String;)Lcom/oracle/truffle/api/CallTarget;
pop
end local 6 45: iinc 5 -1
StackMap locals:
StackMap stack:
46: iload 5
ifge 43
end local 5 47: aload 0
ldc "__sulong_init_context"
invokevirtual com.oracle.truffle.llvm.runtime.LLVMContext.setLibsulongAuxFunction:(Ljava/lang/String;)V
48: aload 0
ldc "__sulong_dispose_context"
invokevirtual com.oracle.truffle.llvm.runtime.LLVMContext.setLibsulongAuxFunction:(Ljava/lang/String;)V
49: aload 0
ldc "_start"
invokevirtual com.oracle.truffle.llvm.runtime.LLVMContext.setLibsulongAuxFunction:(Ljava/lang/String;)V
50: aload 0
getfield com.oracle.truffle.llvm.runtime.LLVMContext.env:Lcom/oracle/truffle/api/TruffleLanguage$Env;
ldc "llvm"
51: aload 0
getfield com.oracle.truffle.llvm.runtime.LLVMContext.env:Lcom/oracle/truffle/api/TruffleLanguage$Env;
aload 0
getfield com.oracle.truffle.llvm.runtime.LLVMContext.internalLibraryPath:Ljava/nio/file/Path;
aload 0
getfield com.oracle.truffle.llvm.runtime.LLVMContext.language:Lcom/oracle/truffle/llvm/runtime/LLVMLanguage;
ldc Lcom/oracle/truffle/llvm/runtime/PlatformCapability;
invokevirtual com.oracle.truffle.llvm.runtime.LLVMLanguage.getCapability:(Ljava/lang/Class;)Lcom/oracle/truffle/llvm/runtime/config/LLVMCapability;
checkcast com.oracle.truffle.llvm.runtime.PlatformCapability
invokevirtual com.oracle.truffle.llvm.runtime.PlatformCapability.getBuiltinsLibrary:()Ljava/lang/String;
invokeinterface java.nio.file.Path.resolve:(Ljava/lang/String;)Ljava/nio/file/Path;
invokeinterface java.nio.file.Path.toUri:()Ljava/net/URI;
invokevirtual com.oracle.truffle.api.TruffleLanguage$Env.getInternalTruffleFile:(Ljava/net/URI;)Lcom/oracle/truffle/api/TruffleFile;
52: invokestatic com.oracle.truffle.api.source.Source.newBuilder:(Ljava/lang/String;Lcom/oracle/truffle/api/TruffleFile;)Lcom/oracle/truffle/api/source/Source$SourceBuilder;
53: iconst_1
invokevirtual com.oracle.truffle.api.source.Source$SourceBuilder.internal:(Z)Lcom/oracle/truffle/api/source/Source$SourceBuilder;
invokevirtual com.oracle.truffle.api.source.Source$SourceBuilder.build:()Lcom/oracle/truffle/api/source/Source;
iconst_0
anewarray java.lang.String
54: invokevirtual com.oracle.truffle.api.TruffleLanguage$Env.parseInternal:(Lcom/oracle/truffle/api/source/Source;[Ljava/lang/String;)Lcom/oracle/truffle/api/CallTarget;
astore 5
start local 5 55: aload 5
iconst_0
anewarray java.lang.Object
invokeinterface com.oracle.truffle.api.CallTarget.call:([Ljava/lang/Object;)Ljava/lang/Object;
pop
end local 5 end local 4 56: goto 59
StackMap locals: com.oracle.truffle.llvm.runtime.LLVMContext com.oracle.truffle.llvm.runtime.ContextExtension[] java.lang.String java.lang.String
StackMap stack: java.io.IOException
57: astore 4
start local 4 58: new java.lang.IllegalStateException
dup
aload 4
invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/Throwable;)V
athrow
end local 4 59: StackMap locals:
StackMap stack:
return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 60 0 this Lcom/oracle/truffle/llvm/runtime/LLVMContext;
0 60 1 contextExtens [Lcom/oracle/truffle/llvm/runtime/ContextExtension;
4 60 2 opt Ljava/lang/String;
30 60 3 languageHome Ljava/lang/String;
32 35 4 sysContextExt Lcom/oracle/truffle/llvm/runtime/PlatformCapability<*>;
37 38 4 ext Lcom/oracle/truffle/llvm/runtime/ContextExtension;
41 56 4 sulongLibraryNames [Ljava/lang/String;
42 47 5 i I
44 45 6 file Lcom/oracle/truffle/api/TruffleFile;
55 56 5 builtinsLibrary Lcom/oracle/truffle/api/CallTarget;
58 59 4 e Ljava/io/IOException;
Exception table:
from to target type
40 56 57 Class java.io.IOException
MethodParameters:
Name Flags
contextExtens
private void setLibsulongAuxFunction(java.lang.String);
descriptor: (Ljava/lang/String;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=4, args_size=2
start local 0 start local 1 0: aload 0
getfield com.oracle.truffle.llvm.runtime.LLVMContext.language:Lcom/oracle/truffle/llvm/runtime/LLVMLanguage;
ldc "libsulong"
invokevirtual com.oracle.truffle.llvm.runtime.LLVMLanguage.getInternalFileScopes:(Ljava/lang/String;)Lcom/oracle/truffle/llvm/runtime/LLVMScope;
astore 2
start local 2 1: aload 2
aload 1
invokevirtual com.oracle.truffle.llvm.runtime.LLVMScope.get:(Ljava/lang/String;)Lcom/oracle/truffle/llvm/runtime/LLVMSymbol;
astore 3
start local 3 2: aload 3
ifnull 12
aload 3
invokevirtual com.oracle.truffle.llvm.runtime.LLVMSymbol.isFunction:()Z
ifeq 12
3: aload 1
ldc "__sulong_init_context"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 6
4: aload 0
getfield com.oracle.truffle.llvm.runtime.LLVMContext.language:Lcom/oracle/truffle/llvm/runtime/LLVMLanguage;
aload 3
invokevirtual com.oracle.truffle.llvm.runtime.LLVMSymbol.asFunction:()Lcom/oracle/truffle/llvm/runtime/LLVMFunction;
invokevirtual com.oracle.truffle.llvm.runtime.LLVMLanguage.setSulongInitContext:(Lcom/oracle/truffle/llvm/runtime/LLVMFunction;)V
5: goto 13
StackMap locals: com.oracle.truffle.llvm.runtime.LLVMScope com.oracle.truffle.llvm.runtime.LLVMSymbol
StackMap stack:
6: aload 1
ldc "__sulong_dispose_context"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 9
7: aload 0
getfield com.oracle.truffle.llvm.runtime.LLVMContext.language:Lcom/oracle/truffle/llvm/runtime/LLVMLanguage;
aload 3
invokevirtual com.oracle.truffle.llvm.runtime.LLVMSymbol.asFunction:()Lcom/oracle/truffle/llvm/runtime/LLVMFunction;
invokevirtual com.oracle.truffle.llvm.runtime.LLVMLanguage.setSulongDisposeContext:(Lcom/oracle/truffle/llvm/runtime/LLVMFunction;)V
8: goto 13
StackMap locals:
StackMap stack:
9: aload 1
ldc "_start"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 13
10: aload 0
getfield com.oracle.truffle.llvm.runtime.LLVMContext.language:Lcom/oracle/truffle/llvm/runtime/LLVMLanguage;
new com.oracle.truffle.llvm.runtime.LLVMFunctionCode
dup
aload 3
invokevirtual com.oracle.truffle.llvm.runtime.LLVMSymbol.asFunction:()Lcom/oracle/truffle/llvm/runtime/LLVMFunction;
invokespecial com.oracle.truffle.llvm.runtime.LLVMFunctionCode.<init>:(Lcom/oracle/truffle/llvm/runtime/LLVMFunction;)V
invokevirtual com.oracle.truffle.llvm.runtime.LLVMLanguage.setStartFunctionCode:(Lcom/oracle/truffle/llvm/runtime/LLVMFunctionCode;)V
11: goto 13
12: StackMap locals:
StackMap stack:
new java.lang.IllegalStateException
dup
new java.lang.StringBuilder
dup
ldc "Context cannot be initialized: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc " was not found in sulong libraries"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
athrow
13: StackMap locals:
StackMap stack:
return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 14 0 this Lcom/oracle/truffle/llvm/runtime/LLVMContext;
0 14 1 name Ljava/lang/String;
1 14 2 fileScope Lcom/oracle/truffle/llvm/runtime/LLVMScope;
2 14 3 contextFunction Lcom/oracle/truffle/llvm/runtime/LLVMSymbol;
MethodParameters:
Name Flags
name
com.oracle.truffle.llvm.runtime.ContextExtension getContextExtension(int);
descriptor: (I)Lcom/oracle/truffle/llvm/runtime/ContextExtension;
flags: (0x0000)
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: iload 1
invokestatic com.oracle.truffle.api.CompilerAsserts.partialEvaluationConstant:(I)V
1: aload 0
getfield com.oracle.truffle.llvm.runtime.LLVMContext.contextExtensions:[Lcom/oracle/truffle/llvm/runtime/ContextExtension;
iload 1
aaload
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/oracle/truffle/llvm/runtime/LLVMContext;
0 2 1 index I
MethodParameters:
Name Flags
index
public <T extends com.oracle.truffle.llvm.runtime.ContextExtension> T getContextExtension(java.lang.Class<T>);
descriptor: (Ljava/lang/Class;)Lcom/oracle/truffle/llvm/runtime/ContextExtension;
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=3, args_size=2
start local 0 start local 1 0: invokestatic com.oracle.truffle.api.CompilerAsserts.neverPartOfCompilation:()V
1: aload 0
getfield com.oracle.truffle.llvm.runtime.LLVMContext.language:Lcom/oracle/truffle/llvm/runtime/LLVMLanguage;
aload 1
invokevirtual com.oracle.truffle.llvm.runtime.LLVMLanguage.lookupContextExtension:(Ljava/lang/Class;)Lcom/oracle/truffle/llvm/runtime/ContextExtension$Key;
astore 2
start local 2 2: aload 2
ifnonnull 4
3: new java.lang.IllegalStateException
dup
new java.lang.StringBuilder
dup
ldc "Context extension of type "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokevirtual java.lang.Class.getSimpleName:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc " not found"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
athrow
4: StackMap locals: com.oracle.truffle.llvm.runtime.ContextExtension$Key
StackMap stack:
aload 2
aload 0
invokevirtual com.oracle.truffle.llvm.runtime.ContextExtension$Key.get:(Lcom/oracle/truffle/llvm/runtime/LLVMContext;)Lcom/oracle/truffle/llvm/runtime/ContextExtension;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lcom/oracle/truffle/llvm/runtime/LLVMContext;
0 5 1 type Ljava/lang/Class<TT;>;
2 5 2 key Lcom/oracle/truffle/llvm/runtime/ContextExtension$Key<TT;>;
Signature: <T::Lcom/oracle/truffle/llvm/runtime/ContextExtension;>(Ljava/lang/Class<TT;>;)TT;
MethodParameters:
Name Flags
type
public <T extends com.oracle.truffle.llvm.runtime.ContextExtension> T getContextExtensionOrNull(java.lang.Class<T>);
descriptor: (Ljava/lang/Class;)Lcom/oracle/truffle/llvm/runtime/ContextExtension;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: invokestatic com.oracle.truffle.api.CompilerAsserts.neverPartOfCompilation:()V
1: aload 0
getfield com.oracle.truffle.llvm.runtime.LLVMContext.language:Lcom/oracle/truffle/llvm/runtime/LLVMLanguage;
aload 1
invokevirtual com.oracle.truffle.llvm.runtime.LLVMLanguage.lookupContextExtension:(Ljava/lang/Class;)Lcom/oracle/truffle/llvm/runtime/ContextExtension$Key;
astore 2
start local 2 2: aload 2
ifnonnull 4
3: aconst_null
areturn
4: StackMap locals: com.oracle.truffle.llvm.runtime.ContextExtension$Key
StackMap stack:
aload 2
aload 0
invokevirtual com.oracle.truffle.llvm.runtime.ContextExtension$Key.get:(Lcom/oracle/truffle/llvm/runtime/LLVMContext;)Lcom/oracle/truffle/llvm/runtime/ContextExtension;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lcom/oracle/truffle/llvm/runtime/LLVMContext;
0 5 1 type Ljava/lang/Class<TT;>;
2 5 2 key Lcom/oracle/truffle/llvm/runtime/ContextExtension$Key<TT;>;
Signature: <T::Lcom/oracle/truffle/llvm/runtime/ContextExtension;>(Ljava/lang/Class<TT;>;)TT;
MethodParameters:
Name Flags
type
public java.nio.file.Path getInternalLibraryPath();
descriptor: ()Ljava/nio/file/Path;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: getstatic com.oracle.truffle.llvm.runtime.LLVMContext.$assertionsDisabled:Z
ifne 1
aload 0
invokevirtual com.oracle.truffle.llvm.runtime.LLVMContext.isInitialized:()Z
ifne 1
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
1: StackMap locals:
StackMap stack:
aload 0
getfield com.oracle.truffle.llvm.runtime.LLVMContext.internalLibraryPath:Ljava/nio/file/Path;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/oracle/truffle/llvm/runtime/LLVMContext;
private static long parseStackSize(java.lang.String);
descriptor: (Ljava/lang/String;)J
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=4, locals=4, args_size=1
start local 0 0: aload 0
invokevirtual java.lang.String.trim:()Ljava/lang/String;
astore 1
start local 1 1: lconst_1
lstore 2
start local 2 2: aload 1
aload 1
invokevirtual java.lang.String.length:()I
iconst_1
isub
invokevirtual java.lang.String.charAt:(I)C
lookupswitch { // 8
71: 7
75: 3
77: 5
84: 9
103: 7
107: 3
109: 5
116: 9
default: 10
}
3: StackMap locals: java.lang.String long
StackMap stack:
ldc 1024
lstore 2
4: goto 10
5: StackMap locals:
StackMap stack:
ldc 1048576
lstore 2
6: goto 10
7: StackMap locals:
StackMap stack:
ldc 1073741824
lstore 2
8: goto 10
9: StackMap locals:
StackMap stack:
ldc 1099511627776
lstore 2
10: StackMap locals:
StackMap stack:
lload 2
lconst_1
lcmp
ifeq 12
11: aload 1
iconst_0
aload 1
invokevirtual java.lang.String.length:()I
iconst_1
isub
invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
astore 1
12: StackMap locals:
StackMap stack:
aload 1
invokestatic java.lang.Long.parseLong:(Ljava/lang/String;)J
lload 2
lmul
lreturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 13 0 v Ljava/lang/String;
1 13 1 valueString Ljava/lang/String;
2 13 2 scale J
MethodParameters:
Name Flags
v
public boolean isInitialized();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield com.oracle.truffle.llvm.runtime.LLVMContext.threadingStack:Lcom/oracle/truffle/llvm/runtime/memory/LLVMThreadingStack;
ifnull 1
iconst_1
ireturn
StackMap locals:
StackMap stack:
1: iconst_0
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/oracle/truffle/llvm/runtime/LLVMContext;
public com.oracle.truffle.llvm.api.Toolchain getToolchain();
descriptor: ()Lcom/oracle/truffle/llvm/api/Toolchain;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield com.oracle.truffle.llvm.runtime.LLVMContext.toolchain:Lcom/oracle/truffle/llvm/api/Toolchain;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/llvm/runtime/LLVMContext;
protected com.oracle.truffle.llvm.runtime.pointer.LLVMManagedPointer getApplicationArguments();
descriptor: ()Lcom/oracle/truffle/llvm/runtime/pointer/LLVMManagedPointer;
flags: (0x0004) ACC_PROTECTED
Code:
stack=5, locals=3, args_size=1
start local 0 0: aload 0
getfield com.oracle.truffle.llvm.runtime.LLVMContext.mainArguments:[Ljava/lang/Object;
ifnonnull 3
1: iconst_1
anewarray java.lang.String
dup
iconst_0
ldc ""
aastore
astore 1
start local 1 2: goto 10
end local 1 3: StackMap locals:
StackMap stack:
aload 0
getfield com.oracle.truffle.llvm.runtime.LLVMContext.mainArguments:[Ljava/lang/Object;
arraylength
iconst_1
iadd
anewarray java.lang.String
astore 1
start local 1 4: aload 1
iconst_0
ldc ""
aastore
5: iconst_1
istore 2
start local 2 6: goto 9
7: StackMap locals: java.lang.String[] int
StackMap stack:
aload 1
iload 2
aload 0
getfield com.oracle.truffle.llvm.runtime.LLVMContext.mainArguments:[Ljava/lang/Object;
iload 2
iconst_1
isub
aaload
invokevirtual java.lang.Object.toString:()Ljava/lang/String;
aastore
8: iinc 2 1
StackMap locals:
StackMap stack:
9: iload 2
aload 1
arraylength
if_icmplt 7
end local 2 10: StackMap locals:
StackMap stack:
aload 1
invokestatic com.oracle.truffle.llvm.runtime.LLVMContext.toManagedObjects:([Ljava/lang/String;)Lcom/oracle/truffle/llvm/runtime/pointer/LLVMManagedPointer;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Lcom/oracle/truffle/llvm/runtime/LLVMContext;
2 3 1 result [Ljava/lang/String;
4 11 1 result [Ljava/lang/String;
6 10 2 i I
RuntimeVisibleAnnotations:
com.oracle.truffle.api.CompilerDirectives$TruffleBoundary()
protected static com.oracle.truffle.llvm.runtime.pointer.LLVMManagedPointer getEnvironmentVariables();
descriptor: ()Lcom/oracle/truffle/llvm/runtime/pointer/LLVMManagedPointer;
flags: (0x000c) ACC_PROTECTED, ACC_STATIC
Code:
stack=2, locals=1, args_size=0
0: invokestatic java.lang.System.getenv:()Ljava/util/Map;
invokeinterface java.util.Map.entrySet:()Ljava/util/Set;
invokeinterface java.util.Set.stream:()Ljava/util/stream/Stream;
invokedynamic apply()Ljava/util/function/Function;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
(Ljava/lang/Object;)Ljava/lang/Object;
com/oracle/truffle/llvm/runtime/LLVMContext.lambda$0(Ljava/util/Map$Entry;)Ljava/lang/String; (6)
(Ljava/util/Map$Entry;)Ljava/lang/String;
invokeinterface java.util.stream.Stream.map:(Ljava/util/function/Function;)Ljava/util/stream/Stream;
invokedynamic apply()Ljava/util/function/IntFunction;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
(I)Ljava/lang/Object;
com/oracle/truffle/llvm/runtime/LLVMContext.lambda$1(I)[Ljava/lang/String; (6)
(I)[Ljava/lang/String;
invokeinterface java.util.stream.Stream.toArray:(Ljava/util/function/IntFunction;)[Ljava/lang/Object;
checkcast java.lang.String[]
astore 0
start local 0 1: aload 0
invokestatic com.oracle.truffle.llvm.runtime.LLVMContext.toManagedObjects:([Ljava/lang/String;)Lcom/oracle/truffle/llvm/runtime/pointer/LLVMManagedPointer;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
1 2 0 result [Ljava/lang/String;
RuntimeVisibleAnnotations:
com.oracle.truffle.api.CompilerDirectives$TruffleBoundary()
protected static com.oracle.truffle.llvm.runtime.pointer.LLVMManagedPointer getRandomValues();
descriptor: ()Lcom/oracle/truffle/llvm/runtime/pointer/LLVMManagedPointer;
flags: (0x000c) ACC_PROTECTED, ACC_STATIC
Code:
stack=3, locals=1, args_size=0
0: bipush 16
newarray 8
astore 0
start local 0 1: invokestatic com.oracle.truffle.llvm.runtime.LLVMContext.secureRandom:()Ljava/security/SecureRandom;
aload 0
invokevirtual java.security.SecureRandom.nextBytes:([B)V
2: new com.oracle.truffle.llvm.runtime.LLVMArgumentBuffer
dup
aload 0
invokespecial com.oracle.truffle.llvm.runtime.LLVMArgumentBuffer.<init>:([B)V
invokestatic com.oracle.truffle.llvm.runtime.LLVMContext.toManagedPointer:(Ljava/lang/Object;)Lcom/oracle/truffle/llvm/runtime/pointer/LLVMManagedPointer;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
1 3 0 result [B
RuntimeVisibleAnnotations:
com.oracle.truffle.api.CompilerDirectives$TruffleBoundary()
private static java.security.SecureRandom secureRandom();
descriptor: ()Ljava/security/SecureRandom;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=0, args_size=0
0: new java.security.SecureRandom
dup
invokespecial java.security.SecureRandom.<init>:()V
areturn
LocalVariableTable:
Start End Slot Name Signature
public static com.oracle.truffle.llvm.runtime.pointer.LLVMManagedPointer toManagedObjects(java.lang.String[]);
descriptor: ([Ljava/lang/String;)Lcom/oracle/truffle/llvm/runtime/pointer/LLVMManagedPointer;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=6, locals=3, args_size=1
start local 0 0: aload 0
arraylength
anewarray com.oracle.truffle.llvm.runtime.LLVMArgumentBuffer
astore 1
start local 1 1: iconst_0
istore 2
start local 2 2: goto 5
3: StackMap locals: com.oracle.truffle.llvm.runtime.LLVMArgumentBuffer[] int
StackMap stack:
aload 1
iload 2
new com.oracle.truffle.llvm.runtime.LLVMArgumentBuffer
dup
aload 0
iload 2
aaload
invokespecial com.oracle.truffle.llvm.runtime.LLVMArgumentBuffer.<init>:(Ljava/lang/String;)V
aastore
4: iinc 2 1
StackMap locals:
StackMap stack:
5: iload 2
aload 0
arraylength
if_icmplt 3
end local 2 6: new com.oracle.truffle.llvm.runtime.LLVMArgumentBuffer$LLVMArgumentArray
dup
aload 1
invokespecial com.oracle.truffle.llvm.runtime.LLVMArgumentBuffer$LLVMArgumentArray.<init>:([Lcom/oracle/truffle/llvm/runtime/LLVMArgumentBuffer;)V
invokestatic com.oracle.truffle.llvm.runtime.LLVMContext.toManagedPointer:(Ljava/lang/Object;)Lcom/oracle/truffle/llvm/runtime/pointer/LLVMManagedPointer;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 values [Ljava/lang/String;
1 7 1 result [Lcom/oracle/truffle/llvm/runtime/LLVMArgumentBuffer;
2 6 2 i I
MethodParameters:
Name Flags
values
private static com.oracle.truffle.llvm.runtime.pointer.LLVMManagedPointer toManagedPointer(java.lang.Object);
descriptor: (Ljava/lang/Object;)Lcom/oracle/truffle/llvm/runtime/pointer/LLVMManagedPointer;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokestatic com.oracle.truffle.llvm.runtime.pointer.LLVMManagedPointer.create:(Ljava/lang/Object;)Lcom/oracle/truffle/llvm/runtime/pointer/LLVMManagedPointer;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 value Ljava/lang/Object;
MethodParameters:
Name Flags
value
public void addLibsulongDataLayout(com.oracle.truffle.llvm.runtime.datalayout.DataLayout);
descriptor: (Lcom/oracle/truffle/llvm/runtime/datalayout/DataLayout;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield com.oracle.truffle.llvm.runtime.LLVMContext.datalayoutInitialised:Ljava/lang/Boolean;
invokevirtual java.lang.Boolean.booleanValue:()Z
ifne 4
1: aload 0
aload 1
putfield com.oracle.truffle.llvm.runtime.LLVMContext.libsulongDatalayout:Lcom/oracle/truffle/llvm/runtime/datalayout/DataLayout;
2: aload 0
iconst_1
invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
putfield com.oracle.truffle.llvm.runtime.LLVMContext.datalayoutInitialised:Ljava/lang/Boolean;
3: goto 5
4: StackMap locals:
StackMap stack:
new java.lang.NullPointerException
dup
ldc "The default datalayout cannot be overrwitten"
invokespecial java.lang.NullPointerException.<init>:(Ljava/lang/String;)V
athrow
5: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lcom/oracle/truffle/llvm/runtime/LLVMContext;
0 6 1 datalayout Lcom/oracle/truffle/llvm/runtime/datalayout/DataLayout;
MethodParameters:
Name Flags
datalayout
public com.oracle.truffle.llvm.runtime.datalayout.DataLayout getLibsulongDataLayout();
descriptor: ()Lcom/oracle/truffle/llvm/runtime/datalayout/DataLayout;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield com.oracle.truffle.llvm.runtime.LLVMContext.libsulongDatalayout:Lcom/oracle/truffle/llvm/runtime/datalayout/DataLayout;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/llvm/runtime/LLVMContext;
void finalizeContext(com.oracle.truffle.llvm.runtime.LLVMFunction);
descriptor: (Lcom/oracle/truffle/llvm/runtime/LLVMFunction;)V
flags: (0x0000)
Code:
stack=5, locals=6, args_size=2
start local 0 start local 1 0: aload 0
getfield com.oracle.truffle.llvm.runtime.LLVMContext.pThreadContext:Lcom/oracle/truffle/llvm/runtime/pthread/LLVMPThreadContext;
invokevirtual com.oracle.truffle.llvm.runtime.pthread.LLVMPThreadContext.joinAllThreads:()V
1: aload 0
getfield com.oracle.truffle.llvm.runtime.LLVMContext.cleanupNecessary:Z
ifeq 13
2: aload 1
ifnonnull 4
3: new java.lang.IllegalStateException
dup
ldc "Context cannot be disposed: __sulong_dispose_context was not found"
invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
athrow
4: StackMap locals:
StackMap stack:
aload 0
aload 1
invokevirtual com.oracle.truffle.llvm.runtime.LLVMContext.getSymbol:(Lcom/oracle/truffle/llvm/runtime/LLVMSymbol;)Lcom/oracle/truffle/llvm/runtime/pointer/LLVMPointer;
astore 2
start local 2 5: aload 2
invokestatic com.oracle.truffle.llvm.runtime.pointer.LLVMManagedPointer.isInstance:(Ljava/lang/Object;)Z
ifeq 11
6: aload 2
invokestatic com.oracle.truffle.llvm.runtime.pointer.LLVMManagedPointer.cast:(Ljava/lang/Object;)Lcom/oracle/truffle/llvm/runtime/pointer/LLVMManagedPointer;
invokeinterface com.oracle.truffle.llvm.runtime.pointer.LLVMManagedPointer.getObject:()Ljava/lang/Object;
checkcast com.oracle.truffle.llvm.runtime.LLVMFunctionDescriptor
astore 3
start local 3 7: aload 3
invokevirtual com.oracle.truffle.llvm.runtime.LLVMFunctionDescriptor.getFunctionCode:()Lcom/oracle/truffle/llvm/runtime/LLVMFunctionCode;
invokevirtual com.oracle.truffle.llvm.runtime.LLVMFunctionCode.getLLVMIRFunctionSlowPath:()Lcom/oracle/truffle/api/RootCallTarget;
astore 4
start local 4 8: aload 0
getfield com.oracle.truffle.llvm.runtime.LLVMContext.threadingStack:Lcom/oracle/truffle/llvm/runtime/memory/LLVMThreadingStack;
invokevirtual com.oracle.truffle.llvm.runtime.memory.LLVMThreadingStack.getStack:()Lcom/oracle/truffle/llvm/runtime/memory/LLVMStack;
astore 5
start local 5 9: aload 4
iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 5
aastore
invokeinterface com.oracle.truffle.api.RootCallTarget.call:([Ljava/lang/Object;)Ljava/lang/Object;
pop
end local 5 end local 4 end local 3 10: goto 13
11: StackMap locals: com.oracle.truffle.llvm.runtime.pointer.LLVMPointer
StackMap stack:
new java.lang.IllegalStateException
dup
ldc "Context cannot be disposed: __sulong_dispose_context is not a function or enclosed inside a LLVMManagedPointer"
invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
athrow
end local 2 12: StackMap locals: com.oracle.truffle.llvm.runtime.LLVMContext com.oracle.truffle.llvm.runtime.LLVMFunction
StackMap stack: java.lang.RuntimeException
pop
13: StackMap locals:
StackMap stack:
aload 0
getfield com.oracle.truffle.llvm.runtime.LLVMContext.language:Lcom/oracle/truffle/llvm/runtime/LLVMLanguage;
invokevirtual com.oracle.truffle.llvm.runtime.LLVMLanguage.getFreeGlobalBlocks:()Lcom/oracle/truffle/api/CallTarget;
ifnull 15
14: aload 0
getfield com.oracle.truffle.llvm.runtime.LLVMContext.language:Lcom/oracle/truffle/llvm/runtime/LLVMLanguage;
invokevirtual com.oracle.truffle.llvm.runtime.LLVMLanguage.getFreeGlobalBlocks:()Lcom/oracle/truffle/api/CallTarget;
iconst_0
anewarray java.lang.Object
invokeinterface com.oracle.truffle.api.CallTarget.call:([Ljava/lang/Object;)Ljava/lang/Object;
pop
15: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 16 0 this Lcom/oracle/truffle/llvm/runtime/LLVMContext;
0 16 1 sulongDisposeContext Lcom/oracle/truffle/llvm/runtime/LLVMFunction;
5 12 2 pointer Lcom/oracle/truffle/llvm/runtime/pointer/LLVMPointer;
7 10 3 functionDescriptor Lcom/oracle/truffle/llvm/runtime/LLVMFunctionDescriptor;
8 10 4 disposeContext Lcom/oracle/truffle/api/RootCallTarget;
9 10 5 stack Lcom/oracle/truffle/llvm/runtime/memory/LLVMStack;
Exception table:
from to target type
2 12 12 Class com.oracle.truffle.api.nodes.ControlFlowException
2 12 12 Class com.oracle.truffle.llvm.runtime.LLVMExitException
MethodParameters:
Name Flags
sulongDisposeContext
public java.lang.Object getFreeReadOnlyGlobalsBlockFunction();
descriptor: ()Ljava/lang/Object;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=2, args_size=1
start local 0 0: aload 0
getfield com.oracle.truffle.llvm.runtime.LLVMContext.freeGlobalsBlockFunction:Ljava/lang/Object;
ifnonnull 4
1: invokestatic com.oracle.truffle.api.CompilerDirectives.transferToInterpreterAndInvalidate:()V
2: aload 0
ldc Lcom/oracle/truffle/llvm/runtime/NativeContextExtension;
invokevirtual com.oracle.truffle.llvm.runtime.LLVMContext.getContextExtensionOrNull:(Ljava/lang/Class;)Lcom/oracle/truffle/llvm/runtime/ContextExtension;
checkcast com.oracle.truffle.llvm.runtime.NativeContextExtension
astore 1
start local 1 3: aload 0
aload 1
ldc "__sulong_free_globals_block"
ldc "(POINTER):VOID"
invokevirtual com.oracle.truffle.llvm.runtime.NativeContextExtension.getNativeFunction:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/Object;
putfield com.oracle.truffle.llvm.runtime.LLVMContext.freeGlobalsBlockFunction:Ljava/lang/Object;
end local 1 4: StackMap locals:
StackMap stack:
aload 0
getfield com.oracle.truffle.llvm.runtime.LLVMContext.freeGlobalsBlockFunction:Ljava/lang/Object;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lcom/oracle/truffle/llvm/runtime/LLVMContext;
3 4 1 nativeContextExtension Lcom/oracle/truffle/llvm/runtime/NativeContextExtension;
public java.lang.Object getProtectReadOnlyGlobalsBlockFunction();
descriptor: ()Ljava/lang/Object;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=2, args_size=1
start local 0 0: aload 0
getfield com.oracle.truffle.llvm.runtime.LLVMContext.protectGlobalsBlockFunction:Ljava/lang/Object;
ifnonnull 4
1: invokestatic com.oracle.truffle.api.CompilerDirectives.transferToInterpreterAndInvalidate:()V
2: aload 0
ldc Lcom/oracle/truffle/llvm/runtime/NativeContextExtension;
invokevirtual com.oracle.truffle.llvm.runtime.LLVMContext.getContextExtensionOrNull:(Ljava/lang/Class;)Lcom/oracle/truffle/llvm/runtime/ContextExtension;
checkcast com.oracle.truffle.llvm.runtime.NativeContextExtension
astore 1
start local 1 3: aload 0
aload 1
ldc "__sulong_protect_readonly_globals_block"
ldc "(POINTER):VOID"
invokevirtual com.oracle.truffle.llvm.runtime.NativeContextExtension.getNativeFunction:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/Object;
putfield com.oracle.truffle.llvm.runtime.LLVMContext.protectGlobalsBlockFunction:Ljava/lang/Object;
end local 1 4: StackMap locals:
StackMap stack:
aload 0
getfield com.oracle.truffle.llvm.runtime.LLVMContext.protectGlobalsBlockFunction:Ljava/lang/Object;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lcom/oracle/truffle/llvm/runtime/LLVMContext;
3 4 1 nativeContextExtension Lcom/oracle/truffle/llvm/runtime/NativeContextExtension;
public java.lang.Object getAllocateGlobalsBlockFunction();
descriptor: ()Ljava/lang/Object;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=2, args_size=1
start local 0 0: aload 0
getfield com.oracle.truffle.llvm.runtime.LLVMContext.allocateGlobalsBlockFunction:Ljava/lang/Object;
ifnonnull 4
1: invokestatic com.oracle.truffle.api.CompilerDirectives.transferToInterpreterAndInvalidate:()V
2: aload 0
ldc Lcom/oracle/truffle/llvm/runtime/NativeContextExtension;
invokevirtual com.oracle.truffle.llvm.runtime.LLVMContext.getContextExtensionOrNull:(Ljava/lang/Class;)Lcom/oracle/truffle/llvm/runtime/ContextExtension;
checkcast com.oracle.truffle.llvm.runtime.NativeContextExtension
astore 1
start local 1 3: aload 0
aload 1
ldc "__sulong_allocate_globals_block"
ldc "(UINT64):POINTER"
invokevirtual com.oracle.truffle.llvm.runtime.NativeContextExtension.getNativeFunction:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/Object;
putfield com.oracle.truffle.llvm.runtime.LLVMContext.allocateGlobalsBlockFunction:Ljava/lang/Object;
end local 1 4: StackMap locals:
StackMap stack:
aload 0
getfield com.oracle.truffle.llvm.runtime.LLVMContext.allocateGlobalsBlockFunction:Ljava/lang/Object;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lcom/oracle/truffle/llvm/runtime/LLVMContext;
3 4 1 nativeContextExtension Lcom/oracle/truffle/llvm/runtime/NativeContextExtension;
void dispose(com.oracle.truffle.llvm.runtime.memory.LLVMMemory);
descriptor: (Lcom/oracle/truffle/llvm/runtime/memory/LLVMMemory;)V
flags: (0x0000)
Code:
stack=2, locals=5, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual com.oracle.truffle.llvm.runtime.LLVMContext.printNativeCallStatistics:()V
1: aload 0
invokevirtual com.oracle.truffle.llvm.runtime.LLVMContext.isInitialized:()Z
ifeq 3
2: aload 0
getfield com.oracle.truffle.llvm.runtime.LLVMContext.threadingStack:Lcom/oracle/truffle/llvm/runtime/memory/LLVMThreadingStack;
aload 1
invokevirtual com.oracle.truffle.llvm.runtime.memory.LLVMThreadingStack.freeMainStack:(Lcom/oracle/truffle/llvm/runtime/memory/LLVMMemory;)V
3: StackMap locals:
StackMap stack:
aload 0
getfield com.oracle.truffle.llvm.runtime.LLVMContext.symbolsReverseMap:Ljava/util/concurrent/ConcurrentHashMap;
invokevirtual java.util.concurrent.ConcurrentHashMap.keySet:()Ljava/util/concurrent/ConcurrentHashMap$KeySetView;
invokevirtual java.util.concurrent.ConcurrentHashMap$KeySetView.iterator:()Ljava/util/Iterator;
astore 3
goto 9
StackMap locals: com.oracle.truffle.llvm.runtime.LLVMContext com.oracle.truffle.llvm.runtime.memory.LLVMMemory top java.util.Iterator
StackMap stack:
4: aload 3
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast com.oracle.truffle.llvm.runtime.pointer.LLVMPointer
astore 2
start local 2 5: aload 2
invokestatic com.oracle.truffle.llvm.runtime.pointer.LLVMManagedPointer.isInstance:(Ljava/lang/Object;)Z
ifeq 9
6: aload 2
invokestatic com.oracle.truffle.llvm.runtime.pointer.LLVMManagedPointer.cast:(Ljava/lang/Object;)Lcom/oracle/truffle/llvm/runtime/pointer/LLVMManagedPointer;
invokeinterface com.oracle.truffle.llvm.runtime.pointer.LLVMManagedPointer.getObject:()Ljava/lang/Object;
astore 4
start local 4 7: aload 4
instanceof com.oracle.truffle.llvm.runtime.global.LLVMGlobalContainer
ifeq 9
8: aload 4
checkcast com.oracle.truffle.llvm.runtime.global.LLVMGlobalContainer
invokevirtual com.oracle.truffle.llvm.runtime.global.LLVMGlobalContainer.dispose:()V
end local 4 end local 2 9: StackMap locals:
StackMap stack:
aload 3
invokeinterface java.util.Iterator.hasNext:()Z
ifne 4
10: aload 0
getfield com.oracle.truffle.llvm.runtime.LLVMContext.tracer:Lcom/oracle/truffle/llvm/runtime/instruments/trace/LLVMTracerInstrument;
ifnull 12
11: aload 0
getfield com.oracle.truffle.llvm.runtime.LLVMContext.tracer:Lcom/oracle/truffle/llvm/runtime/instruments/trace/LLVMTracerInstrument;
invokevirtual com.oracle.truffle.llvm.runtime.instruments.trace.LLVMTracerInstrument.dispose:()V
12: StackMap locals: com.oracle.truffle.llvm.runtime.LLVMContext com.oracle.truffle.llvm.runtime.memory.LLVMMemory
StackMap stack:
aload 0
getfield com.oracle.truffle.llvm.runtime.LLVMContext.loaderTraceStream:Lcom/oracle/truffle/llvm/runtime/options/TargetStream;
ifnull 14
13: aload 0
getfield com.oracle.truffle.llvm.runtime.LLVMContext.loaderTraceStream:Lcom/oracle/truffle/llvm/runtime/options/TargetStream;
invokevirtual com.oracle.truffle.llvm.runtime.options.TargetStream.dispose:()V
14: StackMap locals:
StackMap stack:
aload 0
getfield com.oracle.truffle.llvm.runtime.LLVMContext.syscallTraceStream:Lcom/oracle/truffle/llvm/runtime/options/TargetStream;
ifnull 16
15: aload 0
getfield com.oracle.truffle.llvm.runtime.LLVMContext.syscallTraceStream:Lcom/oracle/truffle/llvm/runtime/options/TargetStream;
invokevirtual com.oracle.truffle.llvm.runtime.options.TargetStream.dispose:()V
16: StackMap locals:
StackMap stack:
aload 0
getfield com.oracle.truffle.llvm.runtime.LLVMContext.nativeCallStatsStream:Lcom/oracle/truffle/llvm/runtime/options/TargetStream;
ifnull 19
17: getstatic com.oracle.truffle.llvm.runtime.LLVMContext.$assertionsDisabled:Z
ifne 18
aload 0
getfield com.oracle.truffle.llvm.runtime.LLVMContext.nativeCallStatistics:Ljava/util/concurrent/ConcurrentHashMap;
ifnonnull 18
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
18: StackMap locals:
StackMap stack:
aload 0
getfield com.oracle.truffle.llvm.runtime.LLVMContext.nativeCallStatsStream:Lcom/oracle/truffle/llvm/runtime/options/TargetStream;
invokevirtual com.oracle.truffle.llvm.runtime.options.TargetStream.dispose:()V
19: StackMap locals:
StackMap stack:
aload 0
getfield com.oracle.truffle.llvm.runtime.LLVMContext.lifetimeAnalysisStream:Lcom/oracle/truffle/llvm/runtime/options/TargetStream;
ifnull 21
20: aload 0
getfield com.oracle.truffle.llvm.runtime.LLVMContext.lifetimeAnalysisStream:Lcom/oracle/truffle/llvm/runtime/options/TargetStream;
invokevirtual com.oracle.truffle.llvm.runtime.options.TargetStream.dispose:()V
21: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 22 0 this Lcom/oracle/truffle/llvm/runtime/LLVMContext;
0 22 1 memory Lcom/oracle/truffle/llvm/runtime/memory/LLVMMemory;
5 9 2 pointer Lcom/oracle/truffle/llvm/runtime/pointer/LLVMPointer;
7 9 4 object Ljava/lang/Object;
MethodParameters:
Name Flags
memory
public java.util.List<java.lang.String> preprocessDependencies(java.util.List<java.lang.String>, com.oracle.truffle.api.TruffleFile);
descriptor: (Ljava/util/List;Lcom/oracle/truffle/api/TruffleFile;)Ljava/util/List;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield com.oracle.truffle.llvm.runtime.LLVMContext.language:Lcom/oracle/truffle/llvm/runtime/LLVMLanguage;
ldc Lcom/oracle/truffle/llvm/runtime/PlatformCapability;
invokevirtual com.oracle.truffle.llvm.runtime.LLVMLanguage.getCapability:(Ljava/lang/Class;)Lcom/oracle/truffle/llvm/runtime/config/LLVMCapability;
checkcast com.oracle.truffle.llvm.runtime.PlatformCapability
aload 0
aload 2
aload 1
invokevirtual com.oracle.truffle.llvm.runtime.PlatformCapability.preprocessDependencies:(Lcom/oracle/truffle/llvm/runtime/LLVMContext;Lcom/oracle/truffle/api/TruffleFile;Ljava/util/List;)Ljava/util/List;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/llvm/runtime/LLVMContext;
0 1 1 libraries Ljava/util/List<Ljava/lang/String;>;
0 1 2 file Lcom/oracle/truffle/api/TruffleFile;
Signature: (Ljava/util/List<Ljava/lang/String;>;Lcom/oracle/truffle/api/TruffleFile;)Ljava/util/List<Ljava/lang/String;>;
MethodParameters:
Name Flags
libraries
file
public boolean isInternalLibraryFile(com.oracle.truffle.api.TruffleFile);
descriptor: (Lcom/oracle/truffle/api/TruffleFile;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 1
invokevirtual com.oracle.truffle.api.TruffleFile.normalize:()Lcom/oracle/truffle/api/TruffleFile;
aload 0
getfield com.oracle.truffle.llvm.runtime.LLVMContext.internalLibraryPathFile:Lcom/oracle/truffle/api/TruffleFile;
invokevirtual com.oracle.truffle.api.TruffleFile.startsWith:(Lcom/oracle/truffle/api/TruffleFile;)Z
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/llvm/runtime/LLVMContext;
0 1 1 file Lcom/oracle/truffle/api/TruffleFile;
MethodParameters:
Name Flags
file
public com.oracle.truffle.api.TruffleFile getOrAddTruffleFile(com.oracle.truffle.api.TruffleFile);
descriptor: (Lcom/oracle/truffle/api/TruffleFile;)Lcom/oracle/truffle/api/TruffleFile;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=5, args_size=2
start local 0 start local 1 0: aload 0
getfield com.oracle.truffle.llvm.runtime.LLVMContext.truffleFilesLock:Ljava/lang/Object;
dup
astore 2
monitorenter
1: aload 0
getfield com.oracle.truffle.llvm.runtime.LLVMContext.truffleFiles:Ljava/util/List;
aload 1
invokeinterface java.util.List.indexOf:(Ljava/lang/Object;)I
istore 3
start local 3 2: iload 3
iflt 7
3: aload 0
getfield com.oracle.truffle.llvm.runtime.LLVMContext.truffleFiles:Ljava/util/List;
iload 3
invokeinterface java.util.List.get:(I)Ljava/lang/Object;
checkcast com.oracle.truffle.api.TruffleFile
astore 4
start local 4 4: getstatic com.oracle.truffle.llvm.runtime.LLVMContext.$assertionsDisabled:Z
ifne 5
aload 4
aload 1
invokevirtual com.oracle.truffle.api.TruffleFile.equals:(Ljava/lang/Object;)Z
ifne 5
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
5: StackMap locals: java.lang.Object int com.oracle.truffle.api.TruffleFile
StackMap stack:
aload 4
aload 2
monitorexit
6: areturn
end local 4 7: StackMap locals:
StackMap stack:
aload 0
getfield com.oracle.truffle.llvm.runtime.LLVMContext.truffleFiles:Ljava/util/List;
aload 1
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
8: aload 1
aload 2
monitorexit
9: areturn
end local 3 10: StackMap locals: com.oracle.truffle.llvm.runtime.LLVMContext com.oracle.truffle.api.TruffleFile java.lang.Object
StackMap stack: java.lang.Throwable
aload 2
monitorexit
11: athrow
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 this Lcom/oracle/truffle/llvm/runtime/LLVMContext;
0 12 1 file Lcom/oracle/truffle/api/TruffleFile;
2 10 3 index I
4 7 4 ret Lcom/oracle/truffle/api/TruffleFile;
Exception table:
from to target type
1 6 10 any
7 9 10 any
10 11 10 any
MethodParameters:
Name Flags
file
public void addLibraryPaths(java.util.List<java.lang.String>);
descriptor: (Ljava/util/List;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=4, args_size=2
start local 0 start local 1 0: aload 1
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 3
goto 3
StackMap locals: com.oracle.truffle.llvm.runtime.LLVMContext java.util.List top java.util.Iterator
StackMap stack:
1: aload 3
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.lang.String
astore 2
start local 2 2: aload 0
aload 2
invokevirtual com.oracle.truffle.llvm.runtime.LLVMContext.addLibraryPath:(Ljava/lang/String;)V
end local 2 3: StackMap locals:
StackMap stack:
aload 3
invokeinterface java.util.Iterator.hasNext:()Z
ifne 1
4: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lcom/oracle/truffle/llvm/runtime/LLVMContext;
0 5 1 paths Ljava/util/List<Ljava/lang/String;>;
2 3 2 p Ljava/lang/String;
Signature: (Ljava/util/List<Ljava/lang/String;>;)V
MethodParameters:
Name Flags
paths
private void addLibraryPath(java.lang.String);
descriptor: (Ljava/lang/String;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=5, args_size=2
start local 0 start local 1 0: aload 1
iconst_0
anewarray java.lang.String
invokestatic java.nio.file.Paths.get:(Ljava/lang/String;[Ljava/lang/String;)Ljava/nio/file/Path;
astore 2
start local 2 1: aload 0
invokevirtual com.oracle.truffle.llvm.runtime.LLVMContext.getEnv:()Lcom/oracle/truffle/api/TruffleLanguage$Env;
aload 2
invokeinterface java.nio.file.Path.toString:()Ljava/lang/String;
invokevirtual com.oracle.truffle.api.TruffleLanguage$Env.getInternalTruffleFile:(Ljava/lang/String;)Lcom/oracle/truffle/api/TruffleFile;
astore 3
start local 3 2: aload 3
iconst_0
anewarray java.nio.file.LinkOption
invokevirtual com.oracle.truffle.api.TruffleFile.isDirectory:([Ljava/nio/file/LinkOption;)Z
ifeq 10
3: aload 0
getfield com.oracle.truffle.llvm.runtime.LLVMContext.libraryPathsLock:Ljava/lang/Object;
dup
astore 4
monitorenter
4: aload 0
getfield com.oracle.truffle.llvm.runtime.LLVMContext.libraryPaths:Ljava/util/List;
aload 2
invokeinterface java.util.List.contains:(Ljava/lang/Object;)Z
ifne 6
5: aload 0
getfield com.oracle.truffle.llvm.runtime.LLVMContext.libraryPaths:Ljava/util/List;
aload 2
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
6: StackMap locals: java.nio.file.Path com.oracle.truffle.api.TruffleFile java.lang.Object
StackMap stack:
aload 4
monitorexit
7: goto 10
StackMap locals:
StackMap stack: java.lang.Throwable
8: aload 4
monitorexit
9: athrow
10: StackMap locals:
StackMap stack:
return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Lcom/oracle/truffle/llvm/runtime/LLVMContext;
0 11 1 p Ljava/lang/String;
1 11 2 path Ljava/nio/file/Path;
2 11 3 file Lcom/oracle/truffle/api/TruffleFile;
Exception table:
from to target type
4 7 8 any
8 9 8 any
MethodParameters:
Name Flags
p
java.util.List<java.nio.file.Path> getLibraryPaths();
descriptor: ()Ljava/util/List;
flags: (0x0000)
Code:
stack=2, locals=2, args_size=1
start local 0 0: aload 0
getfield com.oracle.truffle.llvm.runtime.LLVMContext.libraryPathsLock:Ljava/lang/Object;
dup
astore 1
monitorenter
1: aload 0
getfield com.oracle.truffle.llvm.runtime.LLVMContext.libraryPaths:Ljava/util/List;
aload 1
monitorexit
2: areturn
3: StackMap locals: com.oracle.truffle.llvm.runtime.LLVMContext java.lang.Object
StackMap stack: java.lang.Throwable
aload 1
monitorexit
4: athrow
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lcom/oracle/truffle/llvm/runtime/LLVMContext;
Exception table:
from to target type
1 2 3 any
3 4 3 any
Signature: ()Ljava/util/List<Ljava/nio/file/Path;>;
public boolean isLibraryAlreadyLoaded(int);
descriptor: (I)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: iload 1
aload 0
getfield com.oracle.truffle.llvm.runtime.LLVMContext.libraryLoaded:[Z
arraylength
if_icmpge 1
aload 0
getfield com.oracle.truffle.llvm.runtime.LLVMContext.libraryLoaded:[Z
iload 1
baload
ifeq 1
iconst_1
ireturn
StackMap locals:
StackMap stack:
1: iconst_0
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/oracle/truffle/llvm/runtime/LLVMContext;
0 2 1 id I
MethodParameters:
Name Flags
id
public void markLibraryLoaded(int);
descriptor: (I)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=4, args_size=2
start local 0 start local 1 0: iload 1
aload 0
getfield com.oracle.truffle.llvm.runtime.LLVMContext.libraryLoaded:[Z
arraylength
if_icmplt 5
1: iload 1
iconst_1
iadd
iload 1
iconst_1
iadd
iconst_2
idiv
iadd
istore 2
start local 2 2: iload 2
newarray 4
astore 3
start local 3 3: aload 0
getfield com.oracle.truffle.llvm.runtime.LLVMContext.libraryLoaded:[Z
iconst_0
aload 3
iconst_0
aload 0
getfield com.oracle.truffle.llvm.runtime.LLVMContext.libraryLoaded:[Z
arraylength
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
4: aload 0
aload 3
putfield com.oracle.truffle.llvm.runtime.LLVMContext.libraryLoaded:[Z
end local 3 end local 2 5: StackMap locals:
StackMap stack:
aload 0
getfield com.oracle.truffle.llvm.runtime.LLVMContext.libraryLoaded:[Z
iload 1
iconst_1
bastore
6: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lcom/oracle/truffle/llvm/runtime/LLVMContext;
0 7 1 id I
2 5 2 newLength I
3 5 3 temp [Z
MethodParameters:
Name Flags
id
public com.oracle.truffle.llvm.runtime.LLVMLanguage getLanguage();
descriptor: ()Lcom/oracle/truffle/llvm/runtime/LLVMLanguage;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield com.oracle.truffle.llvm.runtime.LLVMContext.language:Lcom/oracle/truffle/llvm/runtime/LLVMLanguage;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/llvm/runtime/LLVMContext;
public com.oracle.truffle.api.TruffleLanguage$Env getEnv();
descriptor: ()Lcom/oracle/truffle/api/TruffleLanguage$Env;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield com.oracle.truffle.llvm.runtime.LLVMContext.env:Lcom/oracle/truffle/api/TruffleLanguage$Env;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/llvm/runtime/LLVMContext;
public com.oracle.truffle.llvm.runtime.LLVMScope getGlobalScope();
descriptor: ()Lcom/oracle/truffle/llvm/runtime/LLVMScope;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield com.oracle.truffle.llvm.runtime.LLVMContext.globalScope:Lcom/oracle/truffle/llvm/runtime/LLVMScope;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/llvm/runtime/LLVMContext;
public void addLocalScope(com.oracle.truffle.llvm.runtime.LLVMLocalScope);
descriptor: (Lcom/oracle/truffle/llvm/runtime/LLVMLocalScope;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield com.oracle.truffle.llvm.runtime.LLVMContext.localScopes:Ljava/util/ArrayList;
aload 1
invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
pop
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/oracle/truffle/llvm/runtime/LLVMContext;
0 2 1 scope Lcom/oracle/truffle/llvm/runtime/LLVMLocalScope;
MethodParameters:
Name Flags
scope
public com.oracle.truffle.llvm.runtime.LLVMLocalScope getLocalScope(int);
descriptor: (I)Lcom/oracle/truffle/llvm/runtime/LLVMLocalScope;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=4, args_size=2
start local 0 start local 1 0: aload 0
getfield com.oracle.truffle.llvm.runtime.LLVMContext.localScopes:Ljava/util/ArrayList;
invokevirtual java.util.ArrayList.iterator:()Ljava/util/Iterator;
astore 3
goto 4
StackMap locals: com.oracle.truffle.llvm.runtime.LLVMContext int top java.util.Iterator
StackMap stack:
1: aload 3
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast com.oracle.truffle.llvm.runtime.LLVMLocalScope
astore 2
start local 2 2: aload 2
iload 1
invokevirtual com.oracle.truffle.llvm.runtime.LLVMLocalScope.containID:(I)Z
ifeq 4
3: aload 2
areturn
end local 2 4: StackMap locals:
StackMap stack:
aload 3
invokeinterface java.util.Iterator.hasNext:()Z
ifne 1
5: aconst_null
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lcom/oracle/truffle/llvm/runtime/LLVMContext;
0 6 1 id I
2 4 2 scope Lcom/oracle/truffle/llvm/runtime/LLVMLocalScope;
RuntimeVisibleAnnotations:
com.oracle.truffle.api.CompilerDirectives$TruffleBoundary()
MethodParameters:
Name Flags
id
public com.oracle.truffle.llvm.runtime.pointer.LLVMPointer getSymbol(com.oracle.truffle.llvm.runtime.LLVMSymbol);
descriptor: (Lcom/oracle/truffle/llvm/runtime/LLVMSymbol;)Lcom/oracle/truffle/llvm/runtime/pointer/LLVMPointer;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=4, args_size=2
start local 0 start local 1 0: getstatic com.oracle.truffle.llvm.runtime.LLVMContext.$assertionsDisabled:Z
ifne 1
aload 1
invokevirtual com.oracle.truffle.llvm.runtime.LLVMSymbol.isAlias:()Z
ifeq 1
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
1: StackMap locals:
StackMap stack:
aload 1
iconst_0
invokevirtual com.oracle.truffle.llvm.runtime.LLVMSymbol.getBitcodeID:(Z)I
istore 2
start local 2 2: aload 1
iconst_0
invokevirtual com.oracle.truffle.llvm.runtime.LLVMSymbol.getSymbolIndex:(Z)I
istore 3
start local 3 3: invokestatic com.oracle.truffle.api.CompilerDirectives.inCompiledCode:()Z
ifeq 7
aload 0
invokestatic com.oracle.truffle.api.CompilerDirectives.isPartialEvaluationConstant:(Ljava/lang/Object;)Z
ifeq 7
4: aload 0
getfield com.oracle.truffle.llvm.runtime.LLVMContext.symbolAssumptions:[[Lcom/oracle/truffle/api/Assumption;
iload 2
aaload
iload 3
aaload
invokeinterface com.oracle.truffle.api.Assumption.isValid:()Z
ifne 6
5: invokestatic com.oracle.truffle.api.CompilerDirectives.transferToInterpreterAndInvalidate:()V
6: StackMap locals: int int
StackMap stack:
aload 0
getfield com.oracle.truffle.llvm.runtime.LLVMContext.symbolFinalStorage:[[Lcom/oracle/truffle/llvm/runtime/pointer/LLVMPointer;
iload 2
aaload
iload 3
aaload
areturn
7: StackMap locals:
StackMap stack:
aload 0
getfield com.oracle.truffle.llvm.runtime.LLVMContext.symbolDynamicStorage:[[Lcom/oracle/truffle/llvm/runtime/pointer/LLVMPointer;
iload 2
aaload
iload 3
aaload
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lcom/oracle/truffle/llvm/runtime/LLVMContext;
0 8 1 symbol Lcom/oracle/truffle/llvm/runtime/LLVMSymbol;
2 8 2 bitcodeID I
3 8 3 index I
MethodParameters:
Name Flags
symbol
public void initializeSymbol(com.oracle.truffle.llvm.runtime.LLVMSymbol, com.oracle.truffle.llvm.runtime.pointer.LLVMPointer);
descriptor: (Lcom/oracle/truffle/llvm/runtime/LLVMSymbol;Lcom/oracle/truffle/llvm/runtime/pointer/LLVMPointer;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=8, args_size=3
start local 0 start local 1 start local 2 0: getstatic com.oracle.truffle.llvm.runtime.LLVMContext.$assertionsDisabled:Z
ifne 1
aload 1
invokevirtual com.oracle.truffle.llvm.runtime.LLVMSymbol.isAlias:()Z
ifeq 1
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
1: StackMap locals:
StackMap stack:
aload 1
iconst_0
invokevirtual com.oracle.truffle.llvm.runtime.LLVMSymbol.getBitcodeID:(Z)I
istore 3
start local 3 2: aload 0
getfield com.oracle.truffle.llvm.runtime.LLVMContext.symbolDynamicStorage:[[Lcom/oracle/truffle/llvm/runtime/pointer/LLVMPointer;
iload 3
aaload
astore 4
start local 4 3: aload 0
getfield com.oracle.truffle.llvm.runtime.LLVMContext.symbolAssumptions:[[Lcom/oracle/truffle/api/Assumption;
iload 3
aaload
astore 5
start local 5 4: aload 4
dup
astore 6
monitorenter
5: aload 1
iconst_0
invokevirtual com.oracle.truffle.llvm.runtime.LLVMSymbol.getSymbolIndex:(Z)I
istore 7
start local 7 6: aload 4
iload 7
aload 2
aastore
7: aload 5
iload 7
invokestatic com.oracle.truffle.api.Truffle.getRuntime:()Lcom/oracle/truffle/api/TruffleRuntime;
invokeinterface com.oracle.truffle.api.TruffleRuntime.createAssumption:()Lcom/oracle/truffle/api/Assumption;
aastore
8: aload 1
instanceof com.oracle.truffle.llvm.runtime.LLVMFunction
ifeq 13
9: aload 1
checkcast com.oracle.truffle.llvm.runtime.LLVMFunction
aload 2
invokevirtual com.oracle.truffle.llvm.runtime.LLVMFunction.setValue:(Lcom/oracle/truffle/llvm/runtime/pointer/LLVMPointer;)V
end local 7 10: goto 13
StackMap locals: com.oracle.truffle.llvm.runtime.LLVMContext com.oracle.truffle.llvm.runtime.LLVMSymbol com.oracle.truffle.llvm.runtime.pointer.LLVMPointer int com.oracle.truffle.llvm.runtime.pointer.LLVMPointer[] com.oracle.truffle.api.Assumption[] com.oracle.truffle.llvm.runtime.pointer.LLVMPointer[]
StackMap stack: com.oracle.truffle.llvm.runtime.except.LLVMIllegalSymbolIndexException
11: pop
12: new com.oracle.truffle.llvm.runtime.except.LLVMLinkerException
dup
ldc "Writing symbol into symbol table is inconsistent."
invokespecial com.oracle.truffle.llvm.runtime.except.LLVMLinkerException.<init>:(Ljava/lang/String;)V
athrow
13: StackMap locals:
StackMap stack:
aload 6
monitorexit
14: goto 17
StackMap locals:
StackMap stack: java.lang.Throwable
15: aload 6
monitorexit
16: athrow
17: StackMap locals:
StackMap stack:
return
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 18 0 this Lcom/oracle/truffle/llvm/runtime/LLVMContext;
0 18 1 symbol Lcom/oracle/truffle/llvm/runtime/LLVMSymbol;
0 18 2 value Lcom/oracle/truffle/llvm/runtime/pointer/LLVMPointer;
2 18 3 bitcodeID I
3 18 4 symbols [Lcom/oracle/truffle/llvm/runtime/pointer/LLVMPointer;
4 18 5 assumptions [Lcom/oracle/truffle/api/Assumption;
6 10 7 index I
Exception table:
from to target type
5 10 11 Class com.oracle.truffle.llvm.runtime.except.LLVMIllegalSymbolIndexException
5 14 15 any
15 16 15 any
RuntimeVisibleAnnotations:
com.oracle.truffle.api.CompilerDirectives$TruffleBoundary()
MethodParameters:
Name Flags
symbol
value
public boolean checkSymbol(com.oracle.truffle.llvm.runtime.LLVMSymbol);
descriptor: (Lcom/oracle/truffle/llvm/runtime/LLVMSymbol;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=7, locals=5, args_size=2
start local 0 start local 1 0: getstatic com.oracle.truffle.llvm.runtime.LLVMContext.$assertionsDisabled:Z
ifne 1
aload 1
invokevirtual com.oracle.truffle.llvm.runtime.LLVMSymbol.isAlias:()Z
ifeq 1
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
1: StackMap locals:
StackMap stack:
aload 1
invokevirtual com.oracle.truffle.llvm.runtime.LLVMSymbol.hasValidIndexAndID:()Z
ifeq 8
2: aload 1
iconst_0
invokevirtual com.oracle.truffle.llvm.runtime.LLVMSymbol.getBitcodeID:(Z)I
istore 2
start local 2 3: iload 2
aload 0
getfield com.oracle.truffle.llvm.runtime.LLVMContext.symbolDynamicStorage:[[Lcom/oracle/truffle/llvm/runtime/pointer/LLVMPointer;
arraylength
if_icmpge 8
aload 0
getfield com.oracle.truffle.llvm.runtime.LLVMContext.symbolDynamicStorage:[[Lcom/oracle/truffle/llvm/runtime/pointer/LLVMPointer;
iload 2
aaload
ifnull 8
4: aload 0
getfield com.oracle.truffle.llvm.runtime.LLVMContext.symbolDynamicStorage:[[Lcom/oracle/truffle/llvm/runtime/pointer/LLVMPointer;
iload 2
aaload
astore 3
start local 3 5: aload 1
iconst_0
invokevirtual com.oracle.truffle.llvm.runtime.LLVMSymbol.getSymbolIndex:(Z)I
istore 4
start local 4 6: aload 3
iload 4
aaload
ifnull 7
iconst_1
ireturn
StackMap locals: int com.oracle.truffle.llvm.runtime.pointer.LLVMPointer[] int
StackMap stack:
7: iconst_0
ireturn
end local 4 end local 3 end local 2 8: StackMap locals:
StackMap stack:
new com.oracle.truffle.llvm.runtime.except.LLVMLinkerException
dup
ldc "External %s %s cannot be found."
iconst_2
anewarray java.lang.Object
dup
iconst_0
aload 1
invokevirtual com.oracle.truffle.llvm.runtime.LLVMSymbol.getKind:()Ljava/lang/String;
aastore
dup
iconst_1
aload 1
invokevirtual com.oracle.truffle.llvm.runtime.LLVMSymbol.getName:()Ljava/lang/String;
aastore
invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
invokespecial com.oracle.truffle.llvm.runtime.except.LLVMLinkerException.<init>:(Ljava/lang/String;)V
athrow
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lcom/oracle/truffle/llvm/runtime/LLVMContext;
0 9 1 symbol Lcom/oracle/truffle/llvm/runtime/LLVMSymbol;
3 8 2 bitcodeID I
5 8 3 symbols [Lcom/oracle/truffle/llvm/runtime/pointer/LLVMPointer;
6 8 4 index I
RuntimeVisibleAnnotations:
com.oracle.truffle.api.CompilerDirectives$TruffleBoundary()
MethodParameters:
Name Flags
symbol
public void setSymbol(com.oracle.truffle.llvm.runtime.LLVMSymbol, com.oracle.truffle.llvm.runtime.pointer.LLVMPointer);
descriptor: (Lcom/oracle/truffle/llvm/runtime/LLVMSymbol;Lcom/oracle/truffle/llvm/runtime/pointer/LLVMPointer;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=9, args_size=3
start local 0 start local 1 start local 2 0: invokestatic com.oracle.truffle.api.CompilerAsserts.neverPartOfCompilation:()V
1: aload 1
invokestatic com.oracle.truffle.llvm.runtime.LLVMAlias.resolveAlias:(Lcom/oracle/truffle/llvm/runtime/LLVMSymbol;)Lcom/oracle/truffle/llvm/runtime/LLVMSymbol;
astore 3
start local 3 2: aload 3
iconst_0
invokevirtual com.oracle.truffle.llvm.runtime.LLVMSymbol.getBitcodeID:(Z)I
istore 4
start local 4 3: aload 0
getfield com.oracle.truffle.llvm.runtime.LLVMContext.symbolDynamicStorage:[[Lcom/oracle/truffle/llvm/runtime/pointer/LLVMPointer;
iload 4
aaload
astore 5
start local 5 4: aload 0
getfield com.oracle.truffle.llvm.runtime.LLVMContext.symbolAssumptions:[[Lcom/oracle/truffle/api/Assumption;
iload 4
aaload
astore 6
start local 6 5: aload 5
dup
astore 7
monitorenter
6: aload 3
iconst_0
invokevirtual com.oracle.truffle.llvm.runtime.LLVMSymbol.getSymbolIndex:(Z)I
istore 8
start local 8 7: aload 5
iload 8
aload 2
aastore
8: aload 6
iload 8
aaload
invokeinterface com.oracle.truffle.api.Assumption.invalidate:()V
9: aload 6
iload 8
invokestatic com.oracle.truffle.api.Truffle.getRuntime:()Lcom/oracle/truffle/api/TruffleRuntime;
invokeinterface com.oracle.truffle.api.TruffleRuntime.createAssumption:()Lcom/oracle/truffle/api/Assumption;
aastore
10: aload 3
instanceof com.oracle.truffle.llvm.runtime.LLVMFunction
ifeq 15
11: aload 3
checkcast com.oracle.truffle.llvm.runtime.LLVMFunction
aload 2
invokevirtual com.oracle.truffle.llvm.runtime.LLVMFunction.setValue:(Lcom/oracle/truffle/llvm/runtime/pointer/LLVMPointer;)V
end local 8 12: goto 15
StackMap locals: com.oracle.truffle.llvm.runtime.LLVMContext com.oracle.truffle.llvm.runtime.LLVMSymbol com.oracle.truffle.llvm.runtime.pointer.LLVMPointer com.oracle.truffle.llvm.runtime.LLVMSymbol int com.oracle.truffle.llvm.runtime.pointer.LLVMPointer[] com.oracle.truffle.api.Assumption[] com.oracle.truffle.llvm.runtime.pointer.LLVMPointer[]
StackMap stack: com.oracle.truffle.llvm.runtime.except.LLVMIllegalSymbolIndexException
13: pop
14: new java.lang.StringBuilder
dup
ldc "symbol to be replaced was not found: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 3
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokestatic com.oracle.truffle.api.CompilerDirectives.shouldNotReachHere:(Ljava/lang/String;)Ljava/lang/RuntimeException;
athrow
15: StackMap locals:
StackMap stack:
aload 7
monitorexit
16: goto 19
StackMap locals:
StackMap stack: java.lang.Throwable
17: aload 7
monitorexit
18: athrow
19: StackMap locals:
StackMap stack:
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 20 0 this Lcom/oracle/truffle/llvm/runtime/LLVMContext;
0 20 1 symbol Lcom/oracle/truffle/llvm/runtime/LLVMSymbol;
0 20 2 value Lcom/oracle/truffle/llvm/runtime/pointer/LLVMPointer;
2 20 3 target Lcom/oracle/truffle/llvm/runtime/LLVMSymbol;
3 20 4 bitcodeID I
4 20 5 symbols [Lcom/oracle/truffle/llvm/runtime/pointer/LLVMPointer;
5 20 6 assumptions [Lcom/oracle/truffle/api/Assumption;
7 12 8 index I
Exception table:
from to target type
6 12 13 Class com.oracle.truffle.llvm.runtime.except.LLVMIllegalSymbolIndexException
6 16 17 any
17 18 17 any
MethodParameters:
Name Flags
symbol
value
public void initializeSymbolTable(int, int);
descriptor: (II)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=5, args_size=3
start local 0 start local 1 start local 2 0: aload 0
dup
astore 3
monitorenter
1: getstatic com.oracle.truffle.llvm.runtime.LLVMContext.$assertionsDisabled:Z
ifne 2
aload 0
getfield com.oracle.truffle.llvm.runtime.LLVMContext.symbolDynamicStorage:[[Lcom/oracle/truffle/llvm/runtime/pointer/LLVMPointer;
aload 0
getfield com.oracle.truffle.llvm.runtime.LLVMContext.symbolFinalStorage:[[Lcom/oracle/truffle/llvm/runtime/pointer/LLVMPointer;
if_acmpeq 2
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
2: StackMap locals: com.oracle.truffle.llvm.runtime.LLVMContext
StackMap stack:
iload 1
aload 0
getfield com.oracle.truffle.llvm.runtime.LLVMContext.symbolDynamicStorage:[[Lcom/oracle/truffle/llvm/runtime/pointer/LLVMPointer;
arraylength
if_icmplt 6
3: iload 1
iconst_1
iadd
iload 1
iconst_1
iadd
iconst_2
idiv
iadd
istore 4
start local 4 4: aload 0
aload 0
getfield com.oracle.truffle.llvm.runtime.LLVMContext.symbolAssumptions:[[Lcom/oracle/truffle/api/Assumption;
iload 4
invokestatic java.util.Arrays.copyOf:([Ljava/lang/Object;I)[Ljava/lang/Object;
checkcast com.oracle.truffle.api.Assumption[][]
putfield com.oracle.truffle.llvm.runtime.LLVMContext.symbolAssumptions:[[Lcom/oracle/truffle/api/Assumption;
5: aload 0
aload 0
aload 0
getfield com.oracle.truffle.llvm.runtime.LLVMContext.symbolDynamicStorage:[[Lcom/oracle/truffle/llvm/runtime/pointer/LLVMPointer;
iload 4
invokestatic java.util.Arrays.copyOf:([Ljava/lang/Object;I)[Ljava/lang/Object;
checkcast com.oracle.truffle.llvm.runtime.pointer.LLVMPointer[][]
dup_x1
putfield com.oracle.truffle.llvm.runtime.LLVMContext.symbolDynamicStorage:[[Lcom/oracle/truffle/llvm/runtime/pointer/LLVMPointer;
putfield com.oracle.truffle.llvm.runtime.LLVMContext.symbolFinalStorage:[[Lcom/oracle/truffle/llvm/runtime/pointer/LLVMPointer;
end local 4 6: StackMap locals:
StackMap stack:
aload 0
getfield com.oracle.truffle.llvm.runtime.LLVMContext.symbolDynamicStorage:[[Lcom/oracle/truffle/llvm/runtime/pointer/LLVMPointer;
iload 1
aaload
ifnull 8
7: new java.lang.IllegalStateException
dup
ldc "Registering a new symbol table for an existing id. "
invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
athrow
8: StackMap locals:
StackMap stack:
aload 0
getfield com.oracle.truffle.llvm.runtime.LLVMContext.symbolAssumptions:[[Lcom/oracle/truffle/api/Assumption;
iload 1
iload 2
anewarray com.oracle.truffle.api.Assumption
aastore
9: aload 0
getfield com.oracle.truffle.llvm.runtime.LLVMContext.symbolDynamicStorage:[[Lcom/oracle/truffle/llvm/runtime/pointer/LLVMPointer;
iload 1
iload 2
anewarray com.oracle.truffle.llvm.runtime.pointer.LLVMPointer
aastore
10: aload 3
monitorexit
11: goto 14
StackMap locals:
StackMap stack: java.lang.Throwable
12: aload 3
monitorexit
13: athrow
14: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 15 0 this Lcom/oracle/truffle/llvm/runtime/LLVMContext;
0 15 1 index I
0 15 2 globalLength I
4 6 4 newLength I
Exception table:
from to target type
1 11 12 any
12 13 12 any
RuntimeVisibleAnnotations:
com.oracle.truffle.api.CompilerDirectives$TruffleBoundary()
MethodParameters:
Name Flags
index
globalLength
public java.lang.Object getThreadLocalStorage();
descriptor: ()Ljava/lang/Object;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=1
start local 0 0: aload 0
getfield com.oracle.truffle.llvm.runtime.LLVMContext.tls:Ljava/util/Map;
invokestatic java.lang.Thread.currentThread:()Ljava/lang/Thread;
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
astore 1
start local 1 1: aload 1
ifnull 3
2: aload 1
areturn
3: StackMap locals: java.lang.Object
StackMap stack:
invokestatic com.oracle.truffle.llvm.runtime.pointer.LLVMNativePointer.createNull:()Lcom/oracle/truffle/llvm/runtime/pointer/LLVMNativePointer;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lcom/oracle/truffle/llvm/runtime/LLVMContext;
1 4 1 value Ljava/lang/Object;
RuntimeVisibleAnnotations:
com.oracle.truffle.api.CompilerDirectives$TruffleBoundary()
public void setThreadLocalStorage(java.lang.Object);
descriptor: (Ljava/lang/Object;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield com.oracle.truffle.llvm.runtime.LLVMContext.tls:Ljava/util/Map;
invokestatic java.lang.Thread.currentThread:()Ljava/lang/Thread;
aload 1
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/oracle/truffle/llvm/runtime/LLVMContext;
0 2 1 value Ljava/lang/Object;
RuntimeVisibleAnnotations:
com.oracle.truffle.api.CompilerDirectives$TruffleBoundary()
MethodParameters:
Name Flags
value
public com.oracle.truffle.llvm.runtime.LLVMFunctionDescriptor getFunctionDescriptor(com.oracle.truffle.llvm.runtime.pointer.LLVMNativePointer);
descriptor: (Lcom/oracle/truffle/llvm/runtime/pointer/LLVMNativePointer;)Lcom/oracle/truffle/llvm/runtime/LLVMFunctionDescriptor;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield com.oracle.truffle.llvm.runtime.LLVMContext.functionPointerRegistry:Lcom/oracle/truffle/llvm/runtime/LLVMContext$LLVMFunctionPointerRegistry;
aload 1
invokevirtual com.oracle.truffle.llvm.runtime.LLVMContext$LLVMFunctionPointerRegistry.getDescriptor:(Lcom/oracle/truffle/llvm/runtime/pointer/LLVMNativePointer;)Lcom/oracle/truffle/llvm/runtime/LLVMFunctionDescriptor;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/llvm/runtime/LLVMContext;
0 1 1 handle Lcom/oracle/truffle/llvm/runtime/pointer/LLVMNativePointer;
RuntimeVisibleAnnotations:
com.oracle.truffle.api.CompilerDirectives$TruffleBoundary()
MethodParameters:
Name Flags
handle
public com.oracle.truffle.llvm.runtime.LLVMFunctionDescriptor createFunctionDescriptor(com.oracle.truffle.llvm.runtime.LLVMFunction, com.oracle.truffle.llvm.runtime.LLVMFunctionCode);
descriptor: (Lcom/oracle/truffle/llvm/runtime/LLVMFunction;Lcom/oracle/truffle/llvm/runtime/LLVMFunctionCode;)Lcom/oracle/truffle/llvm/runtime/LLVMFunctionDescriptor;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield com.oracle.truffle.llvm.runtime.LLVMContext.functionPointerRegistry:Lcom/oracle/truffle/llvm/runtime/LLVMContext$LLVMFunctionPointerRegistry;
aload 1
aload 2
invokevirtual com.oracle.truffle.llvm.runtime.LLVMContext$LLVMFunctionPointerRegistry.create:(Lcom/oracle/truffle/llvm/runtime/LLVMFunction;Lcom/oracle/truffle/llvm/runtime/LLVMFunctionCode;)Lcom/oracle/truffle/llvm/runtime/LLVMFunctionDescriptor;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/llvm/runtime/LLVMContext;
0 1 1 functionDetail Lcom/oracle/truffle/llvm/runtime/LLVMFunction;
0 1 2 functionCode Lcom/oracle/truffle/llvm/runtime/LLVMFunctionCode;
RuntimeVisibleAnnotations:
com.oracle.truffle.api.CompilerDirectives$TruffleBoundary()
MethodParameters:
Name Flags
functionDetail
functionCode
public void registerFunctionPointer(com.oracle.truffle.llvm.runtime.pointer.LLVMNativePointer, com.oracle.truffle.llvm.runtime.LLVMFunctionDescriptor);
descriptor: (Lcom/oracle/truffle/llvm/runtime/pointer/LLVMNativePointer;Lcom/oracle/truffle/llvm/runtime/LLVMFunctionDescriptor;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield com.oracle.truffle.llvm.runtime.LLVMContext.functionPointerRegistry:Lcom/oracle/truffle/llvm/runtime/LLVMContext$LLVMFunctionPointerRegistry;
aload 1
aload 2
invokevirtual com.oracle.truffle.llvm.runtime.LLVMContext$LLVMFunctionPointerRegistry.register:(Lcom/oracle/truffle/llvm/runtime/pointer/LLVMNativePointer;Lcom/oracle/truffle/llvm/runtime/LLVMFunctionDescriptor;)V
1: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/oracle/truffle/llvm/runtime/LLVMContext;
0 2 1 address Lcom/oracle/truffle/llvm/runtime/pointer/LLVMNativePointer;
0 2 2 descriptor Lcom/oracle/truffle/llvm/runtime/LLVMFunctionDescriptor;
RuntimeVisibleAnnotations:
com.oracle.truffle.api.CompilerDirectives$TruffleBoundary()
MethodParameters:
Name Flags
address
descriptor
public com.oracle.truffle.llvm.runtime.pointer.LLVMNativePointer getSigDfl();
descriptor: ()Lcom/oracle/truffle/llvm/runtime/pointer/LLVMNativePointer;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield com.oracle.truffle.llvm.runtime.LLVMContext.sigDfl:Lcom/oracle/truffle/llvm/runtime/pointer/LLVMNativePointer;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/llvm/runtime/LLVMContext;
public com.oracle.truffle.llvm.runtime.pointer.LLVMNativePointer getSigIgn();
descriptor: ()Lcom/oracle/truffle/llvm/runtime/pointer/LLVMNativePointer;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield com.oracle.truffle.llvm.runtime.LLVMContext.sigIgn:Lcom/oracle/truffle/llvm/runtime/pointer/LLVMNativePointer;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/llvm/runtime/LLVMContext;
public com.oracle.truffle.llvm.runtime.pointer.LLVMNativePointer getSigErr();
descriptor: ()Lcom/oracle/truffle/llvm/runtime/pointer/LLVMNativePointer;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield com.oracle.truffle.llvm.runtime.LLVMContext.sigErr:Lcom/oracle/truffle/llvm/runtime/pointer/LLVMNativePointer;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/llvm/runtime/LLVMContext;
public com.oracle.truffle.llvm.runtime.memory.LLVMMemory$HandleContainer getHandleContainer();
descriptor: ()Lcom/oracle/truffle/llvm/runtime/memory/LLVMMemory$HandleContainer;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield com.oracle.truffle.llvm.runtime.LLVMContext.handleContainer:Lcom/oracle/truffle/llvm/runtime/memory/LLVMMemory$HandleContainer;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/llvm/runtime/LLVMContext;
public com.oracle.truffle.llvm.runtime.memory.LLVMMemory$HandleContainer getDerefHandleContainer();
descriptor: ()Lcom/oracle/truffle/llvm/runtime/memory/LLVMMemory$HandleContainer;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield com.oracle.truffle.llvm.runtime.LLVMContext.derefHandleContainer:Lcom/oracle/truffle/llvm/runtime/memory/LLVMMemory$HandleContainer;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/llvm/runtime/LLVMContext;
public void registerNativeCall(com.oracle.truffle.llvm.runtime.LLVMFunctionDescriptor);
descriptor: (Lcom/oracle/truffle/llvm/runtime/LLVMFunctionDescriptor;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=4, args_size=2
start local 0 start local 1 0: aload 0
getfield com.oracle.truffle.llvm.runtime.LLVMContext.nativeCallStatistics:Ljava/util/concurrent/ConcurrentHashMap;
ifnull 7
1: new java.lang.StringBuilder
dup
aload 1
invokevirtual com.oracle.truffle.llvm.runtime.LLVMFunctionDescriptor.getLLVMFunction:()Lcom/oracle/truffle/llvm/runtime/LLVMFunction;
invokevirtual com.oracle.truffle.llvm.runtime.LLVMFunction.getName:()Ljava/lang/String;
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc " "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 1
invokevirtual com.oracle.truffle.llvm.runtime.LLVMFunctionDescriptor.getLLVMFunction:()Lcom/oracle/truffle/llvm/runtime/LLVMFunction;
invokevirtual com.oracle.truffle.llvm.runtime.LLVMFunction.getType:()Lcom/oracle/truffle/llvm/runtime/types/FunctionType;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 2
start local 2 2: aload 0
getfield com.oracle.truffle.llvm.runtime.LLVMContext.nativeCallStatistics:Ljava/util/concurrent/ConcurrentHashMap;
aload 2
invokevirtual java.util.concurrent.ConcurrentHashMap.containsKey:(Ljava/lang/Object;)Z
ifeq 6
3: aload 0
getfield com.oracle.truffle.llvm.runtime.LLVMContext.nativeCallStatistics:Ljava/util/concurrent/ConcurrentHashMap;
aload 2
invokevirtual java.util.concurrent.ConcurrentHashMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.lang.Integer
invokevirtual java.lang.Integer.intValue:()I
iconst_1
iadd
istore 3
start local 3 4: aload 0
getfield com.oracle.truffle.llvm.runtime.LLVMContext.nativeCallStatistics:Ljava/util/concurrent/ConcurrentHashMap;
aload 2
iload 3
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
invokevirtual java.util.concurrent.ConcurrentHashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
end local 3 5: goto 7
6: StackMap locals: java.lang.String
StackMap stack:
aload 0
getfield com.oracle.truffle.llvm.runtime.LLVMContext.nativeCallStatistics:Ljava/util/concurrent/ConcurrentHashMap;
aload 2
iconst_1
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
invokevirtual java.util.concurrent.ConcurrentHashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
end local 2 7: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lcom/oracle/truffle/llvm/runtime/LLVMContext;
0 8 1 descriptor Lcom/oracle/truffle/llvm/runtime/LLVMFunctionDescriptor;
2 7 2 name Ljava/lang/String;
4 5 3 count I
RuntimeVisibleAnnotations:
com.oracle.truffle.api.CompilerDirectives$TruffleBoundary()
MethodParameters:
Name Flags
descriptor
public java.util.List<com.oracle.truffle.llvm.runtime.pointer.LLVMNativePointer> getCaughtExceptionStack();
descriptor: ()Ljava/util/List;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield com.oracle.truffle.llvm.runtime.LLVMContext.caughtExceptionStack:Ljava/util/ArrayList;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/llvm/runtime/LLVMContext;
Signature: ()Ljava/util/List<Lcom/oracle/truffle/llvm/runtime/pointer/LLVMNativePointer;>;
public com.oracle.truffle.llvm.runtime.memory.LLVMThreadingStack getThreadingStack();
descriptor: ()Lcom/oracle/truffle/llvm/runtime/memory/LLVMThreadingStack;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: getstatic com.oracle.truffle.llvm.runtime.LLVMContext.$assertionsDisabled:Z
ifne 1
aload 0
getfield com.oracle.truffle.llvm.runtime.LLVMContext.threadingStack:Lcom/oracle/truffle/llvm/runtime/memory/LLVMThreadingStack;
ifnonnull 1
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
1: StackMap locals:
StackMap stack:
aload 0
getfield com.oracle.truffle.llvm.runtime.LLVMContext.threadingStack:Lcom/oracle/truffle/llvm/runtime/memory/LLVMThreadingStack;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/oracle/truffle/llvm/runtime/LLVMContext;
public void registerDestructorFunctions(com.oracle.truffle.api.RootCallTarget);
descriptor: (Lcom/oracle/truffle/api/RootCallTarget;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: getstatic com.oracle.truffle.llvm.runtime.LLVMContext.$assertionsDisabled:Z
ifne 1
aload 1
ifnonnull 1
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
1: StackMap locals:
StackMap stack:
getstatic com.oracle.truffle.llvm.runtime.LLVMContext.$assertionsDisabled:Z
ifne 2
aload 0
getfield com.oracle.truffle.llvm.runtime.LLVMContext.destructorFunctions:Ljava/util/List;
aload 1
invokeinterface java.util.List.contains:(Ljava/lang/Object;)Z
ifeq 2
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
2: StackMap locals:
StackMap stack:
aload 0
getfield com.oracle.truffle.llvm.runtime.LLVMContext.destructorFunctions:Ljava/util/List;
aload 1
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
3: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lcom/oracle/truffle/llvm/runtime/LLVMContext;
0 4 1 destructor Lcom/oracle/truffle/api/RootCallTarget;
MethodParameters:
Name Flags
destructor
public boolean isScopeLoaded(com.oracle.truffle.llvm.runtime.LLVMScope);
descriptor: (Lcom/oracle/truffle/llvm/runtime/LLVMScope;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield com.oracle.truffle.llvm.runtime.LLVMContext.dynamicLinkChain:Lcom/oracle/truffle/llvm/runtime/LLVMContext$DynamicLinkChain;
aload 1
invokevirtual com.oracle.truffle.llvm.runtime.LLVMContext$DynamicLinkChain.containsScope:(Lcom/oracle/truffle/llvm/runtime/LLVMScope;)Z
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/llvm/runtime/LLVMContext;
0 1 1 scope Lcom/oracle/truffle/llvm/runtime/LLVMScope;
RuntimeVisibleAnnotations:
com.oracle.truffle.api.CompilerDirectives$TruffleBoundary()
MethodParameters:
Name Flags
scope
public void registerScope(com.oracle.truffle.llvm.runtime.LLVMScope);
descriptor: (Lcom/oracle/truffle/llvm/runtime/LLVMScope;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield com.oracle.truffle.llvm.runtime.LLVMContext.dynamicLinkChain:Lcom/oracle/truffle/llvm/runtime/LLVMContext$DynamicLinkChain;
aload 1
invokevirtual com.oracle.truffle.llvm.runtime.LLVMContext$DynamicLinkChain.addScope:(Lcom/oracle/truffle/llvm/runtime/LLVMScope;)V
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/oracle/truffle/llvm/runtime/LLVMContext;
0 2 1 scope Lcom/oracle/truffle/llvm/runtime/LLVMScope;
RuntimeVisibleAnnotations:
com.oracle.truffle.api.CompilerDirectives$TruffleBoundary()
MethodParameters:
Name Flags
scope
public boolean isScopeLoadedForScopes(com.oracle.truffle.llvm.runtime.LLVMScope);
descriptor: (Lcom/oracle/truffle/llvm/runtime/LLVMScope;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield com.oracle.truffle.llvm.runtime.LLVMContext.dynamicLinkChainForScopes:Lcom/oracle/truffle/llvm/runtime/LLVMContext$DynamicLinkChain;
aload 1
invokevirtual com.oracle.truffle.llvm.runtime.LLVMContext$DynamicLinkChain.containsScope:(Lcom/oracle/truffle/llvm/runtime/LLVMScope;)Z
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/llvm/runtime/LLVMContext;
0 1 1 scope Lcom/oracle/truffle/llvm/runtime/LLVMScope;
RuntimeVisibleAnnotations:
com.oracle.truffle.api.CompilerDirectives$TruffleBoundary()
MethodParameters:
Name Flags
scope
public void registerScopeForScopes(com.oracle.truffle.llvm.runtime.LLVMScope);
descriptor: (Lcom/oracle/truffle/llvm/runtime/LLVMScope;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield com.oracle.truffle.llvm.runtime.LLVMContext.dynamicLinkChainForScopes:Lcom/oracle/truffle/llvm/runtime/LLVMContext$DynamicLinkChain;
aload 1
invokevirtual com.oracle.truffle.llvm.runtime.LLVMContext$DynamicLinkChain.addScope:(Lcom/oracle/truffle/llvm/runtime/LLVMScope;)V
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/oracle/truffle/llvm/runtime/LLVMContext;
0 2 1 scope Lcom/oracle/truffle/llvm/runtime/LLVMScope;
RuntimeVisibleAnnotations:
com.oracle.truffle.api.CompilerDirectives$TruffleBoundary()
MethodParameters:
Name Flags
scope
public synchronized void registerThread(com.oracle.truffle.llvm.runtime.LLVMThread);
descriptor: (Lcom/oracle/truffle/llvm/runtime/LLVMThread;)V
flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: getstatic com.oracle.truffle.llvm.runtime.LLVMContext.$assertionsDisabled:Z
ifne 1
aload 0
getfield com.oracle.truffle.llvm.runtime.LLVMContext.runningThreads:Ljava/util/List;
aload 1
invokeinterface java.util.List.contains:(Ljava/lang/Object;)Z
ifeq 1
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
1: StackMap locals:
StackMap stack:
aload 0
getfield com.oracle.truffle.llvm.runtime.LLVMContext.runningThreads:Ljava/util/List;
aload 1
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
2: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/oracle/truffle/llvm/runtime/LLVMContext;
0 3 1 thread Lcom/oracle/truffle/llvm/runtime/LLVMThread;
MethodParameters:
Name Flags
thread
public synchronized void unregisterThread(com.oracle.truffle.llvm.runtime.LLVMThread);
descriptor: (Lcom/oracle/truffle/llvm/runtime/LLVMThread;)V
flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield com.oracle.truffle.llvm.runtime.LLVMContext.runningThreads:Ljava/util/List;
aload 1
invokeinterface java.util.List.remove:(Ljava/lang/Object;)Z
pop
1: getstatic com.oracle.truffle.llvm.runtime.LLVMContext.$assertionsDisabled:Z
ifne 2
aload 0
getfield com.oracle.truffle.llvm.runtime.LLVMContext.runningThreads:Ljava/util/List;
aload 1
invokeinterface java.util.List.contains:(Ljava/lang/Object;)Z
ifeq 2
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
2: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/oracle/truffle/llvm/runtime/LLVMContext;
0 3 1 thread Lcom/oracle/truffle/llvm/runtime/LLVMThread;
MethodParameters:
Name Flags
thread
public synchronized void shutdownThreads();
descriptor: ()V
flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
Code:
stack=3, locals=3, args_size=1
start local 0 0: new java.util.ArrayList
dup
aload 0
getfield com.oracle.truffle.llvm.runtime.LLVMContext.runningThreads:Ljava/util/List;
invokespecial java.util.ArrayList.<init>:(Ljava/util/Collection;)V
invokevirtual java.util.ArrayList.iterator:()Ljava/util/Iterator;
astore 2
goto 3
StackMap locals: com.oracle.truffle.llvm.runtime.LLVMContext top java.util.Iterator
StackMap stack:
1: aload 2
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast com.oracle.truffle.llvm.runtime.LLVMThread
astore 1
start local 1 2: aload 1
invokeinterface com.oracle.truffle.llvm.runtime.LLVMThread.stop:()V
end local 1 3: StackMap locals:
StackMap stack:
aload 2
invokeinterface java.util.Iterator.hasNext:()Z
ifne 1
4: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lcom/oracle/truffle/llvm/runtime/LLVMContext;
2 3 1 node Lcom/oracle/truffle/llvm/runtime/LLVMThread;
RuntimeVisibleAnnotations:
com.oracle.truffle.api.CompilerDirectives$TruffleBoundary()
public synchronized void awaitThreadTermination();
descriptor: ()V
flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
Code:
stack=2, locals=2, args_size=1
start local 0 0: aload 0
invokevirtual com.oracle.truffle.llvm.runtime.LLVMContext.shutdownThreads:()V
1: goto 5
2: StackMap locals:
StackMap stack:
aload 0
getfield com.oracle.truffle.llvm.runtime.LLVMContext.runningThreads:Ljava/util/List;
iconst_0
invokeinterface java.util.List.get:(I)Ljava/lang/Object;
checkcast com.oracle.truffle.llvm.runtime.LLVMThread
astore 1
start local 1 3: aload 1
invokeinterface com.oracle.truffle.llvm.runtime.LLVMThread.awaitFinish:()V
4: getstatic com.oracle.truffle.llvm.runtime.LLVMContext.$assertionsDisabled:Z
ifne 5
aload 0
getfield com.oracle.truffle.llvm.runtime.LLVMContext.runningThreads:Ljava/util/List;
aload 1
invokeinterface java.util.List.contains:(Ljava/lang/Object;)Z
ifeq 5
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
end local 1 5: StackMap locals:
StackMap stack:
aload 0
getfield com.oracle.truffle.llvm.runtime.LLVMContext.runningThreads:Ljava/util/List;
invokeinterface java.util.List.isEmpty:()Z
ifeq 2
6: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lcom/oracle/truffle/llvm/runtime/LLVMContext;
3 5 1 node Lcom/oracle/truffle/llvm/runtime/LLVMThread;
RuntimeVisibleAnnotations:
com.oracle.truffle.api.CompilerDirectives$TruffleBoundary()
public com.oracle.truffle.api.RootCallTarget[] getDestructorFunctions();
descriptor: ()[Lcom/oracle/truffle/api/RootCallTarget;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield com.oracle.truffle.llvm.runtime.LLVMContext.destructorFunctions:Ljava/util/List;
aload 0
getfield com.oracle.truffle.llvm.runtime.LLVMContext.destructorFunctions:Ljava/util/List;
invokeinterface java.util.List.size:()I
anewarray com.oracle.truffle.api.RootCallTarget
invokeinterface java.util.List.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
checkcast com.oracle.truffle.api.RootCallTarget[]
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/llvm/runtime/LLVMContext;
public synchronized java.util.List<com.oracle.truffle.llvm.runtime.LLVMThread> getRunningThreads();
descriptor: ()Ljava/util/List;
flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield com.oracle.truffle.llvm.runtime.LLVMContext.runningThreads:Ljava/util/List;
invokestatic java.util.Collections.unmodifiableList:(Ljava/util/List;)Ljava/util/List;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/llvm/runtime/LLVMContext;
Signature: ()Ljava/util/List<Lcom/oracle/truffle/llvm/runtime/LLVMThread;>;
public com.oracle.truffle.llvm.runtime.debug.LLVMSourceContext getSourceContext();
descriptor: ()Lcom/oracle/truffle/llvm/runtime/debug/LLVMSourceContext;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield com.oracle.truffle.llvm.runtime.LLVMContext.sourceContext:Lcom/oracle/truffle/llvm/runtime/debug/LLVMSourceContext;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/llvm/runtime/LLVMContext;
public com.oracle.truffle.llvm.runtime.global.LLVMGlobal findGlobal(com.oracle.truffle.llvm.runtime.pointer.LLVMPointer);
descriptor: (Lcom/oracle/truffle/llvm/runtime/pointer/LLVMPointer;)Lcom/oracle/truffle/llvm/runtime/global/LLVMGlobal;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: aload 0
getfield com.oracle.truffle.llvm.runtime.LLVMContext.symbolsReverseMap:Ljava/util/concurrent/ConcurrentHashMap;
aload 1
invokevirtual java.util.concurrent.ConcurrentHashMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.util.List
astore 2
start local 2 1: aload 2
ifnonnull 3
2: aconst_null
areturn
3: StackMap locals: java.util.List
StackMap stack:
aload 2
iconst_0
invokeinterface java.util.List.get:(I)Ljava/lang/Object;
checkcast com.oracle.truffle.llvm.runtime.LLVMSymbol
invokevirtual com.oracle.truffle.llvm.runtime.LLVMSymbol.asGlobalVariable:()Lcom/oracle/truffle/llvm/runtime/global/LLVMGlobal;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lcom/oracle/truffle/llvm/runtime/LLVMContext;
0 4 1 pointer Lcom/oracle/truffle/llvm/runtime/pointer/LLVMPointer;
1 4 2 symbols Ljava/util/List<Lcom/oracle/truffle/llvm/runtime/LLVMSymbol;>;
RuntimeVisibleAnnotations:
com.oracle.truffle.api.CompilerDirectives$TruffleBoundary()
MethodParameters:
Name Flags
pointer
public java.util.List<com.oracle.truffle.llvm.runtime.LLVMSymbol> findSymbols(com.oracle.truffle.llvm.runtime.pointer.LLVMPointer);
descriptor: (Lcom/oracle/truffle/llvm/runtime/pointer/LLVMPointer;)Ljava/util/List;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield com.oracle.truffle.llvm.runtime.LLVMContext.symbolsReverseMap:Ljava/util/concurrent/ConcurrentHashMap;
aload 1
invokevirtual java.util.concurrent.ConcurrentHashMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.util.List
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/llvm/runtime/LLVMContext;
0 1 1 pointer Lcom/oracle/truffle/llvm/runtime/pointer/LLVMPointer;
Signature: (Lcom/oracle/truffle/llvm/runtime/pointer/LLVMPointer;)Ljava/util/List<Lcom/oracle/truffle/llvm/runtime/LLVMSymbol;>;
RuntimeVisibleAnnotations:
com.oracle.truffle.api.CompilerDirectives$TruffleBoundary()
MethodParameters:
Name Flags
pointer
public void registerReadOnlyGlobals(int, com.oracle.truffle.llvm.runtime.pointer.LLVMPointer, com.oracle.truffle.llvm.runtime.NodeFactory);
descriptor: (ILcom/oracle/truffle/llvm/runtime/pointer/LLVMPointer;Lcom/oracle/truffle/llvm/runtime/NodeFactory;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=5, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
getfield com.oracle.truffle.llvm.runtime.LLVMContext.globalsStoreLock:Ljava/lang/Object;
dup
astore 4
monitorenter
1: aload 0
getfield com.oracle.truffle.llvm.runtime.LLVMContext.language:Lcom/oracle/truffle/llvm/runtime/LLVMLanguage;
aload 3
invokevirtual com.oracle.truffle.llvm.runtime.LLVMLanguage.initFreeGlobalBlocks:(Lcom/oracle/truffle/llvm/runtime/NodeFactory;)V
2: aload 0
getfield com.oracle.truffle.llvm.runtime.LLVMContext.globalsReadOnlyStore:Lorg/graalvm/collections/EconomicMap;
iload 1
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aload 2
invokeinterface org.graalvm.collections.EconomicMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
3: aload 4
monitorexit
4: goto 7
StackMap locals: com.oracle.truffle.llvm.runtime.LLVMContext int com.oracle.truffle.llvm.runtime.pointer.LLVMPointer com.oracle.truffle.llvm.runtime.NodeFactory java.lang.Object
StackMap stack: java.lang.Throwable
5: aload 4
monitorexit
6: athrow
7: StackMap locals:
StackMap stack:
return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lcom/oracle/truffle/llvm/runtime/LLVMContext;
0 8 1 id I
0 8 2 nonPointerStore Lcom/oracle/truffle/llvm/runtime/pointer/LLVMPointer;
0 8 3 nodeFactory Lcom/oracle/truffle/llvm/runtime/NodeFactory;
Exception table:
from to target type
1 4 5 any
5 6 5 any
RuntimeVisibleAnnotations:
com.oracle.truffle.api.CompilerDirectives$TruffleBoundary()
MethodParameters:
Name Flags
id
nonPointerStore
nodeFactory
public com.oracle.truffle.llvm.runtime.pointer.LLVMPointer getReadOnlyGlobals(int);
descriptor: (I)Lcom/oracle/truffle/llvm/runtime/pointer/LLVMPointer;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: aload 0
getfield com.oracle.truffle.llvm.runtime.LLVMContext.globalsStoreLock:Ljava/lang/Object;
dup
astore 2
monitorenter
1: aload 0
getfield com.oracle.truffle.llvm.runtime.LLVMContext.globalsReadOnlyStore:Lorg/graalvm/collections/EconomicMap;
iload 1
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
invokeinterface org.graalvm.collections.EconomicMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast com.oracle.truffle.llvm.runtime.pointer.LLVMPointer
aload 2
monitorexit
2: areturn
3: StackMap locals: com.oracle.truffle.llvm.runtime.LLVMContext int java.lang.Object
StackMap stack: java.lang.Throwable
aload 2
monitorexit
4: athrow
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lcom/oracle/truffle/llvm/runtime/LLVMContext;
0 5 1 id I
Exception table:
from to target type
1 2 3 any
3 4 3 any
RuntimeVisibleAnnotations:
com.oracle.truffle.api.CompilerDirectives$TruffleBoundary()
MethodParameters:
Name Flags
id
public void registerGlobals(com.oracle.truffle.llvm.runtime.pointer.LLVMPointer, com.oracle.truffle.llvm.runtime.NodeFactory);
descriptor: (Lcom/oracle/truffle/llvm/runtime/pointer/LLVMPointer;Lcom/oracle/truffle/llvm/runtime/NodeFactory;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield com.oracle.truffle.llvm.runtime.LLVMContext.globalsStoreLock:Ljava/lang/Object;
dup
astore 3
monitorenter
1: aload 0
getfield com.oracle.truffle.llvm.runtime.LLVMContext.language:Lcom/oracle/truffle/llvm/runtime/LLVMLanguage;
aload 2
invokevirtual com.oracle.truffle.llvm.runtime.LLVMLanguage.initFreeGlobalBlocks:(Lcom/oracle/truffle/llvm/runtime/NodeFactory;)V
2: aload 0
getfield com.oracle.truffle.llvm.runtime.LLVMContext.globalsNonPointerStore:Ljava/util/ArrayList;
aload 1
invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
pop
3: aload 3
monitorexit
4: goto 7
StackMap locals: com.oracle.truffle.llvm.runtime.LLVMContext com.oracle.truffle.llvm.runtime.pointer.LLVMPointer com.oracle.truffle.llvm.runtime.NodeFactory java.lang.Object
StackMap stack: java.lang.Throwable
5: aload 3
monitorexit
6: athrow
7: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lcom/oracle/truffle/llvm/runtime/LLVMContext;
0 8 1 nonPointerStore Lcom/oracle/truffle/llvm/runtime/pointer/LLVMPointer;
0 8 2 nodeFactory Lcom/oracle/truffle/llvm/runtime/NodeFactory;
Exception table:
from to target type
1 4 5 any
5 6 5 any
RuntimeVisibleAnnotations:
com.oracle.truffle.api.CompilerDirectives$TruffleBoundary()
MethodParameters:
Name Flags
nonPointerStore
nodeFactory
public void registerSymbolReverseMap(java.util.List<com.oracle.truffle.llvm.runtime.LLVMSymbol>, com.oracle.truffle.llvm.runtime.pointer.LLVMPointer);
descriptor: (Ljava/util/List;Lcom/oracle/truffle/llvm/runtime/pointer/LLVMPointer;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield com.oracle.truffle.llvm.runtime.LLVMContext.symbolsReverseMap:Ljava/util/concurrent/ConcurrentHashMap;
aload 2
aload 1
invokevirtual java.util.concurrent.ConcurrentHashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
1: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/oracle/truffle/llvm/runtime/LLVMContext;
0 2 1 symbols Ljava/util/List<Lcom/oracle/truffle/llvm/runtime/LLVMSymbol;>;
0 2 2 pointer Lcom/oracle/truffle/llvm/runtime/pointer/LLVMPointer;
Signature: (Ljava/util/List<Lcom/oracle/truffle/llvm/runtime/LLVMSymbol;>;Lcom/oracle/truffle/llvm/runtime/pointer/LLVMPointer;)V
RuntimeVisibleAnnotations:
com.oracle.truffle.api.CompilerDirectives$TruffleBoundary()
MethodParameters:
Name Flags
symbols
pointer
public void registerSymbol(com.oracle.truffle.llvm.runtime.LLVMSymbol, com.oracle.truffle.llvm.runtime.pointer.LLVMPointer);
descriptor: (Lcom/oracle/truffle/llvm/runtime/LLVMSymbol;Lcom/oracle/truffle/llvm/runtime/pointer/LLVMPointer;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield com.oracle.truffle.llvm.runtime.LLVMContext.symbolsReverseMap:Ljava/util/concurrent/ConcurrentHashMap;
aload 2
invokevirtual java.util.concurrent.ConcurrentHashMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.util.List
aload 1
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
1: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/oracle/truffle/llvm/runtime/LLVMContext;
0 2 1 symbol Lcom/oracle/truffle/llvm/runtime/LLVMSymbol;
0 2 2 pointer Lcom/oracle/truffle/llvm/runtime/pointer/LLVMPointer;
RuntimeVisibleAnnotations:
com.oracle.truffle.api.CompilerDirectives$TruffleBoundary()
MethodParameters:
Name Flags
symbol
pointer
public java.util.List<com.oracle.truffle.llvm.runtime.LLVMSymbol> removeSymbolReverseMap(com.oracle.truffle.llvm.runtime.pointer.LLVMPointer);
descriptor: (Lcom/oracle/truffle/llvm/runtime/pointer/LLVMPointer;)Ljava/util/List;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield com.oracle.truffle.llvm.runtime.LLVMContext.symbolsReverseMap:Ljava/util/concurrent/ConcurrentHashMap;
aload 1
invokevirtual java.util.concurrent.ConcurrentHashMap.remove:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.util.List
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/llvm/runtime/LLVMContext;
0 1 1 pointer Lcom/oracle/truffle/llvm/runtime/pointer/LLVMPointer;
Signature: (Lcom/oracle/truffle/llvm/runtime/pointer/LLVMPointer;)Ljava/util/List<Lcom/oracle/truffle/llvm/runtime/LLVMSymbol;>;
RuntimeVisibleAnnotations:
com.oracle.truffle.api.CompilerDirectives$TruffleBoundary()
MethodParameters:
Name Flags
pointer
public void setCleanupNecessary(boolean);
descriptor: (Z)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
iload 1
putfield com.oracle.truffle.llvm.runtime.LLVMContext.cleanupNecessary:Z
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/oracle/truffle/llvm/runtime/LLVMContext;
0 2 1 value Z
MethodParameters:
Name Flags
value
private void printNativeCallStatistics();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=7, locals=5, args_size=1
start local 0 0: aload 0
getfield com.oracle.truffle.llvm.runtime.LLVMContext.nativeCallStatistics:Ljava/util/concurrent/ConcurrentHashMap;
ifnull 12
1: aload 0
getfield com.oracle.truffle.llvm.runtime.LLVMContext.nativeCallStatistics:Ljava/util/concurrent/ConcurrentHashMap;
invokevirtual java.util.concurrent.ConcurrentHashMap.entrySet:()Ljava/util/Set;
invokeinterface java.util.Set.stream:()Ljava/util/stream/Stream;
invokestatic java.util.Map$Entry.comparingByValue:()Ljava/util/Comparator;
invokeinterface java.util.stream.Stream.sorted:(Ljava/util/Comparator;)Ljava/util/stream/Stream;
2: invokedynamic apply()Ljava/util/function/Function;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
(Ljava/lang/Object;)Ljava/lang/Object;
java/util/Map$Entry.getKey()Ljava/lang/Object; (9 itf)
(Ljava/util/Map$Entry;)Ljava/lang/String;
3: invokedynamic apply()Ljava/util/function/Function;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
(Ljava/lang/Object;)Ljava/lang/Object;
java/util/Map$Entry.getValue()Ljava/lang/Object; (9 itf)
(Ljava/util/Map$Entry;)Ljava/lang/Integer;
4: invokedynamic apply()Ljava/util/function/BinaryOperator;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
com/oracle/truffle/llvm/runtime/LLVMContext.lambda$4(Ljava/lang/Integer;Ljava/lang/Integer;)Ljava/lang/Integer; (6)
(Ljava/lang/Integer;Ljava/lang/Integer;)Ljava/lang/Integer;
5: invokedynamic get()Ljava/util/function/Supplier;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
()Ljava/lang/Object;
java/util/LinkedHashMap.<init>()V (8)
()Ljava/util/LinkedHashMap;
6: invokestatic java.util.stream.Collectors.toMap:(Ljava/util/function/Function;Ljava/util/function/Function;Ljava/util/function/BinaryOperator;Ljava/util/function/Supplier;)Ljava/util/stream/Collector;
invokeinterface java.util.stream.Stream.collect:(Ljava/util/stream/Collector;)Ljava/lang/Object;
checkcast java.util.LinkedHashMap
astore 1
start local 1 7: aload 0
invokevirtual com.oracle.truffle.llvm.runtime.LLVMContext.nativeCallStatsStream:()Lcom/oracle/truffle/llvm/runtime/options/TargetStream;
astore 2
start local 2 8: aload 1
invokevirtual java.util.LinkedHashMap.keySet:()Ljava/util/Set;
invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
astore 4
goto 11
StackMap locals: com.oracle.truffle.llvm.runtime.LLVMContext java.util.LinkedHashMap com.oracle.truffle.llvm.runtime.options.TargetStream top java.util.Iterator
StackMap stack:
9: aload 4
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.lang.String
astore 3
start local 3 10: aload 2
ldc "Function %s \t count: %d\n"
iconst_2
anewarray java.lang.Object
dup
iconst_0
aload 3
aastore
dup
iconst_1
aload 1
aload 3
invokevirtual java.util.LinkedHashMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
aastore
invokevirtual com.oracle.truffle.llvm.runtime.options.TargetStream.printf:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/io/PrintStream;
pop
end local 3 11: StackMap locals:
StackMap stack:
aload 4
invokeinterface java.util.Iterator.hasNext:()Z
ifne 9
end local 2 end local 1 12: StackMap locals: com.oracle.truffle.llvm.runtime.LLVMContext
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 13 0 this Lcom/oracle/truffle/llvm/runtime/LLVMContext;
7 12 1 sorted Ljava/util/LinkedHashMap<Ljava/lang/String;Ljava/lang/Integer;>;
8 12 2 stream Lcom/oracle/truffle/llvm/runtime/options/TargetStream;
10 11 3 s Ljava/lang/String;
public com.oracle.truffle.llvm.runtime.pthread.LLVMPThreadContext getpThreadContext();
descriptor: ()Lcom/oracle/truffle/llvm/runtime/pthread/LLVMPThreadContext;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield com.oracle.truffle.llvm.runtime.LLVMContext.pThreadContext:Lcom/oracle/truffle/llvm/runtime/pthread/LLVMPThreadContext;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/llvm/runtime/LLVMContext;
public com.oracle.truffle.llvm.runtime.options.TargetStream loaderTraceStream();
descriptor: ()Lcom/oracle/truffle/llvm/runtime/options/TargetStream;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield com.oracle.truffle.llvm.runtime.LLVMContext.loaderTraceStream:Lcom/oracle/truffle/llvm/runtime/options/TargetStream;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/llvm/runtime/LLVMContext;
public com.oracle.truffle.llvm.runtime.options.TargetStream syscallTraceStream();
descriptor: ()Lcom/oracle/truffle/llvm/runtime/options/TargetStream;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield com.oracle.truffle.llvm.runtime.LLVMContext.syscallTraceStream:Lcom/oracle/truffle/llvm/runtime/options/TargetStream;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/llvm/runtime/LLVMContext;
public com.oracle.truffle.llvm.runtime.options.TargetStream nativeCallStatsStream();
descriptor: ()Lcom/oracle/truffle/llvm/runtime/options/TargetStream;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield com.oracle.truffle.llvm.runtime.LLVMContext.nativeCallStatsStream:Lcom/oracle/truffle/llvm/runtime/options/TargetStream;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/llvm/runtime/LLVMContext;
public com.oracle.truffle.llvm.runtime.options.TargetStream lifetimeAnalysisStream();
descriptor: ()Lcom/oracle/truffle/llvm/runtime/options/TargetStream;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield com.oracle.truffle.llvm.runtime.LLVMContext.lifetimeAnalysisStream:Lcom/oracle/truffle/llvm/runtime/options/TargetStream;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/llvm/runtime/LLVMContext;
public com.oracle.truffle.llvm.runtime.options.TargetStream llDebugVerboseStream();
descriptor: ()Lcom/oracle/truffle/llvm/runtime/options/TargetStream;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield com.oracle.truffle.llvm.runtime.LLVMContext.llDebugVerboseStream:Lcom/oracle/truffle/llvm/runtime/options/TargetStream;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/llvm/runtime/LLVMContext;
private static java.lang.String lambda$0(java.util.Map$Entry);
descriptor: (Ljava/util/Map$Entry;)Ljava/lang/String;
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: new java.lang.StringBuilder
dup
aload 0
invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
checkcast java.lang.String
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc "="
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
checkcast java.lang.String
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 e Ljava/util/Map$Entry<Ljava/lang/String;Ljava/lang/String;>;
private static java.lang.String[] lambda$1(int);
descriptor: (I)[Ljava/lang/String;
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=1, locals=1, args_size=1
0: iload 0
anewarray java.lang.String
areturn
LocalVariableTable:
Start End Slot Name Signature
private static java.lang.Integer lambda$4(java.lang.Integer, java.lang.Integer);
descriptor: (Ljava/lang/Integer;Ljava/lang/Integer;)Ljava/lang/Integer;
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=1, locals=2, args_size=2
start local 0 start local 1 0: aload 0
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 e1 Ljava/lang/Integer;
0 1 1 e2 Ljava/lang/Integer;
}
SourceFile: "LLVMContext.java"
NestMembers:
com.oracle.truffle.llvm.runtime.LLVMContext$DynamicLinkChain com.oracle.truffle.llvm.runtime.LLVMContext$InternalLibraryLocator com.oracle.truffle.llvm.runtime.LLVMContext$LLVMFunctionPointerRegistry
InnerClasses:
public abstract CompilationFinal = com.oracle.truffle.api.CompilerDirectives$CompilationFinal of com.oracle.truffle.api.CompilerDirectives
public abstract TruffleBoundary = com.oracle.truffle.api.CompilerDirectives$TruffleBoundary of com.oracle.truffle.api.CompilerDirectives
public final Env = com.oracle.truffle.api.TruffleLanguage$Env of com.oracle.truffle.api.TruffleLanguage
public SourceBuilder = com.oracle.truffle.api.source.Source$SourceBuilder of com.oracle.truffle.api.source.Source
public abstract Key = com.oracle.truffle.llvm.runtime.ContextExtension$Key of com.oracle.truffle.llvm.runtime.ContextExtension
final LLVMArgumentArray = com.oracle.truffle.llvm.runtime.LLVMArgumentBuffer$LLVMArgumentArray of com.oracle.truffle.llvm.runtime.LLVMArgumentBuffer
private DynamicLinkChain = com.oracle.truffle.llvm.runtime.LLVMContext$DynamicLinkChain of com.oracle.truffle.llvm.runtime.LLVMContext
public final InternalLibraryLocator = com.oracle.truffle.llvm.runtime.LLVMContext$InternalLibraryLocator of com.oracle.truffle.llvm.runtime.LLVMContext
private final LLVMFunctionPointerRegistry = com.oracle.truffle.llvm.runtime.LLVMContext$LLVMFunctionPointerRegistry of com.oracle.truffle.llvm.runtime.LLVMContext
public abstract HandleContainer = com.oracle.truffle.llvm.runtime.memory.LLVMMemory$HandleContainer of com.oracle.truffle.llvm.runtime.memory.LLVMMemory
public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles
public abstract Entry = java.util.Map$Entry of java.util.Map
public KeySetView = java.util.concurrent.ConcurrentHashMap$KeySetView of java.util.concurrent.ConcurrentHashMap