public final class com.oracle.graal.python.runtime.PythonContext
minor version: 0
major version: 59
flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
this_class: com.oracle.graal.python.runtime.PythonContext
super_class: java.lang.Object
{
private static final com.oracle.truffle.api.TruffleLogger LOGGER;
descriptor: Lcom/oracle/truffle/api/TruffleLogger;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private volatile boolean finalizing;
descriptor: Z
flags: (0x0042) ACC_PRIVATE, ACC_VOLATILE
static final java.lang.String PREFIX;
descriptor: Ljava/lang/String;
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: "/"
static final java.lang.String LIB_PYTHON_3;
descriptor: Ljava/lang/String;
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: "/lib-python/3"
static final java.lang.String LIB_GRAALPYTHON;
descriptor: Ljava/lang/String;
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: "/lib-graalpython"
static final java.lang.String NO_CORE_FATAL;
descriptor: Ljava/lang/String;
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: "could not determine Graal.Python's core path - you must pass --python.CoreHome."
static final java.lang.String NO_PREFIX_WARNING;
descriptor: Ljava/lang/String;
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: "could not determine Graal.Python's sys prefix path - you may need to pass --python.SysPrefix."
static final java.lang.String NO_CORE_WARNING;
descriptor: Ljava/lang/String;
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: "could not determine Graal.Python's core path - you may need to pass --python.CoreHome."
static final java.lang.String NO_STDLIB;
descriptor: Ljava/lang/String;
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: "could not determine Graal.Python's standard library path. You need to pass --python.StdLibHome if you want to use the standard library."
static final java.lang.String NO_CAPI;
descriptor: Ljava/lang/String;
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: "could not determine Graal.Python's C API library path. You need to pass --python.CAPI if you want to use the C extension modules."
private final com.oracle.graal.python.PythonLanguage language;
descriptor: Lcom/oracle/graal/python/PythonLanguage;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private com.oracle.graal.python.builtins.objects.module.PythonModule mainModule;
descriptor: Lcom/oracle/graal/python/builtins/objects/module/PythonModule;
flags: (0x0002) ACC_PRIVATE
private final com.oracle.graal.python.runtime.PythonCore core;
descriptor: Lcom/oracle/graal/python/runtime/PythonCore;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final java.util.List<com.oracle.graal.python.util.ShutdownHook> shutdownHooks;
descriptor: Ljava/util/List;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/util/List<Lcom/oracle/graal/python/util/ShutdownHook;>;
private final java.util.List<com.oracle.graal.python.runtime.PythonContext$AtExitHook> atExitHooks;
descriptor: Ljava/util/List;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/util/List<Lcom/oracle/graal/python/runtime/PythonContext$AtExitHook;>;
private final java.util.HashMap<com.oracle.graal.python.builtins.objects.cext.PythonNativeClass, com.oracle.truffle.api.utilities.CyclicAssumption> nativeClassStableAssumptions;
descriptor: Ljava/util/HashMap;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/util/HashMap<Lcom/oracle/graal/python/builtins/objects/cext/PythonNativeClass;Lcom/oracle/truffle/api/utilities/CyclicAssumption;>;
private final java.util.concurrent.atomic.AtomicLong globalId;
descriptor: Ljava/util/concurrent/atomic/AtomicLong;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final java.lang.ThreadGroup threadGroup;
descriptor: Ljava/lang/ThreadGroup;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private com.oracle.graal.python.runtime.NFIZlibSupport nativeZlib;
descriptor: Lcom/oracle/graal/python/runtime/NFIZlibSupport;
flags: (0x0002) ACC_PRIVATE
RuntimeVisibleAnnotations:
com.oracle.truffle.api.CompilerDirectives$CompilationFinal()
private com.oracle.graal.python.runtime.NFIBz2Support nativeBz2lib;
descriptor: Lcom/oracle/graal/python/runtime/NFIBz2Support;
flags: (0x0002) ACC_PRIVATE
RuntimeVisibleAnnotations:
com.oracle.truffle.api.CompilerDirectives$CompilationFinal()
private final java.util.concurrent.atomic.AtomicLong pythonThreadStackSize;
descriptor: Ljava/util/concurrent/atomic/AtomicLong;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final com.oracle.truffle.api.Assumption nativeObjectsAllManagedAssumption;
descriptor: Lcom/oracle/truffle/api/Assumption;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
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.graal.python.runtime.PythonContext$PythonThreadState singleThreadState;
descriptor: Lcom/oracle/graal/python/runtime/PythonContext$PythonThreadState;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private java.lang.ThreadLocal<com.oracle.graal.python.runtime.PythonContext$PythonThreadState> threadState;
descriptor: Ljava/lang/ThreadLocal;
flags: (0x0002) ACC_PRIVATE
Signature: Ljava/lang/ThreadLocal<Lcom/oracle/graal/python/runtime/PythonContext$PythonThreadState;>;
private java.util.Map<java.lang.Long, com.oracle.graal.python.runtime.PythonContext$PythonThreadState> threadStateMapping;
descriptor: Ljava/util/Map;
flags: (0x0002) ACC_PRIVATE
Signature: Ljava/util/Map<Ljava/lang/Long;Lcom/oracle/graal/python/runtime/PythonContext$PythonThreadState;>;
private final java.util.concurrent.locks.ReentrantLock importLock;
descriptor: Ljava/util/concurrent/locks/ReentrantLock;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private boolean isInitialized;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
RuntimeVisibleAnnotations:
com.oracle.truffle.api.CompilerDirectives$CompilationFinal()
private com.oracle.graal.python.builtins.objects.module.PythonModule builtinsModule;
descriptor: Lcom/oracle/graal/python/builtins/objects/module/PythonModule;
flags: (0x0002) ACC_PRIVATE
RuntimeVisibleAnnotations:
com.oracle.truffle.api.CompilerDirectives$CompilationFinal()
private com.oracle.graal.python.builtins.objects.dict.PDict sysModules;
descriptor: Lcom/oracle/graal/python/builtins/objects/dict/PDict;
flags: (0x0002) ACC_PRIVATE
RuntimeVisibleAnnotations:
com.oracle.truffle.api.CompilerDirectives$CompilationFinal()
private java.io.OutputStream out;
descriptor: Ljava/io/OutputStream;
flags: (0x0002) ACC_PRIVATE
private java.io.OutputStream err;
descriptor: Ljava/io/OutputStream;
flags: (0x0002) ACC_PRIVATE
private java.io.InputStream in;
descriptor: Ljava/io/InputStream;
flags: (0x0002) ACC_PRIVATE
private com.oracle.graal.python.builtins.objects.cext.capi.CApiContext cApiContext;
descriptor: Lcom/oracle/graal/python/builtins/objects/cext/capi/CApiContext;
flags: (0x0002) ACC_PRIVATE
RuntimeVisibleAnnotations:
com.oracle.truffle.api.CompilerDirectives$CompilationFinal()
private com.oracle.graal.python.builtins.objects.cext.hpy.GraalHPyContext hPyContext;
descriptor: Lcom/oracle/graal/python/builtins/objects/cext/hpy/GraalHPyContext;
flags: (0x0002) ACC_PRIVATE
RuntimeVisibleAnnotations:
com.oracle.truffle.api.CompilerDirectives$CompilationFinal()
private final com.oracle.truffle.api.Assumption singleThreaded;
descriptor: Lcom/oracle/truffle/api/Assumption;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private static final com.oracle.truffle.api.Assumption singleNativeContext;
descriptor: Lcom/oracle/truffle/api/Assumption;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private java.util.concurrent.locks.ReentrantLock interopLock;
descriptor: Ljava/util/concurrent/locks/ReentrantLock;
flags: (0x0002) ACC_PRIVATE
private java.lang.ThreadLocal<com.oracle.graal.python.builtins.objects.cext.capi.PThreadState> customThreadState;
descriptor: Ljava/lang/ThreadLocal;
flags: (0x0002) ACC_PRIVATE
Signature: Ljava/lang/ThreadLocal<Lcom/oracle/graal/python/builtins/objects/cext/capi/PThreadState;>;
private final com.oracle.graal.python.builtins.objects.cext.capi.PythonNativeWrapper[] singletonNativePtrs;
descriptor: [Lcom/oracle/graal/python/builtins/objects/cext/capi/PythonNativeWrapper;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
RuntimeVisibleAnnotations:
com.oracle.truffle.api.CompilerDirectives$CompilationFinal(dimensions = 1)
private final com.oracle.graal.python.runtime.PosixResources resources;
descriptor: Lcom/oracle/graal/python/runtime/PosixResources;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final com.oracle.graal.python.runtime.AsyncHandler handler;
descriptor: Lcom/oracle/graal/python/runtime/AsyncHandler;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final com.oracle.graal.python.runtime.AsyncHandler$SharedFinalizer sharedFinalizer;
descriptor: Lcom/oracle/graal/python/runtime/AsyncHandler$SharedFinalizer;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private boolean gcEnabled;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private final java.lang.ThreadLocal<java.util.ArrayDeque<java.lang.String>> currentImport;
descriptor: Ljava/lang/ThreadLocal;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/lang/ThreadLocal<Ljava/util/ArrayDeque<Ljava/lang/String;>;>;
private java.lang.Object[] optionValues;
descriptor: [Ljava/lang/Object;
flags: (0x0002) ACC_PRIVATE
RuntimeVisibleAnnotations:
com.oracle.truffle.api.CompilerDirectives$CompilationFinal(dimensions = 1)
private java.lang.String sysPrefix;
descriptor: Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
private java.lang.String basePrefix;
descriptor: Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
private java.lang.String coreHome;
descriptor: Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
private java.lang.String stdLibHome;
descriptor: Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
private java.lang.String capiHome;
descriptor: Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
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=2, locals=0, args_size=0
0: ldc Lcom/oracle/graal/python/runtime/PythonContext;
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.graal.python.runtime.PythonContext.$assertionsDisabled:Z
3: ldc Lcom/oracle/graal/python/runtime/PythonContext;
invokestatic com.oracle.graal.python.PythonLanguage.getLogger:(Ljava/lang/Class;)Lcom/oracle/truffle/api/TruffleLogger;
putstatic com.oracle.graal.python.runtime.PythonContext.LOGGER:Lcom/oracle/truffle/api/TruffleLogger;
4: invokestatic com.oracle.truffle.api.Truffle.getRuntime:()Lcom/oracle/truffle/api/TruffleRuntime;
ldc "single native context assumption"
invokeinterface com.oracle.truffle.api.TruffleRuntime.createAssumption:(Ljava/lang/String;)Lcom/oracle/truffle/api/Assumption;
putstatic com.oracle.graal.python.runtime.PythonContext.singleNativeContext:Lcom/oracle/truffle/api/Assumption;
return
LocalVariableTable:
Start End Slot Name Signature
public void <init>(com.oracle.graal.python.PythonLanguage, com.oracle.truffle.api.TruffleLanguage$Env, com.oracle.graal.python.runtime.PythonCore);
descriptor: (Lcom/oracle/graal/python/PythonLanguage;Lcom/oracle/truffle/api/TruffleLanguage$Env;Lcom/oracle/graal/python/runtime/PythonCore;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=4, 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.graal.python.runtime.PythonContext.shutdownHooks:Ljava/util/List;
2: aload 0
new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
putfield com.oracle.graal.python.runtime.PythonContext.atExitHooks:Ljava/util/List;
3: aload 0
new java.util.HashMap
dup
invokespecial java.util.HashMap.<init>:()V
putfield com.oracle.graal.python.runtime.PythonContext.nativeClassStableAssumptions:Ljava/util/HashMap;
4: aload 0
new java.util.concurrent.atomic.AtomicLong
dup
ldc 4294967298
invokespecial java.util.concurrent.atomic.AtomicLong.<init>:(J)V
putfield com.oracle.graal.python.runtime.PythonContext.globalId:Ljava/util/concurrent/atomic/AtomicLong;
5: aload 0
new java.lang.ThreadGroup
dup
ldc "GRAALPYTHON_THREADS"
invokespecial java.lang.ThreadGroup.<init>:(Ljava/lang/String;)V
putfield com.oracle.graal.python.runtime.PythonContext.threadGroup:Ljava/lang/ThreadGroup;
6: aload 0
new java.util.concurrent.atomic.AtomicLong
dup
lconst_0
invokespecial java.util.concurrent.atomic.AtomicLong.<init>:(J)V
putfield com.oracle.graal.python.runtime.PythonContext.pythonThreadStackSize:Ljava/util/concurrent/atomic/AtomicLong;
7: aload 0
invokestatic com.oracle.truffle.api.Truffle.getRuntime:()Lcom/oracle/truffle/api/TruffleRuntime;
ldc "all C API objects are managed"
invokeinterface com.oracle.truffle.api.TruffleRuntime.createAssumption:(Ljava/lang/String;)Lcom/oracle/truffle/api/Assumption;
putfield com.oracle.graal.python.runtime.PythonContext.nativeObjectsAllManagedAssumption:Lcom/oracle/truffle/api/Assumption;
8: aload 0
new com.oracle.graal.python.runtime.PythonContext$PythonThreadState
dup
invokespecial com.oracle.graal.python.runtime.PythonContext$PythonThreadState.<init>:()V
putfield com.oracle.graal.python.runtime.PythonContext.singleThreadState:Lcom/oracle/graal/python/runtime/PythonContext$PythonThreadState;
9: aload 0
new java.util.concurrent.locks.ReentrantLock
dup
invokespecial java.util.concurrent.locks.ReentrantLock.<init>:()V
putfield com.oracle.graal.python.runtime.PythonContext.importLock:Ljava/util/concurrent/locks/ReentrantLock;
10: aload 0
iconst_0
putfield com.oracle.graal.python.runtime.PythonContext.isInitialized:Z
11: aload 0
invokestatic com.oracle.truffle.api.Truffle.getRuntime:()Lcom/oracle/truffle/api/TruffleRuntime;
ldc "single Threaded"
invokeinterface com.oracle.truffle.api.TruffleRuntime.createAssumption:(Ljava/lang/String;)Lcom/oracle/truffle/api/Assumption;
putfield com.oracle.graal.python.runtime.PythonContext.singleThreaded:Lcom/oracle/truffle/api/Assumption;
12: aload 0
invokestatic com.oracle.graal.python.PythonLanguage.getNumberOfSpecialSingletons:()I
anewarray com.oracle.graal.python.builtins.objects.cext.capi.PythonNativeWrapper
putfield com.oracle.graal.python.runtime.PythonContext.singletonNativePtrs:[Lcom/oracle/graal/python/builtins/objects/cext/capi/PythonNativeWrapper;
13: aload 0
iconst_1
putfield com.oracle.graal.python.runtime.PythonContext.gcEnabled:Z
14: aload 0
new java.lang.ThreadLocal
dup
invokespecial java.lang.ThreadLocal.<init>:()V
putfield com.oracle.graal.python.runtime.PythonContext.currentImport:Ljava/lang/ThreadLocal;
15: aload 0
aload 1
putfield com.oracle.graal.python.runtime.PythonContext.language:Lcom/oracle/graal/python/PythonLanguage;
16: aload 0
aload 3
putfield com.oracle.graal.python.runtime.PythonContext.core:Lcom/oracle/graal/python/runtime/PythonCore;
17: aload 0
aload 2
putfield com.oracle.graal.python.runtime.PythonContext.env:Lcom/oracle/truffle/api/TruffleLanguage$Env;
18: aload 0
new com.oracle.graal.python.runtime.PosixResources
dup
invokespecial com.oracle.graal.python.runtime.PosixResources.<init>:()V
putfield com.oracle.graal.python.runtime.PythonContext.resources:Lcom/oracle/graal/python/runtime/PosixResources;
19: aload 0
new com.oracle.graal.python.runtime.AsyncHandler
dup
aload 0
invokespecial com.oracle.graal.python.runtime.AsyncHandler.<init>:(Lcom/oracle/graal/python/runtime/PythonContext;)V
putfield com.oracle.graal.python.runtime.PythonContext.handler:Lcom/oracle/graal/python/runtime/AsyncHandler;
20: aload 0
new com.oracle.graal.python.runtime.AsyncHandler$SharedFinalizer
dup
aload 0
invokespecial com.oracle.graal.python.runtime.AsyncHandler$SharedFinalizer.<init>:(Lcom/oracle/graal/python/runtime/PythonContext;)V
putfield com.oracle.graal.python.runtime.PythonContext.sharedFinalizer:Lcom/oracle/graal/python/runtime/AsyncHandler$SharedFinalizer;
21: aload 0
aload 2
invokestatic com.oracle.graal.python.runtime.PythonOptions.createOptionValuesStorage:(Lcom/oracle/truffle/api/TruffleLanguage$Env;)[Ljava/lang/Object;
putfield com.oracle.graal.python.runtime.PythonContext.optionValues:[Ljava/lang/Object;
22: aload 0
getfield com.oracle.graal.python.runtime.PythonContext.resources:Lcom/oracle/graal/python/runtime/PosixResources;
aload 2
invokevirtual com.oracle.graal.python.runtime.PosixResources.setEnv:(Lcom/oracle/truffle/api/TruffleLanguage$Env;)V
23: aload 0
aload 2
invokevirtual com.oracle.truffle.api.TruffleLanguage$Env.in:()Ljava/io/InputStream;
putfield com.oracle.graal.python.runtime.PythonContext.in:Ljava/io/InputStream;
24: aload 0
aload 2
invokevirtual com.oracle.truffle.api.TruffleLanguage$Env.out:()Ljava/io/OutputStream;
putfield com.oracle.graal.python.runtime.PythonContext.out:Ljava/io/OutputStream;
25: aload 0
aload 2
invokevirtual com.oracle.truffle.api.TruffleLanguage$Env.err:()Ljava/io/OutputStream;
putfield com.oracle.graal.python.runtime.PythonContext.err:Ljava/io/OutputStream;
26: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 27 0 this Lcom/oracle/graal/python/runtime/PythonContext;
0 27 1 language Lcom/oracle/graal/python/PythonLanguage;
0 27 2 env Lcom/oracle/truffle/api/TruffleLanguage$Env;
0 27 3 core Lcom/oracle/graal/python/runtime/PythonCore;
MethodParameters:
Name Flags
language
env
core
public java.lang.ThreadGroup getThreadGroup();
descriptor: ()Ljava/lang/ThreadGroup;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield com.oracle.graal.python.runtime.PythonContext.threadGroup:Ljava/lang/ThreadGroup;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/graal/python/runtime/PythonContext;
public long getPythonThreadStackSize();
descriptor: ()J
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield com.oracle.graal.python.runtime.PythonContext.pythonThreadStackSize:Ljava/util/concurrent/atomic/AtomicLong;
invokevirtual java.util.concurrent.atomic.AtomicLong.get:()J
lreturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/graal/python/runtime/PythonContext;
RuntimeVisibleAnnotations:
com.oracle.truffle.api.CompilerDirectives$TruffleBoundary(allowInlining = true)
public long getAndSetPythonsThreadStackSize(long);
descriptor: (J)J
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=2
start local 0 start local 1 0: aload 0
getfield com.oracle.graal.python.runtime.PythonContext.pythonThreadStackSize:Ljava/util/concurrent/atomic/AtomicLong;
lload 1
invokevirtual java.util.concurrent.atomic.AtomicLong.getAndSet:(J)J
lreturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/graal/python/runtime/PythonContext;
0 1 1 value J
MethodParameters:
Name Flags
value
public long getNextGlobalId();
descriptor: ()J
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield com.oracle.graal.python.runtime.PythonContext.globalId:Ljava/util/concurrent/atomic/AtomicLong;
invokevirtual java.util.concurrent.atomic.AtomicLong.incrementAndGet:()J
lreturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/graal/python/runtime/PythonContext;
RuntimeVisibleAnnotations:
com.oracle.truffle.api.CompilerDirectives$TruffleBoundary(allowInlining = true)
public <T> T getOption(org.graalvm.options.OptionKey<T>);
descriptor: (Lorg/graalvm/options/OptionKey;)Ljava/lang/Object;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: getstatic com.oracle.graal.python.runtime.PythonContext.$assertionsDisabled:Z
ifne 1
aload 1
invokestatic com.oracle.graal.python.runtime.PythonOptions.isEngineOption:(Lorg/graalvm/options/OptionKey;)Z
ifeq 1
new java.lang.AssertionError
dup
ldc "Querying engine option via context."
invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
athrow
1: StackMap locals:
StackMap stack:
invokestatic com.oracle.truffle.api.CompilerDirectives.inInterpreter:()Z
ifeq 3
2: aload 0
invokevirtual com.oracle.graal.python.runtime.PythonContext.getEnv:()Lcom/oracle/truffle/api/TruffleLanguage$Env;
invokevirtual com.oracle.truffle.api.TruffleLanguage$Env.getOptions:()Lorg/graalvm/options/OptionValues;
aload 1
invokeinterface org.graalvm.options.OptionValues.get:(Lorg/graalvm/options/OptionKey;)Ljava/lang/Object;
areturn
3: StackMap locals:
StackMap stack:
aload 0
getfield com.oracle.graal.python.runtime.PythonContext.optionValues:[Ljava/lang/Object;
invokestatic com.oracle.graal.python.runtime.PythonOptions.getOptionKeys:()[Lorg/graalvm/options/OptionKey;
aload 1
invokestatic com.oracle.graal.python.runtime.PythonOptions.getOptionUnrolling:([Ljava/lang/Object;[Lorg/graalvm/options/OptionKey;Lorg/graalvm/options/OptionKey;)Ljava/lang/Object;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lcom/oracle/graal/python/runtime/PythonContext;
0 4 1 key Lorg/graalvm/options/OptionKey<TT;>;
Signature: <T:Ljava/lang/Object;>(Lorg/graalvm/options/OptionKey<TT;>;)TT;
MethodParameters:
Name Flags
key
public com.oracle.graal.python.PythonLanguage getLanguage();
descriptor: ()Lcom/oracle/graal/python/PythonLanguage;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield com.oracle.graal.python.runtime.PythonContext.language:Lcom/oracle/graal/python/PythonLanguage;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/graal/python/runtime/PythonContext;
public java.util.concurrent.locks.ReentrantLock getImportLock();
descriptor: ()Ljava/util/concurrent/locks/ReentrantLock;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield com.oracle.graal.python.runtime.PythonContext.importLock:Ljava/util/concurrent/locks/ReentrantLock;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/graal/python/runtime/PythonContext;
public com.oracle.graal.python.builtins.objects.dict.PDict getImportedModules();
descriptor: ()Lcom/oracle/graal/python/builtins/objects/dict/PDict;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield com.oracle.graal.python.runtime.PythonContext.sysModules:Lcom/oracle/graal/python/builtins/objects/dict/PDict;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/graal/python/runtime/PythonContext;
public com.oracle.graal.python.builtins.objects.dict.PDict getSysModules();
descriptor: ()Lcom/oracle/graal/python/builtins/objects/dict/PDict;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield com.oracle.graal.python.runtime.PythonContext.sysModules:Lcom/oracle/graal/python/builtins/objects/dict/PDict;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/graal/python/runtime/PythonContext;
public com.oracle.graal.python.builtins.objects.module.PythonModule getBuiltins();
descriptor: ()Lcom/oracle/graal/python/builtins/objects/module/PythonModule;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield com.oracle.graal.python.runtime.PythonContext.builtinsModule:Lcom/oracle/graal/python/builtins/objects/module/PythonModule;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/graal/python/runtime/PythonContext;
public boolean isNativeAccessAllowed();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield com.oracle.graal.python.runtime.PythonContext.env:Lcom/oracle/truffle/api/TruffleLanguage$Env;
invokevirtual com.oracle.truffle.api.TruffleLanguage$Env.isNativeAccessAllowed:()Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/graal/python/runtime/PythonContext;
public com.oracle.graal.python.runtime.NFIZlibSupport getNFIZlibSupport();
descriptor: ()Lcom/oracle/graal/python/runtime/NFIZlibSupport;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield com.oracle.graal.python.runtime.PythonContext.nativeZlib:Lcom/oracle/graal/python/runtime/NFIZlibSupport;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/graal/python/runtime/PythonContext;
public com.oracle.graal.python.runtime.NFIBz2Support getNFIBz2Support();
descriptor: ()Lcom/oracle/graal/python/runtime/NFIBz2Support;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield com.oracle.graal.python.runtime.PythonContext.nativeBz2lib:Lcom/oracle/graal/python/runtime/NFIBz2Support;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/graal/python/runtime/PythonContext;
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.graal.python.runtime.PythonContext.env:Lcom/oracle/truffle/api/TruffleLanguage$Env;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/graal/python/runtime/PythonContext;
public void setEnv(com.oracle.truffle.api.TruffleLanguage$Env);
descriptor: (Lcom/oracle/truffle/api/TruffleLanguage$Env;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: invokestatic com.oracle.truffle.api.CompilerDirectives.transferToInterpreterAndInvalidate:()V
1: aload 0
aload 1
putfield com.oracle.graal.python.runtime.PythonContext.env:Lcom/oracle/truffle/api/TruffleLanguage$Env;
2: aload 0
aload 0
getfield com.oracle.graal.python.runtime.PythonContext.env:Lcom/oracle/truffle/api/TruffleLanguage$Env;
invokevirtual com.oracle.truffle.api.TruffleLanguage$Env.in:()Ljava/io/InputStream;
putfield com.oracle.graal.python.runtime.PythonContext.in:Ljava/io/InputStream;
3: aload 0
aload 0
getfield com.oracle.graal.python.runtime.PythonContext.env:Lcom/oracle/truffle/api/TruffleLanguage$Env;
invokevirtual com.oracle.truffle.api.TruffleLanguage$Env.out:()Ljava/io/OutputStream;
putfield com.oracle.graal.python.runtime.PythonContext.out:Ljava/io/OutputStream;
4: aload 0
aload 0
getfield com.oracle.graal.python.runtime.PythonContext.env:Lcom/oracle/truffle/api/TruffleLanguage$Env;
invokevirtual com.oracle.truffle.api.TruffleLanguage$Env.err:()Ljava/io/OutputStream;
putfield com.oracle.graal.python.runtime.PythonContext.err:Ljava/io/OutputStream;
5: aload 0
getfield com.oracle.graal.python.runtime.PythonContext.resources:Lcom/oracle/graal/python/runtime/PosixResources;
aload 0
getfield com.oracle.graal.python.runtime.PythonContext.env:Lcom/oracle/truffle/api/TruffleLanguage$Env;
invokevirtual com.oracle.graal.python.runtime.PosixResources.setEnv:(Lcom/oracle/truffle/api/TruffleLanguage$Env;)V
6: aload 0
aload 1
invokestatic com.oracle.graal.python.runtime.PythonOptions.createOptionValuesStorage:(Lcom/oracle/truffle/api/TruffleLanguage$Env;)[Ljava/lang/Object;
putfield com.oracle.graal.python.runtime.PythonContext.optionValues:[Ljava/lang/Object;
7: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lcom/oracle/graal/python/runtime/PythonContext;
0 8 1 newEnv Lcom/oracle/truffle/api/TruffleLanguage$Env;
MethodParameters:
Name Flags
newEnv
public void setOut(java.io.OutputStream);
descriptor: (Ljava/io/OutputStream;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
putfield com.oracle.graal.python.runtime.PythonContext.out:Ljava/io/OutputStream;
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/oracle/graal/python/runtime/PythonContext;
0 2 1 out Ljava/io/OutputStream;
MethodParameters:
Name Flags
out
public void setErr(java.io.OutputStream);
descriptor: (Ljava/io/OutputStream;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
putfield com.oracle.graal.python.runtime.PythonContext.err:Ljava/io/OutputStream;
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/oracle/graal/python/runtime/PythonContext;
0 2 1 err Ljava/io/OutputStream;
MethodParameters:
Name Flags
err
public com.oracle.graal.python.builtins.objects.module.PythonModule getMainModule();
descriptor: ()Lcom/oracle/graal/python/builtins/objects/module/PythonModule;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield com.oracle.graal.python.runtime.PythonContext.mainModule:Lcom/oracle/graal/python/builtins/objects/module/PythonModule;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/graal/python/runtime/PythonContext;
public com.oracle.graal.python.runtime.PythonCore getCore();
descriptor: ()Lcom/oracle/graal/python/runtime/PythonCore;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield com.oracle.graal.python.runtime.PythonContext.core:Lcom/oracle/graal/python/runtime/PythonCore;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/graal/python/runtime/PythonContext;
public java.io.InputStream getStandardIn();
descriptor: ()Ljava/io/InputStream;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield com.oracle.graal.python.runtime.PythonContext.in:Ljava/io/InputStream;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/graal/python/runtime/PythonContext;
public java.io.OutputStream getStandardErr();
descriptor: ()Ljava/io/OutputStream;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield com.oracle.graal.python.runtime.PythonContext.err:Ljava/io/OutputStream;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/graal/python/runtime/PythonContext;
public java.io.OutputStream getStandardOut();
descriptor: ()Ljava/io/OutputStream;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield com.oracle.graal.python.runtime.PythonContext.out:Ljava/io/OutputStream;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/graal/python/runtime/PythonContext;
public void setCurrentException(com.oracle.graal.python.runtime.exception.PException);
descriptor: (Lcom/oracle/graal/python/runtime/exception/PException;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual com.oracle.graal.python.runtime.PythonContext.getThreadState:()Lcom/oracle/graal/python/runtime/PythonContext$PythonThreadState;
aload 1
putfield com.oracle.graal.python.runtime.PythonContext$PythonThreadState.currentException:Lcom/oracle/graal/python/runtime/exception/PException;
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/oracle/graal/python/runtime/PythonContext;
0 2 1 e Lcom/oracle/graal/python/runtime/exception/PException;
MethodParameters:
Name Flags
e
public com.oracle.graal.python.runtime.exception.PException getCurrentException();
descriptor: ()Lcom/oracle/graal/python/runtime/exception/PException;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual com.oracle.graal.python.runtime.PythonContext.getThreadState:()Lcom/oracle/graal/python/runtime/PythonContext$PythonThreadState;
getfield com.oracle.graal.python.runtime.PythonContext$PythonThreadState.currentException:Lcom/oracle/graal/python/runtime/exception/PException;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/graal/python/runtime/PythonContext;
public void setCaughtException(com.oracle.graal.python.runtime.exception.PException);
descriptor: (Lcom/oracle/graal/python/runtime/exception/PException;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual com.oracle.graal.python.runtime.PythonContext.getThreadState:()Lcom/oracle/graal/python/runtime/PythonContext$PythonThreadState;
aload 1
putfield com.oracle.graal.python.runtime.PythonContext$PythonThreadState.caughtException:Lcom/oracle/graal/python/runtime/exception/PException;
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/oracle/graal/python/runtime/PythonContext;
0 2 1 e Lcom/oracle/graal/python/runtime/exception/PException;
MethodParameters:
Name Flags
e
public com.oracle.graal.python.runtime.exception.PException getCaughtException();
descriptor: ()Lcom/oracle/graal/python/runtime/exception/PException;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual com.oracle.graal.python.runtime.PythonContext.getThreadState:()Lcom/oracle/graal/python/runtime/PythonContext$PythonThreadState;
getfield com.oracle.graal.python.runtime.PythonContext$PythonThreadState.caughtException:Lcom/oracle/graal/python/runtime/exception/PException;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/graal/python/runtime/PythonContext;
public void setTopFrameInfo(com.oracle.graal.python.builtins.objects.frame.PFrame$Reference);
descriptor: (Lcom/oracle/graal/python/builtins/objects/frame/PFrame$Reference;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual com.oracle.graal.python.runtime.PythonContext.getThreadState:()Lcom/oracle/graal/python/runtime/PythonContext$PythonThreadState;
aload 1
putfield com.oracle.graal.python.runtime.PythonContext$PythonThreadState.topframeref:Lcom/oracle/graal/python/builtins/objects/frame/PFrame$Reference;
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/oracle/graal/python/runtime/PythonContext;
0 2 1 topframeref Lcom/oracle/graal/python/builtins/objects/frame/PFrame$Reference;
MethodParameters:
Name Flags
topframeref
public com.oracle.graal.python.builtins.objects.frame.PFrame$Reference popTopFrameInfo();
descriptor: ()Lcom/oracle/graal/python/builtins/objects/frame/PFrame$Reference;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=3, args_size=1
start local 0 0: aload 0
invokevirtual com.oracle.graal.python.runtime.PythonContext.getThreadState:()Lcom/oracle/graal/python/runtime/PythonContext$PythonThreadState;
astore 1
start local 1 1: aload 1
getfield com.oracle.graal.python.runtime.PythonContext$PythonThreadState.topframeref:Lcom/oracle/graal/python/builtins/objects/frame/PFrame$Reference;
astore 2
start local 2 2: aload 1
aconst_null
putfield com.oracle.graal.python.runtime.PythonContext$PythonThreadState.topframeref:Lcom/oracle/graal/python/builtins/objects/frame/PFrame$Reference;
3: aload 2
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lcom/oracle/graal/python/runtime/PythonContext;
1 4 1 ts Lcom/oracle/graal/python/runtime/PythonContext$PythonThreadState;
2 4 2 ref Lcom/oracle/graal/python/builtins/objects/frame/PFrame$Reference;
public com.oracle.graal.python.builtins.objects.frame.PFrame$Reference peekTopFrameInfo();
descriptor: ()Lcom/oracle/graal/python/builtins/objects/frame/PFrame$Reference;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual com.oracle.graal.python.runtime.PythonContext.getThreadState:()Lcom/oracle/graal/python/runtime/PythonContext$PythonThreadState;
getfield com.oracle.graal.python.runtime.PythonContext$PythonThreadState.topframeref:Lcom/oracle/graal/python/builtins/objects/frame/PFrame$Reference;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/graal/python/runtime/PythonContext;
public boolean reprEnter(java.lang.Object);
descriptor: (Ljava/lang/Object;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual com.oracle.graal.python.runtime.PythonContext.getThreadState:()Lcom/oracle/graal/python/runtime/PythonContext$PythonThreadState;
aload 1
invokevirtual com.oracle.graal.python.runtime.PythonContext$PythonThreadState.reprEnter:(Ljava/lang/Object;)Z
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/graal/python/runtime/PythonContext;
0 1 1 item Ljava/lang/Object;
MethodParameters:
Name Flags
item
public void reprLeave(java.lang.Object);
descriptor: (Ljava/lang/Object;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual com.oracle.graal.python.runtime.PythonContext.getThreadState:()Lcom/oracle/graal/python/runtime/PythonContext$PythonThreadState;
aload 1
invokevirtual com.oracle.graal.python.runtime.PythonContext$PythonThreadState.reprLeave:(Ljava/lang/Object;)V
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/oracle/graal/python/runtime/PythonContext;
0 2 1 item Ljava/lang/Object;
MethodParameters:
Name Flags
item
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.graal.python.runtime.PythonContext.isInitialized:Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/graal/python/runtime/PythonContext;
public void initialize();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield com.oracle.graal.python.runtime.PythonContext.core:Lcom/oracle/graal/python/runtime/PythonCore;
aload 0
invokeinterface com.oracle.graal.python.runtime.PythonCore.initialize:(Lcom/oracle/graal/python/runtime/PythonContext;)V
1: aload 0
iconst_0
invokevirtual com.oracle.graal.python.runtime.PythonContext.setupRuntimeInformation:(Z)V
2: aload 0
getfield com.oracle.graal.python.runtime.PythonContext.core:Lcom/oracle/graal/python/runtime/PythonCore;
invokeinterface com.oracle.graal.python.runtime.PythonCore.postInitialize:()V
3: invokestatic org.graalvm.nativeimage.ImageInfo.inImageBuildtimeCode:()Z
ifne 5
4: aload 0
invokevirtual com.oracle.graal.python.runtime.PythonContext.importSiteIfForced:()V
5: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lcom/oracle/graal/python/runtime/PythonContext;
public void patch(com.oracle.truffle.api.TruffleLanguage$Env);
descriptor: (Lcom/oracle/truffle/api/TruffleLanguage$Env;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokevirtual com.oracle.graal.python.runtime.PythonContext.setEnv:(Lcom/oracle/truffle/api/TruffleLanguage$Env;)V
1: aload 0
iconst_1
invokevirtual com.oracle.graal.python.runtime.PythonContext.setupRuntimeInformation:(Z)V
2: aload 0
getfield com.oracle.graal.python.runtime.PythonContext.core:Lcom/oracle/graal/python/runtime/PythonCore;
invokeinterface com.oracle.graal.python.runtime.PythonCore.postInitialize:()V
3: aload 0
invokevirtual com.oracle.graal.python.runtime.PythonContext.importSiteIfForced:()V
4: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lcom/oracle/graal/python/runtime/PythonContext;
0 5 1 newEnv Lcom/oracle/truffle/api/TruffleLanguage$Env;
MethodParameters:
Name Flags
newEnv
private void importSiteIfForced();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=2, args_size=1
start local 0 0: aload 0
getstatic com.oracle.graal.python.runtime.PythonOptions.ForceImportSite:Lorg/graalvm/options/OptionKey;
invokevirtual com.oracle.graal.python.runtime.PythonContext.getOption:(Lorg/graalvm/options/OptionKey;)Ljava/lang/Object;
checkcast java.lang.Boolean
invokevirtual java.lang.Boolean.booleanValue:()Z
ifeq 3
1: aload 0
getfield com.oracle.graal.python.runtime.PythonContext.env:Lcom/oracle/truffle/api/TruffleLanguage$Env;
ldc "python"
ldc "import site\n"
ldc "<internal>"
invokestatic com.oracle.truffle.api.source.Source.newBuilder:(Ljava/lang/String;Ljava/lang/CharSequence;Ljava/lang/String;)Lcom/oracle/truffle/api/source/Source$LiteralBuilder;
iconst_1
invokevirtual com.oracle.truffle.api.source.Source$LiteralBuilder.internal:(Z)Lcom/oracle/truffle/api/source/Source$LiteralBuilder;
invokevirtual com.oracle.truffle.api.source.Source$LiteralBuilder.build:()Lcom/oracle/truffle/api/source/Source;
iconst_0
anewarray java.lang.String
invokevirtual com.oracle.truffle.api.TruffleLanguage$Env.parsePublic:(Lcom/oracle/truffle/api/source/Source;[Ljava/lang/String;)Lcom/oracle/truffle/api/CallTarget;
astore 1
start local 1 2: aload 1
iconst_0
anewarray java.lang.Object
invokeinterface com.oracle.truffle.api.CallTarget.call:([Ljava/lang/Object;)Ljava/lang/Object;
pop
end local 1 3: StackMap locals:
StackMap stack:
aload 0
getstatic com.oracle.graal.python.runtime.PythonOptions.WarnOptions:Lorg/graalvm/options/OptionKey;
invokevirtual com.oracle.graal.python.runtime.PythonContext.getOption:(Lorg/graalvm/options/OptionKey;)Ljava/lang/Object;
checkcast java.lang.String
invokevirtual java.lang.String.isEmpty:()Z
ifne 6
4: aload 0
getfield com.oracle.graal.python.runtime.PythonContext.env:Lcom/oracle/truffle/api/TruffleLanguage$Env;
ldc "python"
ldc "import warnings\n"
ldc "<internal>"
invokestatic com.oracle.truffle.api.source.Source.newBuilder:(Ljava/lang/String;Ljava/lang/CharSequence;Ljava/lang/String;)Lcom/oracle/truffle/api/source/Source$LiteralBuilder;
iconst_1
invokevirtual com.oracle.truffle.api.source.Source$LiteralBuilder.internal:(Z)Lcom/oracle/truffle/api/source/Source$LiteralBuilder;
invokevirtual com.oracle.truffle.api.source.Source$LiteralBuilder.build:()Lcom/oracle/truffle/api/source/Source;
iconst_0
anewarray java.lang.String
invokevirtual com.oracle.truffle.api.TruffleLanguage$Env.parsePublic:(Lcom/oracle/truffle/api/source/Source;[Ljava/lang/String;)Lcom/oracle/truffle/api/CallTarget;
astore 1
start local 1 5: aload 1
iconst_0
anewarray java.lang.Object
invokeinterface com.oracle.truffle.api.CallTarget.call:([Ljava/lang/Object;)Ljava/lang/Object;
pop
end local 1 6: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lcom/oracle/graal/python/runtime/PythonContext;
2 3 1 site Lcom/oracle/truffle/api/CallTarget;
5 6 1 site Lcom/oracle/truffle/api/CallTarget;
private void patchPackagePaths(java.lang.String, java.lang.String);
descriptor: (Ljava/lang/String;Ljava/lang/String;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=10, args_size=3
start local 0 start local 1 start local 2 0: invokestatic com.oracle.graal.python.builtins.objects.common.HashingStorageLibrary.getUncached:()Lcom/oracle/graal/python/builtins/objects/common/HashingStorageLibrary;
aload 0
getfield com.oracle.graal.python.runtime.PythonContext.sysModules:Lcom/oracle/graal/python/builtins/objects/dict/PDict;
invokevirtual com.oracle.graal.python.builtins.objects.dict.PDict.getDictStorage:()Lcom/oracle/graal/python/builtins/objects/common/HashingStorage;
invokevirtual com.oracle.graal.python.builtins.objects.common.HashingStorageLibrary.values:(Lcom/oracle/graal/python/builtins/objects/common/HashingStorage;)Lcom/oracle/graal/python/builtins/objects/common/HashingStorageLibrary$HashingStorageIterable;
invokevirtual com.oracle.graal.python.builtins.objects.common.HashingStorageLibrary$HashingStorageIterable.iterator:()Ljava/util/Iterator;
astore 4
goto 28
StackMap locals: com.oracle.graal.python.runtime.PythonContext java.lang.String java.lang.String top java.util.Iterator
StackMap stack:
1: aload 4
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
astore 3
start local 3 2: aload 3
instanceof com.oracle.graal.python.builtins.objects.module.PythonModule
ifeq 28
3: aload 3
checkcast com.oracle.graal.python.builtins.objects.module.PythonModule
ldc "__path__"
invokevirtual com.oracle.graal.python.builtins.objects.module.PythonModule.getAttribute:(Ljava/lang/Object;)Ljava/lang/Object;
astore 5
start local 5 4: aload 5
instanceof com.oracle.graal.python.builtins.objects.list.PList
ifeq 19
5: invokestatic com.oracle.graal.python.builtins.objects.common.SequenceStorageNodes$CopyInternalArrayNode.getUncached:()Lcom/oracle/graal/python/builtins/objects/common/SequenceStorageNodes$CopyInternalArrayNode;
aload 5
checkcast com.oracle.graal.python.builtins.objects.list.PList
invokevirtual com.oracle.graal.python.builtins.objects.list.PList.getSequenceStorage:()Lcom/oracle/graal/python/runtime/sequence/storage/SequenceStorage;
invokevirtual com.oracle.graal.python.builtins.objects.common.SequenceStorageNodes$CopyInternalArrayNode.execute:(Lcom/oracle/graal/python/runtime/sequence/storage/SequenceStorage;)[Ljava/lang/Object;
astore 6
start local 6 6: iconst_0
istore 7
start local 7 7: goto 17
8: StackMap locals: com.oracle.graal.python.runtime.PythonContext java.lang.String java.lang.String java.lang.Object java.util.Iterator java.lang.Object java.lang.Object[] int
StackMap stack:
aload 6
iload 7
aaload
astore 8
start local 8 9: aload 8
instanceof com.oracle.graal.python.builtins.objects.str.PString
ifeq 12
10: aload 8
checkcast com.oracle.graal.python.builtins.objects.str.PString
invokevirtual com.oracle.graal.python.builtins.objects.str.PString.getValue:()Ljava/lang/String;
astore 9
start local 9 11: goto 14
end local 9 StackMap locals: java.lang.Object
StackMap stack:
12: aload 8
instanceof java.lang.String
ifeq 16
13: aload 8
checkcast java.lang.String
astore 9
start local 9 14: StackMap locals: java.lang.String
StackMap stack:
aload 9
aload 1
invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
ifeq 16
15: aload 6
iload 7
aload 9
aload 1
aload 2
invokevirtual java.lang.String.replace:(Ljava/lang/CharSequence;Ljava/lang/CharSequence;)Ljava/lang/String;
aastore
end local 9 end local 8 16: StackMap locals:
StackMap stack:
iinc 7 1
StackMap locals:
StackMap stack:
17: iload 7
aload 6
arraylength
if_icmplt 8
end local 7 18: aload 3
checkcast com.oracle.graal.python.builtins.objects.module.PythonModule
ldc "__path__"
aload 0
getfield com.oracle.graal.python.runtime.PythonContext.core:Lcom/oracle/graal/python/runtime/PythonCore;
invokeinterface com.oracle.graal.python.runtime.PythonCore.factory:()Lcom/oracle/graal/python/runtime/object/PythonObjectFactory;
aload 6
invokevirtual com.oracle.graal.python.runtime.object.PythonObjectFactory.createList:([Ljava/lang/Object;)Lcom/oracle/graal/python/builtins/objects/list/PList;
invokevirtual com.oracle.graal.python.builtins.objects.module.PythonModule.setAttribute:(Ljava/lang/Object;Ljava/lang/Object;)V
end local 6 19: StackMap locals:
StackMap stack:
aload 3
checkcast com.oracle.graal.python.builtins.objects.module.PythonModule
ldc "__file__"
invokevirtual com.oracle.graal.python.builtins.objects.module.PythonModule.getAttribute:(Ljava/lang/Object;)Ljava/lang/Object;
astore 6
start local 6 20: aconst_null
astore 7
start local 7 21: aload 6
instanceof com.oracle.graal.python.builtins.objects.str.PString
ifeq 24
22: aload 6
checkcast com.oracle.graal.python.builtins.objects.str.PString
invokevirtual com.oracle.graal.python.builtins.objects.str.PString.getValue:()Ljava/lang/String;
astore 7
23: goto 26
StackMap locals: java.lang.Object java.lang.String
StackMap stack:
24: aload 6
instanceof java.lang.String
ifeq 26
25: aload 6
checkcast java.lang.String
astore 7
26: StackMap locals:
StackMap stack:
aload 7
ifnull 28
27: aload 3
checkcast com.oracle.graal.python.builtins.objects.module.PythonModule
ldc "__file__"
aload 7
aload 1
aload 2
invokevirtual java.lang.String.replace:(Ljava/lang/CharSequence;Ljava/lang/CharSequence;)Ljava/lang/String;
invokevirtual com.oracle.graal.python.builtins.objects.module.PythonModule.setAttribute:(Ljava/lang/Object;Ljava/lang/Object;)V
end local 7 end local 6 end local 5 end local 3 28: StackMap locals: com.oracle.graal.python.runtime.PythonContext java.lang.String java.lang.String top java.util.Iterator
StackMap stack:
aload 4
invokeinterface java.util.Iterator.hasNext:()Z
ifne 1
29: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 30 0 this Lcom/oracle/graal/python/runtime/PythonContext;
0 30 1 from Ljava/lang/String;
0 30 2 to Ljava/lang/String;
2 28 3 v Ljava/lang/Object;
4 28 5 path Ljava/lang/Object;
6 19 6 paths [Ljava/lang/Object;
7 18 7 i I
9 16 8 pathElement Ljava/lang/Object;
11 12 9 strPath Ljava/lang/String;
14 16 9 strPath Ljava/lang/String;
20 28 6 file Ljava/lang/Object;
21 28 7 strFile Ljava/lang/String;
MethodParameters:
Name Flags
from
to
private void setupRuntimeInformation(boolean);
descriptor: (Z)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=4, args_size=2
start local 0 start local 1 0: aload 0
aload 0
ldc ""
invokestatic com.oracle.graal.python.runtime.NFIZlibSupport.createNative:(Lcom/oracle/graal/python/runtime/PythonContext;Ljava/lang/String;)Lcom/oracle/graal/python/runtime/NFIZlibSupport;
putfield com.oracle.graal.python.runtime.PythonContext.nativeZlib:Lcom/oracle/graal/python/runtime/NFIZlibSupport;
1: aload 0
aload 0
ldc ""
invokestatic com.oracle.graal.python.runtime.NFIBz2Support.createNative:(Lcom/oracle/graal/python/runtime/PythonContext;Ljava/lang/String;)Lcom/oracle/graal/python/runtime/NFIBz2Support;
putfield com.oracle.graal.python.runtime.PythonContext.nativeBz2lib:Lcom/oracle/graal/python/runtime/NFIBz2Support;
2: aload 0
getfield com.oracle.graal.python.runtime.PythonContext.core:Lcom/oracle/graal/python/runtime/PythonCore;
ldc "sys"
invokeinterface com.oracle.graal.python.runtime.PythonCore.lookupBuiltinModule:(Ljava/lang/String;)Lcom/oracle/graal/python/builtins/objects/module/PythonModule;
astore 2
start local 2 3: aload 0
aload 2
ldc "modules"
invokevirtual com.oracle.graal.python.builtins.objects.module.PythonModule.getAttribute:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast com.oracle.graal.python.builtins.objects.dict.PDict
putfield com.oracle.graal.python.runtime.PythonContext.sysModules:Lcom/oracle/graal/python/builtins/objects/dict/PDict;
4: aload 0
aload 0
getfield com.oracle.graal.python.runtime.PythonContext.core:Lcom/oracle/graal/python/runtime/PythonCore;
ldc "builtins"
invokeinterface com.oracle.graal.python.runtime.PythonCore.lookupBuiltinModule:(Ljava/lang/String;)Lcom/oracle/graal/python/builtins/objects/module/PythonModule;
putfield com.oracle.graal.python.runtime.PythonContext.builtinsModule:Lcom/oracle/graal/python/builtins/objects/module/PythonModule;
5: aload 0
aload 0
getfield com.oracle.graal.python.runtime.PythonContext.core:Lcom/oracle/graal/python/runtime/PythonCore;
invokeinterface com.oracle.graal.python.runtime.PythonCore.factory:()Lcom/oracle/graal/python/runtime/object/PythonObjectFactory;
ldc "__main__"
invokevirtual com.oracle.graal.python.runtime.object.PythonObjectFactory.createPythonModule:(Ljava/lang/String;)Lcom/oracle/graal/python/builtins/objects/module/PythonModule;
putfield com.oracle.graal.python.runtime.PythonContext.mainModule:Lcom/oracle/graal/python/builtins/objects/module/PythonModule;
6: aload 0
getfield com.oracle.graal.python.runtime.PythonContext.mainModule:Lcom/oracle/graal/python/builtins/objects/module/PythonModule;
ldc "__builtins__"
aload 0
getfield com.oracle.graal.python.runtime.PythonContext.builtinsModule:Lcom/oracle/graal/python/builtins/objects/module/PythonModule;
invokevirtual com.oracle.graal.python.builtins.objects.module.PythonModule.setAttribute:(Ljava/lang/Object;Ljava/lang/Object;)V
7: aload 0
getfield com.oracle.graal.python.runtime.PythonContext.mainModule:Lcom/oracle/graal/python/builtins/objects/module/PythonModule;
ldc "__annotations__"
aload 0
getfield com.oracle.graal.python.runtime.PythonContext.core:Lcom/oracle/graal/python/runtime/PythonCore;
invokeinterface com.oracle.graal.python.runtime.PythonCore.factory:()Lcom/oracle/graal/python/runtime/object/PythonObjectFactory;
invokevirtual com.oracle.graal.python.runtime.object.PythonObjectFactory.createDict:()Lcom/oracle/graal/python/builtins/objects/dict/PDict;
invokevirtual com.oracle.graal.python.builtins.objects.module.PythonModule.setAttribute:(Ljava/lang/Object;Ljava/lang/Object;)V
8: invokestatic com.oracle.graal.python.builtins.objects.object.PythonObjectLibrary.getUncached:()Lcom/oracle/graal/python/builtins/objects/object/PythonObjectLibrary;
aload 0
getfield com.oracle.graal.python.runtime.PythonContext.mainModule:Lcom/oracle/graal/python/builtins/objects/module/PythonModule;
aload 0
getfield com.oracle.graal.python.runtime.PythonContext.core:Lcom/oracle/graal/python/runtime/PythonCore;
invokeinterface com.oracle.graal.python.runtime.PythonCore.factory:()Lcom/oracle/graal/python/runtime/object/PythonObjectFactory;
aload 0
getfield com.oracle.graal.python.runtime.PythonContext.mainModule:Lcom/oracle/graal/python/builtins/objects/module/PythonModule;
invokevirtual com.oracle.graal.python.runtime.object.PythonObjectFactory.createDictFixedStorage:(Lcom/oracle/graal/python/builtins/objects/object/PythonObject;)Lcom/oracle/graal/python/builtins/objects/dict/PDict;
invokevirtual com.oracle.graal.python.builtins.objects.object.PythonObjectLibrary.setDict:(Ljava/lang/Object;Lcom/oracle/graal/python/builtins/objects/dict/PDict;)V
9: goto 13
StackMap locals: com.oracle.graal.python.runtime.PythonContext int com.oracle.graal.python.builtins.objects.module.PythonModule
StackMap stack: com.oracle.truffle.api.interop.UnsupportedMessageException
10: astore 3
start local 3 11: invokestatic com.oracle.truffle.api.CompilerDirectives.transferToInterpreterAndInvalidate:()V
12: new java.lang.IllegalStateException
dup
ldc "This cannot happen - the main module doesn't accept a __dict__"
aload 3
invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
athrow
end local 3 13: StackMap locals:
StackMap stack:
aload 0
getfield com.oracle.graal.python.runtime.PythonContext.sysModules:Lcom/oracle/graal/python/builtins/objects/dict/PDict;
ldc "__main__"
aload 0
getfield com.oracle.graal.python.runtime.PythonContext.mainModule:Lcom/oracle/graal/python/builtins/objects/module/PythonModule;
invokevirtual com.oracle.graal.python.builtins.objects.dict.PDict.setItem:(Ljava/lang/Object;Ljava/lang/Object;)V
14: invokestatic org.graalvm.nativeimage.ImageInfo.inImageBuildtimeCode:()Z
ifeq 17
15: aload 0
aload 0
invokevirtual com.oracle.graal.python.runtime.PythonContext.getStdlibHome:()Ljava/lang/String;
ldc "!stdLibHome!"
invokevirtual com.oracle.graal.python.runtime.PythonContext.patchPackagePaths:(Ljava/lang/String;Ljava/lang/String;)V
16: goto 19
StackMap locals:
StackMap stack:
17: iload 1
ifeq 19
invokestatic org.graalvm.nativeimage.ImageInfo.inImageRuntimeCode:()Z
ifeq 19
18: aload 0
ldc "!stdLibHome!"
aload 0
invokevirtual com.oracle.graal.python.runtime.PythonContext.getStdlibHome:()Ljava/lang/String;
invokevirtual com.oracle.graal.python.runtime.PythonContext.patchPackagePaths:(Ljava/lang/String;Ljava/lang/String;)V
19: StackMap locals:
StackMap stack:
aload 0
invokedynamic accept()Lcom/oracle/graal/python/util/Consumer;
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;)V
com/oracle/graal/python/runtime/PythonContext.lambda$0(Lcom/oracle/graal/python/runtime/PythonContext$PythonThreadState;)V (6)
(Lcom/oracle/graal/python/runtime/PythonContext$PythonThreadState;)V
invokevirtual com.oracle.graal.python.runtime.PythonContext.applyToAllThreadStates:(Lcom/oracle/graal/python/util/Consumer;)V
20: aload 0
iconst_1
putfield com.oracle.graal.python.runtime.PythonContext.isInitialized:Z
21: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 22 0 this Lcom/oracle/graal/python/runtime/PythonContext;
0 22 1 isPatching Z
3 22 2 sysModule Lcom/oracle/graal/python/builtins/objects/module/PythonModule;
11 13 3 e Lcom/oracle/truffle/api/interop/UnsupportedMessageException;
Exception table:
from to target type
8 9 10 Class com.oracle.truffle.api.interop.UnsupportedMessageException
MethodParameters:
Name Flags
isPatching
public void initializeHomeAndPrefixPaths(com.oracle.truffle.api.TruffleLanguage$Env, java.lang.String);
descriptor: (Lcom/oracle/truffle/api/TruffleLanguage$Env;Ljava/lang/String;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=9, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
invokevirtual com.oracle.truffle.api.TruffleLanguage$Env.getOptions:()Lorg/graalvm/options/OptionValues;
getstatic com.oracle.graal.python.runtime.PythonOptions.SysPrefix:Lorg/graalvm/options/OptionKey;
invokeinterface org.graalvm.options.OptionValues.get:(Lorg/graalvm/options/OptionKey;)Ljava/lang/Object;
checkcast java.lang.String
putfield com.oracle.graal.python.runtime.PythonContext.sysPrefix:Ljava/lang/String;
1: aload 0
aload 1
invokevirtual com.oracle.truffle.api.TruffleLanguage$Env.getOptions:()Lorg/graalvm/options/OptionValues;
getstatic com.oracle.graal.python.runtime.PythonOptions.SysBasePrefix:Lorg/graalvm/options/OptionKey;
invokeinterface org.graalvm.options.OptionValues.get:(Lorg/graalvm/options/OptionKey;)Ljava/lang/Object;
checkcast java.lang.String
putfield com.oracle.graal.python.runtime.PythonContext.basePrefix:Ljava/lang/String;
2: aload 0
aload 1
invokevirtual com.oracle.truffle.api.TruffleLanguage$Env.getOptions:()Lorg/graalvm/options/OptionValues;
getstatic com.oracle.graal.python.runtime.PythonOptions.CoreHome:Lorg/graalvm/options/OptionKey;
invokeinterface org.graalvm.options.OptionValues.get:(Lorg/graalvm/options/OptionKey;)Ljava/lang/Object;
checkcast java.lang.String
putfield com.oracle.graal.python.runtime.PythonContext.coreHome:Ljava/lang/String;
3: aload 0
aload 1
invokevirtual com.oracle.truffle.api.TruffleLanguage$Env.getOptions:()Lorg/graalvm/options/OptionValues;
getstatic com.oracle.graal.python.runtime.PythonOptions.StdLibHome:Lorg/graalvm/options/OptionKey;
invokeinterface org.graalvm.options.OptionValues.get:(Lorg/graalvm/options/OptionKey;)Ljava/lang/Object;
checkcast java.lang.String
putfield com.oracle.graal.python.runtime.PythonContext.stdLibHome:Ljava/lang/String;
4: aload 0
aload 1
invokevirtual com.oracle.truffle.api.TruffleLanguage$Env.getOptions:()Lorg/graalvm/options/OptionValues;
getstatic com.oracle.graal.python.runtime.PythonOptions.CAPI:Lorg/graalvm/options/OptionKey;
invokeinterface org.graalvm.options.OptionValues.get:(Lorg/graalvm/options/OptionKey;)Ljava/lang/Object;
checkcast java.lang.String
putfield com.oracle.graal.python.runtime.PythonContext.capiHome:Ljava/lang/String;
5: aload 0
aload 2
invokedynamic get(Lcom/oracle/graal/python/runtime/PythonContext;Ljava/lang/String;)Lcom/oracle/graal/python/util/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;
com/oracle/graal/python/runtime/PythonContext.lambda$1(Ljava/lang/String;)Ljava/lang/String; (7)
()Ljava/lang/String;
invokestatic com.oracle.graal.python.runtime.PythonCore.writeInfo:(Lcom/oracle/graal/python/util/Supplier;)V
6: aconst_null
astore 3
start local 3 7: ldc "GRAAL_PYTHONHOME"
invokestatic java.lang.System.getenv:(Ljava/lang/String;)Ljava/lang/String;
astore 3
8: goto 10
StackMap locals: com.oracle.graal.python.runtime.PythonContext com.oracle.truffle.api.TruffleLanguage$Env java.lang.String java.lang.String
StackMap stack: java.lang.SecurityException
9: pop
10: StackMap locals:
StackMap stack:
aload 2
ifnull 13
aload 3
ifnonnull 13
11: aload 1
aload 2
invokevirtual com.oracle.truffle.api.TruffleLanguage$Env.getInternalTruffleFile:(Ljava/lang/String;)Lcom/oracle/truffle/api/TruffleFile;
astore 4
start local 4 12: goto 25
end local 4 StackMap locals:
StackMap stack:
13: aload 3
ifnull 24
14: iconst_0
istore 5
start local 5 15: aconst_null
astore 6
start local 6 16: aload 1
aload 3
invokevirtual com.oracle.truffle.api.TruffleLanguage$Env.getInternalTruffleFile:(Ljava/lang/String;)Lcom/oracle/truffle/api/TruffleFile;
astore 6
17: aload 6
iconst_0
anewarray java.nio.file.LinkOption
invokevirtual com.oracle.truffle.api.TruffleFile.isDirectory:([Ljava/nio/file/LinkOption;)Z
istore 5
18: goto 20
StackMap locals: com.oracle.graal.python.runtime.PythonContext com.oracle.truffle.api.TruffleLanguage$Env java.lang.String java.lang.String top int com.oracle.truffle.api.TruffleFile
StackMap stack: java.lang.SecurityException
19: pop
20: StackMap locals:
StackMap stack:
iload 5
ifeq 21
aload 6
goto 22
StackMap locals:
StackMap stack:
21: aconst_null
StackMap locals:
StackMap stack: com.oracle.truffle.api.TruffleFile
22: astore 4
end local 6 end local 5 start local 4 23: goto 25
end local 4 24: StackMap locals: com.oracle.graal.python.runtime.PythonContext com.oracle.truffle.api.TruffleLanguage$Env java.lang.String java.lang.String
StackMap stack:
aconst_null
astore 4
start local 4 25: StackMap locals: com.oracle.truffle.api.TruffleFile
StackMap stack:
aload 4
ifnull 54
26: aload 0
getfield com.oracle.graal.python.runtime.PythonContext.sysPrefix:Ljava/lang/String;
invokevirtual java.lang.String.isEmpty:()Z
ifeq 28
27: aload 0
aload 4
invokevirtual com.oracle.truffle.api.TruffleFile.getAbsoluteFile:()Lcom/oracle/truffle/api/TruffleFile;
invokevirtual com.oracle.truffle.api.TruffleFile.getPath:()Ljava/lang/String;
putfield com.oracle.graal.python.runtime.PythonContext.sysPrefix:Ljava/lang/String;
28: StackMap locals:
StackMap stack:
aload 0
getfield com.oracle.graal.python.runtime.PythonContext.basePrefix:Ljava/lang/String;
invokevirtual java.lang.String.isEmpty:()Z
ifeq 30
29: aload 0
aload 4
invokevirtual com.oracle.truffle.api.TruffleFile.getAbsoluteFile:()Lcom/oracle/truffle/api/TruffleFile;
invokevirtual com.oracle.truffle.api.TruffleFile.getPath:()Ljava/lang/String;
putfield com.oracle.graal.python.runtime.PythonContext.basePrefix:Ljava/lang/String;
30: StackMap locals:
StackMap stack:
aload 0
getfield com.oracle.graal.python.runtime.PythonContext.coreHome:Ljava/lang/String;
invokevirtual java.lang.String.isEmpty:()Z
ifeq 39
31: aload 4
invokevirtual com.oracle.truffle.api.TruffleFile.list:()Ljava/util/Collection;
invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
astore 6
goto 36
StackMap locals: com.oracle.graal.python.runtime.PythonContext com.oracle.truffle.api.TruffleLanguage$Env java.lang.String java.lang.String com.oracle.truffle.api.TruffleFile top java.util.Iterator
StackMap stack:
32: aload 6
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast com.oracle.truffle.api.TruffleFile
astore 5
start local 5 33: aload 5
invokevirtual com.oracle.truffle.api.TruffleFile.getName:()Ljava/lang/String;
ldc "lib-graalpython"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 36
aload 5
iconst_0
anewarray java.nio.file.LinkOption
invokevirtual com.oracle.truffle.api.TruffleFile.isDirectory:([Ljava/nio/file/LinkOption;)Z
ifeq 36
34: aload 0
aload 5
invokevirtual com.oracle.truffle.api.TruffleFile.getPath:()Ljava/lang/String;
putfield com.oracle.graal.python.runtime.PythonContext.coreHome:Ljava/lang/String;
35: goto 39
end local 5 36: StackMap locals:
StackMap stack:
aload 6
invokeinterface java.util.Iterator.hasNext:()Z
ifne 32
37: goto 39
StackMap locals: com.oracle.graal.python.runtime.PythonContext com.oracle.truffle.api.TruffleLanguage$Env java.lang.String java.lang.String com.oracle.truffle.api.TruffleFile
StackMap stack: java.lang.Exception
38: pop
39: StackMap locals:
StackMap stack:
aload 0
getfield com.oracle.graal.python.runtime.PythonContext.stdLibHome:Ljava/lang/String;
invokevirtual java.lang.String.isEmpty:()Z
ifeq 52
40: aload 4
invokevirtual com.oracle.truffle.api.TruffleFile.list:()Ljava/util/Collection;
invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
astore 6
goto 49
StackMap locals: com.oracle.graal.python.runtime.PythonContext com.oracle.truffle.api.TruffleLanguage$Env java.lang.String java.lang.String com.oracle.truffle.api.TruffleFile top java.util.Iterator
StackMap stack:
41: aload 6
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast com.oracle.truffle.api.TruffleFile
astore 5
start local 5 42: aload 5
invokevirtual com.oracle.truffle.api.TruffleFile.getName:()Ljava/lang/String;
ldc "lib-python"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 49
aload 5
iconst_0
anewarray java.nio.file.LinkOption
invokevirtual com.oracle.truffle.api.TruffleFile.isDirectory:([Ljava/nio/file/LinkOption;)Z
ifeq 49
43: aload 5
invokevirtual com.oracle.truffle.api.TruffleFile.list:()Ljava/util/Collection;
invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
astore 8
goto 48
StackMap locals: com.oracle.graal.python.runtime.PythonContext com.oracle.truffle.api.TruffleLanguage$Env java.lang.String java.lang.String com.oracle.truffle.api.TruffleFile com.oracle.truffle.api.TruffleFile java.util.Iterator top java.util.Iterator
StackMap stack:
44: aload 8
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast com.oracle.truffle.api.TruffleFile
astore 7
start local 7 45: aload 7
invokevirtual com.oracle.truffle.api.TruffleFile.getName:()Ljava/lang/String;
ldc "3"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 48
aload 5
iconst_0
anewarray java.nio.file.LinkOption
invokevirtual com.oracle.truffle.api.TruffleFile.isDirectory:([Ljava/nio/file/LinkOption;)Z
ifeq 48
46: aload 0
aload 7
invokevirtual com.oracle.truffle.api.TruffleFile.getPath:()Ljava/lang/String;
putfield com.oracle.graal.python.runtime.PythonContext.stdLibHome:Ljava/lang/String;
47: goto 52
end local 7 48: StackMap locals:
StackMap stack:
aload 8
invokeinterface java.util.Iterator.hasNext:()Z
ifne 44
end local 5 49: StackMap locals: com.oracle.graal.python.runtime.PythonContext com.oracle.truffle.api.TruffleLanguage$Env java.lang.String java.lang.String com.oracle.truffle.api.TruffleFile top java.util.Iterator
StackMap stack:
aload 6
invokeinterface java.util.Iterator.hasNext:()Z
ifne 41
50: goto 52
StackMap locals: com.oracle.graal.python.runtime.PythonContext com.oracle.truffle.api.TruffleLanguage$Env java.lang.String java.lang.String com.oracle.truffle.api.TruffleFile
StackMap stack: java.lang.Exception
51: pop
52: StackMap locals:
StackMap stack:
aload 0
getfield com.oracle.graal.python.runtime.PythonContext.capiHome:Ljava/lang/String;
invokevirtual java.lang.String.isEmpty:()Z
ifeq 54
53: aload 0
aload 0
getfield com.oracle.graal.python.runtime.PythonContext.coreHome:Ljava/lang/String;
putfield com.oracle.graal.python.runtime.PythonContext.capiHome:Ljava/lang/String;
54: StackMap locals:
StackMap stack:
invokestatic org.graalvm.nativeimage.ImageInfo.inImageBuildtimeCode:()Z
ifeq 64
55: aload 1
aload 0
getfield com.oracle.graal.python.runtime.PythonContext.basePrefix:Ljava/lang/String;
invokevirtual com.oracle.truffle.api.TruffleLanguage$Env.getInternalTruffleFile:(Ljava/lang/String;)Lcom/oracle/truffle/api/TruffleFile;
invokevirtual com.oracle.truffle.api.TruffleFile.getAbsoluteFile:()Lcom/oracle/truffle/api/TruffleFile;
astore 5
start local 5 56: aload 1
aload 5
invokevirtual com.oracle.truffle.api.TruffleLanguage$Env.setCurrentWorkingDirectory:(Lcom/oracle/truffle/api/TruffleFile;)V
57: aload 0
ldc "."
putfield com.oracle.graal.python.runtime.PythonContext.basePrefix:Ljava/lang/String;
58: aload 0
aload 5
aload 1
aload 0
getfield com.oracle.graal.python.runtime.PythonContext.sysPrefix:Ljava/lang/String;
invokevirtual com.oracle.truffle.api.TruffleLanguage$Env.getInternalTruffleFile:(Ljava/lang/String;)Lcom/oracle/truffle/api/TruffleFile;
invokevirtual com.oracle.truffle.api.TruffleFile.relativize:(Lcom/oracle/truffle/api/TruffleFile;)Lcom/oracle/truffle/api/TruffleFile;
invokevirtual com.oracle.truffle.api.TruffleFile.getPath:()Ljava/lang/String;
putfield com.oracle.graal.python.runtime.PythonContext.sysPrefix:Ljava/lang/String;
59: aload 0
getfield com.oracle.graal.python.runtime.PythonContext.sysPrefix:Ljava/lang/String;
invokevirtual java.lang.String.isEmpty:()Z
ifeq 61
60: aload 0
ldc "."
putfield com.oracle.graal.python.runtime.PythonContext.sysPrefix:Ljava/lang/String;
61: StackMap locals: com.oracle.truffle.api.TruffleFile
StackMap stack:
aload 0
aload 5
aload 1
aload 0
getfield com.oracle.graal.python.runtime.PythonContext.coreHome:Ljava/lang/String;
invokevirtual com.oracle.truffle.api.TruffleLanguage$Env.getInternalTruffleFile:(Ljava/lang/String;)Lcom/oracle/truffle/api/TruffleFile;
invokevirtual com.oracle.truffle.api.TruffleFile.relativize:(Lcom/oracle/truffle/api/TruffleFile;)Lcom/oracle/truffle/api/TruffleFile;
invokevirtual com.oracle.truffle.api.TruffleFile.getPath:()Ljava/lang/String;
putfield com.oracle.graal.python.runtime.PythonContext.coreHome:Ljava/lang/String;
62: aload 0
aload 5
aload 1
aload 0
getfield com.oracle.graal.python.runtime.PythonContext.stdLibHome:Ljava/lang/String;
invokevirtual com.oracle.truffle.api.TruffleLanguage$Env.getInternalTruffleFile:(Ljava/lang/String;)Lcom/oracle/truffle/api/TruffleFile;
invokevirtual com.oracle.truffle.api.TruffleFile.relativize:(Lcom/oracle/truffle/api/TruffleFile;)Lcom/oracle/truffle/api/TruffleFile;
invokevirtual com.oracle.truffle.api.TruffleFile.getPath:()Ljava/lang/String;
putfield com.oracle.graal.python.runtime.PythonContext.stdLibHome:Ljava/lang/String;
63: aload 0
aload 5
aload 1
aload 0
getfield com.oracle.graal.python.runtime.PythonContext.capiHome:Ljava/lang/String;
invokevirtual com.oracle.truffle.api.TruffleLanguage$Env.getInternalTruffleFile:(Ljava/lang/String;)Lcom/oracle/truffle/api/TruffleFile;
invokevirtual com.oracle.truffle.api.TruffleFile.relativize:(Lcom/oracle/truffle/api/TruffleFile;)Lcom/oracle/truffle/api/TruffleFile;
invokevirtual com.oracle.truffle.api.TruffleFile.getPath:()Ljava/lang/String;
putfield com.oracle.graal.python.runtime.PythonContext.capiHome:Ljava/lang/String;
end local 5 64: StackMap locals:
StackMap stack:
aload 0
aload 4
aload 1
invokedynamic get(Lcom/oracle/graal/python/runtime/PythonContext;Lcom/oracle/truffle/api/TruffleFile;Lcom/oracle/truffle/api/TruffleLanguage$Env;)Lcom/oracle/graal/python/util/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;
com/oracle/graal/python/runtime/PythonContext.lambda$2(Lcom/oracle/truffle/api/TruffleFile;Lcom/oracle/truffle/api/TruffleLanguage$Env;)Ljava/lang/String; (7)
()Ljava/lang/String;
invokestatic com.oracle.graal.python.runtime.PythonCore.writeInfo:(Lcom/oracle/graal/python/util/Supplier;)V
65: return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 66 0 this Lcom/oracle/graal/python/runtime/PythonContext;
0 66 1 newEnv Lcom/oracle/truffle/api/TruffleLanguage$Env;
0 66 2 languageHome Ljava/lang/String;
7 66 3 envHome Ljava/lang/String;
12 13 4 home Lcom/oracle/truffle/api/TruffleFile;
23 24 4 home Lcom/oracle/truffle/api/TruffleFile;
25 66 4 home Lcom/oracle/truffle/api/TruffleFile;
15 23 5 envHomeIsDirectory Z
16 23 6 envHomeFile Lcom/oracle/truffle/api/TruffleFile;
33 36 5 f Lcom/oracle/truffle/api/TruffleFile;
42 49 5 f Lcom/oracle/truffle/api/TruffleFile;
45 48 7 f2 Lcom/oracle/truffle/api/TruffleFile;
56 64 5 base Lcom/oracle/truffle/api/TruffleFile;
Exception table:
from to target type
7 8 9 Class java.lang.SecurityException
16 18 19 Class java.lang.SecurityException
31 37 38 Class java.lang.SecurityException
31 37 38 Class java.io.IOException
40 50 51 Class java.lang.SecurityException
40 50 51 Class java.io.IOException
MethodParameters:
Name Flags
newEnv
languageHome
public java.lang.String getSysPrefix();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield com.oracle.graal.python.runtime.PythonContext.sysPrefix:Ljava/lang/String;
invokevirtual java.lang.String.isEmpty:()Z
ifeq 3
1: ldc "could not determine Graal.Python's sys prefix path - you may need to pass --python.SysPrefix."
invokestatic com.oracle.graal.python.runtime.PythonContext.writeWarning:(Ljava/lang/String;)V
2: aload 0
ldc "/"
putfield com.oracle.graal.python.runtime.PythonContext.sysPrefix:Ljava/lang/String;
3: StackMap locals:
StackMap stack:
aload 0
getfield com.oracle.graal.python.runtime.PythonContext.sysPrefix:Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lcom/oracle/graal/python/runtime/PythonContext;
RuntimeVisibleAnnotations:
com.oracle.truffle.api.CompilerDirectives$TruffleBoundary()
public java.lang.String getSysBasePrefix();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=1
start local 0 0: aload 0
getfield com.oracle.graal.python.runtime.PythonContext.basePrefix:Ljava/lang/String;
invokevirtual java.lang.String.isEmpty:()Z
ifeq 5
1: aload 0
getfield com.oracle.graal.python.runtime.PythonContext.language:Lcom/oracle/graal/python/PythonLanguage;
invokevirtual com.oracle.graal.python.PythonLanguage.getHome:()Ljava/lang/String;
astore 1
start local 1 2: aload 1
ifnull 3
aload 1
invokevirtual java.lang.String.isEmpty:()Z
ifeq 4
3: StackMap locals: java.lang.String
StackMap stack:
ldc "/"
astore 1
4: StackMap locals:
StackMap stack:
aload 0
aload 1
putfield com.oracle.graal.python.runtime.PythonContext.basePrefix:Ljava/lang/String;
end local 1 5: StackMap locals:
StackMap stack:
aload 0
getfield com.oracle.graal.python.runtime.PythonContext.basePrefix:Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lcom/oracle/graal/python/runtime/PythonContext;
2 5 1 homePrefix Ljava/lang/String;
RuntimeVisibleAnnotations:
com.oracle.truffle.api.CompilerDirectives$TruffleBoundary()
public java.lang.String getCoreHome();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield com.oracle.graal.python.runtime.PythonContext.coreHome:Ljava/lang/String;
invokevirtual java.lang.String.isEmpty:()Z
ifeq 3
1: ldc "could not determine Graal.Python's core path - you may need to pass --python.CoreHome."
invokestatic com.oracle.graal.python.runtime.PythonContext.writeWarning:(Ljava/lang/String;)V
2: aload 0
ldc "/lib-graalpython"
putfield com.oracle.graal.python.runtime.PythonContext.coreHome:Ljava/lang/String;
3: StackMap locals:
StackMap stack:
aload 0
getfield com.oracle.graal.python.runtime.PythonContext.coreHome:Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lcom/oracle/graal/python/runtime/PythonContext;
RuntimeVisibleAnnotations:
com.oracle.truffle.api.CompilerDirectives$TruffleBoundary()
public java.lang.String getStdlibHome();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield com.oracle.graal.python.runtime.PythonContext.stdLibHome:Ljava/lang/String;
invokevirtual java.lang.String.isEmpty:()Z
ifeq 3
1: ldc "could not determine Graal.Python's standard library path. You need to pass --python.StdLibHome if you want to use the standard library."
invokestatic com.oracle.graal.python.runtime.PythonContext.writeWarning:(Ljava/lang/String;)V
2: aload 0
ldc "/lib-python/3"
putfield com.oracle.graal.python.runtime.PythonContext.stdLibHome:Ljava/lang/String;
3: StackMap locals:
StackMap stack:
aload 0
getfield com.oracle.graal.python.runtime.PythonContext.stdLibHome:Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lcom/oracle/graal/python/runtime/PythonContext;
RuntimeVisibleAnnotations:
com.oracle.truffle.api.CompilerDirectives$TruffleBoundary()
public java.lang.String getCoreHomeOrFail();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
getfield com.oracle.graal.python.runtime.PythonContext.coreHome:Ljava/lang/String;
invokevirtual java.lang.String.isEmpty:()Z
ifeq 2
1: new java.lang.RuntimeException
dup
ldc "could not determine Graal.Python's core path - you must pass --python.CoreHome."
invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/String;)V
athrow
2: StackMap locals:
StackMap stack:
aload 0
getfield com.oracle.graal.python.runtime.PythonContext.coreHome:Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/oracle/graal/python/runtime/PythonContext;
RuntimeVisibleAnnotations:
com.oracle.truffle.api.CompilerDirectives$TruffleBoundary()
public java.lang.String getCAPIHome();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield com.oracle.graal.python.runtime.PythonContext.capiHome:Ljava/lang/String;
invokevirtual java.lang.String.isEmpty:()Z
ifeq 3
1: ldc "could not determine Graal.Python's C API library path. You need to pass --python.CAPI if you want to use the C extension modules."
invokestatic com.oracle.graal.python.runtime.PythonContext.writeWarning:(Ljava/lang/String;)V
2: aload 0
getfield com.oracle.graal.python.runtime.PythonContext.coreHome:Ljava/lang/String;
areturn
3: StackMap locals:
StackMap stack:
aload 0
getfield com.oracle.graal.python.runtime.PythonContext.capiHome:Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lcom/oracle/graal/python/runtime/PythonContext;
RuntimeVisibleAnnotations:
com.oracle.truffle.api.CompilerDirectives$TruffleBoundary()
private static void writeWarning(java.lang.String);
descriptor: (Ljava/lang/String;)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: getstatic com.oracle.graal.python.runtime.PythonContext.LOGGER:Lcom/oracle/truffle/api/TruffleLogger;
aload 0
invokevirtual com.oracle.truffle.api.TruffleLogger.warning:(Ljava/lang/String;)V
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 warning Ljava/lang/String;
MethodParameters:
Name Flags
warning
public void registerAtexitHook(com.oracle.graal.python.util.ShutdownHook);
descriptor: (Lcom/oracle/graal/python/util/ShutdownHook;)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.graal.python.runtime.PythonContext.shutdownHooks:Ljava/util/List;
aload 1
invokeinterface java.util.List.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/graal/python/runtime/PythonContext;
0 2 1 shutdownHook Lcom/oracle/graal/python/util/ShutdownHook;
RuntimeVisibleAnnotations:
com.oracle.truffle.api.CompilerDirectives$TruffleBoundary()
MethodParameters:
Name Flags
shutdownHook
public void registerAtexitHook(java.lang.Object, java.lang.Object[], com.oracle.graal.python.builtins.objects.function.PKeyword[], com.oracle.truffle.api.CallTarget);
descriptor: (Ljava/lang/Object;[Ljava/lang/Object;[Lcom/oracle/graal/python/builtins/objects/function/PKeyword;Lcom/oracle/truffle/api/CallTarget;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=7, locals=5, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 0
getfield com.oracle.graal.python.runtime.PythonContext.atExitHooks:Ljava/util/List;
new com.oracle.graal.python.runtime.PythonContext$AtExitHook
dup
aload 1
aload 2
aload 3
aload 4
invokespecial com.oracle.graal.python.runtime.PythonContext$AtExitHook.<init>:(Ljava/lang/Object;[Ljava/lang/Object;[Lcom/oracle/graal/python/builtins/objects/function/PKeyword;Lcom/oracle/truffle/api/CallTarget;)V
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
1: return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/oracle/graal/python/runtime/PythonContext;
0 2 1 callable Ljava/lang/Object;
0 2 2 arguments [Ljava/lang/Object;
0 2 3 keywords [Lcom/oracle/graal/python/builtins/objects/function/PKeyword;
0 2 4 ct Lcom/oracle/truffle/api/CallTarget;
RuntimeVisibleAnnotations:
com.oracle.truffle.api.CompilerDirectives$TruffleBoundary()
MethodParameters:
Name Flags
callable
arguments
keywords
ct
public void unregisterAtexitHook(java.lang.Object);
descriptor: (Ljava/lang/Object;)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.graal.python.runtime.PythonContext.atExitHooks:Ljava/util/List;
aload 1
invokedynamic test(Ljava/lang/Object;)Ljava/util/function/Predicate;
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;)Z
com/oracle/graal/python/runtime/PythonContext.lambda$3(Ljava/lang/Object;Lcom/oracle/graal/python/runtime/PythonContext$AtExitHook;)Z (6)
(Lcom/oracle/graal/python/runtime/PythonContext$AtExitHook;)Z
invokeinterface java.util.List.removeIf:(Ljava/util/function/Predicate;)Z
pop
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/oracle/graal/python/runtime/PythonContext;
0 2 1 callable Ljava/lang/Object;
RuntimeVisibleAnnotations:
com.oracle.truffle.api.CompilerDirectives$TruffleBoundary()
MethodParameters:
Name Flags
callable
public void clearAtexitHooks();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield com.oracle.graal.python.runtime.PythonContext.atExitHooks:Ljava/util/List;
invokeinterface java.util.List.clear:()V
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/oracle/graal/python/runtime/PythonContext;
RuntimeVisibleAnnotations:
com.oracle.truffle.api.CompilerDirectives$TruffleBoundary()
public void finalizeContext();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
iconst_1
putfield com.oracle.graal.python.runtime.PythonContext.finalizing:Z
1: aload 0
invokevirtual com.oracle.graal.python.runtime.PythonContext.shutdownThreads:()V
2: aload 0
invokevirtual com.oracle.graal.python.runtime.PythonContext.runShutdownHooks:()V
3: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lcom/oracle/graal/python/runtime/PythonContext;
RuntimeVisibleAnnotations:
com.oracle.truffle.api.CompilerDirectives$TruffleBoundary()
public int getAtexitHookCount();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield com.oracle.graal.python.runtime.PythonContext.atExitHooks:Ljava/util/List;
invokeinterface java.util.List.size:()I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/graal/python/runtime/PythonContext;
RuntimeVisibleAnnotations:
com.oracle.truffle.api.CompilerDirectives$TruffleBoundary()
public void runAtexitHooks();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=5, args_size=1
start local 0 0: aconst_null
astore 1
start local 1 1: aload 0
getfield com.oracle.graal.python.runtime.PythonContext.atExitHooks:Ljava/util/List;
invokeinterface java.util.List.size:()I
iconst_1
isub
istore 2
start local 2 2: goto 9
3: StackMap locals: com.oracle.graal.python.runtime.exception.PException int
StackMap stack:
aload 0
getfield com.oracle.graal.python.runtime.PythonContext.atExitHooks:Ljava/util/List;
iload 2
invokeinterface java.util.List.get:(I)Ljava/lang/Object;
checkcast com.oracle.graal.python.runtime.PythonContext$AtExitHook
astore 3
start local 3 4: aload 3
getfield com.oracle.graal.python.runtime.PythonContext$AtExitHook.ct:Lcom/oracle/truffle/api/CallTarget;
iconst_3
anewarray java.lang.Object
dup
iconst_0
aload 3
getfield com.oracle.graal.python.runtime.PythonContext$AtExitHook.callable:Ljava/lang/Object;
aastore
dup
iconst_1
aload 3
getfield com.oracle.graal.python.runtime.PythonContext$AtExitHook.arguments:[Ljava/lang/Object;
aastore
dup
iconst_2
aload 3
getfield com.oracle.graal.python.runtime.PythonContext$AtExitHook.keywords:[Lcom/oracle/graal/python/builtins/objects/function/PKeyword;
aastore
invokeinterface com.oracle.truffle.api.CallTarget.call:([Ljava/lang/Object;)Ljava/lang/Object;
pop
5: goto 8
StackMap locals: com.oracle.graal.python.runtime.PythonContext com.oracle.graal.python.runtime.exception.PException int com.oracle.graal.python.runtime.PythonContext$AtExitHook
StackMap stack: com.oracle.graal.python.runtime.exception.PException
6: astore 4
start local 4 7: aload 4
astore 1
end local 4 end local 3 8: StackMap locals:
StackMap stack:
iinc 2 -1
StackMap locals:
StackMap stack:
9: iload 2
ifge 3
end local 2 10: aload 0
getfield com.oracle.graal.python.runtime.PythonContext.atExitHooks:Ljava/util/List;
invokeinterface java.util.List.clear:()V
11: aload 1
ifnull 13
12: aload 1
athrow
13: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 14 0 this Lcom/oracle/graal/python/runtime/PythonContext;
1 14 1 lastException Lcom/oracle/graal/python/runtime/exception/PException;
2 10 2 i I
4 8 3 hook Lcom/oracle/graal/python/runtime/PythonContext$AtExitHook;
7 8 4 e Lcom/oracle/graal/python/runtime/exception/PException;
Exception table:
from to target type
4 5 6 Class com.oracle.graal.python.runtime.exception.PException
RuntimeVisibleAnnotations:
com.oracle.truffle.api.CompilerDirectives$TruffleBoundary()
public void runShutdownHooks();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=3, args_size=1
start local 0 0: aload 0
getfield com.oracle.graal.python.runtime.PythonContext.handler:Lcom/oracle/graal/python/runtime/AsyncHandler;
invokevirtual com.oracle.graal.python.runtime.AsyncHandler.shutdown:()V
1: aload 0
invokevirtual com.oracle.graal.python.runtime.PythonContext.runAtexitHooks:()V
2: goto 4
StackMap locals:
StackMap stack: com.oracle.graal.python.runtime.exception.PException
3: pop
4: StackMap locals:
StackMap stack:
aload 0
getfield com.oracle.graal.python.runtime.PythonContext.shutdownHooks:Ljava/util/List;
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 2
goto 7
StackMap locals: com.oracle.graal.python.runtime.PythonContext top java.util.Iterator
StackMap stack:
5: aload 2
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast com.oracle.graal.python.util.ShutdownHook
astore 1
start local 1 6: aload 1
aload 0
invokeinterface com.oracle.graal.python.util.ShutdownHook.call:(Lcom/oracle/graal/python/runtime/PythonContext;)V
end local 1 7: StackMap locals:
StackMap stack:
aload 2
invokeinterface java.util.Iterator.hasNext:()Z
ifne 5
8: aload 0
getfield com.oracle.graal.python.runtime.PythonContext.customThreadState:Ljava/lang/ThreadLocal;
ifnull 10
9: aload 0
getfield com.oracle.graal.python.runtime.PythonContext.customThreadState:Ljava/lang/ThreadLocal;
aconst_null
invokevirtual java.lang.ThreadLocal.set:(Ljava/lang/Object;)V
10: StackMap locals: com.oracle.graal.python.runtime.PythonContext
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Lcom/oracle/graal/python/runtime/PythonContext;
6 7 1 h Lcom/oracle/graal/python/util/ShutdownHook;
Exception table:
from to target type
1 2 3 Class com.oracle.graal.python.runtime.exception.PException
RuntimeVisibleAnnotations:
com.oracle.truffle.api.CompilerDirectives$TruffleBoundary()
private void shutdownThreads();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=8, args_size=1
start local 0 0: getstatic com.oracle.graal.python.runtime.PythonContext.LOGGER:Lcom/oracle/truffle/api/TruffleLogger;
ldc "shutting down threads"
invokevirtual com.oracle.truffle.api.TruffleLogger.fine:(Ljava/lang/String;)V
1: aload 0
invokevirtual com.oracle.graal.python.runtime.PythonContext.getImportedModules:()Lcom/oracle/graal/python/builtins/objects/dict/PDict;
astore 1
start local 1 2: invokestatic com.oracle.graal.python.builtins.objects.common.HashingCollectionNodes$GetDictStorageNode.getUncached:()Lcom/oracle/graal/python/builtins/objects/common/HashingCollectionNodes$GetDictStorageNode;
aload 1
invokevirtual com.oracle.graal.python.builtins.objects.common.HashingCollectionNodes$GetDictStorageNode.execute:(Lcom/oracle/graal/python/builtins/objects/common/PHashingCollection;)Lcom/oracle/graal/python/builtins/objects/common/HashingStorage;
astore 2
start local 2 3: invokestatic com.oracle.graal.python.builtins.objects.common.HashingStorageLibrary.getUncached:()Lcom/oracle/graal/python/builtins/objects/common/HashingStorageLibrary;
aload 2
ldc "threading"
invokevirtual com.oracle.graal.python.builtins.objects.common.HashingStorageLibrary.getItem:(Lcom/oracle/graal/python/builtins/objects/common/HashingStorage;Ljava/lang/Object;)Ljava/lang/Object;
astore 3
start local 3 4: aload 3
ifnull 23
5: invokestatic com.oracle.graal.python.nodes.attributes.ReadAttributeFromObjectNode.getUncached:()Lcom/oracle/graal/python/nodes/attributes/ReadAttributeFromObjectNode;
aload 3
ldc "_shutdown"
invokevirtual com.oracle.graal.python.nodes.attributes.ReadAttributeFromObjectNode.execute:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
astore 4
start local 4 6: aload 4
getstatic com.oracle.graal.python.builtins.objects.PNone.NO_VALUE:Lcom/oracle/graal/python/builtins/objects/PNone;
if_acmpne 9
7: getstatic com.oracle.graal.python.runtime.PythonContext.LOGGER:Lcom/oracle/truffle/api/TruffleLogger;
ldc "threading module has no member _shutdown"
invokevirtual com.oracle.truffle.api.TruffleLogger.fine:(Ljava/lang/String;)V
8: return
9: StackMap locals: com.oracle.graal.python.runtime.PythonContext com.oracle.graal.python.builtins.objects.dict.PDict com.oracle.graal.python.builtins.objects.common.HashingStorage java.lang.Object java.lang.Object
StackMap stack:
invokestatic com.oracle.graal.python.nodes.call.CallNode.getUncached:()Lcom/oracle/graal/python/nodes/call/CallNode;
aconst_null
aload 4
iconst_0
anewarray java.lang.Object
invokevirtual com.oracle.graal.python.nodes.call.CallNode.execute:(Lcom/oracle/truffle/api/frame/VirtualFrame;Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;
pop
10: goto 24
StackMap locals:
StackMap stack: java.lang.Throwable
11: astore 5
start local 5 12: invokestatic com.oracle.truffle.api.interop.InteropLibrary.getUncached:()Lcom/oracle/truffle/api/interop/InteropLibrary;
aload 5
invokevirtual com.oracle.truffle.api.interop.InteropLibrary.isException:(Ljava/lang/Object;)Z
ifeq 13
invokestatic com.oracle.truffle.api.interop.InteropLibrary.getUncached:()Lcom/oracle/truffle/api/interop/InteropLibrary;
aload 5
invokevirtual com.oracle.truffle.api.interop.InteropLibrary.getExceptionType:(Ljava/lang/Object;)Lcom/oracle/truffle/api/interop/ExceptionType;
getstatic com.oracle.truffle.api.interop.ExceptionType.EXIT:Lcom/oracle/truffle/api/interop/ExceptionType;
if_acmpne 13
iconst_1
goto 14
StackMap locals: java.lang.Throwable
StackMap stack:
13: iconst_0
StackMap locals:
StackMap stack: int
14: istore 6
start local 6 15: iload 6
ifne 22
16: aload 5
invokestatic com.oracle.graal.python.runtime.exception.ExceptionUtils.printPythonLikeStackTrace:(Ljava/lang/Throwable;)V
17: aload 0
invokevirtual com.oracle.graal.python.runtime.PythonContext.getLanguage:()Lcom/oracle/graal/python/PythonLanguage;
invokestatic com.oracle.graal.python.runtime.PythonOptions.isWithJavaStacktrace:(Lcom/oracle/graal/python/PythonLanguage;)Z
ifeq 22
18: aload 5
new java.io.PrintWriter
dup
aload 0
invokevirtual com.oracle.graal.python.runtime.PythonContext.getStandardErr:()Ljava/io/OutputStream;
invokespecial java.io.PrintWriter.<init>:(Ljava/io/OutputStream;)V
invokevirtual java.lang.Throwable.printStackTrace:(Ljava/io/PrintWriter;)V
end local 6 19: goto 22
StackMap locals:
StackMap stack: com.oracle.truffle.api.interop.UnsupportedMessageException
20: pop
21: invokestatic com.oracle.truffle.api.CompilerDirectives.shouldNotReachHere:()Ljava/lang/RuntimeException;
athrow
22: StackMap locals:
StackMap stack:
aload 5
athrow
end local 5 end local 4 23: StackMap locals:
StackMap stack:
getstatic com.oracle.graal.python.runtime.PythonContext.LOGGER:Lcom/oracle/truffle/api/TruffleLogger;
ldc "threading module was not imported"
invokevirtual com.oracle.truffle.api.TruffleLogger.finest:(Ljava/lang/String;)V
24: StackMap locals:
StackMap stack:
getstatic com.oracle.graal.python.runtime.PythonContext.LOGGER:Lcom/oracle/truffle/api/TruffleLogger;
ldc "successfully shut down all threads"
invokevirtual com.oracle.truffle.api.TruffleLogger.fine:(Ljava/lang/String;)V
25: aload 0
getfield com.oracle.graal.python.runtime.PythonContext.singleThreaded:Lcom/oracle/truffle/api/Assumption;
invokeinterface com.oracle.truffle.api.Assumption.isValid:()Z
ifne 47
26: new java.util.LinkedList
dup
invokespecial java.util.LinkedList.<init>:()V
astore 4
start local 4 27: aload 0
dup
astore 5
monitorenter
28: aload 0
getfield com.oracle.graal.python.runtime.PythonContext.threadStateMapping:Ljava/util/Map;
invokeinterface java.util.Map.values:()Ljava/util/Collection;
invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
astore 7
goto 32
StackMap locals: com.oracle.graal.python.runtime.PythonContext com.oracle.graal.python.builtins.objects.dict.PDict com.oracle.graal.python.builtins.objects.common.HashingStorage java.lang.Object java.util.LinkedList com.oracle.graal.python.runtime.PythonContext top java.util.Iterator
StackMap stack:
29: aload 7
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast com.oracle.graal.python.runtime.PythonContext$PythonThreadState
astore 6
start local 6 30: aload 6
aload 0
getfield com.oracle.graal.python.runtime.PythonContext.singleThreadState:Lcom/oracle/graal/python/runtime/PythonContext$PythonThreadState;
if_acmpeq 32
31: aload 4
aload 6
invokevirtual com.oracle.graal.python.runtime.PythonContext$PythonThreadState.getOwners:()Ljava/util/List;
invokevirtual java.util.LinkedList.addAll:(Ljava/util/Collection;)Z
pop
end local 6 32: StackMap locals:
StackMap stack:
aload 7
invokeinterface java.util.Iterator.hasNext:()Z
ifne 29
33: aload 5
monitorexit
34: goto 37
StackMap locals: com.oracle.graal.python.runtime.PythonContext com.oracle.graal.python.builtins.objects.dict.PDict com.oracle.graal.python.builtins.objects.common.HashingStorage java.lang.Object java.util.LinkedList com.oracle.graal.python.runtime.PythonContext
StackMap stack: java.lang.Throwable
35: aload 5
monitorexit
36: athrow
37: StackMap locals:
StackMap stack:
aload 4
invokevirtual java.util.LinkedList.iterator:()Ljava/util/Iterator;
astore 6
goto 43
StackMap locals: com.oracle.graal.python.runtime.PythonContext com.oracle.graal.python.builtins.objects.dict.PDict com.oracle.graal.python.builtins.objects.common.HashingStorage java.lang.Object java.util.LinkedList top java.util.Iterator
StackMap stack:
38: aload 6
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.lang.ref.WeakReference
astore 5
start local 5 39: aload 5
invokevirtual java.lang.ref.WeakReference.get:()Ljava/lang/Object;
checkcast java.lang.Thread
astore 7
start local 7 40: aload 7
ifnull 43
41: getstatic com.oracle.graal.python.runtime.PythonContext.LOGGER:Lcom/oracle/truffle/api/TruffleLogger;
new java.lang.StringBuilder
dup
ldc "joining thread "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 7
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual com.oracle.truffle.api.TruffleLogger.finest:(Ljava/lang/String;)V
42: aload 7
invokevirtual java.lang.Thread.join:()V
end local 7 end local 5 43: StackMap locals:
StackMap stack:
aload 6
invokeinterface java.util.Iterator.hasNext:()Z
ifne 38
44: goto 47
StackMap locals: com.oracle.graal.python.runtime.PythonContext com.oracle.graal.python.builtins.objects.dict.PDict com.oracle.graal.python.builtins.objects.common.HashingStorage java.lang.Object java.util.LinkedList
StackMap stack: java.lang.InterruptedException
45: pop
46: getstatic com.oracle.graal.python.runtime.PythonContext.LOGGER:Lcom/oracle/truffle/api/TruffleLogger;
ldc "got interrupt while joining threads"
invokevirtual com.oracle.truffle.api.TruffleLogger.finest:(Ljava/lang/String;)V
end local 4 47: StackMap locals:
StackMap stack:
return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 48 0 this Lcom/oracle/graal/python/runtime/PythonContext;
2 48 1 importedModules Lcom/oracle/graal/python/builtins/objects/dict/PDict;
3 48 2 dictStorage Lcom/oracle/graal/python/builtins/objects/common/HashingStorage;
4 48 3 value Ljava/lang/Object;
6 23 4 attrShutdown Ljava/lang/Object;
12 23 5 e Ljava/lang/Throwable;
15 19 6 exitException Z
27 47 4 threadList Ljava/util/LinkedList<Ljava/lang/ref/WeakReference<Ljava/lang/Thread;>;>;
30 32 6 ts Lcom/oracle/graal/python/runtime/PythonContext$PythonThreadState;
39 43 5 threadRef Ljava/lang/ref/WeakReference<Ljava/lang/Thread;>;
40 43 7 thread Ljava/lang/Thread;
Exception table:
from to target type
9 10 11 Class java.lang.Exception
9 10 11 Class java.lang.StackOverflowError
12 19 20 Class com.oracle.truffle.api.interop.UnsupportedMessageException
28 34 35 any
35 36 35 any
37 44 45 Class java.lang.InterruptedException
RuntimeVisibleAnnotations:
com.oracle.truffle.api.CompilerDirectives$TruffleBoundary()
public com.oracle.graal.python.builtins.objects.cext.capi.PThreadState getCustomThreadState();
descriptor: ()Lcom/oracle/graal/python/builtins/objects/cext/capi/PThreadState;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=1
start local 0 0: aload 0
getfield com.oracle.graal.python.runtime.PythonContext.customThreadState:Ljava/lang/ThreadLocal;
ifnonnull 4
1: new java.lang.ThreadLocal
dup
invokespecial java.lang.ThreadLocal.<init>:()V
astore 1
start local 1 2: aload 1
new com.oracle.graal.python.builtins.objects.cext.capi.PThreadState
dup
invokespecial com.oracle.graal.python.builtins.objects.cext.capi.PThreadState.<init>:()V
invokevirtual java.lang.ThreadLocal.set:(Ljava/lang/Object;)V
3: aload 0
aload 1
putfield com.oracle.graal.python.runtime.PythonContext.customThreadState:Ljava/lang/ThreadLocal;
end local 1 4: StackMap locals:
StackMap stack:
aload 0
getfield com.oracle.graal.python.runtime.PythonContext.customThreadState:Ljava/lang/ThreadLocal;
invokevirtual java.lang.ThreadLocal.get:()Ljava/lang/Object;
checkcast com.oracle.graal.python.builtins.objects.cext.capi.PThreadState
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lcom/oracle/graal/python/runtime/PythonContext;
2 4 1 threadLocal Ljava/lang/ThreadLocal<Lcom/oracle/graal/python/builtins/objects/cext/capi/PThreadState;>;
RuntimeVisibleAnnotations:
com.oracle.truffle.api.CompilerDirectives$TruffleBoundary()
public void initializeMainModule(java.lang.String);
descriptor: (Ljava/lang/String;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 1
ifnull 2
1: aload 0
getfield com.oracle.graal.python.runtime.PythonContext.mainModule:Lcom/oracle/graal/python/builtins/objects/module/PythonModule;
ldc "__file__"
aload 1
invokevirtual com.oracle.graal.python.builtins.objects.module.PythonModule.setAttribute:(Ljava/lang/Object;Ljava/lang/Object;)V
2: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/oracle/graal/python/runtime/PythonContext;
0 3 1 path Ljava/lang/String;
MethodParameters:
Name Flags
path
public static com.oracle.truffle.api.Assumption getSingleNativeContextAssumption();
descriptor: ()Lcom/oracle/truffle/api/Assumption;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=1, locals=0, args_size=0
0: getstatic com.oracle.graal.python.runtime.PythonContext.singleNativeContext:Lcom/oracle/truffle/api/Assumption;
areturn
LocalVariableTable:
Start End Slot Name Signature
public com.oracle.truffle.api.Assumption getSingleThreadedAssumption();
descriptor: ()Lcom/oracle/truffle/api/Assumption;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield com.oracle.graal.python.runtime.PythonContext.singleThreaded:Lcom/oracle/truffle/api/Assumption;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/graal/python/runtime/PythonContext;
public com.oracle.truffle.api.Assumption getNativeObjectsAllManagedAssumption();
descriptor: ()Lcom/oracle/truffle/api/Assumption;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield com.oracle.graal.python.runtime.PythonContext.nativeObjectsAllManagedAssumption:Lcom/oracle/truffle/api/Assumption;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/graal/python/runtime/PythonContext;
public boolean isExecutableAccessAllowed();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual com.oracle.graal.python.runtime.PythonContext.getEnv:()Lcom/oracle/truffle/api/TruffleLanguage$Env;
invokevirtual com.oracle.truffle.api.TruffleLanguage$Env.isHostLookupAllowed:()Z
ifne 1
aload 0
invokevirtual com.oracle.graal.python.runtime.PythonContext.getEnv:()Lcom/oracle/truffle/api/TruffleLanguage$Env;
invokevirtual com.oracle.truffle.api.TruffleLanguage$Env.isNativeAccessAllowed:()Z
ifne 1
iconst_0
ireturn
StackMap locals:
StackMap stack:
1: iconst_1
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/oracle/graal/python/runtime/PythonContext;
public com.oracle.graal.python.runtime.PosixResources getResources();
descriptor: ()Lcom/oracle/graal/python/runtime/PosixResources;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield com.oracle.graal.python.runtime.PythonContext.resources:Lcom/oracle/graal/python/runtime/PosixResources;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/graal/python/runtime/PythonContext;
public void triggerAsyncActions(com.oracle.truffle.api.frame.VirtualFrame, com.oracle.truffle.api.profiles.BranchProfile);
descriptor: (Lcom/oracle/truffle/api/frame/VirtualFrame;Lcom/oracle/truffle/api/profiles/BranchProfile;)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.graal.python.runtime.PythonContext.handler:Lcom/oracle/graal/python/runtime/AsyncHandler;
aload 1
aload 2
invokevirtual com.oracle.graal.python.runtime.AsyncHandler.triggerAsyncActions:(Lcom/oracle/truffle/api/frame/VirtualFrame;Lcom/oracle/truffle/api/profiles/BranchProfile;)V
1: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/oracle/graal/python/runtime/PythonContext;
0 2 1 frame Lcom/oracle/truffle/api/frame/VirtualFrame;
0 2 2 asyncProfile Lcom/oracle/truffle/api/profiles/BranchProfile;
MethodParameters:
Name Flags
frame
asyncProfile
public com.oracle.graal.python.runtime.AsyncHandler getAsyncHandler();
descriptor: ()Lcom/oracle/graal/python/runtime/AsyncHandler;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield com.oracle.graal.python.runtime.PythonContext.handler:Lcom/oracle/graal/python/runtime/AsyncHandler;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/graal/python/runtime/PythonContext;
public void registerAsyncAction(com.oracle.graal.python.util.Supplier<com.oracle.graal.python.runtime.AsyncHandler$AsyncAction>);
descriptor: (Lcom/oracle/graal/python/util/Supplier;)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.graal.python.runtime.PythonContext.handler:Lcom/oracle/graal/python/runtime/AsyncHandler;
aload 1
invokevirtual com.oracle.graal.python.runtime.AsyncHandler.registerAction:(Lcom/oracle/graal/python/util/Supplier;)V
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/oracle/graal/python/runtime/PythonContext;
0 2 1 actionSupplier Lcom/oracle/graal/python/util/Supplier<Lcom/oracle/graal/python/runtime/AsyncHandler$AsyncAction;>;
Signature: (Lcom/oracle/graal/python/util/Supplier<Lcom/oracle/graal/python/runtime/AsyncHandler$AsyncAction;>;)V
MethodParameters:
Name Flags
actionSupplier
public com.oracle.truffle.api.utilities.CyclicAssumption getNativeClassStableAssumption(com.oracle.graal.python.builtins.objects.cext.PythonNativeClass, boolean);
descriptor: (Lcom/oracle/graal/python/builtins/objects/cext/PythonNativeClass;Z)Lcom/oracle/truffle/api/utilities/CyclicAssumption;
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield com.oracle.graal.python.runtime.PythonContext.nativeClassStableAssumptions:Ljava/util/HashMap;
aload 1
invokevirtual java.util.HashMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast com.oracle.truffle.api.utilities.CyclicAssumption
astore 3
start local 3 1: aload 3
ifnonnull 4
iload 2
ifeq 4
2: new com.oracle.truffle.api.utilities.CyclicAssumption
dup
new java.lang.StringBuilder
dup
ldc "Native class "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc " stable"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial com.oracle.truffle.api.utilities.CyclicAssumption.<init>:(Ljava/lang/String;)V
astore 3
3: aload 0
getfield com.oracle.graal.python.runtime.PythonContext.nativeClassStableAssumptions:Ljava/util/HashMap;
aload 1
aload 3
invokevirtual java.util.HashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
4: StackMap locals: com.oracle.truffle.api.utilities.CyclicAssumption
StackMap stack:
aload 3
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lcom/oracle/graal/python/runtime/PythonContext;
0 5 1 cls Lcom/oracle/graal/python/builtins/objects/cext/PythonNativeClass;
0 5 2 createOnDemand Z
1 5 3 assumption Lcom/oracle/truffle/api/utilities/CyclicAssumption;
RuntimeVisibleAnnotations:
com.oracle.truffle.api.CompilerDirectives$TruffleBoundary()
MethodParameters:
Name Flags
cls
createOnDemand
public void setSingletonNativeWrapper(com.oracle.graal.python.builtins.objects.PythonAbstractObject, com.oracle.graal.python.builtins.objects.cext.capi.PythonNativeWrapper);
descriptor: (Lcom/oracle/graal/python/builtins/objects/PythonAbstractObject;Lcom/oracle/graal/python/builtins/objects/cext/capi/PythonNativeWrapper;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: getstatic com.oracle.graal.python.runtime.PythonContext.$assertionsDisabled:Z
ifne 1
aload 1
invokestatic com.oracle.graal.python.PythonLanguage.getSingletonNativeWrapperIdx:(Ljava/lang/Object;)I
iconst_m1
if_icmpne 1
new java.lang.AssertionError
dup
ldc "invalid special singleton object"
invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
athrow
1: StackMap locals:
StackMap stack:
getstatic com.oracle.graal.python.runtime.PythonContext.$assertionsDisabled:Z
ifne 2
aload 0
getfield com.oracle.graal.python.runtime.PythonContext.singletonNativePtrs:[Lcom/oracle/graal/python/builtins/objects/cext/capi/PythonNativeWrapper;
aload 1
invokestatic com.oracle.graal.python.PythonLanguage.getSingletonNativeWrapperIdx:(Ljava/lang/Object;)I
aaload
ifnull 2
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
2: StackMap locals:
StackMap stack:
aload 0
getfield com.oracle.graal.python.runtime.PythonContext.singletonNativePtrs:[Lcom/oracle/graal/python/builtins/objects/cext/capi/PythonNativeWrapper;
aload 1
invokestatic com.oracle.graal.python.PythonLanguage.getSingletonNativeWrapperIdx:(Ljava/lang/Object;)I
aload 2
aastore
3: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lcom/oracle/graal/python/runtime/PythonContext;
0 4 1 obj Lcom/oracle/graal/python/builtins/objects/PythonAbstractObject;
0 4 2 nativePtr Lcom/oracle/graal/python/builtins/objects/cext/capi/PythonNativeWrapper;
MethodParameters:
Name Flags
obj
nativePtr
public com.oracle.graal.python.builtins.objects.cext.capi.PythonNativeWrapper getSingletonNativeWrapper(com.oracle.graal.python.builtins.objects.PythonAbstractObject);
descriptor: (Lcom/oracle/graal/python/builtins/objects/PythonAbstractObject;)Lcom/oracle/graal/python/builtins/objects/cext/capi/PythonNativeWrapper;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: aload 1
invokestatic com.oracle.graal.python.PythonLanguage.getSingletonNativeWrapperIdx:(Ljava/lang/Object;)I
istore 2
start local 2 1: iload 2
iconst_m1
if_icmpeq 3
2: aload 0
getfield com.oracle.graal.python.runtime.PythonContext.singletonNativePtrs:[Lcom/oracle/graal/python/builtins/objects/cext/capi/PythonNativeWrapper;
iload 2
aaload
areturn
3: StackMap locals: int
StackMap stack:
aconst_null
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lcom/oracle/graal/python/runtime/PythonContext;
0 4 1 obj Lcom/oracle/graal/python/builtins/objects/PythonAbstractObject;
1 4 2 singletonNativePtrIdx I
MethodParameters:
Name Flags
obj
public void acquireInteropLock();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield com.oracle.graal.python.runtime.PythonContext.interopLock:Ljava/util/concurrent/locks/ReentrantLock;
invokevirtual java.util.concurrent.locks.ReentrantLock.lock:()V
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/oracle/graal/python/runtime/PythonContext;
RuntimeVisibleAnnotations:
com.oracle.truffle.api.CompilerDirectives$TruffleBoundary()
public void releaseInteropLock();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield com.oracle.graal.python.runtime.PythonContext.interopLock:Ljava/util/concurrent/locks/ReentrantLock;
invokevirtual java.util.concurrent.locks.ReentrantLock.isLocked:()Z
ifeq 2
1: aload 0
getfield com.oracle.graal.python.runtime.PythonContext.interopLock:Ljava/util/concurrent/locks/ReentrantLock;
invokevirtual java.util.concurrent.locks.ReentrantLock.unlock:()V
2: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/oracle/graal/python/runtime/PythonContext;
RuntimeVisibleAnnotations:
com.oracle.truffle.api.CompilerDirectives$TruffleBoundary()
public com.oracle.truffle.api.TruffleFile getPublicTruffleFileRelaxed(java.lang.String, java.lang.String[]);
descriptor: (Ljava/lang/String;[Ljava/lang/String;)Lcom/oracle/truffle/api/TruffleFile;
flags: (0x0081) ACC_PUBLIC, ACC_VARARGS
Code:
stack=5, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield com.oracle.graal.python.runtime.PythonContext.env:Lcom/oracle/truffle/api/TruffleLanguage$Env;
aload 1
invokevirtual com.oracle.truffle.api.TruffleLanguage$Env.getInternalTruffleFile:(Ljava/lang/String;)Lcom/oracle/truffle/api/TruffleFile;
astore 3
start local 3 1: invokestatic org.graalvm.nativeimage.ImageInfo.inImageBuildtimeCode:()Z
ifne 2
aload 0
aload 3
invokevirtual com.oracle.graal.python.runtime.PythonContext.isPyFileInLanguageHome:(Lcom/oracle/truffle/api/TruffleFile;)Z
ifeq 3
aload 3
iconst_1
anewarray java.nio.file.LinkOption
dup
iconst_0
getstatic java.nio.file.LinkOption.NOFOLLOW_LINKS:Ljava/nio/file/LinkOption;
aastore
invokevirtual com.oracle.truffle.api.TruffleFile.isDirectory:([Ljava/nio/file/LinkOption;)Z
ifne 2
aload 1
aload 2
invokestatic com.oracle.graal.python.runtime.PythonContext.hasAllowedSuffix:(Ljava/lang/String;[Ljava/lang/String;)Z
ifeq 3
2: StackMap locals: com.oracle.truffle.api.TruffleFile
StackMap stack:
aload 3
areturn
3: StackMap locals:
StackMap stack:
aload 0
getfield com.oracle.graal.python.runtime.PythonContext.env:Lcom/oracle/truffle/api/TruffleLanguage$Env;
aload 1
invokevirtual com.oracle.truffle.api.TruffleLanguage$Env.getPublicTruffleFile:(Ljava/lang/String;)Lcom/oracle/truffle/api/TruffleFile;
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lcom/oracle/graal/python/runtime/PythonContext;
0 4 1 path Ljava/lang/String;
0 4 2 allowedSuffixes [Ljava/lang/String;
1 4 3 f Lcom/oracle/truffle/api/TruffleFile;
RuntimeVisibleAnnotations:
com.oracle.truffle.api.CompilerDirectives$TruffleBoundary()
MethodParameters:
Name Flags
path
allowedSuffixes
private static boolean hasAllowedSuffix(java.lang.String, java.lang.String[]);
descriptor: (Ljava/lang/String;[Ljava/lang/String;)Z
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=6, args_size=2
start local 0 start local 1 0: aload 1
dup
astore 5
arraylength
istore 4
iconst_0
istore 3
goto 5
StackMap locals: java.lang.String java.lang.String[] top int int java.lang.String[]
StackMap stack:
1: aload 5
iload 3
aaload
astore 2
start local 2 2: aload 0
aload 2
invokevirtual java.lang.String.endsWith:(Ljava/lang/String;)Z
ifeq 4
3: iconst_1
ireturn
end local 2 4: StackMap locals:
StackMap stack:
iinc 3 1
StackMap locals:
StackMap stack:
5: iload 3
iload 4
if_icmplt 1
6: iconst_0
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 path Ljava/lang/String;
0 7 1 allowedSuffixes [Ljava/lang/String;
2 4 2 suffix Ljava/lang/String;
RuntimeVisibleAnnotations:
com.oracle.truffle.api.CompilerDirectives$TruffleBoundary(allowInlining = true)
MethodParameters:
Name Flags
path
allowedSuffixes
public boolean isPyFileInLanguageHome(com.oracle.truffle.api.TruffleFile);
descriptor: (Lcom/oracle/truffle/api/TruffleFile;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=5, args_size=2
start local 0 start local 1 0: getstatic com.oracle.graal.python.runtime.PythonContext.$assertionsDisabled:Z
ifne 1
invokestatic org.graalvm.nativeimage.ImageInfo.inImageBuildtimeCode:()Z
ifeq 1
new java.lang.AssertionError
dup
ldc "language home won't be available during image build time"
invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
athrow
1: StackMap locals:
StackMap stack:
aload 0
getfield com.oracle.graal.python.runtime.PythonContext.language:Lcom/oracle/graal/python/PythonLanguage;
invokevirtual com.oracle.graal.python.PythonLanguage.getHome:()Ljava/lang/String;
astore 2
start local 2 2: aload 2
ifnull 6
3: aload 0
getfield com.oracle.graal.python.runtime.PythonContext.env:Lcom/oracle/truffle/api/TruffleLanguage$Env;
aload 2
invokevirtual com.oracle.truffle.api.TruffleLanguage$Env.getInternalTruffleFile:(Ljava/lang/String;)Lcom/oracle/truffle/api/TruffleFile;
invokevirtual com.oracle.truffle.api.TruffleFile.getAbsoluteFile:()Lcom/oracle/truffle/api/TruffleFile;
astore 3
start local 3 4: aload 1
invokevirtual com.oracle.truffle.api.TruffleFile.getAbsoluteFile:()Lcom/oracle/truffle/api/TruffleFile;
astore 4
start local 4 5: aload 4
aload 3
invokevirtual com.oracle.truffle.api.TruffleFile.startsWith:(Lcom/oracle/truffle/api/TruffleFile;)Z
ireturn
end local 4 end local 3 6: StackMap locals: java.lang.String
StackMap stack:
getstatic com.oracle.graal.python.runtime.PythonContext.LOGGER:Lcom/oracle/truffle/api/TruffleLogger;
getstatic java.util.logging.Level.FINE:Ljava/util/logging/Level;
aload 1
invokedynamic get(Lcom/oracle/truffle/api/TruffleFile;)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;
com/oracle/graal/python/runtime/PythonContext.lambda$4(Lcom/oracle/truffle/api/TruffleFile;)Ljava/lang/String; (6)
()Ljava/lang/String;
invokevirtual com.oracle.truffle.api.TruffleLogger.log:(Ljava/util/logging/Level;Ljava/util/function/Supplier;)V
7: iconst_0
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lcom/oracle/graal/python/runtime/PythonContext;
0 8 1 path Lcom/oracle/truffle/api/TruffleFile;
2 8 2 languageHome Ljava/lang/String;
4 6 3 coreHomePath Lcom/oracle/truffle/api/TruffleFile;
5 6 4 absolutePath Lcom/oracle/truffle/api/TruffleFile;
RuntimeVisibleAnnotations:
com.oracle.truffle.api.CompilerDirectives$TruffleBoundary()
MethodParameters:
Name Flags
path
public java.lang.String getCurrentImport();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=2, args_size=1
start local 0 0: aload 0
getfield com.oracle.graal.python.runtime.PythonContext.currentImport:Ljava/lang/ThreadLocal;
invokevirtual java.lang.ThreadLocal.get:()Ljava/lang/Object;
checkcast java.util.ArrayDeque
astore 1
start local 1 1: aload 1
ifnull 2
aload 1
invokevirtual java.util.ArrayDeque.isEmpty:()Z
ifeq 3
2: StackMap locals: java.util.ArrayDeque
StackMap stack:
ldc ""
areturn
3: StackMap locals:
StackMap stack:
aload 1
invokevirtual java.util.ArrayDeque.peek:()Ljava/lang/Object;
checkcast java.lang.String
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lcom/oracle/graal/python/runtime/PythonContext;
1 4 1 ci Ljava/util/ArrayDeque<Ljava/lang/String;>;
RuntimeVisibleAnnotations:
com.oracle.truffle.api.CompilerDirectives$TruffleBoundary()
public void pushCurrentImport(java.lang.String);
descriptor: (Ljava/lang/String;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: aload 0
getfield com.oracle.graal.python.runtime.PythonContext.currentImport:Ljava/lang/ThreadLocal;
invokevirtual java.lang.ThreadLocal.get:()Ljava/lang/Object;
checkcast java.util.ArrayDeque
astore 2
start local 2 1: aload 2
ifnonnull 4
2: new java.util.ArrayDeque
dup
invokespecial java.util.ArrayDeque.<init>:()V
astore 2
3: aload 0
getfield com.oracle.graal.python.runtime.PythonContext.currentImport:Ljava/lang/ThreadLocal;
aload 2
invokevirtual java.lang.ThreadLocal.set:(Ljava/lang/Object;)V
4: StackMap locals: java.util.ArrayDeque
StackMap stack:
aload 2
aload 1
invokevirtual java.util.ArrayDeque.push:(Ljava/lang/Object;)V
5: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lcom/oracle/graal/python/runtime/PythonContext;
0 6 1 object Ljava/lang/String;
1 6 2 ci Ljava/util/ArrayDeque<Ljava/lang/String;>;
RuntimeVisibleAnnotations:
com.oracle.truffle.api.CompilerDirectives$TruffleBoundary()
MethodParameters:
Name Flags
object
public void popCurrentImport();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: getstatic com.oracle.graal.python.runtime.PythonContext.$assertionsDisabled:Z
ifne 2
aload 0
getfield com.oracle.graal.python.runtime.PythonContext.currentImport:Ljava/lang/ThreadLocal;
invokevirtual java.lang.ThreadLocal.get:()Ljava/lang/Object;
ifnull 1
aload 0
getfield com.oracle.graal.python.runtime.PythonContext.currentImport:Ljava/lang/ThreadLocal;
invokevirtual java.lang.ThreadLocal.get:()Ljava/lang/Object;
checkcast java.util.ArrayDeque
invokevirtual java.util.ArrayDeque.peek:()Ljava/lang/Object;
ifnonnull 2
StackMap locals:
StackMap stack:
1: new java.lang.AssertionError
dup
ldc "invalid popCurrentImport without push"
invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
athrow
2: StackMap locals:
StackMap stack:
aload 0
getfield com.oracle.graal.python.runtime.PythonContext.currentImport:Ljava/lang/ThreadLocal;
invokevirtual java.lang.ThreadLocal.get:()Ljava/lang/Object;
checkcast java.util.ArrayDeque
invokevirtual java.util.ArrayDeque.pop:()Ljava/lang/Object;
pop
3: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lcom/oracle/graal/python/runtime/PythonContext;
RuntimeVisibleAnnotations:
com.oracle.truffle.api.CompilerDirectives$TruffleBoundary()
private com.oracle.graal.python.runtime.PythonContext$PythonThreadState getThreadState();
descriptor: ()Lcom/oracle/graal/python/runtime/PythonContext$PythonThreadState;
flags: (0x0002) ACC_PRIVATE
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield com.oracle.graal.python.runtime.PythonContext.singleThreaded:Lcom/oracle/truffle/api/Assumption;
invokeinterface com.oracle.truffle.api.Assumption.isValid:()Z
ifeq 2
1: aload 0
getfield com.oracle.graal.python.runtime.PythonContext.singleThreadState:Lcom/oracle/graal/python/runtime/PythonContext$PythonThreadState;
areturn
2: StackMap locals:
StackMap stack:
aload 0
invokevirtual com.oracle.graal.python.runtime.PythonContext.getThreadStateMultiThreaded:()Lcom/oracle/graal/python/runtime/PythonContext$PythonThreadState;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/oracle/graal/python/runtime/PythonContext;
private com.oracle.graal.python.runtime.PythonContext$PythonThreadState getThreadStateMultiThreaded();
descriptor: ()Lcom/oracle/graal/python/runtime/PythonContext$PythonThreadState;
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=2, args_size=1
start local 0 0: aload 0
getfield com.oracle.graal.python.runtime.PythonContext.threadState:Ljava/lang/ThreadLocal;
invokevirtual java.lang.ThreadLocal.get:()Ljava/lang/Object;
checkcast com.oracle.graal.python.runtime.PythonContext$PythonThreadState
astore 1
start local 1 1: aload 1
ifnonnull 4
2: aload 0
invokevirtual com.oracle.graal.python.runtime.PythonContext.getThreadStateFullLookup:()Lcom/oracle/graal/python/runtime/PythonContext$PythonThreadState;
astore 1
3: aload 0
getfield com.oracle.graal.python.runtime.PythonContext.threadState:Ljava/lang/ThreadLocal;
aload 1
invokevirtual java.lang.ThreadLocal.set:(Ljava/lang/Object;)V
4: StackMap locals: com.oracle.graal.python.runtime.PythonContext$PythonThreadState
StackMap stack:
getstatic com.oracle.graal.python.runtime.PythonContext.$assertionsDisabled:Z
ifne 5
aload 1
invokestatic java.lang.Thread.currentThread:()Ljava/lang/Thread;
invokevirtual com.oracle.graal.python.runtime.PythonContext$PythonThreadState.isOwner:(Ljava/lang/Thread;)Z
ifne 5
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
5: StackMap locals:
StackMap stack:
aload 1
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lcom/oracle/graal/python/runtime/PythonContext;
1 6 1 curThreadState Lcom/oracle/graal/python/runtime/PythonContext$PythonThreadState;
RuntimeVisibleAnnotations:
com.oracle.truffle.api.CompilerDirectives$TruffleBoundary()
private void applyToAllThreadStates(com.oracle.graal.python.util.Consumer<com.oracle.graal.python.runtime.PythonContext$PythonThreadState>);
descriptor: (Lcom/oracle/graal/python/util/Consumer;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=5, args_size=2
start local 0 start local 1 0: aload 0
getfield com.oracle.graal.python.runtime.PythonContext.singleThreaded:Lcom/oracle/truffle/api/Assumption;
invokeinterface com.oracle.truffle.api.Assumption.isValid:()Z
ifeq 3
1: aload 1
aload 0
getfield com.oracle.graal.python.runtime.PythonContext.singleThreadState:Lcom/oracle/graal/python/runtime/PythonContext$PythonThreadState;
invokeinterface com.oracle.graal.python.util.Consumer.accept:(Ljava/lang/Object;)V
2: goto 12
3: StackMap locals:
StackMap stack:
aload 0
dup
astore 2
monitorenter
4: aload 0
getfield com.oracle.graal.python.runtime.PythonContext.threadStateMapping:Ljava/util/Map;
invokeinterface java.util.Map.values:()Ljava/util/Collection;
invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
astore 4
goto 7
StackMap locals: com.oracle.graal.python.runtime.PythonContext com.oracle.graal.python.util.Consumer com.oracle.graal.python.runtime.PythonContext top java.util.Iterator
StackMap stack:
5: aload 4
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast com.oracle.graal.python.runtime.PythonContext$PythonThreadState
astore 3
start local 3 6: aload 1
aload 3
invokeinterface com.oracle.graal.python.util.Consumer.accept:(Ljava/lang/Object;)V
end local 3 7: StackMap locals:
StackMap stack:
aload 4
invokeinterface java.util.Iterator.hasNext:()Z
ifne 5
8: aload 2
monitorexit
9: goto 12
StackMap locals: com.oracle.graal.python.runtime.PythonContext com.oracle.graal.python.util.Consumer com.oracle.graal.python.runtime.PythonContext
StackMap stack: java.lang.Throwable
10: aload 2
monitorexit
11: athrow
12: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 13 0 this Lcom/oracle/graal/python/runtime/PythonContext;
0 13 1 action Lcom/oracle/graal/python/util/Consumer<Lcom/oracle/graal/python/runtime/PythonContext$PythonThreadState;>;
6 7 3 ts Lcom/oracle/graal/python/runtime/PythonContext$PythonThreadState;
Exception table:
from to target type
4 9 10 any
10 11 10 any
Signature: (Lcom/oracle/graal/python/util/Consumer<Lcom/oracle/graal/python/runtime/PythonContext$PythonThreadState;>;)V
MethodParameters:
Name Flags
action
private synchronized com.oracle.graal.python.runtime.PythonContext$PythonThreadState getThreadStateFullLookup();
descriptor: ()Lcom/oracle/graal/python/runtime/PythonContext$PythonThreadState;
flags: (0x0022) ACC_PRIVATE, ACC_SYNCHRONIZED
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
getfield com.oracle.graal.python.runtime.PythonContext.threadStateMapping:Ljava/util/Map;
invokestatic java.lang.Thread.currentThread:()Ljava/lang/Thread;
invokevirtual java.lang.Thread.getId:()J
invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast com.oracle.graal.python.runtime.PythonContext$PythonThreadState
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/graal/python/runtime/PythonContext;
RuntimeVisibleAnnotations:
com.oracle.truffle.api.CompilerDirectives$TruffleBoundary()
public void setSentinelLockWeakref(java.lang.ref.WeakReference<com.oracle.graal.python.builtins.objects.thread.PLock>);
descriptor: (Ljava/lang/ref/WeakReference;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual com.oracle.graal.python.runtime.PythonContext.getThreadState:()Lcom/oracle/graal/python/runtime/PythonContext$PythonThreadState;
aload 1
putfield com.oracle.graal.python.runtime.PythonContext$PythonThreadState.sentinelLock:Ljava/lang/ref/WeakReference;
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/oracle/graal/python/runtime/PythonContext;
0 2 1 sentinelLock Ljava/lang/ref/WeakReference<Lcom/oracle/graal/python/builtins/objects/thread/PLock;>;
Signature: (Ljava/lang/ref/WeakReference<Lcom/oracle/graal/python/builtins/objects/thread/PLock;>;)V
MethodParameters:
Name Flags
sentinelLock
public void initializeMultiThreading();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=5, args_size=1
start local 0 0: aload 0
new java.util.concurrent.locks.ReentrantLock
dup
invokespecial java.util.concurrent.locks.ReentrantLock.<init>:()V
putfield com.oracle.graal.python.runtime.PythonContext.interopLock:Ljava/util/concurrent/locks/ReentrantLock;
1: aload 0
getfield com.oracle.graal.python.runtime.PythonContext.singleThreaded:Lcom/oracle/truffle/api/Assumption;
invokeinterface com.oracle.truffle.api.Assumption.invalidate:()V
2: aload 0
new java.lang.ThreadLocal
dup
invokespecial java.lang.ThreadLocal.<init>:()V
putfield com.oracle.graal.python.runtime.PythonContext.threadState:Ljava/lang/ThreadLocal;
3: aload 0
dup
astore 1
monitorenter
4: aload 0
new java.util.HashMap
dup
invokespecial java.util.HashMap.<init>:()V
putfield com.oracle.graal.python.runtime.PythonContext.threadStateMapping:Ljava/util/Map;
5: aload 0
getfield com.oracle.graal.python.runtime.PythonContext.singleThreadState:Lcom/oracle/graal/python/runtime/PythonContext$PythonThreadState;
invokevirtual com.oracle.graal.python.runtime.PythonContext$PythonThreadState.getOwners:()Ljava/util/List;
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 3
goto 10
StackMap locals: com.oracle.graal.python.runtime.PythonContext com.oracle.graal.python.runtime.PythonContext top java.util.Iterator
StackMap stack:
6: aload 3
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.lang.ref.WeakReference
astore 2
start local 2 7: aload 2
invokevirtual java.lang.ref.WeakReference.get:()Ljava/lang/Object;
checkcast java.lang.Thread
astore 4
start local 4 8: aload 4
ifnull 10
9: aload 0
getfield com.oracle.graal.python.runtime.PythonContext.threadStateMapping:Ljava/util/Map;
aload 4
invokevirtual java.lang.Thread.getId:()J
invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
aload 0
getfield com.oracle.graal.python.runtime.PythonContext.singleThreadState:Lcom/oracle/graal/python/runtime/PythonContext$PythonThreadState;
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
end local 4 end local 2 10: StackMap locals:
StackMap stack:
aload 3
invokeinterface java.util.Iterator.hasNext:()Z
ifne 6
11: aload 1
monitorexit
12: goto 15
StackMap locals: com.oracle.graal.python.runtime.PythonContext com.oracle.graal.python.runtime.PythonContext
StackMap stack: java.lang.Throwable
13: aload 1
monitorexit
14: athrow
15: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 16 0 this Lcom/oracle/graal/python/runtime/PythonContext;
7 10 2 ownerRef Ljava/lang/ref/WeakReference<Ljava/lang/Thread;>;
8 10 4 owner Ljava/lang/Thread;
Exception table:
from to target type
4 12 13 any
13 14 13 any
RuntimeVisibleAnnotations:
com.oracle.truffle.api.CompilerDirectives$TruffleBoundary()
public synchronized void attachThread(java.lang.Thread);
descriptor: (Ljava/lang/Thread;)V
flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
Code:
stack=5, locals=2, args_size=2
start local 0 start local 1 0: invokestatic com.oracle.truffle.api.CompilerAsserts.neverPartOfCompilation:()V
1: aload 0
getfield com.oracle.graal.python.runtime.PythonContext.singleThreaded:Lcom/oracle/truffle/api/Assumption;
invokeinterface com.oracle.truffle.api.Assumption.isValid:()Z
ifeq 5
2: getstatic com.oracle.graal.python.runtime.PythonContext.$assertionsDisabled:Z
ifne 3
aload 0
getfield com.oracle.graal.python.runtime.PythonContext.threadStateMapping:Ljava/util/Map;
ifnull 3
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
3: StackMap locals:
StackMap stack:
aload 0
getfield com.oracle.graal.python.runtime.PythonContext.singleThreadState:Lcom/oracle/graal/python/runtime/PythonContext$PythonThreadState;
aload 1
invokevirtual com.oracle.graal.python.runtime.PythonContext$PythonThreadState.addOwner:(Ljava/lang/Thread;)V
4: goto 7
5: StackMap locals:
StackMap stack:
getstatic com.oracle.graal.python.runtime.PythonContext.$assertionsDisabled:Z
ifne 6
aload 0
getfield com.oracle.graal.python.runtime.PythonContext.threadStateMapping:Ljava/util/Map;
ifnonnull 6
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
6: StackMap locals:
StackMap stack:
aload 0
getfield com.oracle.graal.python.runtime.PythonContext.threadStateMapping:Ljava/util/Map;
aload 1
invokevirtual java.lang.Thread.getId:()J
invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
new com.oracle.graal.python.runtime.PythonContext$PythonThreadState
dup
aload 1
invokespecial com.oracle.graal.python.runtime.PythonContext$PythonThreadState.<init>:(Ljava/lang/Thread;)V
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
7: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lcom/oracle/graal/python/runtime/PythonContext;
0 8 1 thread Ljava/lang/Thread;
MethodParameters:
Name Flags
thread
public synchronized void disposeThread(java.lang.Thread);
descriptor: (Ljava/lang/Thread;)V
flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
Code:
stack=3, locals=5, args_size=2
start local 0 start local 1 0: invokestatic com.oracle.truffle.api.CompilerAsserts.neverPartOfCompilation:()V
1: aload 1
invokevirtual java.lang.Thread.getId:()J
lstore 2
start local 2 2: aload 0
getfield com.oracle.graal.python.runtime.PythonContext.singleThreaded:Lcom/oracle/truffle/api/Assumption;
invokeinterface com.oracle.truffle.api.Assumption.isValid:()Z
ifeq 8
3: getstatic com.oracle.graal.python.runtime.PythonContext.$assertionsDisabled:Z
ifne 4
aload 0
getfield com.oracle.graal.python.runtime.PythonContext.threadStateMapping:Ljava/util/Map;
ifnull 4
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
4: StackMap locals: long
StackMap stack:
aload 0
getfield com.oracle.graal.python.runtime.PythonContext.singleThreadState:Lcom/oracle/graal/python/runtime/PythonContext$PythonThreadState;
aload 1
invokevirtual com.oracle.graal.python.runtime.PythonContext$PythonThreadState.removeOwner:(Ljava/lang/Thread;)V
5: aload 0
getfield com.oracle.graal.python.runtime.PythonContext.singleThreadState:Lcom/oracle/graal/python/runtime/PythonContext$PythonThreadState;
invokevirtual com.oracle.graal.python.runtime.PythonContext$PythonThreadState.hasOwners:()Z
ifne 14
6: aload 0
getfield com.oracle.graal.python.runtime.PythonContext.singleThreadState:Lcom/oracle/graal/python/runtime/PythonContext$PythonThreadState;
getfield com.oracle.graal.python.runtime.PythonContext$PythonThreadState.sentinelLock:Ljava/lang/ref/WeakReference;
invokestatic com.oracle.graal.python.runtime.PythonContext.releaseSentinelLock:(Ljava/lang/ref/WeakReference;)V
7: goto 14
8: StackMap locals:
StackMap stack:
aload 0
getfield com.oracle.graal.python.runtime.PythonContext.threadStateMapping:Ljava/util/Map;
lload 2
invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast com.oracle.graal.python.runtime.PythonContext$PythonThreadState
astore 4
start local 4 9: getstatic com.oracle.graal.python.runtime.PythonContext.$assertionsDisabled:Z
ifne 10
aload 4
ifnonnull 10
new java.lang.AssertionError
dup
ldc "thread was not attached to this context"
invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
athrow
10: StackMap locals: com.oracle.graal.python.runtime.PythonContext$PythonThreadState
StackMap stack:
aload 4
aload 1
invokevirtual com.oracle.graal.python.runtime.PythonContext$PythonThreadState.removeOwner:(Ljava/lang/Thread;)V
11: aload 0
getfield com.oracle.graal.python.runtime.PythonContext.threadStateMapping:Ljava/util/Map;
lload 2
invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
invokeinterface java.util.Map.remove:(Ljava/lang/Object;)Ljava/lang/Object;
pop
12: aload 4
invokevirtual com.oracle.graal.python.runtime.PythonContext$PythonThreadState.hasOwners:()Z
ifne 14
13: aload 4
getfield com.oracle.graal.python.runtime.PythonContext$PythonThreadState.sentinelLock:Ljava/lang/ref/WeakReference;
invokestatic com.oracle.graal.python.runtime.PythonContext.releaseSentinelLock:(Ljava/lang/ref/WeakReference;)V
end local 4 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/graal/python/runtime/PythonContext;
0 15 1 thread Ljava/lang/Thread;
2 15 2 threadId J
9 14 4 ts Lcom/oracle/graal/python/runtime/PythonContext$PythonThreadState;
MethodParameters:
Name Flags
thread
private static void releaseSentinelLock(java.lang.ref.WeakReference<com.oracle.graal.python.builtins.objects.thread.PLock>);
descriptor: (Ljava/lang/ref/WeakReference;)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=1, locals=2, args_size=1
start local 0 0: aload 0
ifnull 4
1: aload 0
invokevirtual java.lang.ref.WeakReference.get:()Ljava/lang/Object;
checkcast com.oracle.graal.python.builtins.objects.thread.PLock
astore 1
start local 1 2: aload 1
ifnull 4
3: aload 1
invokevirtual com.oracle.graal.python.builtins.objects.thread.PLock.release:()V
end local 1 4: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 sentinelLockWeakref Ljava/lang/ref/WeakReference<Lcom/oracle/graal/python/builtins/objects/thread/PLock;>;
2 4 1 sentinelLock Lcom/oracle/graal/python/builtins/objects/thread/PLock;
Signature: (Ljava/lang/ref/WeakReference<Lcom/oracle/graal/python/builtins/objects/thread/PLock;>;)V
MethodParameters:
Name Flags
sentinelLockWeakref
public boolean hasCApiContext();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield com.oracle.graal.python.runtime.PythonContext.cApiContext:Lcom/oracle/graal/python/builtins/objects/cext/capi/CApiContext;
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/graal/python/runtime/PythonContext;
public com.oracle.graal.python.builtins.objects.cext.capi.CApiContext getCApiContext();
descriptor: ()Lcom/oracle/graal/python/builtins/objects/cext/capi/CApiContext;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield com.oracle.graal.python.runtime.PythonContext.cApiContext:Lcom/oracle/graal/python/builtins/objects/cext/capi/CApiContext;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/graal/python/runtime/PythonContext;
public void setCapiWasLoaded(java.lang.Object);
descriptor: (Ljava/lang/Object;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=2, args_size=2
start local 0 start local 1 0: getstatic com.oracle.graal.python.runtime.PythonContext.$assertionsDisabled:Z
ifne 1
aload 0
getfield com.oracle.graal.python.runtime.PythonContext.cApiContext:Lcom/oracle/graal/python/builtins/objects/cext/capi/CApiContext;
ifnull 1
new java.lang.AssertionError
dup
ldc "tried to create new C API context but it was already created"
invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
athrow
1: StackMap locals:
StackMap stack:
aload 0
new com.oracle.graal.python.builtins.objects.cext.capi.CApiContext
dup
aload 0
aload 1
invokespecial com.oracle.graal.python.builtins.objects.cext.capi.CApiContext.<init>:(Lcom/oracle/graal/python/runtime/PythonContext;Ljava/lang/Object;)V
putfield com.oracle.graal.python.runtime.PythonContext.cApiContext:Lcom/oracle/graal/python/builtins/objects/cext/capi/CApiContext;
2: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/oracle/graal/python/runtime/PythonContext;
0 3 1 capiLibrary Ljava/lang/Object;
MethodParameters:
Name Flags
capiLibrary
public boolean hasHPyContext();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield com.oracle.graal.python.runtime.PythonContext.hPyContext:Lcom/oracle/graal/python/builtins/objects/cext/hpy/GraalHPyContext;
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/graal/python/runtime/PythonContext;
public void createHPyContext(java.lang.Object);
descriptor: (Ljava/lang/Object;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=2, args_size=2
start local 0 start local 1 0: getstatic com.oracle.graal.python.runtime.PythonContext.$assertionsDisabled:Z
ifne 1
aload 0
getfield com.oracle.graal.python.runtime.PythonContext.hPyContext:Lcom/oracle/graal/python/builtins/objects/cext/hpy/GraalHPyContext;
ifnull 1
new java.lang.AssertionError
dup
ldc "tried to create new HPy context but it was already created"
invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
athrow
1: StackMap locals:
StackMap stack:
aload 0
new com.oracle.graal.python.builtins.objects.cext.hpy.GraalHPyContext
dup
aload 0
aload 1
invokespecial com.oracle.graal.python.builtins.objects.cext.hpy.GraalHPyContext.<init>:(Lcom/oracle/graal/python/runtime/PythonContext;Ljava/lang/Object;)V
putfield com.oracle.graal.python.runtime.PythonContext.hPyContext:Lcom/oracle/graal/python/builtins/objects/cext/hpy/GraalHPyContext;
2: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/oracle/graal/python/runtime/PythonContext;
0 3 1 hpyLibrary Ljava/lang/Object;
MethodParameters:
Name Flags
hpyLibrary
public com.oracle.graal.python.builtins.objects.cext.hpy.GraalHPyContext getHPyContext();
descriptor: ()Lcom/oracle/graal/python/builtins/objects/cext/hpy/GraalHPyContext;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: getstatic com.oracle.graal.python.runtime.PythonContext.$assertionsDisabled:Z
ifne 1
aload 0
getfield com.oracle.graal.python.runtime.PythonContext.hPyContext:Lcom/oracle/graal/python/builtins/objects/cext/hpy/GraalHPyContext;
ifnonnull 1
new java.lang.AssertionError
dup
ldc "tried to get HPy context but was not created yet"
invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
athrow
1: StackMap locals:
StackMap stack:
aload 0
getfield com.oracle.graal.python.runtime.PythonContext.hPyContext:Lcom/oracle/graal/python/builtins/objects/cext/hpy/GraalHPyContext;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/oracle/graal/python/runtime/PythonContext;
public boolean isGcEnabled();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield com.oracle.graal.python.runtime.PythonContext.gcEnabled:Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/graal/python/runtime/PythonContext;
public void setGcEnabled(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.graal.python.runtime.PythonContext.gcEnabled:Z
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/oracle/graal/python/runtime/PythonContext;
0 2 1 flag Z
MethodParameters:
Name Flags
flag
public com.oracle.graal.python.runtime.AsyncHandler$SharedFinalizer getSharedFinalizer();
descriptor: ()Lcom/oracle/graal/python/runtime/AsyncHandler$SharedFinalizer;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield com.oracle.graal.python.runtime.PythonContext.sharedFinalizer:Lcom/oracle/graal/python/runtime/AsyncHandler$SharedFinalizer;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/graal/python/runtime/PythonContext;
public boolean isFinalizing();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield com.oracle.graal.python.runtime.PythonContext.finalizing:Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/graal/python/runtime/PythonContext;
private static void lambda$0(com.oracle.graal.python.runtime.PythonContext$PythonThreadState);
descriptor: (Lcom/oracle/graal/python/runtime/PythonContext$PythonThreadState;)V
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
aconst_null
dup_x1
putfield com.oracle.graal.python.runtime.PythonContext$PythonThreadState.currentException:Lcom/oracle/graal/python/runtime/exception/PException;
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 ts Lcom/oracle/graal/python/runtime/PythonContext$PythonThreadState;
private java.lang.String lambda$1(java.lang.String);
descriptor: (Ljava/lang/String;)Ljava/lang/String;
flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
Code:
stack=5, locals=2, args_size=2
start local 0 0: ldc "Initial locations:\n\tLanguage home: {0}\n\tSysPrefix: {1}\n\tBaseSysPrefix: {2}\n\tCoreHome: {3}\n\tStdLibHome: {4}\n\tCAPI: {5}"
bipush 6
anewarray java.lang.Object
dup
iconst_0
1: aload 1
aastore
dup
iconst_1
aload 0
getfield com.oracle.graal.python.runtime.PythonContext.sysPrefix:Ljava/lang/String;
aastore
dup
iconst_2
aload 0
getfield com.oracle.graal.python.runtime.PythonContext.basePrefix:Ljava/lang/String;
aastore
dup
iconst_3
aload 0
getfield com.oracle.graal.python.runtime.PythonContext.coreHome:Ljava/lang/String;
aastore
dup
iconst_4
aload 0
getfield com.oracle.graal.python.runtime.PythonContext.stdLibHome:Ljava/lang/String;
aastore
dup
iconst_5
aload 0
getfield com.oracle.graal.python.runtime.PythonContext.capiHome:Ljava/lang/String;
aastore
2: invokestatic java.text.MessageFormat.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
3: areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lcom/oracle/graal/python/runtime/PythonContext;
private java.lang.String lambda$2(com.oracle.truffle.api.TruffleFile, com.oracle.truffle.api.TruffleLanguage$Env);
descriptor: (Lcom/oracle/truffle/api/TruffleFile;Lcom/oracle/truffle/api/TruffleLanguage$Env;)Ljava/lang/String;
flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
Code:
stack=6, locals=3, args_size=3
start local 0 0: ldc "Updated locations:\n\tLanguage home: {0}\n\tSysPrefix: {1}\n\tBaseSysPrefix: {2}\n\tCoreHome: {3}\n\tStdLibHome: {4}\n\tExecutable: {5}\n\tCAPI: {6}"
bipush 7
anewarray java.lang.Object
dup
iconst_0
1: aload 1
ifnull 2
aload 1
invokevirtual com.oracle.truffle.api.TruffleFile.getPath:()Ljava/lang/String;
goto 3
StackMap locals: com.oracle.graal.python.runtime.PythonContext com.oracle.truffle.api.TruffleFile com.oracle.truffle.api.TruffleLanguage$Env
StackMap stack: java.lang.String java.lang.Object[] java.lang.Object[] int
2: ldc ""
StackMap locals: com.oracle.graal.python.runtime.PythonContext com.oracle.truffle.api.TruffleFile com.oracle.truffle.api.TruffleLanguage$Env
StackMap stack: java.lang.String java.lang.Object[] java.lang.Object[] int java.lang.String
3: aastore
dup
iconst_1
aload 0
getfield com.oracle.graal.python.runtime.PythonContext.sysPrefix:Ljava/lang/String;
aastore
dup
iconst_2
aload 0
getfield com.oracle.graal.python.runtime.PythonContext.basePrefix:Ljava/lang/String;
aastore
dup
iconst_3
aload 0
getfield com.oracle.graal.python.runtime.PythonContext.coreHome:Ljava/lang/String;
aastore
dup
iconst_4
aload 0
getfield com.oracle.graal.python.runtime.PythonContext.stdLibHome:Ljava/lang/String;
aastore
dup
iconst_5
aload 2
invokevirtual com.oracle.truffle.api.TruffleLanguage$Env.getOptions:()Lorg/graalvm/options/OptionValues;
getstatic com.oracle.graal.python.runtime.PythonOptions.Executable:Lorg/graalvm/options/OptionKey;
invokeinterface org.graalvm.options.OptionValues.get:(Lorg/graalvm/options/OptionKey;)Ljava/lang/Object;
aastore
dup
bipush 6
aload 0
getfield com.oracle.graal.python.runtime.PythonContext.capiHome:Ljava/lang/String;
aastore
4: invokestatic java.text.MessageFormat.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
5: areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lcom/oracle/graal/python/runtime/PythonContext;
private static boolean lambda$3(java.lang.Object, com.oracle.graal.python.runtime.PythonContext$AtExitHook);
descriptor: (Ljava/lang/Object;Lcom/oracle/graal/python/runtime/PythonContext$AtExitHook;)Z
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=2, locals=2, args_size=2
start local 1 0: aload 1
getfield com.oracle.graal.python.runtime.PythonContext$AtExitHook.callable:Ljava/lang/Object;
aload 0
if_acmpne 1
iconst_1
goto 2
StackMap locals:
StackMap stack:
1: iconst_0
StackMap locals:
StackMap stack: int
2: ireturn
end local 1 LocalVariableTable:
Start End Slot Name Signature
0 3 1 hook Lcom/oracle/graal/python/runtime/PythonContext$AtExitHook;
private static java.lang.String lambda$4(com.oracle.truffle.api.TruffleFile);
descriptor: (Lcom/oracle/truffle/api/TruffleFile;)Ljava/lang/String;
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=3, locals=1, args_size=1
0: new java.lang.StringBuilder
dup
ldc "Cannot access file "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc " because there is no language home."
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
areturn
LocalVariableTable:
Start End Slot Name Signature
}
SourceFile: "PythonContext.java"
NestMembers:
com.oracle.graal.python.runtime.PythonContext$AtExitHook com.oracle.graal.python.runtime.PythonContext$PythonThreadState
InnerClasses:
public abstract GetDictStorageNode = com.oracle.graal.python.builtins.objects.common.HashingCollectionNodes$GetDictStorageNode of com.oracle.graal.python.builtins.objects.common.HashingCollectionNodes
public final HashingStorageIterable = com.oracle.graal.python.builtins.objects.common.HashingStorageLibrary$HashingStorageIterable of com.oracle.graal.python.builtins.objects.common.HashingStorageLibrary
public abstract CopyInternalArrayNode = com.oracle.graal.python.builtins.objects.common.SequenceStorageNodes$CopyInternalArrayNode of com.oracle.graal.python.builtins.objects.common.SequenceStorageNodes
public final Reference = com.oracle.graal.python.builtins.objects.frame.PFrame$Reference of com.oracle.graal.python.builtins.objects.frame.PFrame
public abstract AsyncAction = com.oracle.graal.python.runtime.AsyncHandler$AsyncAction of com.oracle.graal.python.runtime.AsyncHandler
public SharedFinalizer = com.oracle.graal.python.runtime.AsyncHandler$SharedFinalizer of com.oracle.graal.python.runtime.AsyncHandler
private final AtExitHook = com.oracle.graal.python.runtime.PythonContext$AtExitHook of com.oracle.graal.python.runtime.PythonContext
private final PythonThreadState = com.oracle.graal.python.runtime.PythonContext$PythonThreadState of com.oracle.graal.python.runtime.PythonContext
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 final LiteralBuilder = com.oracle.truffle.api.source.Source$LiteralBuilder of com.oracle.truffle.api.source.Source
public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles