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: .line 106
            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: .line 107
            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: .line 248
            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 // com.oracle.graal.python.runtime.PythonContext this
        start local 1 // com.oracle.graal.python.PythonLanguage language
        start local 2 // com.oracle.truffle.api.TruffleLanguage$Env env
        start local 3 // com.oracle.graal.python.runtime.PythonCore core
         0: .line 273
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 211
            aload 0 /* this */
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            putfield com.oracle.graal.python.runtime.PythonContext.shutdownHooks:Ljava/util/List;
         2: .line 212
            aload 0 /* this */
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            putfield com.oracle.graal.python.runtime.PythonContext.atExitHooks:Ljava/util/List;
         3: .line 213
            aload 0 /* this */
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            putfield com.oracle.graal.python.runtime.PythonContext.nativeClassStableAssumptions:Ljava/util/HashMap;
         4: .line 214
            aload 0 /* this */
            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: .line 215
            aload 0 /* this */
            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: .line 221
            aload 0 /* this */
            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: .line 222
            aload 0 /* this */
            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: .line 227
            aload 0 /* this */
            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: .line 235
            aload 0 /* this */
            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: .line 236
            aload 0 /* this */
            iconst_0
            putfield com.oracle.graal.python.runtime.PythonContext.isInitialized:Z
        11: .line 246
            aload 0 /* this */
            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: .line 257
            aload 0 /* this */
            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: .line 265
            aload 0 /* this */
            iconst_1
            putfield com.oracle.graal.python.runtime.PythonContext.gcEnabled:Z
        14: .line 269
            aload 0 /* this */
            new java.lang.ThreadLocal
            dup
            invokespecial java.lang.ThreadLocal.<init>:()V
            putfield com.oracle.graal.python.runtime.PythonContext.currentImport:Ljava/lang/ThreadLocal;
        15: .line 274
            aload 0 /* this */
            aload 1 /* language */
            putfield com.oracle.graal.python.runtime.PythonContext.language:Lcom/oracle/graal/python/PythonLanguage;
        16: .line 275
            aload 0 /* this */
            aload 3 /* core */
            putfield com.oracle.graal.python.runtime.PythonContext.core:Lcom/oracle/graal/python/runtime/PythonCore;
        17: .line 276
            aload 0 /* this */
            aload 2 /* env */
            putfield com.oracle.graal.python.runtime.PythonContext.env:Lcom/oracle/truffle/api/TruffleLanguage$Env;
        18: .line 277
            aload 0 /* this */
            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: .line 278
            aload 0 /* this */
            new com.oracle.graal.python.runtime.AsyncHandler
            dup
            aload 0 /* this */
            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: .line 279
            aload 0 /* this */
            new com.oracle.graal.python.runtime.AsyncHandler$SharedFinalizer
            dup
            aload 0 /* this */
            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: .line 280
            aload 0 /* this */
            aload 2 /* env */
            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: .line 281
            aload 0 /* this */
            getfield com.oracle.graal.python.runtime.PythonContext.resources:Lcom/oracle/graal/python/runtime/PosixResources;
            aload 2 /* env */
            invokevirtual com.oracle.graal.python.runtime.PosixResources.setEnv:(Lcom/oracle/truffle/api/TruffleLanguage$Env;)V
        23: .line 282
            aload 0 /* this */
            aload 2 /* env */
            invokevirtual com.oracle.truffle.api.TruffleLanguage$Env.in:()Ljava/io/InputStream;
            putfield com.oracle.graal.python.runtime.PythonContext.in:Ljava/io/InputStream;
        24: .line 283
            aload 0 /* this */
            aload 2 /* env */
            invokevirtual com.oracle.truffle.api.TruffleLanguage$Env.out:()Ljava/io/OutputStream;
            putfield com.oracle.graal.python.runtime.PythonContext.out:Ljava/io/OutputStream;
        25: .line 284
            aload 0 /* this */
            aload 2 /* env */
            invokevirtual com.oracle.truffle.api.TruffleLanguage$Env.err:()Ljava/io/OutputStream;
            putfield com.oracle.graal.python.runtime.PythonContext.err:Ljava/io/OutputStream;
        26: .line 285
            return
        end local 3 // com.oracle.graal.python.runtime.PythonCore core
        end local 2 // com.oracle.truffle.api.TruffleLanguage$Env env
        end local 1 // com.oracle.graal.python.PythonLanguage language
        end local 0 // com.oracle.graal.python.runtime.PythonContext this
      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 // com.oracle.graal.python.runtime.PythonContext this
         0: .line 288
            aload 0 /* this */
            getfield com.oracle.graal.python.runtime.PythonContext.threadGroup:Ljava/lang/ThreadGroup;
            areturn
        end local 0 // com.oracle.graal.python.runtime.PythonContext this
      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 // com.oracle.graal.python.runtime.PythonContext this
         0: .line 293
            aload 0 /* this */
            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 // com.oracle.graal.python.runtime.PythonContext this
      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 // com.oracle.graal.python.runtime.PythonContext this
        start local 1 // long value
         0: .line 297
            aload 0 /* this */
            getfield com.oracle.graal.python.runtime.PythonContext.pythonThreadStackSize:Ljava/util/concurrent/atomic/AtomicLong;
            lload 1 /* value */
            invokevirtual java.util.concurrent.atomic.AtomicLong.getAndSet:(J)J
            lreturn
        end local 1 // long value
        end local 0 // com.oracle.graal.python.runtime.PythonContext this
      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 // com.oracle.graal.python.runtime.PythonContext this
         0: .line 302
            aload 0 /* this */
            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 // com.oracle.graal.python.runtime.PythonContext this
      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 // com.oracle.graal.python.runtime.PythonContext this
        start local 1 // org.graalvm.options.OptionKey key
         0: .line 306
            getstatic com.oracle.graal.python.runtime.PythonContext.$assertionsDisabled:Z
            ifne 1
            aload 1 /* key */
            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: .line 307
      StackMap locals:
      StackMap stack:
            invokestatic com.oracle.truffle.api.CompilerDirectives.inInterpreter:()Z
            ifeq 3
         2: .line 308
            aload 0 /* this */
            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 /* key */
            invokeinterface org.graalvm.options.OptionValues.get:(Lorg/graalvm/options/OptionKey;)Ljava/lang/Object;
            areturn
         3: .line 310
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            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 /* key */
            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 // org.graalvm.options.OptionKey key
        end local 0 // com.oracle.graal.python.runtime.PythonContext this
      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 // com.oracle.graal.python.runtime.PythonContext this
         0: .line 315
            aload 0 /* this */
            getfield com.oracle.graal.python.runtime.PythonContext.language:Lcom/oracle/graal/python/PythonLanguage;
            areturn
        end local 0 // com.oracle.graal.python.runtime.PythonContext this
      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 // com.oracle.graal.python.runtime.PythonContext this
         0: .line 319
            aload 0 /* this */
            getfield com.oracle.graal.python.runtime.PythonContext.importLock:Ljava/util/concurrent/locks/ReentrantLock;
            areturn
        end local 0 // com.oracle.graal.python.runtime.PythonContext this
      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 // com.oracle.graal.python.runtime.PythonContext this
         0: .line 323
            aload 0 /* this */
            getfield com.oracle.graal.python.runtime.PythonContext.sysModules:Lcom/oracle/graal/python/builtins/objects/dict/PDict;
            areturn
        end local 0 // com.oracle.graal.python.runtime.PythonContext this
      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 // com.oracle.graal.python.runtime.PythonContext this
         0: .line 327
            aload 0 /* this */
            getfield com.oracle.graal.python.runtime.PythonContext.sysModules:Lcom/oracle/graal/python/builtins/objects/dict/PDict;
            areturn
        end local 0 // com.oracle.graal.python.runtime.PythonContext this
      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 // com.oracle.graal.python.runtime.PythonContext this
         0: .line 331
            aload 0 /* this */
            getfield com.oracle.graal.python.runtime.PythonContext.builtinsModule:Lcom/oracle/graal/python/builtins/objects/module/PythonModule;
            areturn
        end local 0 // com.oracle.graal.python.runtime.PythonContext this
      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 // com.oracle.graal.python.runtime.PythonContext this
         0: .line 335
            aload 0 /* this */
            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 // com.oracle.graal.python.runtime.PythonContext this
      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 // com.oracle.graal.python.runtime.PythonContext this
         0: .line 339
            aload 0 /* this */
            getfield com.oracle.graal.python.runtime.PythonContext.nativeZlib:Lcom/oracle/graal/python/runtime/NFIZlibSupport;
            areturn
        end local 0 // com.oracle.graal.python.runtime.PythonContext this
      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 // com.oracle.graal.python.runtime.PythonContext this
         0: .line 343
            aload 0 /* this */
            getfield com.oracle.graal.python.runtime.PythonContext.nativeBz2lib:Lcom/oracle/graal/python/runtime/NFIBz2Support;
            areturn
        end local 0 // com.oracle.graal.python.runtime.PythonContext this
      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 // com.oracle.graal.python.runtime.PythonContext this
         0: .line 347
            aload 0 /* this */
            getfield com.oracle.graal.python.runtime.PythonContext.env:Lcom/oracle/truffle/api/TruffleLanguage$Env;
            areturn
        end local 0 // com.oracle.graal.python.runtime.PythonContext this
      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 // com.oracle.graal.python.runtime.PythonContext this
        start local 1 // com.oracle.truffle.api.TruffleLanguage$Env newEnv
         0: .line 351
            invokestatic com.oracle.truffle.api.CompilerDirectives.transferToInterpreterAndInvalidate:()V
         1: .line 352
            aload 0 /* this */
            aload 1 /* newEnv */
            putfield com.oracle.graal.python.runtime.PythonContext.env:Lcom/oracle/truffle/api/TruffleLanguage$Env;
         2: .line 353
            aload 0 /* this */
            aload 0 /* this */
            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: .line 354
            aload 0 /* this */
            aload 0 /* this */
            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: .line 355
            aload 0 /* this */
            aload 0 /* this */
            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: .line 356
            aload 0 /* this */
            getfield com.oracle.graal.python.runtime.PythonContext.resources:Lcom/oracle/graal/python/runtime/PosixResources;
            aload 0 /* this */
            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: .line 357
            aload 0 /* this */
            aload 1 /* newEnv */
            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: .line 358
            return
        end local 1 // com.oracle.truffle.api.TruffleLanguage$Env newEnv
        end local 0 // com.oracle.graal.python.runtime.PythonContext this
      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 // com.oracle.graal.python.runtime.PythonContext this
        start local 1 // java.io.OutputStream out
         0: .line 364
            aload 0 /* this */
            aload 1 /* out */
            putfield com.oracle.graal.python.runtime.PythonContext.out:Ljava/io/OutputStream;
         1: .line 365
            return
        end local 1 // java.io.OutputStream out
        end local 0 // com.oracle.graal.python.runtime.PythonContext this
      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 // com.oracle.graal.python.runtime.PythonContext this
        start local 1 // java.io.OutputStream err
         0: .line 371
            aload 0 /* this */
            aload 1 /* err */
            putfield com.oracle.graal.python.runtime.PythonContext.err:Ljava/io/OutputStream;
         1: .line 372
            return
        end local 1 // java.io.OutputStream err
        end local 0 // com.oracle.graal.python.runtime.PythonContext this
      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 // com.oracle.graal.python.runtime.PythonContext this
         0: .line 375
            aload 0 /* this */
            getfield com.oracle.graal.python.runtime.PythonContext.mainModule:Lcom/oracle/graal/python/builtins/objects/module/PythonModule;
            areturn
        end local 0 // com.oracle.graal.python.runtime.PythonContext this
      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 // com.oracle.graal.python.runtime.PythonContext this
         0: .line 379
            aload 0 /* this */
            getfield com.oracle.graal.python.runtime.PythonContext.core:Lcom/oracle/graal/python/runtime/PythonCore;
            areturn
        end local 0 // com.oracle.graal.python.runtime.PythonContext this
      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 // com.oracle.graal.python.runtime.PythonContext this
         0: .line 383
            aload 0 /* this */
            getfield com.oracle.graal.python.runtime.PythonContext.in:Ljava/io/InputStream;
            areturn
        end local 0 // com.oracle.graal.python.runtime.PythonContext this
      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 // com.oracle.graal.python.runtime.PythonContext this
         0: .line 387
            aload 0 /* this */
            getfield com.oracle.graal.python.runtime.PythonContext.err:Ljava/io/OutputStream;
            areturn
        end local 0 // com.oracle.graal.python.runtime.PythonContext this
      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 // com.oracle.graal.python.runtime.PythonContext this
         0: .line 391
            aload 0 /* this */
            getfield com.oracle.graal.python.runtime.PythonContext.out:Ljava/io/OutputStream;
            areturn
        end local 0 // com.oracle.graal.python.runtime.PythonContext this
      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 // com.oracle.graal.python.runtime.PythonContext this
        start local 1 // com.oracle.graal.python.runtime.exception.PException e
         0: .line 395
            aload 0 /* this */
            invokevirtual com.oracle.graal.python.runtime.PythonContext.getThreadState:()Lcom/oracle/graal/python/runtime/PythonContext$PythonThreadState;
            aload 1 /* e */
            putfield com.oracle.graal.python.runtime.PythonContext$PythonThreadState.currentException:Lcom/oracle/graal/python/runtime/exception/PException;
         1: .line 396
            return
        end local 1 // com.oracle.graal.python.runtime.exception.PException e
        end local 0 // com.oracle.graal.python.runtime.PythonContext this
      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 // com.oracle.graal.python.runtime.PythonContext this
         0: .line 399
            aload 0 /* this */
            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 // com.oracle.graal.python.runtime.PythonContext this
      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 // com.oracle.graal.python.runtime.PythonContext this
        start local 1 // com.oracle.graal.python.runtime.exception.PException e
         0: .line 403
            aload 0 /* this */
            invokevirtual com.oracle.graal.python.runtime.PythonContext.getThreadState:()Lcom/oracle/graal/python/runtime/PythonContext$PythonThreadState;
            aload 1 /* e */
            putfield com.oracle.graal.python.runtime.PythonContext$PythonThreadState.caughtException:Lcom/oracle/graal/python/runtime/exception/PException;
         1: .line 404
            return
        end local 1 // com.oracle.graal.python.runtime.exception.PException e
        end local 0 // com.oracle.graal.python.runtime.PythonContext this
      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 // com.oracle.graal.python.runtime.PythonContext this
         0: .line 407
            aload 0 /* this */
            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 // com.oracle.graal.python.runtime.PythonContext this
      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 // com.oracle.graal.python.runtime.PythonContext this
        start local 1 // com.oracle.graal.python.builtins.objects.frame.PFrame$Reference topframeref
         0: .line 411
            aload 0 /* this */
            invokevirtual com.oracle.graal.python.runtime.PythonContext.getThreadState:()Lcom/oracle/graal/python/runtime/PythonContext$PythonThreadState;
            aload 1 /* topframeref */
            putfield com.oracle.graal.python.runtime.PythonContext$PythonThreadState.topframeref:Lcom/oracle/graal/python/builtins/objects/frame/PFrame$Reference;
         1: .line 412
            return
        end local 1 // com.oracle.graal.python.builtins.objects.frame.PFrame$Reference topframeref
        end local 0 // com.oracle.graal.python.runtime.PythonContext this
      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 // com.oracle.graal.python.runtime.PythonContext this
         0: .line 415
            aload 0 /* this */
            invokevirtual com.oracle.graal.python.runtime.PythonContext.getThreadState:()Lcom/oracle/graal/python/runtime/PythonContext$PythonThreadState;
            astore 1 /* ts */
        start local 1 // com.oracle.graal.python.runtime.PythonContext$PythonThreadState ts
         1: .line 416
            aload 1 /* ts */
            getfield com.oracle.graal.python.runtime.PythonContext$PythonThreadState.topframeref:Lcom/oracle/graal/python/builtins/objects/frame/PFrame$Reference;
            astore 2 /* ref */
        start local 2 // com.oracle.graal.python.builtins.objects.frame.PFrame$Reference ref
         2: .line 417
            aload 1 /* ts */
            aconst_null
            putfield com.oracle.graal.python.runtime.PythonContext$PythonThreadState.topframeref:Lcom/oracle/graal/python/builtins/objects/frame/PFrame$Reference;
         3: .line 418
            aload 2 /* ref */
            areturn
        end local 2 // com.oracle.graal.python.builtins.objects.frame.PFrame$Reference ref
        end local 1 // com.oracle.graal.python.runtime.PythonContext$PythonThreadState ts
        end local 0 // com.oracle.graal.python.runtime.PythonContext this
      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 // com.oracle.graal.python.runtime.PythonContext this
         0: .line 422
            aload 0 /* this */
            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 // com.oracle.graal.python.runtime.PythonContext this
      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 // com.oracle.graal.python.runtime.PythonContext this
        start local 1 // java.lang.Object item
         0: .line 426
            aload 0 /* this */
            invokevirtual com.oracle.graal.python.runtime.PythonContext.getThreadState:()Lcom/oracle/graal/python/runtime/PythonContext$PythonThreadState;
            aload 1 /* item */
            invokevirtual com.oracle.graal.python.runtime.PythonContext$PythonThreadState.reprEnter:(Ljava/lang/Object;)Z
            ireturn
        end local 1 // java.lang.Object item
        end local 0 // com.oracle.graal.python.runtime.PythonContext this
      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 // com.oracle.graal.python.runtime.PythonContext this
        start local 1 // java.lang.Object item
         0: .line 430
            aload 0 /* this */
            invokevirtual com.oracle.graal.python.runtime.PythonContext.getThreadState:()Lcom/oracle/graal/python/runtime/PythonContext$PythonThreadState;
            aload 1 /* item */
            invokevirtual com.oracle.graal.python.runtime.PythonContext$PythonThreadState.reprLeave:(Ljava/lang/Object;)V
         1: .line 431
            return
        end local 1 // java.lang.Object item
        end local 0 // com.oracle.graal.python.runtime.PythonContext this
      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 // com.oracle.graal.python.runtime.PythonContext this
         0: .line 434
            aload 0 /* this */
            getfield com.oracle.graal.python.runtime.PythonContext.isInitialized:Z
            ireturn
        end local 0 // com.oracle.graal.python.runtime.PythonContext this
      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 // com.oracle.graal.python.runtime.PythonContext this
         0: .line 438
            aload 0 /* this */
            getfield com.oracle.graal.python.runtime.PythonContext.core:Lcom/oracle/graal/python/runtime/PythonCore;
            aload 0 /* this */
            invokeinterface com.oracle.graal.python.runtime.PythonCore.initialize:(Lcom/oracle/graal/python/runtime/PythonContext;)V
         1: .line 439
            aload 0 /* this */
            iconst_0
            invokevirtual com.oracle.graal.python.runtime.PythonContext.setupRuntimeInformation:(Z)V
         2: .line 440
            aload 0 /* this */
            getfield com.oracle.graal.python.runtime.PythonContext.core:Lcom/oracle/graal/python/runtime/PythonCore;
            invokeinterface com.oracle.graal.python.runtime.PythonCore.postInitialize:()V
         3: .line 441
            invokestatic org.graalvm.nativeimage.ImageInfo.inImageBuildtimeCode:()Z
            ifne 5
         4: .line 442
            aload 0 /* this */
            invokevirtual com.oracle.graal.python.runtime.PythonContext.importSiteIfForced:()V
         5: .line 444
      StackMap locals:
      StackMap stack:
            return
        end local 0 // com.oracle.graal.python.runtime.PythonContext this
      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 // com.oracle.graal.python.runtime.PythonContext this
        start local 1 // com.oracle.truffle.api.TruffleLanguage$Env newEnv
         0: .line 447
            aload 0 /* this */
            aload 1 /* newEnv */
            invokevirtual com.oracle.graal.python.runtime.PythonContext.setEnv:(Lcom/oracle/truffle/api/TruffleLanguage$Env;)V
         1: .line 448
            aload 0 /* this */
            iconst_1
            invokevirtual com.oracle.graal.python.runtime.PythonContext.setupRuntimeInformation:(Z)V
         2: .line 449
            aload 0 /* this */
            getfield com.oracle.graal.python.runtime.PythonContext.core:Lcom/oracle/graal/python/runtime/PythonCore;
            invokeinterface com.oracle.graal.python.runtime.PythonCore.postInitialize:()V
         3: .line 450
            aload 0 /* this */
            invokevirtual com.oracle.graal.python.runtime.PythonContext.importSiteIfForced:()V
         4: .line 451
            return
        end local 1 // com.oracle.truffle.api.TruffleLanguage$Env newEnv
        end local 0 // com.oracle.graal.python.runtime.PythonContext this
      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 // com.oracle.graal.python.runtime.PythonContext this
         0: .line 454
            aload 0 /* this */
            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: .line 455
            aload 0 /* this */
            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 /* site */
        start local 1 // com.oracle.truffle.api.CallTarget site
         2: .line 456
            aload 1 /* site */
            iconst_0
            anewarray java.lang.Object
            invokeinterface com.oracle.truffle.api.CallTarget.call:([Ljava/lang/Object;)Ljava/lang/Object;
            pop
        end local 1 // com.oracle.truffle.api.CallTarget site
         3: .line 458
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            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: .line 460
            aload 0 /* this */
            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 /* site */
        start local 1 // com.oracle.truffle.api.CallTarget site
         5: .line 461
            aload 1 /* site */
            iconst_0
            anewarray java.lang.Object
            invokeinterface com.oracle.truffle.api.CallTarget.call:([Ljava/lang/Object;)Ljava/lang/Object;
            pop
        end local 1 // com.oracle.truffle.api.CallTarget site
         6: .line 463
      StackMap locals:
      StackMap stack:
            return
        end local 0 // com.oracle.graal.python.runtime.PythonContext this
      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 // com.oracle.graal.python.runtime.PythonContext this
        start local 1 // java.lang.String from
        start local 2 // java.lang.String to
         0: .line 473
            invokestatic com.oracle.graal.python.builtins.objects.common.HashingStorageLibrary.getUncached:()Lcom/oracle/graal/python/builtins/objects/common/HashingStorageLibrary;
            aload 0 /* this */
            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 /* v */
        start local 3 // java.lang.Object v
         2: .line 474
            aload 3 /* v */
            instanceof com.oracle.graal.python.builtins.objects.module.PythonModule
            ifeq 28
         3: .line 476
            aload 3 /* v */
            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 /* path */
        start local 5 // java.lang.Object path
         4: .line 477
            aload 5 /* path */
            instanceof com.oracle.graal.python.builtins.objects.list.PList
            ifeq 19
         5: .line 478
            invokestatic com.oracle.graal.python.builtins.objects.common.SequenceStorageNodes$CopyInternalArrayNode.getUncached:()Lcom/oracle/graal/python/builtins/objects/common/SequenceStorageNodes$CopyInternalArrayNode;
            aload 5 /* path */
            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 /* paths */
        start local 6 // java.lang.Object[] paths
         6: .line 479
            iconst_0
            istore 7 /* i */
        start local 7 // int i
         7: goto 17
         8: .line 480
      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 /* paths */
            iload 7 /* i */
            aaload
            astore 8 /* pathElement */
        start local 8 // java.lang.Object pathElement
         9: .line 482
            aload 8 /* pathElement */
            instanceof com.oracle.graal.python.builtins.objects.str.PString
            ifeq 12
        10: .line 483
            aload 8 /* pathElement */
            checkcast com.oracle.graal.python.builtins.objects.str.PString
            invokevirtual com.oracle.graal.python.builtins.objects.str.PString.getValue:()Ljava/lang/String;
            astore 9 /* strPath */
        start local 9 // java.lang.String strPath
        11: .line 484
            goto 14
        end local 9 // java.lang.String strPath
      StackMap locals: java.lang.Object
      StackMap stack:
        12: aload 8 /* pathElement */
            instanceof java.lang.String
            ifeq 16
        13: .line 485
            aload 8 /* pathElement */
            checkcast java.lang.String
            astore 9 /* strPath */
        start local 9 // java.lang.String strPath
        14: .line 489
      StackMap locals: java.lang.String
      StackMap stack:
            aload 9 /* strPath */
            aload 1 /* from */
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ifeq 16
        15: .line 490
            aload 6 /* paths */
            iload 7 /* i */
            aload 9 /* strPath */
            aload 1 /* from */
            aload 2 /* to */
            invokevirtual java.lang.String.replace:(Ljava/lang/CharSequence;Ljava/lang/CharSequence;)Ljava/lang/String;
            aastore
        end local 9 // java.lang.String strPath
        end local 8 // java.lang.Object pathElement
        16: .line 479
      StackMap locals:
      StackMap stack:
            iinc 7 /* i */ 1
      StackMap locals:
      StackMap stack:
        17: iload 7 /* i */
            aload 6 /* paths */
            arraylength
            if_icmplt 8
        end local 7 // int i
        18: .line 493
            aload 3 /* v */
            checkcast com.oracle.graal.python.builtins.objects.module.PythonModule
            ldc "__path__"
            aload 0 /* this */
            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 /* paths */
            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 // java.lang.Object[] paths
        19: .line 497
      StackMap locals:
      StackMap stack:
            aload 3 /* v */
            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 /* file */
        start local 6 // java.lang.Object file
        20: .line 498
            aconst_null
            astore 7 /* strFile */
        start local 7 // java.lang.String strFile
        21: .line 499
            aload 6 /* file */
            instanceof com.oracle.graal.python.builtins.objects.str.PString
            ifeq 24
        22: .line 500
            aload 6 /* file */
            checkcast com.oracle.graal.python.builtins.objects.str.PString
            invokevirtual com.oracle.graal.python.builtins.objects.str.PString.getValue:()Ljava/lang/String;
            astore 7 /* strFile */
        23: .line 501
            goto 26
      StackMap locals: java.lang.Object java.lang.String
      StackMap stack:
        24: aload 6 /* file */
            instanceof java.lang.String
            ifeq 26
        25: .line 502
            aload 6 /* file */
            checkcast java.lang.String
            astore 7 /* strFile */
        26: .line 504
      StackMap locals:
      StackMap stack:
            aload 7 /* strFile */
            ifnull 28
        27: .line 505
            aload 3 /* v */
            checkcast com.oracle.graal.python.builtins.objects.module.PythonModule
            ldc "__file__"
            aload 7 /* strFile */
            aload 1 /* from */
            aload 2 /* to */
            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 // java.lang.String strFile
        end local 6 // java.lang.Object file
        end local 5 // java.lang.Object path
        end local 3 // java.lang.Object v
        28: .line 473
      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: .line 509
            return
        end local 2 // java.lang.String to
        end local 1 // java.lang.String from
        end local 0 // com.oracle.graal.python.runtime.PythonContext this
      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 // com.oracle.graal.python.runtime.PythonContext this
        start local 1 // boolean isPatching
         0: .line 512
            aload 0 /* this */
            aload 0 /* this */
            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: .line 513
            aload 0 /* this */
            aload 0 /* this */
            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: .line 514
            aload 0 /* this */
            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 /* sysModule */
        start local 2 // com.oracle.graal.python.builtins.objects.module.PythonModule sysModule
         3: .line 515
            aload 0 /* this */
            aload 2 /* sysModule */
            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: .line 517
            aload 0 /* this */
            aload 0 /* this */
            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: .line 519
            aload 0 /* this */
            aload 0 /* this */
            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: .line 520
            aload 0 /* this */
            getfield com.oracle.graal.python.runtime.PythonContext.mainModule:Lcom/oracle/graal/python/builtins/objects/module/PythonModule;
            ldc "__builtins__"
            aload 0 /* this */
            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: .line 521
            aload 0 /* this */
            getfield com.oracle.graal.python.runtime.PythonContext.mainModule:Lcom/oracle/graal/python/builtins/objects/module/PythonModule;
            ldc "__annotations__"
            aload 0 /* this */
            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: .line 523
            invokestatic com.oracle.graal.python.builtins.objects.object.PythonObjectLibrary.getUncached:()Lcom/oracle/graal/python/builtins/objects/object/PythonObjectLibrary;
            aload 0 /* this */
            getfield com.oracle.graal.python.runtime.PythonContext.mainModule:Lcom/oracle/graal/python/builtins/objects/module/PythonModule;
            aload 0 /* this */
            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 /* this */
            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: .line 524
            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 /* e */
        start local 3 // com.oracle.truffle.api.interop.UnsupportedMessageException e
        11: .line 525
            invokestatic com.oracle.truffle.api.CompilerDirectives.transferToInterpreterAndInvalidate:()V
        12: .line 526
            new java.lang.IllegalStateException
            dup
            ldc "This cannot happen - the main module doesn't accept a __dict__"
            aload 3 /* e */
            invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            athrow
        end local 3 // com.oracle.truffle.api.interop.UnsupportedMessageException e
        13: .line 529
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.oracle.graal.python.runtime.PythonContext.sysModules:Lcom/oracle/graal/python/builtins/objects/dict/PDict;
            ldc "__main__"
            aload 0 /* this */
            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: .line 532
            invokestatic org.graalvm.nativeimage.ImageInfo.inImageBuildtimeCode:()Z
            ifeq 17
        15: .line 535
            aload 0 /* this */
            aload 0 /* this */
            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: .line 536
            goto 19
      StackMap locals:
      StackMap stack:
        17: iload 1 /* isPatching */
            ifeq 19
            invokestatic org.graalvm.nativeimage.ImageInfo.inImageRuntimeCode:()Z
            ifeq 19
        18: .line 539
            aload 0 /* this */
            ldc "!stdLibHome!"
            aload 0 /* this */
            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: .line 542
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            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: .line 543
            aload 0 /* this */
            iconst_1
            putfield com.oracle.graal.python.runtime.PythonContext.isInitialized:Z
        21: .line 544
            return
        end local 2 // com.oracle.graal.python.builtins.objects.module.PythonModule sysModule
        end local 1 // boolean isPatching
        end local 0 // com.oracle.graal.python.runtime.PythonContext this
      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 // com.oracle.graal.python.runtime.PythonContext this
        start local 1 // com.oracle.truffle.api.TruffleLanguage$Env newEnv
        start local 2 // java.lang.String languageHome
         0: .line 549
            aload 0 /* this */
            aload 1 /* newEnv */
            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: .line 550
            aload 0 /* this */
            aload 1 /* newEnv */
            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: .line 551
            aload 0 /* this */
            aload 1 /* newEnv */
            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: .line 552
            aload 0 /* this */
            aload 1 /* newEnv */
            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: .line 553
            aload 0 /* this */
            aload 1 /* newEnv */
            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: .line 555
            aload 0 /* this */
            aload 2 /* languageHome */
            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: .line 563
            aconst_null
            astore 3 /* envHome */
        start local 3 // java.lang.String envHome
         7: .line 565
            ldc "GRAAL_PYTHONHOME"
            invokestatic java.lang.System.getenv:(Ljava/lang/String;)Ljava/lang/String;
            astore 3 /* envHome */
         8: .line 566
            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: .line 570
      StackMap locals:
      StackMap stack:
            aload 2 /* languageHome */
            ifnull 13
            aload 3 /* envHome */
            ifnonnull 13
        11: .line 571
            aload 1 /* newEnv */
            aload 2 /* languageHome */
            invokevirtual com.oracle.truffle.api.TruffleLanguage$Env.getInternalTruffleFile:(Ljava/lang/String;)Lcom/oracle/truffle/api/TruffleFile;
            astore 4 /* home */
        start local 4 // com.oracle.truffle.api.TruffleFile home
        12: .line 572
            goto 25
        end local 4 // com.oracle.truffle.api.TruffleFile home
      StackMap locals:
      StackMap stack:
        13: aload 3 /* envHome */
            ifnull 24
        14: .line 573
            iconst_0
            istore 5 /* envHomeIsDirectory */
        start local 5 // boolean envHomeIsDirectory
        15: .line 574
            aconst_null
            astore 6 /* envHomeFile */
        start local 6 // com.oracle.truffle.api.TruffleFile envHomeFile
        16: .line 576
            aload 1 /* newEnv */
            aload 3 /* envHome */
            invokevirtual com.oracle.truffle.api.TruffleLanguage$Env.getInternalTruffleFile:(Ljava/lang/String;)Lcom/oracle/truffle/api/TruffleFile;
            astore 6 /* envHomeFile */
        17: .line 577
            aload 6 /* envHomeFile */
            iconst_0
            anewarray java.nio.file.LinkOption
            invokevirtual com.oracle.truffle.api.TruffleFile.isDirectory:([Ljava/nio/file/LinkOption;)Z
            istore 5 /* envHomeIsDirectory */
        18: .line 578
            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: .line 580
      StackMap locals:
      StackMap stack:
            iload 5 /* envHomeIsDirectory */
            ifeq 21
            aload 6 /* envHomeFile */
            goto 22
      StackMap locals:
      StackMap stack:
        21: aconst_null
      StackMap locals:
      StackMap stack: com.oracle.truffle.api.TruffleFile
        22: astore 4 /* home */
        end local 6 // com.oracle.truffle.api.TruffleFile envHomeFile
        end local 5 // boolean envHomeIsDirectory
        start local 4 // com.oracle.truffle.api.TruffleFile home
        23: .line 581
            goto 25
        end local 4 // com.oracle.truffle.api.TruffleFile home
        24: .line 582
      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 /* home */
        start local 4 // com.oracle.truffle.api.TruffleFile home
        25: .line 585
      StackMap locals: com.oracle.truffle.api.TruffleFile
      StackMap stack:
            aload 4 /* home */
            ifnull 54
        26: .line 586
            aload 0 /* this */
            getfield com.oracle.graal.python.runtime.PythonContext.sysPrefix:Ljava/lang/String;
            invokevirtual java.lang.String.isEmpty:()Z
            ifeq 28
        27: .line 587
            aload 0 /* this */
            aload 4 /* home */
            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: .line 590
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.oracle.graal.python.runtime.PythonContext.basePrefix:Ljava/lang/String;
            invokevirtual java.lang.String.isEmpty:()Z
            ifeq 30
        29: .line 591
            aload 0 /* this */
            aload 4 /* home */
            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: .line 594
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.oracle.graal.python.runtime.PythonContext.coreHome:Ljava/lang/String;
            invokevirtual java.lang.String.isEmpty:()Z
            ifeq 39
        31: .line 596
            aload 4 /* home */
            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 /* f */
        start local 5 // com.oracle.truffle.api.TruffleFile f
        33: .line 597
            aload 5 /* f */
            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 /* f */
            iconst_0
            anewarray java.nio.file.LinkOption
            invokevirtual com.oracle.truffle.api.TruffleFile.isDirectory:([Ljava/nio/file/LinkOption;)Z
            ifeq 36
        34: .line 598
            aload 0 /* this */
            aload 5 /* f */
            invokevirtual com.oracle.truffle.api.TruffleFile.getPath:()Ljava/lang/String;
            putfield com.oracle.graal.python.runtime.PythonContext.coreHome:Ljava/lang/String;
        35: .line 599
            goto 39
        end local 5 // com.oracle.truffle.api.TruffleFile f
        36: .line 596
      StackMap locals:
      StackMap stack:
            aload 6
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 32
        37: .line 602
            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: .line 606
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.oracle.graal.python.runtime.PythonContext.stdLibHome:Ljava/lang/String;
            invokevirtual java.lang.String.isEmpty:()Z
            ifeq 52
        40: .line 608
            aload 4 /* home */
            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 /* f */
        start local 5 // com.oracle.truffle.api.TruffleFile f
        42: .line 609
            aload 5 /* f */
            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 /* f */
            iconst_0
            anewarray java.nio.file.LinkOption
            invokevirtual com.oracle.truffle.api.TruffleFile.isDirectory:([Ljava/nio/file/LinkOption;)Z
            ifeq 49
        43: .line 610
            aload 5 /* f */
            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 /* f2 */
        start local 7 // com.oracle.truffle.api.TruffleFile f2
        45: .line 611
            aload 7 /* f2 */
            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 /* f */
            iconst_0
            anewarray java.nio.file.LinkOption
            invokevirtual com.oracle.truffle.api.TruffleFile.isDirectory:([Ljava/nio/file/LinkOption;)Z
            ifeq 48
        46: .line 612
            aload 0 /* this */
            aload 7 /* f2 */
            invokevirtual com.oracle.truffle.api.TruffleFile.getPath:()Ljava/lang/String;
            putfield com.oracle.graal.python.runtime.PythonContext.stdLibHome:Ljava/lang/String;
        47: .line 613
            goto 52
        end local 7 // com.oracle.truffle.api.TruffleFile f2
        48: .line 610
      StackMap locals:
      StackMap stack:
            aload 8
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 44
        end local 5 // com.oracle.truffle.api.TruffleFile f
        49: .line 608
      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: .line 618
            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: .line 622
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.oracle.graal.python.runtime.PythonContext.capiHome:Ljava/lang/String;
            invokevirtual java.lang.String.isEmpty:()Z
            ifeq 54
        53: .line 623
            aload 0 /* this */
            aload 0 /* this */
            getfield com.oracle.graal.python.runtime.PythonContext.coreHome:Ljava/lang/String;
            putfield com.oracle.graal.python.runtime.PythonContext.capiHome:Ljava/lang/String;
        54: .line 627
      StackMap locals:
      StackMap stack:
            invokestatic org.graalvm.nativeimage.ImageInfo.inImageBuildtimeCode:()Z
            ifeq 64
        55: .line 629
            aload 1 /* newEnv */
            aload 0 /* this */
            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 /* base */
        start local 5 // com.oracle.truffle.api.TruffleFile base
        56: .line 630
            aload 1 /* newEnv */
            aload 5 /* base */
            invokevirtual com.oracle.truffle.api.TruffleLanguage$Env.setCurrentWorkingDirectory:(Lcom/oracle/truffle/api/TruffleFile;)V
        57: .line 631
            aload 0 /* this */
            ldc "."
            putfield com.oracle.graal.python.runtime.PythonContext.basePrefix:Ljava/lang/String;
        58: .line 632
            aload 0 /* this */
            aload 5 /* base */
            aload 1 /* newEnv */
            aload 0 /* this */
            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: .line 633
            aload 0 /* this */
            getfield com.oracle.graal.python.runtime.PythonContext.sysPrefix:Ljava/lang/String;
            invokevirtual java.lang.String.isEmpty:()Z
            ifeq 61
        60: .line 634
            aload 0 /* this */
            ldc "."
            putfield com.oracle.graal.python.runtime.PythonContext.sysPrefix:Ljava/lang/String;
        61: .line 636
      StackMap locals: com.oracle.truffle.api.TruffleFile
      StackMap stack:
            aload 0 /* this */
            aload 5 /* base */
            aload 1 /* newEnv */
            aload 0 /* this */
            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: .line 637
            aload 0 /* this */
            aload 5 /* base */
            aload 1 /* newEnv */
            aload 0 /* this */
            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: .line 638
            aload 0 /* this */
            aload 5 /* base */
            aload 1 /* newEnv */
            aload 0 /* this */
            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 // com.oracle.truffle.api.TruffleFile base
        64: .line 641
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 4 /* home */
            aload 1 /* newEnv */
            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: .line 649
            return
        end local 4 // com.oracle.truffle.api.TruffleFile home
        end local 3 // java.lang.String envHome
        end local 2 // java.lang.String languageHome
        end local 1 // com.oracle.truffle.api.TruffleLanguage$Env newEnv
        end local 0 // com.oracle.graal.python.runtime.PythonContext this
      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 // com.oracle.graal.python.runtime.PythonContext this
         0: .line 653
            aload 0 /* this */
            getfield com.oracle.graal.python.runtime.PythonContext.sysPrefix:Ljava/lang/String;
            invokevirtual java.lang.String.isEmpty:()Z
            ifeq 3
         1: .line 654
            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: .line 655
            aload 0 /* this */
            ldc "/"
            putfield com.oracle.graal.python.runtime.PythonContext.sysPrefix:Ljava/lang/String;
         3: .line 657
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.oracle.graal.python.runtime.PythonContext.sysPrefix:Ljava/lang/String;
            areturn
        end local 0 // com.oracle.graal.python.runtime.PythonContext this
      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 // com.oracle.graal.python.runtime.PythonContext this
         0: .line 662
            aload 0 /* this */
            getfield com.oracle.graal.python.runtime.PythonContext.basePrefix:Ljava/lang/String;
            invokevirtual java.lang.String.isEmpty:()Z
            ifeq 5
         1: .line 663
            aload 0 /* this */
            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 /* homePrefix */
        start local 1 // java.lang.String homePrefix
         2: .line 664
            aload 1 /* homePrefix */
            ifnull 3
            aload 1 /* homePrefix */
            invokevirtual java.lang.String.isEmpty:()Z
            ifeq 4
         3: .line 665
      StackMap locals: java.lang.String
      StackMap stack:
            ldc "/"
            astore 1 /* homePrefix */
         4: .line 667
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* homePrefix */
            putfield com.oracle.graal.python.runtime.PythonContext.basePrefix:Ljava/lang/String;
        end local 1 // java.lang.String homePrefix
         5: .line 669
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.oracle.graal.python.runtime.PythonContext.basePrefix:Ljava/lang/String;
            areturn
        end local 0 // com.oracle.graal.python.runtime.PythonContext this
      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 // com.oracle.graal.python.runtime.PythonContext this
         0: .line 674
            aload 0 /* this */
            getfield com.oracle.graal.python.runtime.PythonContext.coreHome:Ljava/lang/String;
            invokevirtual java.lang.String.isEmpty:()Z
            ifeq 3
         1: .line 675
            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: .line 676
            aload 0 /* this */
            ldc "/lib-graalpython"
            putfield com.oracle.graal.python.runtime.PythonContext.coreHome:Ljava/lang/String;
         3: .line 678
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.oracle.graal.python.runtime.PythonContext.coreHome:Ljava/lang/String;
            areturn
        end local 0 // com.oracle.graal.python.runtime.PythonContext this
      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 // com.oracle.graal.python.runtime.PythonContext this
         0: .line 683
            aload 0 /* this */
            getfield com.oracle.graal.python.runtime.PythonContext.stdLibHome:Ljava/lang/String;
            invokevirtual java.lang.String.isEmpty:()Z
            ifeq 3
         1: .line 684
            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: .line 685
            aload 0 /* this */
            ldc "/lib-python/3"
            putfield com.oracle.graal.python.runtime.PythonContext.stdLibHome:Ljava/lang/String;
         3: .line 687
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.oracle.graal.python.runtime.PythonContext.stdLibHome:Ljava/lang/String;
            areturn
        end local 0 // com.oracle.graal.python.runtime.PythonContext this
      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 // com.oracle.graal.python.runtime.PythonContext this
         0: .line 692
            aload 0 /* this */
            getfield com.oracle.graal.python.runtime.PythonContext.coreHome:Ljava/lang/String;
            invokevirtual java.lang.String.isEmpty:()Z
            ifeq 2
         1: .line 693
            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: .line 695
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.oracle.graal.python.runtime.PythonContext.coreHome:Ljava/lang/String;
            areturn
        end local 0 // com.oracle.graal.python.runtime.PythonContext this
      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 // com.oracle.graal.python.runtime.PythonContext this
         0: .line 700
            aload 0 /* this */
            getfield com.oracle.graal.python.runtime.PythonContext.capiHome:Ljava/lang/String;
            invokevirtual java.lang.String.isEmpty:()Z
            ifeq 3
         1: .line 701
            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: .line 702
            aload 0 /* this */
            getfield com.oracle.graal.python.runtime.PythonContext.coreHome:Ljava/lang/String;
            areturn
         3: .line 704
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.oracle.graal.python.runtime.PythonContext.capiHome:Ljava/lang/String;
            areturn
        end local 0 // com.oracle.graal.python.runtime.PythonContext this
      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 // java.lang.String warning
         0: .line 708
            getstatic com.oracle.graal.python.runtime.PythonContext.LOGGER:Lcom/oracle/truffle/api/TruffleLogger;
            aload 0 /* warning */
            invokevirtual com.oracle.truffle.api.TruffleLogger.warning:(Ljava/lang/String;)V
         1: .line 709
            return
        end local 0 // java.lang.String warning
      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 // com.oracle.graal.python.runtime.PythonContext this
        start local 1 // com.oracle.graal.python.util.ShutdownHook shutdownHook
         0: .line 713
            aload 0 /* this */
            getfield com.oracle.graal.python.runtime.PythonContext.shutdownHooks:Ljava/util/List;
            aload 1 /* shutdownHook */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
         1: .line 714
            return
        end local 1 // com.oracle.graal.python.util.ShutdownHook shutdownHook
        end local 0 // com.oracle.graal.python.runtime.PythonContext this
      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 // com.oracle.graal.python.runtime.PythonContext this
        start local 1 // java.lang.Object callable
        start local 2 // java.lang.Object[] arguments
        start local 3 // com.oracle.graal.python.builtins.objects.function.PKeyword[] keywords
        start local 4 // com.oracle.truffle.api.CallTarget ct
         0: .line 718
            aload 0 /* this */
            getfield com.oracle.graal.python.runtime.PythonContext.atExitHooks:Ljava/util/List;
            new com.oracle.graal.python.runtime.PythonContext$AtExitHook
            dup
            aload 1 /* callable */
            aload 2 /* arguments */
            aload 3 /* keywords */
            aload 4 /* ct */
            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: .line 719
            return
        end local 4 // com.oracle.truffle.api.CallTarget ct
        end local 3 // com.oracle.graal.python.builtins.objects.function.PKeyword[] keywords
        end local 2 // java.lang.Object[] arguments
        end local 1 // java.lang.Object callable
        end local 0 // com.oracle.graal.python.runtime.PythonContext this
      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 // com.oracle.graal.python.runtime.PythonContext this
        start local 1 // java.lang.Object callable
         0: .line 723
            aload 0 /* this */
            getfield com.oracle.graal.python.runtime.PythonContext.atExitHooks:Ljava/util/List;
            aload 1 /* callable */
            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: .line 724
            return
        end local 1 // java.lang.Object callable
        end local 0 // com.oracle.graal.python.runtime.PythonContext this
      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 // com.oracle.graal.python.runtime.PythonContext this
         0: .line 728
            aload 0 /* this */
            getfield com.oracle.graal.python.runtime.PythonContext.atExitHooks:Ljava/util/List;
            invokeinterface java.util.List.clear:()V
         1: .line 729
            return
        end local 0 // com.oracle.graal.python.runtime.PythonContext this
      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 // com.oracle.graal.python.runtime.PythonContext this
         0: .line 733
            aload 0 /* this */
            iconst_1
            putfield com.oracle.graal.python.runtime.PythonContext.finalizing:Z
         1: .line 734
            aload 0 /* this */
            invokevirtual com.oracle.graal.python.runtime.PythonContext.shutdownThreads:()V
         2: .line 735
            aload 0 /* this */
            invokevirtual com.oracle.graal.python.runtime.PythonContext.runShutdownHooks:()V
         3: .line 736
            return
        end local 0 // com.oracle.graal.python.runtime.PythonContext this
      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 // com.oracle.graal.python.runtime.PythonContext this
         0: .line 740
            aload 0 /* this */
            getfield com.oracle.graal.python.runtime.PythonContext.atExitHooks:Ljava/util/List;
            invokeinterface java.util.List.size:()I
            ireturn
        end local 0 // com.oracle.graal.python.runtime.PythonContext this
      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 // com.oracle.graal.python.runtime.PythonContext this
         0: .line 746
            aconst_null
            astore 1 /* lastException */
        start local 1 // com.oracle.graal.python.runtime.exception.PException lastException
         1: .line 747
            aload 0 /* this */
            getfield com.oracle.graal.python.runtime.PythonContext.atExitHooks:Ljava/util/List;
            invokeinterface java.util.List.size:()I
            iconst_1
            isub
            istore 2 /* i */
        start local 2 // int i
         2: goto 9
         3: .line 748
      StackMap locals: com.oracle.graal.python.runtime.exception.PException int
      StackMap stack:
            aload 0 /* this */
            getfield com.oracle.graal.python.runtime.PythonContext.atExitHooks:Ljava/util/List;
            iload 2 /* i */
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast com.oracle.graal.python.runtime.PythonContext$AtExitHook
            astore 3 /* hook */
        start local 3 // com.oracle.graal.python.runtime.PythonContext$AtExitHook hook
         4: .line 750
            aload 3 /* hook */
            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 /* hook */
            getfield com.oracle.graal.python.runtime.PythonContext$AtExitHook.callable:Ljava/lang/Object;
            aastore
            dup
            iconst_1
            aload 3 /* hook */
            getfield com.oracle.graal.python.runtime.PythonContext$AtExitHook.arguments:[Ljava/lang/Object;
            aastore
            dup
            iconst_2
            aload 3 /* hook */
            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: .line 751
            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 /* e */
        start local 4 // com.oracle.graal.python.runtime.exception.PException e
         7: .line 752
            aload 4 /* e */
            astore 1 /* lastException */
        end local 4 // com.oracle.graal.python.runtime.exception.PException e
        end local 3 // com.oracle.graal.python.runtime.PythonContext$AtExitHook hook
         8: .line 747
      StackMap locals:
      StackMap stack:
            iinc 2 /* i */ -1
      StackMap locals:
      StackMap stack:
         9: iload 2 /* i */
            ifge 3
        end local 2 // int i
        10: .line 755
            aload 0 /* this */
            getfield com.oracle.graal.python.runtime.PythonContext.atExitHooks:Ljava/util/List;
            invokeinterface java.util.List.clear:()V
        11: .line 756
            aload 1 /* lastException */
            ifnull 13
        12: .line 757
            aload 1 /* lastException */
            athrow
        13: .line 759
      StackMap locals:
      StackMap stack:
            return
        end local 1 // com.oracle.graal.python.runtime.exception.PException lastException
        end local 0 // com.oracle.graal.python.runtime.PythonContext this
      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 // com.oracle.graal.python.runtime.PythonContext this
         0: .line 763
            aload 0 /* this */
            getfield com.oracle.graal.python.runtime.PythonContext.handler:Lcom/oracle/graal/python/runtime/AsyncHandler;
            invokevirtual com.oracle.graal.python.runtime.AsyncHandler.shutdown:()V
         1: .line 765
            aload 0 /* this */
            invokevirtual com.oracle.graal.python.runtime.PythonContext.runAtexitHooks:()V
         2: .line 766
            goto 4
      StackMap locals:
      StackMap stack: com.oracle.graal.python.runtime.exception.PException
         3: pop
         4: .line 769
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            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 /* h */
        start local 1 // com.oracle.graal.python.util.ShutdownHook h
         6: .line 770
            aload 1 /* h */
            aload 0 /* this */
            invokeinterface com.oracle.graal.python.util.ShutdownHook.call:(Lcom/oracle/graal/python/runtime/PythonContext;)V
        end local 1 // com.oracle.graal.python.util.ShutdownHook h
         7: .line 769
      StackMap locals:
      StackMap stack:
            aload 2
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 5
         8: .line 773
            aload 0 /* this */
            getfield com.oracle.graal.python.runtime.PythonContext.customThreadState:Ljava/lang/ThreadLocal;
            ifnull 10
         9: .line 774
            aload 0 /* this */
            getfield com.oracle.graal.python.runtime.PythonContext.customThreadState:Ljava/lang/ThreadLocal;
            aconst_null
            invokevirtual java.lang.ThreadLocal.set:(Ljava/lang/Object;)V
        10: .line 776
      StackMap locals: com.oracle.graal.python.runtime.PythonContext
      StackMap stack:
            return
        end local 0 // com.oracle.graal.python.runtime.PythonContext this
      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 // com.oracle.graal.python.runtime.PythonContext this
         0: .line 780
            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: .line 781
            aload 0 /* this */
            invokevirtual com.oracle.graal.python.runtime.PythonContext.getImportedModules:()Lcom/oracle/graal/python/builtins/objects/dict/PDict;
            astore 1 /* importedModules */
        start local 1 // com.oracle.graal.python.builtins.objects.dict.PDict importedModules
         2: .line 782
            invokestatic com.oracle.graal.python.builtins.objects.common.HashingCollectionNodes$GetDictStorageNode.getUncached:()Lcom/oracle/graal/python/builtins/objects/common/HashingCollectionNodes$GetDictStorageNode;
            aload 1 /* importedModules */
            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 /* dictStorage */
        start local 2 // com.oracle.graal.python.builtins.objects.common.HashingStorage dictStorage
         3: .line 783
            invokestatic com.oracle.graal.python.builtins.objects.common.HashingStorageLibrary.getUncached:()Lcom/oracle/graal/python/builtins/objects/common/HashingStorageLibrary;
            aload 2 /* dictStorage */
            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 /* value */
        start local 3 // java.lang.Object value
         4: .line 784
            aload 3 /* value */
            ifnull 23
         5: .line 785
            invokestatic com.oracle.graal.python.nodes.attributes.ReadAttributeFromObjectNode.getUncached:()Lcom/oracle/graal/python/nodes/attributes/ReadAttributeFromObjectNode;
            aload 3 /* value */
            ldc "_shutdown"
            invokevirtual com.oracle.graal.python.nodes.attributes.ReadAttributeFromObjectNode.execute:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            astore 4 /* attrShutdown */
        start local 4 // java.lang.Object attrShutdown
         6: .line 786
            aload 4 /* attrShutdown */
            getstatic com.oracle.graal.python.builtins.objects.PNone.NO_VALUE:Lcom/oracle/graal/python/builtins/objects/PNone;
            if_acmpne 9
         7: .line 787
            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: .line 788
            return
         9: .line 791
      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 /* attrShutdown */
            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: .line 792
            goto 24
      StackMap locals:
      StackMap stack: java.lang.Throwable
        11: astore 5 /* e */
        start local 5 // java.lang.Throwable e
        12: .line 794
            invokestatic com.oracle.truffle.api.interop.InteropLibrary.getUncached:()Lcom/oracle/truffle/api/interop/InteropLibrary;
            aload 5 /* e */
            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 /* e */
            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 /* exitException */
        start local 6 // boolean exitException
        15: .line 795
            iload 6 /* exitException */
            ifne 22
        16: .line 796
            aload 5 /* e */
            invokestatic com.oracle.graal.python.runtime.exception.ExceptionUtils.printPythonLikeStackTrace:(Ljava/lang/Throwable;)V
        17: .line 797
            aload 0 /* this */
            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: .line 798
            aload 5 /* e */
            new java.io.PrintWriter
            dup
            aload 0 /* this */
            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 // boolean exitException
        19: .line 801
            goto 22
      StackMap locals:
      StackMap stack: com.oracle.truffle.api.interop.UnsupportedMessageException
        20: pop
        21: .line 802
            invokestatic com.oracle.truffle.api.CompilerDirectives.shouldNotReachHere:()Ljava/lang/RuntimeException;
            athrow
        22: .line 804
      StackMap locals:
      StackMap stack:
            aload 5 /* e */
            athrow
        end local 5 // java.lang.Throwable e
        end local 4 // java.lang.Object attrShutdown
        23: .line 808
      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: .line 810
      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: .line 812
            aload 0 /* this */
            getfield com.oracle.graal.python.runtime.PythonContext.singleThreaded:Lcom/oracle/truffle/api/Assumption;
            invokeinterface com.oracle.truffle.api.Assumption.isValid:()Z
            ifne 47
        26: .line 814
            new java.util.LinkedList
            dup
            invokespecial java.util.LinkedList.<init>:()V
            astore 4 /* threadList */
        start local 4 // java.util.LinkedList threadList
        27: .line 815
            aload 0 /* this */
            dup
            astore 5
            monitorenter
        28: .line 816
            aload 0 /* this */
            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 /* ts */
        start local 6 // com.oracle.graal.python.runtime.PythonContext$PythonThreadState ts
        30: .line 818
            aload 6 /* ts */
            aload 0 /* this */
            getfield com.oracle.graal.python.runtime.PythonContext.singleThreadState:Lcom/oracle/graal/python/runtime/PythonContext$PythonThreadState;
            if_acmpeq 32
        31: .line 819
            aload 4 /* threadList */
            aload 6 /* ts */
            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 // com.oracle.graal.python.runtime.PythonContext$PythonThreadState ts
        32: .line 816
      StackMap locals:
      StackMap stack:
            aload 7
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 29
        33: .line 815
            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: .line 826
      StackMap locals:
      StackMap stack:
            aload 4 /* threadList */
            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 /* threadRef */
        start local 5 // java.lang.ref.WeakReference threadRef
        39: .line 827
            aload 5 /* threadRef */
            invokevirtual java.lang.ref.WeakReference.get:()Ljava/lang/Object;
            checkcast java.lang.Thread
            astore 7 /* thread */
        start local 7 // java.lang.Thread thread
        40: .line 828
            aload 7 /* thread */
            ifnull 43
        41: .line 829
            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 /* thread */
            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: .line 830
            aload 7 /* thread */
            invokevirtual java.lang.Thread.join:()V
        end local 7 // java.lang.Thread thread
        end local 5 // java.lang.ref.WeakReference threadRef
        43: .line 826
      StackMap locals:
      StackMap stack:
            aload 6
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 38
        44: .line 833
            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: .line 834
            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 // java.util.LinkedList threadList
        47: .line 837
      StackMap locals:
      StackMap stack:
            return
        end local 3 // java.lang.Object value
        end local 2 // com.oracle.graal.python.builtins.objects.common.HashingStorage dictStorage
        end local 1 // com.oracle.graal.python.builtins.objects.dict.PDict importedModules
        end local 0 // com.oracle.graal.python.runtime.PythonContext this
      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 // com.oracle.graal.python.runtime.PythonContext this
         0: .line 841
            aload 0 /* this */
            getfield com.oracle.graal.python.runtime.PythonContext.customThreadState:Ljava/lang/ThreadLocal;
            ifnonnull 4
         1: .line 842
            new java.lang.ThreadLocal
            dup
            invokespecial java.lang.ThreadLocal.<init>:()V
            astore 1 /* threadLocal */
        start local 1 // java.lang.ThreadLocal threadLocal
         2: .line 843
            aload 1 /* threadLocal */
            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: .line 844
            aload 0 /* this */
            aload 1 /* threadLocal */
            putfield com.oracle.graal.python.runtime.PythonContext.customThreadState:Ljava/lang/ThreadLocal;
        end local 1 // java.lang.ThreadLocal threadLocal
         4: .line 846
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            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 // com.oracle.graal.python.runtime.PythonContext this
      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 // com.oracle.graal.python.runtime.PythonContext this
        start local 1 // java.lang.String path
         0: .line 850
            aload 1 /* path */
            ifnull 2
         1: .line 851
            aload 0 /* this */
            getfield com.oracle.graal.python.runtime.PythonContext.mainModule:Lcom/oracle/graal/python/builtins/objects/module/PythonModule;
            ldc "__file__"
            aload 1 /* path */
            invokevirtual com.oracle.graal.python.builtins.objects.module.PythonModule.setAttribute:(Ljava/lang/Object;Ljava/lang/Object;)V
         2: .line 853
      StackMap locals:
      StackMap stack:
            return
        end local 1 // java.lang.String path
        end local 0 // com.oracle.graal.python.runtime.PythonContext this
      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: .line 856
            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 // com.oracle.graal.python.runtime.PythonContext this
         0: .line 860
            aload 0 /* this */
            getfield com.oracle.graal.python.runtime.PythonContext.singleThreaded:Lcom/oracle/truffle/api/Assumption;
            areturn
        end local 0 // com.oracle.graal.python.runtime.PythonContext this
      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 // com.oracle.graal.python.runtime.PythonContext this
         0: .line 864
            aload 0 /* this */
            getfield com.oracle.graal.python.runtime.PythonContext.nativeObjectsAllManagedAssumption:Lcom/oracle/truffle/api/Assumption;
            areturn
        end local 0 // com.oracle.graal.python.runtime.PythonContext this
      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 // com.oracle.graal.python.runtime.PythonContext this
         0: .line 868
            aload 0 /* this */
            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 /* this */
            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 // com.oracle.graal.python.runtime.PythonContext this
      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 // com.oracle.graal.python.runtime.PythonContext this
         0: .line 872
            aload 0 /* this */
            getfield com.oracle.graal.python.runtime.PythonContext.resources:Lcom/oracle/graal/python/runtime/PosixResources;
            areturn
        end local 0 // com.oracle.graal.python.runtime.PythonContext this
      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 // com.oracle.graal.python.runtime.PythonContext this
        start local 1 // com.oracle.truffle.api.frame.VirtualFrame frame
        start local 2 // com.oracle.truffle.api.profiles.BranchProfile asyncProfile
         0: .line 879
            aload 0 /* this */
            getfield com.oracle.graal.python.runtime.PythonContext.handler:Lcom/oracle/graal/python/runtime/AsyncHandler;
            aload 1 /* frame */
            aload 2 /* asyncProfile */
            invokevirtual com.oracle.graal.python.runtime.AsyncHandler.triggerAsyncActions:(Lcom/oracle/truffle/api/frame/VirtualFrame;Lcom/oracle/truffle/api/profiles/BranchProfile;)V
         1: .line 880
            return
        end local 2 // com.oracle.truffle.api.profiles.BranchProfile asyncProfile
        end local 1 // com.oracle.truffle.api.frame.VirtualFrame frame
        end local 0 // com.oracle.graal.python.runtime.PythonContext this
      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 // com.oracle.graal.python.runtime.PythonContext this
         0: .line 883
            aload 0 /* this */
            getfield com.oracle.graal.python.runtime.PythonContext.handler:Lcom/oracle/graal/python/runtime/AsyncHandler;
            areturn
        end local 0 // com.oracle.graal.python.runtime.PythonContext this
      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 // com.oracle.graal.python.runtime.PythonContext this
        start local 1 // com.oracle.graal.python.util.Supplier actionSupplier
         0: .line 887
            aload 0 /* this */
            getfield com.oracle.graal.python.runtime.PythonContext.handler:Lcom/oracle/graal/python/runtime/AsyncHandler;
            aload 1 /* actionSupplier */
            invokevirtual com.oracle.graal.python.runtime.AsyncHandler.registerAction:(Lcom/oracle/graal/python/util/Supplier;)V
         1: .line 888
            return
        end local 1 // com.oracle.graal.python.util.Supplier actionSupplier
        end local 0 // com.oracle.graal.python.runtime.PythonContext this
      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 // com.oracle.graal.python.runtime.PythonContext this
        start local 1 // com.oracle.graal.python.builtins.objects.cext.PythonNativeClass cls
        start local 2 // boolean createOnDemand
         0: .line 892
            aload 0 /* this */
            getfield com.oracle.graal.python.runtime.PythonContext.nativeClassStableAssumptions:Ljava/util/HashMap;
            aload 1 /* cls */
            invokevirtual java.util.HashMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast com.oracle.truffle.api.utilities.CyclicAssumption
            astore 3 /* assumption */
        start local 3 // com.oracle.truffle.api.utilities.CyclicAssumption assumption
         1: .line 893
            aload 3 /* assumption */
            ifnonnull 4
            iload 2 /* createOnDemand */
            ifeq 4
         2: .line 894
            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 /* cls */
            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 /* assumption */
         3: .line 895
            aload 0 /* this */
            getfield com.oracle.graal.python.runtime.PythonContext.nativeClassStableAssumptions:Ljava/util/HashMap;
            aload 1 /* cls */
            aload 3 /* assumption */
            invokevirtual java.util.HashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         4: .line 897
      StackMap locals: com.oracle.truffle.api.utilities.CyclicAssumption
      StackMap stack:
            aload 3 /* assumption */
            areturn
        end local 3 // com.oracle.truffle.api.utilities.CyclicAssumption assumption
        end local 2 // boolean createOnDemand
        end local 1 // com.oracle.graal.python.builtins.objects.cext.PythonNativeClass cls
        end local 0 // com.oracle.graal.python.runtime.PythonContext this
      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 // com.oracle.graal.python.runtime.PythonContext this
        start local 1 // com.oracle.graal.python.builtins.objects.PythonAbstractObject obj
        start local 2 // com.oracle.graal.python.builtins.objects.cext.capi.PythonNativeWrapper nativePtr
         0: .line 901
            getstatic com.oracle.graal.python.runtime.PythonContext.$assertionsDisabled:Z
            ifne 1
            aload 1 /* obj */
            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: .line 902
      StackMap locals:
      StackMap stack:
            getstatic com.oracle.graal.python.runtime.PythonContext.$assertionsDisabled:Z
            ifne 2
            aload 0 /* this */
            getfield com.oracle.graal.python.runtime.PythonContext.singletonNativePtrs:[Lcom/oracle/graal/python/builtins/objects/cext/capi/PythonNativeWrapper;
            aload 1 /* obj */
            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: .line 903
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.oracle.graal.python.runtime.PythonContext.singletonNativePtrs:[Lcom/oracle/graal/python/builtins/objects/cext/capi/PythonNativeWrapper;
            aload 1 /* obj */
            invokestatic com.oracle.graal.python.PythonLanguage.getSingletonNativeWrapperIdx:(Ljava/lang/Object;)I
            aload 2 /* nativePtr */
            aastore
         3: .line 904
            return
        end local 2 // com.oracle.graal.python.builtins.objects.cext.capi.PythonNativeWrapper nativePtr
        end local 1 // com.oracle.graal.python.builtins.objects.PythonAbstractObject obj
        end local 0 // com.oracle.graal.python.runtime.PythonContext this
      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 // com.oracle.graal.python.runtime.PythonContext this
        start local 1 // com.oracle.graal.python.builtins.objects.PythonAbstractObject obj
         0: .line 907
            aload 1 /* obj */
            invokestatic com.oracle.graal.python.PythonLanguage.getSingletonNativeWrapperIdx:(Ljava/lang/Object;)I
            istore 2 /* singletonNativePtrIdx */
        start local 2 // int singletonNativePtrIdx
         1: .line 908
            iload 2 /* singletonNativePtrIdx */
            iconst_m1
            if_icmpeq 3
         2: .line 909
            aload 0 /* this */
            getfield com.oracle.graal.python.runtime.PythonContext.singletonNativePtrs:[Lcom/oracle/graal/python/builtins/objects/cext/capi/PythonNativeWrapper;
            iload 2 /* singletonNativePtrIdx */
            aaload
            areturn
         3: .line 911
      StackMap locals: int
      StackMap stack:
            aconst_null
            areturn
        end local 2 // int singletonNativePtrIdx
        end local 1 // com.oracle.graal.python.builtins.objects.PythonAbstractObject obj
        end local 0 // com.oracle.graal.python.runtime.PythonContext this
      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 // com.oracle.graal.python.runtime.PythonContext this
         0: .line 916
            aload 0 /* this */
            getfield com.oracle.graal.python.runtime.PythonContext.interopLock:Ljava/util/concurrent/locks/ReentrantLock;
            invokevirtual java.util.concurrent.locks.ReentrantLock.lock:()V
         1: .line 917
            return
        end local 0 // com.oracle.graal.python.runtime.PythonContext this
      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 // com.oracle.graal.python.runtime.PythonContext this
         0: .line 921
            aload 0 /* this */
            getfield com.oracle.graal.python.runtime.PythonContext.interopLock:Ljava/util/concurrent/locks/ReentrantLock;
            invokevirtual java.util.concurrent.locks.ReentrantLock.isLocked:()Z
            ifeq 2
         1: .line 922
            aload 0 /* this */
            getfield com.oracle.graal.python.runtime.PythonContext.interopLock:Ljava/util/concurrent/locks/ReentrantLock;
            invokevirtual java.util.concurrent.locks.ReentrantLock.unlock:()V
         2: .line 924
      StackMap locals:
      StackMap stack:
            return
        end local 0 // com.oracle.graal.python.runtime.PythonContext this
      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 // com.oracle.graal.python.runtime.PythonContext this
        start local 1 // java.lang.String path
        start local 2 // java.lang.String[] allowedSuffixes
         0: .line 933
            aload 0 /* this */
            getfield com.oracle.graal.python.runtime.PythonContext.env:Lcom/oracle/truffle/api/TruffleLanguage$Env;
            aload 1 /* path */
            invokevirtual com.oracle.truffle.api.TruffleLanguage$Env.getInternalTruffleFile:(Ljava/lang/String;)Lcom/oracle/truffle/api/TruffleFile;
            astore 3 /* f */
        start local 3 // com.oracle.truffle.api.TruffleFile f
         1: .line 937
            invokestatic org.graalvm.nativeimage.ImageInfo.inImageBuildtimeCode:()Z
            ifne 2
            aload 0 /* this */
            aload 3 /* f */
            invokevirtual com.oracle.graal.python.runtime.PythonContext.isPyFileInLanguageHome:(Lcom/oracle/truffle/api/TruffleFile;)Z
            ifeq 3
            aload 3 /* f */
            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 /* path */
            aload 2 /* allowedSuffixes */
            invokestatic com.oracle.graal.python.runtime.PythonContext.hasAllowedSuffix:(Ljava/lang/String;[Ljava/lang/String;)Z
            ifeq 3
         2: .line 938
      StackMap locals: com.oracle.truffle.api.TruffleFile
      StackMap stack:
            aload 3 /* f */
            areturn
         3: .line 940
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.oracle.graal.python.runtime.PythonContext.env:Lcom/oracle/truffle/api/TruffleLanguage$Env;
            aload 1 /* path */
            invokevirtual com.oracle.truffle.api.TruffleLanguage$Env.getPublicTruffleFile:(Ljava/lang/String;)Lcom/oracle/truffle/api/TruffleFile;
            areturn
        end local 3 // com.oracle.truffle.api.TruffleFile f
        end local 2 // java.lang.String[] allowedSuffixes
        end local 1 // java.lang.String path
        end local 0 // com.oracle.graal.python.runtime.PythonContext this
      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 // java.lang.String path
        start local 1 // java.lang.String[] allowedSuffixes
         0: .line 946
            aload 1 /* allowedSuffixes */
            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 /* suffix */
        start local 2 // java.lang.String suffix
         2: .line 947
            aload 0 /* path */
            aload 2 /* suffix */
            invokevirtual java.lang.String.endsWith:(Ljava/lang/String;)Z
            ifeq 4
         3: .line 948
            iconst_1
            ireturn
        end local 2 // java.lang.String suffix
         4: .line 946
      StackMap locals:
      StackMap stack:
            iinc 3 1
      StackMap locals:
      StackMap stack:
         5: iload 3
            iload 4
            if_icmplt 1
         6: .line 951
            iconst_0
            ireturn
        end local 1 // java.lang.String[] allowedSuffixes
        end local 0 // java.lang.String path
      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 // com.oracle.graal.python.runtime.PythonContext this
        start local 1 // com.oracle.truffle.api.TruffleFile path
         0: .line 959
            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: .line 960
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            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 /* languageHome */
        start local 2 // java.lang.String languageHome
         2: .line 964
            aload 2 /* languageHome */
            ifnull 6
         3: .line 968
            aload 0 /* this */
            getfield com.oracle.graal.python.runtime.PythonContext.env:Lcom/oracle/truffle/api/TruffleLanguage$Env;
            aload 2 /* languageHome */
            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 /* coreHomePath */
        start local 3 // com.oracle.truffle.api.TruffleFile coreHomePath
         4: .line 969
            aload 1 /* path */
            invokevirtual com.oracle.truffle.api.TruffleFile.getAbsoluteFile:()Lcom/oracle/truffle/api/TruffleFile;
            astore 4 /* absolutePath */
        start local 4 // com.oracle.truffle.api.TruffleFile absolutePath
         5: .line 970
            aload 4 /* absolutePath */
            aload 3 /* coreHomePath */
            invokevirtual com.oracle.truffle.api.TruffleFile.startsWith:(Lcom/oracle/truffle/api/TruffleFile;)Z
            ireturn
        end local 4 // com.oracle.truffle.api.TruffleFile absolutePath
        end local 3 // com.oracle.truffle.api.TruffleFile coreHomePath
         6: .line 972
      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 /* path */
            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: .line 973
            iconst_0
            ireturn
        end local 2 // java.lang.String languageHome
        end local 1 // com.oracle.truffle.api.TruffleFile path
        end local 0 // com.oracle.graal.python.runtime.PythonContext this
      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 // com.oracle.graal.python.runtime.PythonContext this
         0: .line 978
            aload 0 /* this */
            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 /* ci */
        start local 1 // java.util.ArrayDeque ci
         1: .line 979
            aload 1 /* ci */
            ifnull 2
            aload 1 /* ci */
            invokevirtual java.util.ArrayDeque.isEmpty:()Z
            ifeq 3
         2: .line 980
      StackMap locals: java.util.ArrayDeque
      StackMap stack:
            ldc ""
            areturn
         3: .line 982
      StackMap locals:
      StackMap stack:
            aload 1 /* ci */
            invokevirtual java.util.ArrayDeque.peek:()Ljava/lang/Object;
            checkcast java.lang.String
            areturn
        end local 1 // java.util.ArrayDeque ci
        end local 0 // com.oracle.graal.python.runtime.PythonContext this
      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 // com.oracle.graal.python.runtime.PythonContext this
        start local 1 // java.lang.String object
         0: .line 988
            aload 0 /* this */
            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 /* ci */
        start local 2 // java.util.ArrayDeque ci
         1: .line 989
            aload 2 /* ci */
            ifnonnull 4
         2: .line 990
            new java.util.ArrayDeque
            dup
            invokespecial java.util.ArrayDeque.<init>:()V
            astore 2 /* ci */
         3: .line 991
            aload 0 /* this */
            getfield com.oracle.graal.python.runtime.PythonContext.currentImport:Ljava/lang/ThreadLocal;
            aload 2 /* ci */
            invokevirtual java.lang.ThreadLocal.set:(Ljava/lang/Object;)V
         4: .line 993
      StackMap locals: java.util.ArrayDeque
      StackMap stack:
            aload 2 /* ci */
            aload 1 /* object */
            invokevirtual java.util.ArrayDeque.push:(Ljava/lang/Object;)V
         5: .line 994
            return
        end local 2 // java.util.ArrayDeque ci
        end local 1 // java.lang.String object
        end local 0 // com.oracle.graal.python.runtime.PythonContext this
      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 // com.oracle.graal.python.runtime.PythonContext this
         0: .line 998
            getstatic com.oracle.graal.python.runtime.PythonContext.$assertionsDisabled:Z
            ifne 2
            aload 0 /* this */
            getfield com.oracle.graal.python.runtime.PythonContext.currentImport:Ljava/lang/ThreadLocal;
            invokevirtual java.lang.ThreadLocal.get:()Ljava/lang/Object;
            ifnull 1
            aload 0 /* this */
            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: .line 999
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            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: .line 1000
            return
        end local 0 // com.oracle.graal.python.runtime.PythonContext this
      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 // com.oracle.graal.python.runtime.PythonContext this
         0: .line 1003
            aload 0 /* this */
            getfield com.oracle.graal.python.runtime.PythonContext.singleThreaded:Lcom/oracle/truffle/api/Assumption;
            invokeinterface com.oracle.truffle.api.Assumption.isValid:()Z
            ifeq 2
         1: .line 1004
            aload 0 /* this */
            getfield com.oracle.graal.python.runtime.PythonContext.singleThreadState:Lcom/oracle/graal/python/runtime/PythonContext$PythonThreadState;
            areturn
         2: .line 1006
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual com.oracle.graal.python.runtime.PythonContext.getThreadStateMultiThreaded:()Lcom/oracle/graal/python/runtime/PythonContext$PythonThreadState;
            areturn
        end local 0 // com.oracle.graal.python.runtime.PythonContext this
      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 // com.oracle.graal.python.runtime.PythonContext this
         0: .line 1011
            aload 0 /* this */
            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 /* curThreadState */
        start local 1 // com.oracle.graal.python.runtime.PythonContext$PythonThreadState curThreadState
         1: .line 1012
            aload 1 /* curThreadState */
            ifnonnull 4
         2: .line 1014
            aload 0 /* this */
            invokevirtual com.oracle.graal.python.runtime.PythonContext.getThreadStateFullLookup:()Lcom/oracle/graal/python/runtime/PythonContext$PythonThreadState;
            astore 1 /* curThreadState */
         3: .line 1015
            aload 0 /* this */
            getfield com.oracle.graal.python.runtime.PythonContext.threadState:Ljava/lang/ThreadLocal;
            aload 1 /* curThreadState */
            invokevirtual java.lang.ThreadLocal.set:(Ljava/lang/Object;)V
         4: .line 1017
      StackMap locals: com.oracle.graal.python.runtime.PythonContext$PythonThreadState
      StackMap stack:
            getstatic com.oracle.graal.python.runtime.PythonContext.$assertionsDisabled:Z
            ifne 5
            aload 1 /* curThreadState */
            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: .line 1018
      StackMap locals:
      StackMap stack:
            aload 1 /* curThreadState */
            areturn
        end local 1 // com.oracle.graal.python.runtime.PythonContext$PythonThreadState curThreadState
        end local 0 // com.oracle.graal.python.runtime.PythonContext this
      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 // com.oracle.graal.python.runtime.PythonContext this
        start local 1 // com.oracle.graal.python.util.Consumer action
         0: .line 1022
            aload 0 /* this */
            getfield com.oracle.graal.python.runtime.PythonContext.singleThreaded:Lcom/oracle/truffle/api/Assumption;
            invokeinterface com.oracle.truffle.api.Assumption.isValid:()Z
            ifeq 3
         1: .line 1023
            aload 1 /* action */
            aload 0 /* this */
            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: .line 1024
            goto 12
         3: .line 1025
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            dup
            astore 2
            monitorenter
         4: .line 1026
            aload 0 /* this */
            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 /* ts */
        start local 3 // com.oracle.graal.python.runtime.PythonContext$PythonThreadState ts
         6: .line 1027
            aload 1 /* action */
            aload 3 /* ts */
            invokeinterface com.oracle.graal.python.util.Consumer.accept:(Ljava/lang/Object;)V
        end local 3 // com.oracle.graal.python.runtime.PythonContext$PythonThreadState ts
         7: .line 1026
      StackMap locals:
      StackMap stack:
            aload 4
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 5
         8: .line 1025
            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: .line 1031
      StackMap locals:
      StackMap stack:
            return
        end local 1 // com.oracle.graal.python.util.Consumer action
        end local 0 // com.oracle.graal.python.runtime.PythonContext this
      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 // com.oracle.graal.python.runtime.PythonContext this
         0: .line 1035
            aload 0 /* this */
            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 // com.oracle.graal.python.runtime.PythonContext this
      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 // com.oracle.graal.python.runtime.PythonContext this
        start local 1 // java.lang.ref.WeakReference sentinelLock
         0: .line 1039
            aload 0 /* this */
            invokevirtual com.oracle.graal.python.runtime.PythonContext.getThreadState:()Lcom/oracle/graal/python/runtime/PythonContext$PythonThreadState;
            aload 1 /* sentinelLock */
            putfield com.oracle.graal.python.runtime.PythonContext$PythonThreadState.sentinelLock:Ljava/lang/ref/WeakReference;
         1: .line 1040
            return
        end local 1 // java.lang.ref.WeakReference sentinelLock
        end local 0 // com.oracle.graal.python.runtime.PythonContext this
      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 // com.oracle.graal.python.runtime.PythonContext this
         0: .line 1044
            aload 0 /* this */
            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: .line 1045
            aload 0 /* this */
            getfield com.oracle.graal.python.runtime.PythonContext.singleThreaded:Lcom/oracle/truffle/api/Assumption;
            invokeinterface com.oracle.truffle.api.Assumption.invalidate:()V
         2: .line 1046
            aload 0 /* this */
            new java.lang.ThreadLocal
            dup
            invokespecial java.lang.ThreadLocal.<init>:()V
            putfield com.oracle.graal.python.runtime.PythonContext.threadState:Ljava/lang/ThreadLocal;
         3: .line 1047
            aload 0 /* this */
            dup
            astore 1
            monitorenter
         4: .line 1048
            aload 0 /* this */
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            putfield com.oracle.graal.python.runtime.PythonContext.threadStateMapping:Ljava/util/Map;
         5: .line 1049
            aload 0 /* this */
            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 /* ownerRef */
        start local 2 // java.lang.ref.WeakReference ownerRef
         7: .line 1050
            aload 2 /* ownerRef */
            invokevirtual java.lang.ref.WeakReference.get:()Ljava/lang/Object;
            checkcast java.lang.Thread
            astore 4 /* owner */
        start local 4 // java.lang.Thread owner
         8: .line 1051
            aload 4 /* owner */
            ifnull 10
         9: .line 1052
            aload 0 /* this */
            getfield com.oracle.graal.python.runtime.PythonContext.threadStateMapping:Ljava/util/Map;
            aload 4 /* owner */
            invokevirtual java.lang.Thread.getId:()J
            invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
            aload 0 /* this */
            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 // java.lang.Thread owner
        end local 2 // java.lang.ref.WeakReference ownerRef
        10: .line 1049
      StackMap locals:
      StackMap stack:
            aload 3
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 6
        11: .line 1047
            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: .line 1056
      StackMap locals:
      StackMap stack:
            return
        end local 0 // com.oracle.graal.python.runtime.PythonContext this
      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 // com.oracle.graal.python.runtime.PythonContext this
        start local 1 // java.lang.Thread thread
         0: .line 1059
            invokestatic com.oracle.truffle.api.CompilerAsserts.neverPartOfCompilation:()V
         1: .line 1060
            aload 0 /* this */
            getfield com.oracle.graal.python.runtime.PythonContext.singleThreaded:Lcom/oracle/truffle/api/Assumption;
            invokeinterface com.oracle.truffle.api.Assumption.isValid:()Z
            ifeq 5
         2: .line 1061
            getstatic com.oracle.graal.python.runtime.PythonContext.$assertionsDisabled:Z
            ifne 3
            aload 0 /* this */
            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: .line 1066
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.oracle.graal.python.runtime.PythonContext.singleThreadState:Lcom/oracle/graal/python/runtime/PythonContext$PythonThreadState;
            aload 1 /* thread */
            invokevirtual com.oracle.graal.python.runtime.PythonContext$PythonThreadState.addOwner:(Ljava/lang/Thread;)V
         4: .line 1067
            goto 7
         5: .line 1068
      StackMap locals:
      StackMap stack:
            getstatic com.oracle.graal.python.runtime.PythonContext.$assertionsDisabled:Z
            ifne 6
            aload 0 /* this */
            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: .line 1069
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.oracle.graal.python.runtime.PythonContext.threadStateMapping:Ljava/util/Map;
            aload 1 /* thread */
            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 /* thread */
            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: .line 1071
      StackMap locals:
      StackMap stack:
            return
        end local 1 // java.lang.Thread thread
        end local 0 // com.oracle.graal.python.runtime.PythonContext this
      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 // com.oracle.graal.python.runtime.PythonContext this
        start local 1 // java.lang.Thread thread
         0: .line 1074
            invokestatic com.oracle.truffle.api.CompilerAsserts.neverPartOfCompilation:()V
         1: .line 1075
            aload 1 /* thread */
            invokevirtual java.lang.Thread.getId:()J
            lstore 2 /* threadId */
        start local 2 // long threadId
         2: .line 1077
            aload 0 /* this */
            getfield com.oracle.graal.python.runtime.PythonContext.singleThreaded:Lcom/oracle/truffle/api/Assumption;
            invokeinterface com.oracle.truffle.api.Assumption.isValid:()Z
            ifeq 8
         3: .line 1078
            getstatic com.oracle.graal.python.runtime.PythonContext.$assertionsDisabled:Z
            ifne 4
            aload 0 /* this */
            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: .line 1079
      StackMap locals: long
      StackMap stack:
            aload 0 /* this */
            getfield com.oracle.graal.python.runtime.PythonContext.singleThreadState:Lcom/oracle/graal/python/runtime/PythonContext$PythonThreadState;
            aload 1 /* thread */
            invokevirtual com.oracle.graal.python.runtime.PythonContext$PythonThreadState.removeOwner:(Ljava/lang/Thread;)V
         5: .line 1081
            aload 0 /* this */
            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: .line 1082
            aload 0 /* this */
            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: .line 1084
            goto 14
         8: .line 1085
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.oracle.graal.python.runtime.PythonContext.threadStateMapping:Ljava/util/Map;
            lload 2 /* threadId */
            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 /* ts */
        start local 4 // com.oracle.graal.python.runtime.PythonContext$PythonThreadState ts
         9: .line 1086
            getstatic com.oracle.graal.python.runtime.PythonContext.$assertionsDisabled:Z
            ifne 10
            aload 4 /* ts */
            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: .line 1087
      StackMap locals: com.oracle.graal.python.runtime.PythonContext$PythonThreadState
      StackMap stack:
            aload 4 /* ts */
            aload 1 /* thread */
            invokevirtual com.oracle.graal.python.runtime.PythonContext$PythonThreadState.removeOwner:(Ljava/lang/Thread;)V
        11: .line 1088
            aload 0 /* this */
            getfield com.oracle.graal.python.runtime.PythonContext.threadStateMapping:Ljava/util/Map;
            lload 2 /* threadId */
            invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
            invokeinterface java.util.Map.remove:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
        12: .line 1089
            aload 4 /* ts */
            invokevirtual com.oracle.graal.python.runtime.PythonContext$PythonThreadState.hasOwners:()Z
            ifne 14
        13: .line 1090
            aload 4 /* ts */
            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 // com.oracle.graal.python.runtime.PythonContext$PythonThreadState ts
        14: .line 1093
      StackMap locals:
      StackMap stack:
            return
        end local 2 // long threadId
        end local 1 // java.lang.Thread thread
        end local 0 // com.oracle.graal.python.runtime.PythonContext this
      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 // java.lang.ref.WeakReference sentinelLockWeakref
         0: .line 1096
            aload 0 /* sentinelLockWeakref */
            ifnull 4
         1: .line 1097
            aload 0 /* sentinelLockWeakref */
            invokevirtual java.lang.ref.WeakReference.get:()Ljava/lang/Object;
            checkcast com.oracle.graal.python.builtins.objects.thread.PLock
            astore 1 /* sentinelLock */
        start local 1 // com.oracle.graal.python.builtins.objects.thread.PLock sentinelLock
         2: .line 1098
            aload 1 /* sentinelLock */
            ifnull 4
         3: .line 1100
            aload 1 /* sentinelLock */
            invokevirtual com.oracle.graal.python.builtins.objects.thread.PLock.release:()V
        end local 1 // com.oracle.graal.python.builtins.objects.thread.PLock sentinelLock
         4: .line 1103
      StackMap locals:
      StackMap stack:
            return
        end local 0 // java.lang.ref.WeakReference sentinelLockWeakref
      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 // com.oracle.graal.python.runtime.PythonContext this
         0: .line 1106
            aload 0 /* this */
            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 // com.oracle.graal.python.runtime.PythonContext this
      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 // com.oracle.graal.python.runtime.PythonContext this
         0: .line 1110
            aload 0 /* this */
            getfield com.oracle.graal.python.runtime.PythonContext.cApiContext:Lcom/oracle/graal/python/builtins/objects/cext/capi/CApiContext;
            areturn
        end local 0 // com.oracle.graal.python.runtime.PythonContext this
      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 // com.oracle.graal.python.runtime.PythonContext this
        start local 1 // java.lang.Object capiLibrary
         0: .line 1114
            getstatic com.oracle.graal.python.runtime.PythonContext.$assertionsDisabled:Z
            ifne 1
            aload 0 /* this */
            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: .line 1115
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            new com.oracle.graal.python.builtins.objects.cext.capi.CApiContext
            dup
            aload 0 /* this */
            aload 1 /* capiLibrary */
            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: .line 1116
            return
        end local 1 // java.lang.Object capiLibrary
        end local 0 // com.oracle.graal.python.runtime.PythonContext this
      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 // com.oracle.graal.python.runtime.PythonContext this
         0: .line 1119
            aload 0 /* this */
            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 // com.oracle.graal.python.runtime.PythonContext this
      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 // com.oracle.graal.python.runtime.PythonContext this
        start local 1 // java.lang.Object hpyLibrary
         0: .line 1123
            getstatic com.oracle.graal.python.runtime.PythonContext.$assertionsDisabled:Z
            ifne 1
            aload 0 /* this */
            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: .line 1124
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            new com.oracle.graal.python.builtins.objects.cext.hpy.GraalHPyContext
            dup
            aload 0 /* this */
            aload 1 /* hpyLibrary */
            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: .line 1125
            return
        end local 1 // java.lang.Object hpyLibrary
        end local 0 // com.oracle.graal.python.runtime.PythonContext this
      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 // com.oracle.graal.python.runtime.PythonContext this
         0: .line 1128
            getstatic com.oracle.graal.python.runtime.PythonContext.$assertionsDisabled:Z
            ifne 1
            aload 0 /* this */
            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: .line 1129
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.oracle.graal.python.runtime.PythonContext.hPyContext:Lcom/oracle/graal/python/builtins/objects/cext/hpy/GraalHPyContext;
            areturn
        end local 0 // com.oracle.graal.python.runtime.PythonContext this
      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 // com.oracle.graal.python.runtime.PythonContext this
         0: .line 1133
            aload 0 /* this */
            getfield com.oracle.graal.python.runtime.PythonContext.gcEnabled:Z
            ireturn
        end local 0 // com.oracle.graal.python.runtime.PythonContext this
      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 // com.oracle.graal.python.runtime.PythonContext this
        start local 1 // boolean flag
         0: .line 1137
            aload 0 /* this */
            iload 1 /* flag */
            putfield com.oracle.graal.python.runtime.PythonContext.gcEnabled:Z
         1: .line 1138
            return
        end local 1 // boolean flag
        end local 0 // com.oracle.graal.python.runtime.PythonContext this
      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 // com.oracle.graal.python.runtime.PythonContext this
         0: .line 1141
            aload 0 /* this */
            getfield com.oracle.graal.python.runtime.PythonContext.sharedFinalizer:Lcom/oracle/graal/python/runtime/AsyncHandler$SharedFinalizer;
            areturn
        end local 0 // com.oracle.graal.python.runtime.PythonContext this
      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 // com.oracle.graal.python.runtime.PythonContext this
         0: .line 1145
            aload 0 /* this */
            getfield com.oracle.graal.python.runtime.PythonContext.finalizing:Z
            ireturn
        end local 0 // com.oracle.graal.python.runtime.PythonContext this
      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 // com.oracle.graal.python.runtime.PythonContext$PythonThreadState ts
         0: .line 542
            aload 0 /* ts */
            aconst_null
            dup_x1
            putfield com.oracle.graal.python.runtime.PythonContext$PythonThreadState.currentException:Lcom/oracle/graal/python/runtime/exception/PException;
            return
        end local 0 // com.oracle.graal.python.runtime.PythonContext$PythonThreadState ts
      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 // com.oracle.graal.python.runtime.PythonContext this
         0: .line 555
            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: .line 561
            aload 1
            aastore
            dup
            iconst_1
            aload 0 /* this */
            getfield com.oracle.graal.python.runtime.PythonContext.sysPrefix:Ljava/lang/String;
            aastore
            dup
            iconst_2
            aload 0 /* this */
            getfield com.oracle.graal.python.runtime.PythonContext.basePrefix:Ljava/lang/String;
            aastore
            dup
            iconst_3
            aload 0 /* this */
            getfield com.oracle.graal.python.runtime.PythonContext.coreHome:Ljava/lang/String;
            aastore
            dup
            iconst_4
            aload 0 /* this */
            getfield com.oracle.graal.python.runtime.PythonContext.stdLibHome:Ljava/lang/String;
            aastore
            dup
            iconst_5
            aload 0 /* this */
            getfield com.oracle.graal.python.runtime.PythonContext.capiHome:Ljava/lang/String;
            aastore
         2: .line 555
            invokestatic java.text.MessageFormat.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
         3: .line 561
            areturn
        end local 0 // com.oracle.graal.python.runtime.PythonContext this
      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 // com.oracle.graal.python.runtime.PythonContext this
         0: .line 641
            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: .line 648
            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 /* this */
            getfield com.oracle.graal.python.runtime.PythonContext.sysPrefix:Ljava/lang/String;
            aastore
            dup
            iconst_2
            aload 0 /* this */
            getfield com.oracle.graal.python.runtime.PythonContext.basePrefix:Ljava/lang/String;
            aastore
            dup
            iconst_3
            aload 0 /* this */
            getfield com.oracle.graal.python.runtime.PythonContext.coreHome:Ljava/lang/String;
            aastore
            dup
            iconst_4
            aload 0 /* this */
            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 /* this */
            getfield com.oracle.graal.python.runtime.PythonContext.capiHome:Ljava/lang/String;
            aastore
         4: .line 641
            invokestatic java.text.MessageFormat.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
         5: .line 648
            areturn
        end local 0 // com.oracle.graal.python.runtime.PythonContext this
      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 // com.oracle.graal.python.runtime.PythonContext$AtExitHook hook
         0: .line 723
            aload 1 /* hook */
            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 // com.oracle.graal.python.runtime.PythonContext$AtExitHook hook
      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: .line 972
            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