public final class com.oracle.truffle.polyglot.PolyglotImpl extends org.graalvm.polyglot.impl.AbstractPolyglotImpl
minor version: 0
major version: 59
flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
this_class: com.oracle.truffle.polyglot.PolyglotImpl
super_class: org.graalvm.polyglot.impl.AbstractPolyglotImpl
{
static final java.lang.Object[] EMPTY_ARGS;
descriptor: [Ljava/lang/Object;
flags: (0x0018) ACC_STATIC, ACC_FINAL
static final java.lang.String OPTION_GROUP_ENGINE;
descriptor: Ljava/lang/String;
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: "engine"
static final java.lang.String PROP_ALLOW_EXPERIMENTAL_OPTIONS;
descriptor: Ljava/lang/String;
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: "polyglot.engine.AllowExperimentalOptions"
private static final com.oracle.truffle.polyglot.HostException STACKOVERFLOW_ERROR;
descriptor: Lcom/oracle/truffle/polyglot/HostException;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private final com.oracle.truffle.polyglot.PolyglotSource sourceImpl;
descriptor: Lcom/oracle/truffle/polyglot/PolyglotSource;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final com.oracle.truffle.polyglot.PolyglotSourceSection sourceSectionImpl;
descriptor: Lcom/oracle/truffle/polyglot/PolyglotSourceSection;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final com.oracle.truffle.polyglot.PolyglotManagement executionListenerImpl;
descriptor: Lcom/oracle/truffle/polyglot/PolyglotManagement;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final java.util.concurrent.atomic.AtomicReference<com.oracle.truffle.polyglot.PolyglotEngineImpl> preInitializedEngineRef;
descriptor: Ljava/util/concurrent/atomic/AtomicReference;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/util/concurrent/atomic/AtomicReference<Lcom/oracle/truffle/polyglot/PolyglotEngineImpl;>;
private final java.util.function.Function<com.oracle.truffle.api.source.Source, org.graalvm.polyglot.Source> sourceConstructor;
descriptor: Ljava/util/function/Function;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/util/function/Function<Lcom/oracle/truffle/api/source/Source;Lorg/graalvm/polyglot/Source;>;
final java.util.Map<java.lang.Class<?>, com.oracle.truffle.polyglot.PolyglotValue> primitiveValues;
descriptor: Ljava/util/Map;
flags: (0x0010) ACC_FINAL
Signature: Ljava/util/Map<Ljava/lang/Class<*>;Lcom/oracle/truffle/polyglot/PolyglotValue;>;
org.graalvm.polyglot.Value hostNull;
descriptor: Lorg/graalvm/polyglot/Value;
flags: (0x0000)
com.oracle.truffle.polyglot.PolyglotValue disconnectedHostValue;
descriptor: Lcom/oracle/truffle/polyglot/PolyglotValue;
flags: (0x0000)
static volatile com.oracle.truffle.polyglot.PolyglotImpl polyglotImpl;
descriptor: Lcom/oracle/truffle/polyglot/PolyglotImpl;
flags: (0x0048) ACC_STATIC, ACC_VOLATILE
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=4, locals=0, args_size=0
0: ldc Lcom/oracle/truffle/polyglot/PolyglotImpl;
invokevirtual java.lang.Class.desiredAssertionStatus:()Z
ifne 1
iconst_1
goto 2
StackMap locals:
StackMap stack:
1: iconst_0
StackMap locals:
StackMap stack: int
2: putstatic com.oracle.truffle.polyglot.PolyglotImpl.$assertionsDisabled:Z
3: iconst_0
anewarray java.lang.Object
putstatic com.oracle.truffle.polyglot.PolyglotImpl.EMPTY_ARGS:[Ljava/lang/Object;
4: new com.oracle.truffle.polyglot.HostException
dup
new com.oracle.truffle.polyglot.PolyglotImpl$1
dup
invokespecial com.oracle.truffle.polyglot.PolyglotImpl$1.<init>:()V
invokespecial com.oracle.truffle.polyglot.HostException.<init>:(Ljava/lang/Throwable;)V
putstatic com.oracle.truffle.polyglot.PolyglotImpl.STACKOVERFLOW_ERROR:Lcom/oracle/truffle/polyglot/HostException;
5: return
LocalVariableTable:
Start End Slot Name Signature
public void <init>();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=1, args_size=1
start local 0 0: aload 0
invokespecial org.graalvm.polyglot.impl.AbstractPolyglotImpl.<init>:()V
1: aload 0
new com.oracle.truffle.polyglot.PolyglotSource
dup
aload 0
invokespecial com.oracle.truffle.polyglot.PolyglotSource.<init>:(Lorg/graalvm/polyglot/impl/AbstractPolyglotImpl;)V
putfield com.oracle.truffle.polyglot.PolyglotImpl.sourceImpl:Lcom/oracle/truffle/polyglot/PolyglotSource;
2: aload 0
new com.oracle.truffle.polyglot.PolyglotSourceSection
dup
aload 0
invokespecial com.oracle.truffle.polyglot.PolyglotSourceSection.<init>:(Lorg/graalvm/polyglot/impl/AbstractPolyglotImpl;)V
putfield com.oracle.truffle.polyglot.PolyglotImpl.sourceSectionImpl:Lcom/oracle/truffle/polyglot/PolyglotSourceSection;
3: aload 0
new com.oracle.truffle.polyglot.PolyglotManagement
dup
aload 0
invokespecial com.oracle.truffle.polyglot.PolyglotManagement.<init>:(Lcom/oracle/truffle/polyglot/PolyglotImpl;)V
putfield com.oracle.truffle.polyglot.PolyglotImpl.executionListenerImpl:Lcom/oracle/truffle/polyglot/PolyglotManagement;
4: aload 0
new java.util.concurrent.atomic.AtomicReference
dup
invokespecial java.util.concurrent.atomic.AtomicReference.<init>:()V
putfield com.oracle.truffle.polyglot.PolyglotImpl.preInitializedEngineRef:Ljava/util/concurrent/atomic/AtomicReference;
5: aload 0
new com.oracle.truffle.polyglot.PolyglotImpl$2
dup
aload 0
invokespecial com.oracle.truffle.polyglot.PolyglotImpl$2.<init>:(Lcom/oracle/truffle/polyglot/PolyglotImpl;)V
putfield com.oracle.truffle.polyglot.PolyglotImpl.sourceConstructor:Ljava/util/function/Function;
6: aload 0
new java.util.HashMap
dup
invokespecial java.util.HashMap.<init>:()V
putfield com.oracle.truffle.polyglot.PolyglotImpl.primitiveValues:Ljava/util/Map;
7: getstatic com.oracle.truffle.polyglot.PolyglotImpl.$assertionsDisabled:Z
ifne 8
getstatic com.oracle.truffle.polyglot.PolyglotImpl.polyglotImpl:Lcom/oracle/truffle/polyglot/PolyglotImpl;
ifnull 8
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
8: StackMap locals: com.oracle.truffle.polyglot.PolyglotImpl
StackMap stack:
aload 0
putstatic com.oracle.truffle.polyglot.PolyglotImpl.polyglotImpl:Lcom/oracle/truffle/polyglot/PolyglotImpl;
9: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Lcom/oracle/truffle/polyglot/PolyglotImpl;
static com.oracle.truffle.polyglot.PolyglotImpl getInstance();
descriptor: ()Lcom/oracle/truffle/polyglot/PolyglotImpl;
flags: (0x0008) ACC_STATIC
Code:
stack=3, locals=1, args_size=0
0: getstatic com.oracle.truffle.polyglot.PolyglotImpl.polyglotImpl:Lcom/oracle/truffle/polyglot/PolyglotImpl;
ifnonnull 7
1: ldc Lorg/graalvm/polyglot/Engine;
ldc "getImpl"
iconst_0
anewarray java.lang.Class
invokevirtual java.lang.Class.getDeclaredMethod:(Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method;
astore 0
start local 0 2: aload 0
iconst_1
invokevirtual java.lang.reflect.Method.setAccessible:(Z)V
3: aload 0
aconst_null
iconst_0
anewarray java.lang.Object
invokevirtual java.lang.reflect.Method.invoke:(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;
pop
4: getstatic com.oracle.truffle.polyglot.PolyglotImpl.$assertionsDisabled:Z
ifne 7
getstatic com.oracle.truffle.polyglot.PolyglotImpl.polyglotImpl:Lcom/oracle/truffle/polyglot/PolyglotImpl;
ifnonnull 7
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
end local 0 5: StackMap locals:
StackMap stack: java.lang.Exception
astore 0
start local 0 6: new java.lang.AssertionError
dup
aload 0
invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
athrow
end local 0 7: StackMap locals:
StackMap stack:
getstatic com.oracle.truffle.polyglot.PolyglotImpl.polyglotImpl:Lcom/oracle/truffle/polyglot/PolyglotImpl;
areturn
LocalVariableTable:
Start End Slot Name Signature
2 5 0 f Ljava/lang/reflect/Method;
6 7 0 e Ljava/lang/Exception;
Exception table:
from to target type
1 5 5 Class java.lang.Exception
protected void initialize();
descriptor: ()V
flags: (0x0004) ACC_PROTECTED
Code:
stack=4, locals=1, args_size=1
start local 0 0: aload 0
aload 0
invokevirtual com.oracle.truffle.polyglot.PolyglotImpl.getAPIAccess:()Lorg/graalvm/polyglot/impl/AbstractPolyglotImpl$APIAccess;
getstatic com.oracle.truffle.polyglot.HostObject.NULL:Lcom/oracle/truffle/polyglot/HostObject;
aload 0
invokestatic com.oracle.truffle.polyglot.PolyglotValue.createHostNull:(Lcom/oracle/truffle/polyglot/PolyglotImpl;)Lcom/oracle/truffle/polyglot/PolyglotValue;
invokevirtual org.graalvm.polyglot.impl.AbstractPolyglotImpl$APIAccess.newValue:(Ljava/lang/Object;Lorg/graalvm/polyglot/impl/AbstractPolyglotImpl$AbstractValueImpl;)Lorg/graalvm/polyglot/Value;
putfield com.oracle.truffle.polyglot.PolyglotImpl.hostNull:Lorg/graalvm/polyglot/Value;
1: aload 0
aconst_null
aload 0
getfield com.oracle.truffle.polyglot.PolyglotImpl.primitiveValues:Ljava/util/Map;
invokestatic com.oracle.truffle.polyglot.PolyglotValue.createDefaultValues:(Lcom/oracle/truffle/polyglot/PolyglotImpl;Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;Ljava/util/Map;)V
2: aload 0
new com.oracle.truffle.polyglot.PolyglotValue$HostValue
dup
aload 0
invokespecial com.oracle.truffle.polyglot.PolyglotValue$HostValue.<init>:(Lcom/oracle/truffle/polyglot/PolyglotImpl;)V
putfield com.oracle.truffle.polyglot.PolyglotImpl.disconnectedHostValue:Lcom/oracle/truffle/polyglot/PolyglotValue;
3: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lcom/oracle/truffle/polyglot/PolyglotImpl;
public org.graalvm.polyglot.Context getLimitEventContext(java.lang.Object);
descriptor: (Ljava/lang/Object;)Lorg/graalvm/polyglot/Context;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=2, args_size=2
start local 0 start local 1 0: aload 1
checkcast org.graalvm.polyglot.Context
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/polyglot/PolyglotImpl;
0 1 1 impl Ljava/lang/Object;
MethodParameters:
Name Flags
impl
public buildLimits(long, java.util.function.Predicate<org.graalvm.polyglot.Source>, java.util.function.Consumer<org.graalvm.polyglot.ResourceLimitEvent>);
descriptor: (JLjava/util/function/Predicate;Ljava/util/function/Consumer;)Ljava/lang/Object;
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=6, args_size=4
start local 0 start local 1 start local 3 start local 4 0: new com.oracle.truffle.polyglot.PolyglotLimits
dup
lload 1
aload 3
aload 4
invokespecial com.oracle.truffle.polyglot.PolyglotLimits.<init>:(JLjava/util/function/Predicate;Ljava/util/function/Consumer;)V
1: areturn
2: StackMap locals:
StackMap stack: java.lang.Throwable
astore 5
start local 5 3: aload 0
aload 5
invokestatic com.oracle.truffle.polyglot.PolyglotImpl.guestToHostException:(Lcom/oracle/truffle/polyglot/PolyglotImpl;Ljava/lang/Throwable;)Lorg/graalvm/polyglot/PolyglotException;
athrow
end local 5 end local 4 end local 3 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lcom/oracle/truffle/polyglot/PolyglotImpl;
0 4 1 statementLimit J
0 4 3 statementLimitSourceFilter Ljava/util/function/Predicate<Lorg/graalvm/polyglot/Source;>;
0 4 4 onLimit Ljava/util/function/Consumer<Lorg/graalvm/polyglot/ResourceLimitEvent;>;
3 4 5 t Ljava/lang/Throwable;
Exception table:
from to target type
0 1 2 Class java.lang.Throwable
Signature: (JLjava/util/function/Predicate<Lorg/graalvm/polyglot/Source;>;Ljava/util/function/Consumer<Lorg/graalvm/polyglot/ResourceLimitEvent;>;)Ljava/lang/Object;
MethodParameters:
Name Flags
statementLimit
statementLimitSourceFilter
onLimit
public org.graalvm.polyglot.impl.AbstractPolyglotImpl$AbstractSourceImpl getSourceImpl();
descriptor: ()Lorg/graalvm/polyglot/impl/AbstractPolyglotImpl$AbstractSourceImpl;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield com.oracle.truffle.polyglot.PolyglotImpl.sourceImpl:Lcom/oracle/truffle/polyglot/PolyglotSource;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/polyglot/PolyglotImpl;
public org.graalvm.polyglot.impl.AbstractPolyglotImpl$AbstractSourceSectionImpl getSourceSectionImpl();
descriptor: ()Lorg/graalvm/polyglot/impl/AbstractPolyglotImpl$AbstractSourceSectionImpl;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield com.oracle.truffle.polyglot.PolyglotImpl.sourceSectionImpl:Lcom/oracle/truffle/polyglot/PolyglotSourceSection;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/polyglot/PolyglotImpl;
public org.graalvm.polyglot.impl.AbstractPolyglotImpl$AbstractManagementImpl getManagementImpl();
descriptor: ()Lorg/graalvm/polyglot/impl/AbstractPolyglotImpl$AbstractManagementImpl;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield com.oracle.truffle.polyglot.PolyglotImpl.executionListenerImpl:Lcom/oracle/truffle/polyglot/PolyglotManagement;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/polyglot/PolyglotImpl;
public org.graalvm.polyglot.Context getCurrentContext();
descriptor: ()Lorg/graalvm/polyglot/Context;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=1
start local 0 0: invokestatic com.oracle.truffle.polyglot.PolyglotContextImpl.currentNotEntered:()Lcom/oracle/truffle/polyglot/PolyglotContextImpl;
astore 1
start local 1 1: aload 1
ifnonnull 4
2: ldc "No current context is available. Make sure the Java method is invoked by a Graal guest language or a context is entered using Context.enter()."
3: invokestatic com.oracle.truffle.polyglot.PolyglotEngineException.illegalState:(Ljava/lang/String;)Lcom/oracle/truffle/polyglot/PolyglotEngineException;
athrow
4: StackMap locals: com.oracle.truffle.polyglot.PolyglotContextImpl
StackMap stack:
aload 1
getfield com.oracle.truffle.polyglot.PolyglotContextImpl.currentApi:Lorg/graalvm/polyglot/Context;
5: areturn
end local 1 6: StackMap locals: com.oracle.truffle.polyglot.PolyglotImpl
StackMap stack: java.lang.Throwable
astore 1
start local 1 7: aload 0
aload 1
invokestatic com.oracle.truffle.polyglot.PolyglotImpl.guestToHostException:(Lcom/oracle/truffle/polyglot/PolyglotImpl;Ljava/lang/Throwable;)Lorg/graalvm/polyglot/PolyglotException;
athrow
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lcom/oracle/truffle/polyglot/PolyglotImpl;
1 6 1 context Lcom/oracle/truffle/polyglot/PolyglotContextImpl;
7 8 1 t Ljava/lang/Throwable;
Exception table:
from to target type
0 5 6 Class java.lang.Throwable
public org.graalvm.polyglot.Engine buildEngine(java.io.OutputStream, java.io.OutputStream, java.io.InputStream, java.util.Map<java.lang.String, java.lang.String>, boolean, boolean, boolean, org.graalvm.polyglot.io.MessageTransport, , org.graalvm.polyglot.HostAccess);
descriptor: (Ljava/io/OutputStream;Ljava/io/OutputStream;Ljava/io/InputStream;Ljava/util/Map;ZZZLorg/graalvm/polyglot/io/MessageTransport;Ljava/lang/Object;Lorg/graalvm/polyglot/HostAccess;)Lorg/graalvm/polyglot/Engine;
flags: (0x0001) ACC_PUBLIC
Code:
stack=16, locals=25, args_size=11
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 start local 6 start local 7 start local 8 start local 9 start local 10 0: aconst_null
astore 11
start local 11 1: getstatic com.oracle.truffle.api.TruffleOptions.AOT:Z
ifeq 3
2: getstatic com.oracle.truffle.polyglot.EngineAccessor.ACCESSOR:Lcom/oracle/truffle/polyglot/EngineAccessor;
invokevirtual com.oracle.truffle.polyglot.EngineAccessor.initializeNativeImageTruffleLocator:()V
3: StackMap locals: com.oracle.truffle.polyglot.PolyglotEngineImpl
StackMap stack:
aload 1
ifnonnull 4
getstatic java.lang.System.out:Ljava/io/PrintStream;
goto 5
StackMap locals:
StackMap stack:
4: aload 1
StackMap locals:
StackMap stack: java.io.OutputStream
5: astore 12
start local 12 6: aload 2
ifnonnull 7
getstatic java.lang.System.err:Ljava/io/PrintStream;
goto 8
StackMap locals: java.io.OutputStream
StackMap stack:
7: aload 2
StackMap locals:
StackMap stack: java.io.OutputStream
8: astore 13
start local 13 9: aload 3
ifnonnull 10
getstatic java.lang.System.in:Ljava/io/InputStream;
goto 11
StackMap locals: java.io.OutputStream
StackMap stack:
10: aload 3
StackMap locals:
StackMap stack: java.io.InputStream
11: astore 14
start local 14 12: getstatic com.oracle.truffle.polyglot.EngineAccessor.INSTRUMENT:Lcom/oracle/truffle/api/impl/Accessor$InstrumentSupport;
aload 12
invokevirtual com.oracle.truffle.api.impl.Accessor$InstrumentSupport.createDispatchOutput:(Ljava/io/OutputStream;)Lcom/oracle/truffle/api/impl/DispatchOutputStream;
astore 15
start local 15 13: getstatic com.oracle.truffle.polyglot.EngineAccessor.INSTRUMENT:Lcom/oracle/truffle/api/impl/Accessor$InstrumentSupport;
aload 13
invokevirtual com.oracle.truffle.api.impl.Accessor$InstrumentSupport.createDispatchOutput:(Ljava/io/OutputStream;)Lcom/oracle/truffle/api/impl/DispatchOutputStream;
astore 16
start local 16 14: aload 9
invokestatic com.oracle.truffle.polyglot.PolyglotLoggers.asHandler:(Ljava/lang/Object;)Ljava/util/logging/Handler;
astore 17
start local 17 15: getstatic com.oracle.truffle.api.TruffleOptions.AOT:Z
ifeq 16
aconst_null
goto 17
StackMap locals: com.oracle.truffle.polyglot.PolyglotImpl java.io.OutputStream java.io.OutputStream java.io.InputStream java.util.Map int int int org.graalvm.polyglot.io.MessageTransport java.lang.Object org.graalvm.polyglot.HostAccess com.oracle.truffle.polyglot.PolyglotEngineImpl java.io.OutputStream java.io.OutputStream java.io.InputStream com.oracle.truffle.api.impl.DispatchOutputStream com.oracle.truffle.api.impl.DispatchOutputStream java.util.logging.Handler
StackMap stack:
16: invokestatic java.lang.Thread.currentThread:()Ljava/lang/Thread;
invokevirtual java.lang.Thread.getContextClassLoader:()Ljava/lang/ClassLoader;
StackMap locals:
StackMap stack: java.lang.ClassLoader
17: astore 18
start local 18 18: iload 6
ifne 19
getstatic com.oracle.truffle.polyglot.EngineAccessor.RUNTIME:Lcom/oracle/truffle/api/impl/Accessor$RuntimeSupport;
ldc "polyglot.engine.AllowExperimentalOptions"
invokevirtual com.oracle.truffle.api.impl.Accessor$RuntimeSupport.getSavedProperty:(Ljava/lang/String;)Ljava/lang/String;
invokestatic java.lang.Boolean.parseBoolean:(Ljava/lang/String;)Z
ifne 19
iconst_0
goto 20
StackMap locals: java.lang.ClassLoader
StackMap stack:
19: iconst_1
StackMap locals:
StackMap stack: int
20: istore 19
start local 19 21: new java.util.HashMap
dup
aload 4
invokespecial java.util.HashMap.<init>:(Ljava/util/Map;)V
astore 20
start local 20 22: iload 5
ifeq 24
23: aload 20
invokestatic com.oracle.truffle.polyglot.PolyglotEngineImpl.readOptionsFromSystemProperties:(Ljava/util/Map;)Ljava/util/Map;
pop
24: StackMap locals: int java.util.Map
StackMap stack:
new com.oracle.truffle.polyglot.PolyglotEngineImpl$LogConfig
dup
invokespecial com.oracle.truffle.polyglot.PolyglotEngineImpl$LogConfig.<init>:()V
astore 21
start local 21 25: aload 20
aload 21
iload 19
invokestatic com.oracle.truffle.polyglot.PolyglotImpl.createEngineOptions:(Ljava/util/Map;Lcom/oracle/truffle/polyglot/PolyglotEngineImpl$LogConfig;Z)Lcom/oracle/truffle/polyglot/OptionValuesImpl;
astore 22
start local 22 26: aload 17
ifnull 27
aload 17
goto 28
StackMap locals: com.oracle.truffle.polyglot.PolyglotEngineImpl$LogConfig com.oracle.truffle.polyglot.OptionValuesImpl
StackMap stack:
27: aload 21
aload 16
invokestatic com.oracle.truffle.polyglot.PolyglotEngineImpl.createLogHandler:(Lcom/oracle/truffle/polyglot/PolyglotEngineImpl$LogConfig;Lcom/oracle/truffle/api/impl/DispatchOutputStream;)Ljava/util/logging/Handler;
StackMap locals:
StackMap stack: java.util.logging.Handler
28: astore 17
29: new com.oracle.truffle.polyglot.PolyglotLoggers$EngineLoggerProvider
dup
aload 17
aload 21
getfield com.oracle.truffle.polyglot.PolyglotEngineImpl$LogConfig.logLevels:Ljava/util/Map;
aload 21
getfield com.oracle.truffle.polyglot.PolyglotEngineImpl$LogConfig.logFile:Ljava/lang/String;
invokespecial com.oracle.truffle.polyglot.PolyglotLoggers$EngineLoggerProvider.<init>:(Ljava/util/logging/Handler;Ljava/util/Map;Ljava/lang/String;)V
astore 23
start local 23 30: getstatic com.oracle.truffle.polyglot.EngineAccessor.RUNTIME:Lcom/oracle/truffle/api/impl/Accessor$RuntimeSupport;
aload 22
aload 23
invokevirtual com.oracle.truffle.api.impl.Accessor$RuntimeSupport.tryLoadCachedEngine:(Lorg/graalvm/options/OptionValues;Ljava/util/function/Function;)Ljava/lang/Object;
checkcast com.oracle.truffle.polyglot.PolyglotEngineImpl
astore 11
31: aload 11
ifnonnull 33
iload 7
ifeq 33
getstatic com.oracle.truffle.polyglot.EngineAccessor.RUNTIME:Lcom/oracle/truffle/api/impl/Accessor$RuntimeSupport;
aload 22
invokevirtual com.oracle.truffle.api.impl.Accessor$RuntimeSupport.isStoreEnabled:(Lorg/graalvm/options/OptionValues;)Z
ifne 33
32: aload 0
getfield com.oracle.truffle.polyglot.PolyglotImpl.preInitializedEngineRef:Ljava/util/concurrent/atomic/AtomicReference;
aconst_null
invokevirtual java.util.concurrent.atomic.AtomicReference.getAndSet:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast com.oracle.truffle.polyglot.PolyglotEngineImpl
astore 11
33: StackMap locals: com.oracle.truffle.polyglot.PolyglotLoggers$EngineLoggerProvider
StackMap stack:
aload 11
ifnull 49
34: aload 11
aload 15
35: aload 16
36: aload 14
37: aload 22
38: aload 21
39: aload 23
40: aload 20
41: iload 19
42: aload 18
43: iload 7
44: aload 17
45: invokevirtual com.oracle.truffle.polyglot.PolyglotEngineImpl.patch:(Lcom/oracle/truffle/api/impl/DispatchOutputStream;Lcom/oracle/truffle/api/impl/DispatchOutputStream;Ljava/io/InputStream;Lcom/oracle/truffle/polyglot/OptionValuesImpl;Lcom/oracle/truffle/polyglot/PolyglotEngineImpl$LogConfig;Ljava/util/function/Function;Ljava/util/Map;ZLjava/lang/ClassLoader;ZLjava/util/logging/Handler;)Z
46: ifne 49
47: aload 11
iconst_0
iconst_0
invokevirtual com.oracle.truffle.polyglot.PolyglotEngineImpl.ensureClosed:(ZZ)V
48: aconst_null
astore 11
49: StackMap locals:
StackMap stack:
aload 11
ifnonnull 64
50: new com.oracle.truffle.polyglot.PolyglotEngineImpl
dup
aload 0
51: aload 15
52: aload 16
53: aload 14
54: aload 22
55: aload 21
getfield com.oracle.truffle.polyglot.PolyglotEngineImpl$LogConfig.logLevels:Ljava/util/Map;
56: aload 23
57: aload 20
58: iload 19
59: aload 18
60: iload 7
iconst_0
61: aload 8
62: aload 17
63: invokespecial com.oracle.truffle.polyglot.PolyglotEngineImpl.<init>:(Lcom/oracle/truffle/polyglot/PolyglotImpl;Lcom/oracle/truffle/api/impl/DispatchOutputStream;Lcom/oracle/truffle/api/impl/DispatchOutputStream;Ljava/io/InputStream;Lcom/oracle/truffle/polyglot/OptionValuesImpl;Ljava/util/Map;Lcom/oracle/truffle/polyglot/PolyglotLoggers$EngineLoggerProvider;Ljava/util/Map;ZLjava/lang/ClassLoader;ZZLorg/graalvm/polyglot/io/MessageTransport;Ljava/util/logging/Handler;)V
astore 11
64: StackMap locals:
StackMap stack:
aload 23
aload 11
invokevirtual com.oracle.truffle.polyglot.PolyglotLoggers$EngineLoggerProvider.setEngine:(Lcom/oracle/truffle/polyglot/PolyglotEngineImpl;)V
65: aload 0
invokevirtual com.oracle.truffle.polyglot.PolyglotImpl.getAPIAccess:()Lorg/graalvm/polyglot/impl/AbstractPolyglotImpl$APIAccess;
aload 11
invokevirtual org.graalvm.polyglot.impl.AbstractPolyglotImpl$APIAccess.newEngine:(Lorg/graalvm/polyglot/impl/AbstractPolyglotImpl$AbstractEngineImpl;)Lorg/graalvm/polyglot/Engine;
astore 24
start local 24 66: aload 11
aload 24
putfield com.oracle.truffle.polyglot.PolyglotEngineImpl.creatorApi:Lorg/graalvm/polyglot/Engine;
67: aload 11
aload 0
invokevirtual com.oracle.truffle.polyglot.PolyglotImpl.getAPIAccess:()Lorg/graalvm/polyglot/impl/AbstractPolyglotImpl$APIAccess;
aload 11
invokevirtual org.graalvm.polyglot.impl.AbstractPolyglotImpl$APIAccess.newEngine:(Lorg/graalvm/polyglot/impl/AbstractPolyglotImpl$AbstractEngineImpl;)Lorg/graalvm/polyglot/Engine;
putfield com.oracle.truffle.polyglot.PolyglotEngineImpl.currentApi:Lorg/graalvm/polyglot/Engine;
68: aload 24
69: areturn
end local 24 end local 23 end local 22 end local 21 end local 20 end local 19 end local 18 end local 17 end local 16 end local 15 end local 14 end local 13 end local 12 70: StackMap locals: com.oracle.truffle.polyglot.PolyglotImpl java.io.OutputStream java.io.OutputStream java.io.InputStream java.util.Map int int int org.graalvm.polyglot.io.MessageTransport java.lang.Object org.graalvm.polyglot.HostAccess com.oracle.truffle.polyglot.PolyglotEngineImpl
StackMap stack: java.lang.Throwable
astore 12
start local 12 71: aload 11
ifnonnull 73
72: aload 0
aload 12
invokestatic com.oracle.truffle.polyglot.PolyglotImpl.guestToHostException:(Lcom/oracle/truffle/polyglot/PolyglotImpl;Ljava/lang/Throwable;)Lorg/graalvm/polyglot/PolyglotException;
athrow
73: StackMap locals: java.lang.Throwable
StackMap stack:
aload 11
aload 12
invokestatic com.oracle.truffle.polyglot.PolyglotImpl.guestToHostException:(Lcom/oracle/truffle/polyglot/PolyglotEngineImpl;Ljava/lang/Throwable;)Lorg/graalvm/polyglot/PolyglotException;
athrow
end local 12 end local 11 end local 10 end local 9 end local 8 end local 7 end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 74 0 this Lcom/oracle/truffle/polyglot/PolyglotImpl;
0 74 1 out Ljava/io/OutputStream;
0 74 2 err Ljava/io/OutputStream;
0 74 3 in Ljava/io/InputStream;
0 74 4 originalOptions Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;
0 74 5 useSystemProperties Z
0 74 6 allowExperimentalOptions Z
0 74 7 boundEngine Z
0 74 8 messageInterceptor Lorg/graalvm/polyglot/io/MessageTransport;
0 74 9 logHandlerOrStream Ljava/lang/Object;
0 74 10 conf Lorg/graalvm/polyglot/HostAccess;
1 74 11 impl Lcom/oracle/truffle/polyglot/PolyglotEngineImpl;
6 70 12 resolvedOut Ljava/io/OutputStream;
9 70 13 resolvedErr Ljava/io/OutputStream;
12 70 14 resolvedIn Ljava/io/InputStream;
13 70 15 dispatchOut Lcom/oracle/truffle/api/impl/DispatchOutputStream;
14 70 16 dispatchErr Lcom/oracle/truffle/api/impl/DispatchOutputStream;
15 70 17 logHandler Ljava/util/logging/Handler;
18 70 18 contextClassLoader Ljava/lang/ClassLoader;
21 70 19 useAllowExperimentalOptions Z
22 70 20 options Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;
25 70 21 logConfig Lcom/oracle/truffle/polyglot/PolyglotEngineImpl$LogConfig;
26 70 22 engineOptions Lcom/oracle/truffle/polyglot/OptionValuesImpl;
30 70 23 loggerProvider Lcom/oracle/truffle/polyglot/PolyglotLoggers$EngineLoggerProvider;
66 70 24 engine Lorg/graalvm/polyglot/Engine;
71 74 12 t Ljava/lang/Throwable;
Exception table:
from to target type
1 69 70 Class java.lang.Throwable
Signature: (Ljava/io/OutputStream;Ljava/io/OutputStream;Ljava/io/InputStream;Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;ZZZLorg/graalvm/polyglot/io/MessageTransport;Ljava/lang/Object;Lorg/graalvm/polyglot/HostAccess;)Lorg/graalvm/polyglot/Engine;
MethodParameters:
Name Flags
out
err
in
originalOptions
useSystemProperties
allowExperimentalOptions final
boundEngine
messageInterceptor
logHandlerOrStream
conf
static com.oracle.truffle.polyglot.OptionValuesImpl createEngineOptions(java.util.Map<java.lang.String, java.lang.String>, com.oracle.truffle.polyglot.PolyglotEngineImpl$LogConfig, boolean);
descriptor: (Ljava/util/Map;Lcom/oracle/truffle/polyglot/PolyglotEngineImpl$LogConfig;Z)Lcom/oracle/truffle/polyglot/OptionValuesImpl;
flags: (0x0008) ACC_STATIC
Code:
stack=5, locals=6, args_size=3
start local 0 start local 1 start local 2 0: invokestatic com.oracle.truffle.polyglot.PolyglotEngineImpl.createEngineOptionDescriptors:()Lorg/graalvm/options/OptionDescriptors;
astore 3
start local 3 1: new java.util.HashMap
dup
invokespecial java.util.HashMap.<init>:()V
astore 4
start local 4 2: aload 0
aload 4
aload 1
invokestatic com.oracle.truffle.polyglot.PolyglotEngineImpl.parseEngineOptions:(Ljava/util/Map;Ljava/util/Map;Lcom/oracle/truffle/polyglot/PolyglotEngineImpl$LogConfig;)V
3: new com.oracle.truffle.polyglot.OptionValuesImpl
dup
aconst_null
aload 3
iconst_1
invokespecial com.oracle.truffle.polyglot.OptionValuesImpl.<init>:(Lcom/oracle/truffle/polyglot/PolyglotEngineImpl;Lorg/graalvm/options/OptionDescriptors;Z)V
astore 5
start local 5 4: aload 5
aload 4
iload 2
invokevirtual com.oracle.truffle.polyglot.OptionValuesImpl.putAll:(Ljava/util/Map;Z)V
5: aload 5
areturn
end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 options Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;
0 6 1 logOptions Lcom/oracle/truffle/polyglot/PolyglotEngineImpl$LogConfig;
0 6 2 allowExperimentalOptions Z
1 6 3 engineOptionDescriptors Lorg/graalvm/options/OptionDescriptors;
2 6 4 engineOptions Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;
4 6 5 values Lcom/oracle/truffle/polyglot/OptionValuesImpl;
Signature: (Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;Lcom/oracle/truffle/polyglot/PolyglotEngineImpl$LogConfig;Z)Lcom/oracle/truffle/polyglot/OptionValuesImpl;
MethodParameters:
Name Flags
options
logOptions
allowExperimentalOptions
public void preInitializeEngine();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=3, args_size=1
start local 0 0: aload 0
invokevirtual com.oracle.truffle.polyglot.PolyglotImpl.createDefaultEngine:()Lcom/oracle/truffle/polyglot/PolyglotEngineImpl;
astore 1
start local 1 1: aload 1
invokevirtual com.oracle.truffle.polyglot.PolyglotEngineImpl.preInitialize:()V
2: goto 8
StackMap locals: com.oracle.truffle.polyglot.PolyglotImpl com.oracle.truffle.polyglot.PolyglotEngineImpl
StackMap stack: java.lang.Throwable
3: astore 2
4: invokestatic com.oracle.truffle.polyglot.LanguageCache.resetNativeImageCacheLanguageHomes:()V
5: aload 1
getfield com.oracle.truffle.polyglot.PolyglotEngineImpl.logLevels:Ljava/util/Map;
invokeinterface java.util.Map.clear:()V
6: aload 1
aconst_null
putfield com.oracle.truffle.polyglot.PolyglotEngineImpl.logHandler:Ljava/util/logging/Handler;
7: aload 2
athrow
8: StackMap locals:
StackMap stack:
invokestatic com.oracle.truffle.polyglot.LanguageCache.resetNativeImageCacheLanguageHomes:()V
9: aload 1
getfield com.oracle.truffle.polyglot.PolyglotEngineImpl.logLevels:Ljava/util/Map;
invokeinterface java.util.Map.clear:()V
10: aload 1
aconst_null
putfield com.oracle.truffle.polyglot.PolyglotEngineImpl.logHandler:Ljava/util/logging/Handler;
11: aload 0
getfield com.oracle.truffle.polyglot.PolyglotImpl.preInitializedEngineRef:Ljava/util/concurrent/atomic/AtomicReference;
aload 1
invokevirtual java.util.concurrent.atomic.AtomicReference.set:(Ljava/lang/Object;)V
12: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 13 0 this Lcom/oracle/truffle/polyglot/PolyglotImpl;
1 13 1 engine Lcom/oracle/truffle/polyglot/PolyglotEngineImpl;
Exception table:
from to target type
1 3 3 any
com.oracle.truffle.polyglot.PolyglotEngineImpl createDefaultEngine();
descriptor: ()Lcom/oracle/truffle/polyglot/PolyglotEngineImpl;
flags: (0x0000)
Code:
stack=16, locals=9, args_size=1
start local 0 0: new java.util.HashMap
dup
invokespecial java.util.HashMap.<init>:()V
astore 1
start local 1 1: aload 1
invokestatic com.oracle.truffle.polyglot.PolyglotEngineImpl.readOptionsFromSystemProperties:(Ljava/util/Map;)Ljava/util/Map;
pop
2: new com.oracle.truffle.polyglot.PolyglotEngineImpl$LogConfig
dup
invokespecial com.oracle.truffle.polyglot.PolyglotEngineImpl$LogConfig.<init>:()V
astore 2
start local 2 3: aload 1
aload 2
iconst_1
invokestatic com.oracle.truffle.polyglot.PolyglotImpl.createEngineOptions:(Ljava/util/Map;Lcom/oracle/truffle/polyglot/PolyglotEngineImpl$LogConfig;Z)Lcom/oracle/truffle/polyglot/OptionValuesImpl;
astore 3
start local 3 4: getstatic com.oracle.truffle.polyglot.EngineAccessor.INSTRUMENT:Lcom/oracle/truffle/api/impl/Accessor$InstrumentSupport;
getstatic java.lang.System.out:Ljava/io/PrintStream;
invokevirtual com.oracle.truffle.api.impl.Accessor$InstrumentSupport.createDispatchOutput:(Ljava/io/OutputStream;)Lcom/oracle/truffle/api/impl/DispatchOutputStream;
astore 4
start local 4 5: getstatic com.oracle.truffle.polyglot.EngineAccessor.INSTRUMENT:Lcom/oracle/truffle/api/impl/Accessor$InstrumentSupport;
getstatic java.lang.System.err:Ljava/io/PrintStream;
invokevirtual com.oracle.truffle.api.impl.Accessor$InstrumentSupport.createDispatchOutput:(Ljava/io/OutputStream;)Lcom/oracle/truffle/api/impl/DispatchOutputStream;
astore 5
start local 5 6: aload 2
aload 5
invokestatic com.oracle.truffle.polyglot.PolyglotEngineImpl.createLogHandler:(Lcom/oracle/truffle/polyglot/PolyglotEngineImpl$LogConfig;Lcom/oracle/truffle/api/impl/DispatchOutputStream;)Ljava/util/logging/Handler;
astore 6
start local 6 7: new com.oracle.truffle.polyglot.PolyglotLoggers$EngineLoggerProvider
dup
aload 6
aload 2
getfield com.oracle.truffle.polyglot.PolyglotEngineImpl$LogConfig.logLevels:Ljava/util/Map;
aload 2
getfield com.oracle.truffle.polyglot.PolyglotEngineImpl$LogConfig.logFile:Ljava/lang/String;
invokespecial com.oracle.truffle.polyglot.PolyglotLoggers$EngineLoggerProvider.<init>:(Ljava/util/logging/Handler;Ljava/util/Map;Ljava/lang/String;)V
astore 7
start local 7 8: new com.oracle.truffle.polyglot.PolyglotEngineImpl
dup
aload 0
aload 4
aload 5
getstatic java.lang.System.in:Ljava/io/InputStream;
aload 3
aload 2
getfield com.oracle.truffle.polyglot.PolyglotEngineImpl$LogConfig.logLevels:Ljava/util/Map;
aload 7
aload 1
iconst_1
9: getstatic com.oracle.truffle.api.TruffleOptions.AOT:Z
ifeq 10
aconst_null
goto 11
StackMap locals: com.oracle.truffle.polyglot.PolyglotImpl java.util.Map com.oracle.truffle.polyglot.PolyglotEngineImpl$LogConfig com.oracle.truffle.polyglot.OptionValuesImpl com.oracle.truffle.api.impl.DispatchOutputStream com.oracle.truffle.api.impl.DispatchOutputStream java.util.logging.Handler com.oracle.truffle.polyglot.PolyglotLoggers$EngineLoggerProvider
StackMap stack: new 8 new 8 com.oracle.truffle.polyglot.PolyglotImpl com.oracle.truffle.api.impl.DispatchOutputStream com.oracle.truffle.api.impl.DispatchOutputStream java.io.InputStream com.oracle.truffle.polyglot.OptionValuesImpl java.util.Map com.oracle.truffle.polyglot.PolyglotLoggers$EngineLoggerProvider java.util.Map int
10: invokestatic java.lang.Thread.currentThread:()Ljava/lang/Thread;
invokevirtual java.lang.Thread.getContextClassLoader:()Ljava/lang/ClassLoader;
StackMap locals: com.oracle.truffle.polyglot.PolyglotImpl java.util.Map com.oracle.truffle.polyglot.PolyglotEngineImpl$LogConfig com.oracle.truffle.polyglot.OptionValuesImpl com.oracle.truffle.api.impl.DispatchOutputStream com.oracle.truffle.api.impl.DispatchOutputStream java.util.logging.Handler com.oracle.truffle.polyglot.PolyglotLoggers$EngineLoggerProvider
StackMap stack: new 8 new 8 com.oracle.truffle.polyglot.PolyglotImpl com.oracle.truffle.api.impl.DispatchOutputStream com.oracle.truffle.api.impl.DispatchOutputStream java.io.InputStream com.oracle.truffle.polyglot.OptionValuesImpl java.util.Map com.oracle.truffle.polyglot.PolyglotLoggers$EngineLoggerProvider java.util.Map int java.lang.ClassLoader
11: iconst_1
iconst_1
aconst_null
aload 6
12: invokespecial com.oracle.truffle.polyglot.PolyglotEngineImpl.<init>:(Lcom/oracle/truffle/polyglot/PolyglotImpl;Lcom/oracle/truffle/api/impl/DispatchOutputStream;Lcom/oracle/truffle/api/impl/DispatchOutputStream;Ljava/io/InputStream;Lcom/oracle/truffle/polyglot/OptionValuesImpl;Ljava/util/Map;Lcom/oracle/truffle/polyglot/PolyglotLoggers$EngineLoggerProvider;Ljava/util/Map;ZLjava/lang/ClassLoader;ZZLorg/graalvm/polyglot/io/MessageTransport;Ljava/util/logging/Handler;)V
astore 8
start local 8 13: aload 7
aload 8
invokevirtual com.oracle.truffle.polyglot.PolyglotLoggers$EngineLoggerProvider.setEngine:(Lcom/oracle/truffle/polyglot/PolyglotEngineImpl;)V
14: aload 8
areturn
end local 8 end local 7 end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 15 0 this Lcom/oracle/truffle/polyglot/PolyglotImpl;
1 15 1 options Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;
3 15 2 logConfig Lcom/oracle/truffle/polyglot/PolyglotEngineImpl$LogConfig;
4 15 3 engineOptions Lcom/oracle/truffle/polyglot/OptionValuesImpl;
5 15 4 out Lcom/oracle/truffle/api/impl/DispatchOutputStream;
6 15 5 err Lcom/oracle/truffle/api/impl/DispatchOutputStream;
7 15 6 logHandler Ljava/util/logging/Handler;
8 15 7 loggerProvider Lcom/oracle/truffle/polyglot/PolyglotLoggers$EngineLoggerProvider;
13 15 8 engine Lcom/oracle/truffle/polyglot/PolyglotEngineImpl;
public void resetPreInitializedEngine();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield com.oracle.truffle.polyglot.PolyglotImpl.preInitializedEngineRef:Ljava/util/concurrent/atomic/AtomicReference;
aconst_null
invokevirtual java.util.concurrent.atomic.AtomicReference.set:(Ljava/lang/Object;)V
1: invokestatic com.oracle.truffle.polyglot.PolyglotEngineImpl.resetPreInitializedEngine:()V
2: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/oracle/truffle/polyglot/PolyglotImpl;
public java.lang.Class<?> loadLanguageClass(java.lang.String);
descriptor: (Ljava/lang/String;)Ljava/lang/Class;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=6, args_size=2
start local 0 start local 1 0: invokestatic com.oracle.truffle.polyglot.EngineAccessor.locatorOrDefaultLoaders:()Ljava/util/List;
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 3
goto 10
StackMap locals: com.oracle.truffle.polyglot.PolyglotImpl java.lang.String top java.util.Iterator
StackMap stack:
1: aload 3
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.util.function.Supplier
astore 2
start local 2 2: aload 2
invokeinterface java.util.function.Supplier.get:()Ljava/lang/Object;
checkcast java.lang.ClassLoader
astore 4
start local 4 3: aload 4
ifnull 10
4: aload 4
aload 1
invokevirtual java.lang.ClassLoader.loadClass:(Ljava/lang/String;)Ljava/lang/Class;
astore 5
start local 5 5: getstatic com.oracle.truffle.api.TruffleOptions.AOT:Z
ifne 7
6: getstatic com.oracle.truffle.polyglot.EngineAccessor.JDKSERVICES:Lcom/oracle/truffle/api/impl/Accessor$JDKSupport;
aload 4
aconst_null
invokevirtual com.oracle.truffle.api.impl.Accessor$JDKSupport.exportTo:(Ljava/lang/ClassLoader;Ljava/lang/String;)V
7: StackMap locals: com.oracle.truffle.polyglot.PolyglotImpl java.lang.String java.util.function.Supplier java.util.Iterator java.lang.ClassLoader java.lang.Class
StackMap stack:
aload 5
8: areturn
end local 5 9: StackMap locals: com.oracle.truffle.polyglot.PolyglotImpl java.lang.String java.util.function.Supplier java.util.Iterator java.lang.ClassLoader
StackMap stack: java.lang.ClassNotFoundException
pop
end local 4 end local 2 10: StackMap locals: com.oracle.truffle.polyglot.PolyglotImpl java.lang.String top java.util.Iterator
StackMap stack:
aload 3
invokeinterface java.util.Iterator.hasNext:()Z
ifne 1
11: aconst_null
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 this Lcom/oracle/truffle/polyglot/PolyglotImpl;
0 12 1 className Ljava/lang/String;
2 10 2 supplier Ljava/util/function/Supplier<Ljava/lang/ClassLoader;>;
3 10 4 loader Ljava/lang/ClassLoader;
5 9 5 c Ljava/lang/Class<*>;
Exception table:
from to target type
4 8 9 Class java.lang.ClassNotFoundException
Signature: (Ljava/lang/String;)Ljava/lang/Class<*>;
MethodParameters:
Name Flags
className
public java.util.Collection<org.graalvm.polyglot.Engine> findActiveEngines();
descriptor: ()Ljava/util/Collection;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: invokestatic com.oracle.truffle.polyglot.PolyglotEngineImpl.findActiveEngines:()Ljava/util/Collection;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/polyglot/PolyglotImpl;
Signature: ()Ljava/util/Collection<Lorg/graalvm/polyglot/Engine;>;
public <S, T> newTargetTypeMapping(java.lang.Class<S>, java.lang.Class<T>, java.util.function.Predicate<S>, java.util.function.Function<S, T>, org.graalvm.polyglot.HostAccess$TargetMappingPrecedence);
descriptor: (Ljava/lang/Class;Ljava/lang/Class;Ljava/util/function/Predicate;Ljava/util/function/Function;Lorg/graalvm/polyglot/HostAccess$TargetMappingPrecedence;)Ljava/lang/Object;
flags: (0x0001) ACC_PUBLIC
Code:
stack=7, locals=7, args_size=6
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 0: new com.oracle.truffle.polyglot.PolyglotTargetMapping
dup
aload 1
aload 2
aload 3
aload 4
aload 5
invokespecial com.oracle.truffle.polyglot.PolyglotTargetMapping.<init>:(Ljava/lang/Class;Ljava/lang/Class;Ljava/util/function/Predicate;Ljava/util/function/Function;Lorg/graalvm/polyglot/HostAccess$TargetMappingPrecedence;)V
1: areturn
2: StackMap locals:
StackMap stack: java.lang.Throwable
astore 6
start local 6 3: aload 0
aload 6
invokestatic com.oracle.truffle.polyglot.PolyglotImpl.guestToHostException:(Lcom/oracle/truffle/polyglot/PolyglotImpl;Ljava/lang/Throwable;)Lorg/graalvm/polyglot/PolyglotException;
athrow
end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lcom/oracle/truffle/polyglot/PolyglotImpl;
0 4 1 sourceType Ljava/lang/Class<TS;>;
0 4 2 targetType Ljava/lang/Class<TT;>;
0 4 3 acceptsValue Ljava/util/function/Predicate<TS;>;
0 4 4 convertValue Ljava/util/function/Function<TS;TT;>;
0 4 5 precedence Lorg/graalvm/polyglot/HostAccess$TargetMappingPrecedence;
3 4 6 t Ljava/lang/Throwable;
Exception table:
from to target type
0 1 2 Class java.lang.Throwable
Signature: <S:Ljava/lang/Object;T:Ljava/lang/Object;>(Ljava/lang/Class<TS;>;Ljava/lang/Class<TT;>;Ljava/util/function/Predicate<TS;>;Ljava/util/function/Function<TS;TT;>;Lorg/graalvm/polyglot/HostAccess$TargetMappingPrecedence;)Ljava/lang/Object;
MethodParameters:
Name Flags
sourceType
targetType
acceptsValue
convertValue
precedence
org.graalvm.polyglot.Value asValue(com.oracle.truffle.polyglot.PolyglotContextImpl, java.lang.Object);
descriptor: (Lcom/oracle/truffle/polyglot/PolyglotContextImpl;Ljava/lang/Object;)Lorg/graalvm/polyglot/Value;
flags: (0x0000)
Code:
stack=4, locals=6, args_size=3
start local 0 start local 1 start local 2 0: aload 1
ifnull 2
1: aload 1
aload 2
invokevirtual com.oracle.truffle.polyglot.PolyglotContextImpl.asValue:(Ljava/lang/Object;)Lorg/graalvm/polyglot/Value;
areturn
2: StackMap locals:
StackMap stack:
getstatic com.oracle.truffle.polyglot.PolyglotImpl.$assertionsDisabled:Z
ifne 3
aload 2
instanceof org.graalvm.polyglot.Value
ifeq 3
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
3: StackMap locals:
StackMap stack:
aconst_null
astore 3
start local 3 4: aload 2
ifnonnull 6
5: aload 0
getfield com.oracle.truffle.polyglot.PolyglotImpl.hostNull:Lorg/graalvm/polyglot/Value;
areturn
6: StackMap locals: java.lang.Object
StackMap stack:
aload 2
invokestatic com.oracle.truffle.polyglot.PolyglotImpl.isGuestPrimitive:(Ljava/lang/Object;)Z
ifeq 8
7: aload 0
invokevirtual com.oracle.truffle.polyglot.PolyglotImpl.getAPIAccess:()Lorg/graalvm/polyglot/impl/AbstractPolyglotImpl$APIAccess;
aload 2
aload 0
getfield com.oracle.truffle.polyglot.PolyglotImpl.primitiveValues:Ljava/util/Map;
aload 2
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast org.graalvm.polyglot.impl.AbstractPolyglotImpl$AbstractValueImpl
invokevirtual org.graalvm.polyglot.impl.AbstractPolyglotImpl$APIAccess.newValue:(Ljava/lang/Object;Lorg/graalvm/polyglot/impl/AbstractPolyglotImpl$AbstractValueImpl;)Lorg/graalvm/polyglot/Value;
areturn
8: StackMap locals:
StackMap stack:
aload 2
invokestatic com.oracle.truffle.polyglot.HostWrapper.isInstance:(Ljava/lang/Object;)Z
ifeq 14
9: aload 2
invokestatic com.oracle.truffle.polyglot.HostWrapper.asInstance:(Ljava/lang/Object;)Lcom/oracle/truffle/polyglot/HostWrapper;
astore 4
start local 4 10: aload 4
invokeinterface com.oracle.truffle.polyglot.HostWrapper.getLanguageContext:()Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;
astore 5
start local 5 11: getstatic com.oracle.truffle.polyglot.PolyglotImpl.$assertionsDisabled:Z
ifne 12
aload 5
ifnonnull 12
new java.lang.AssertionError
dup
ldc "HostWrappers must be guaranteed to have non-null language context."
invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
athrow
12: StackMap locals: com.oracle.truffle.polyglot.HostWrapper com.oracle.truffle.polyglot.PolyglotLanguageContext
StackMap stack:
aload 4
invokeinterface com.oracle.truffle.polyglot.HostWrapper.getGuestObject:()Ljava/lang/Object;
astore 3
13: aload 5
aload 3
invokevirtual com.oracle.truffle.polyglot.PolyglotLanguageContext.asValue:(Ljava/lang/Object;)Lorg/graalvm/polyglot/Value;
areturn
end local 5 end local 4 14: StackMap locals:
StackMap stack:
aload 2
instanceof com.oracle.truffle.api.interop.TruffleObject
ifeq 17
15: aload 2
astore 3
16: goto 24
StackMap locals:
StackMap stack:
17: aload 2
instanceof org.graalvm.polyglot.proxy.Proxy
ifeq 20
18: aload 2
checkcast org.graalvm.polyglot.proxy.Proxy
invokestatic com.oracle.truffle.polyglot.PolyglotProxy.toProxyGuestObject:(Lorg/graalvm/polyglot/proxy/Proxy;)Lcom/oracle/truffle/api/interop/TruffleObject;
astore 3
19: goto 24
StackMap locals:
StackMap stack:
20: aload 2
instanceof java.lang.Class
ifeq 23
21: aload 2
checkcast java.lang.Class
aconst_null
invokestatic com.oracle.truffle.polyglot.HostObject.forClass:(Ljava/lang/Class;Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;)Lcom/oracle/truffle/polyglot/HostObject;
astore 3
22: goto 24
23: StackMap locals:
StackMap stack:
aload 2
aconst_null
invokestatic com.oracle.truffle.polyglot.HostObject.forObject:(Ljava/lang/Object;Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;)Lcom/oracle/truffle/polyglot/HostObject;
astore 3
24: StackMap locals:
StackMap stack:
aload 0
invokevirtual com.oracle.truffle.polyglot.PolyglotImpl.getAPIAccess:()Lorg/graalvm/polyglot/impl/AbstractPolyglotImpl$APIAccess;
aload 3
aload 0
getfield com.oracle.truffle.polyglot.PolyglotImpl.disconnectedHostValue:Lcom/oracle/truffle/polyglot/PolyglotValue;
invokevirtual org.graalvm.polyglot.impl.AbstractPolyglotImpl$APIAccess.newValue:(Ljava/lang/Object;Lorg/graalvm/polyglot/impl/AbstractPolyglotImpl$AbstractValueImpl;)Lorg/graalvm/polyglot/Value;
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 25 0 this Lcom/oracle/truffle/polyglot/PolyglotImpl;
0 25 1 currentContext Lcom/oracle/truffle/polyglot/PolyglotContextImpl;
0 25 2 hostValue Ljava/lang/Object;
4 25 3 guestValue Ljava/lang/Object;
10 14 4 hostWrapper Lcom/oracle/truffle/polyglot/HostWrapper;
11 14 5 languageContext Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;
MethodParameters:
Name Flags
currentContext
hostValue
public org.graalvm.polyglot.Value asValue(java.lang.Object);
descriptor: (Ljava/lang/Object;)Lorg/graalvm/polyglot/Value;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=2
start local 0 start local 1 0: invokestatic com.oracle.truffle.polyglot.PolyglotContextImpl.currentNotEntered:()Lcom/oracle/truffle/polyglot/PolyglotContextImpl;
astore 2
start local 2 1: aload 0
aload 2
aload 1
invokevirtual com.oracle.truffle.polyglot.PolyglotImpl.asValue:(Lcom/oracle/truffle/polyglot/PolyglotContextImpl;Ljava/lang/Object;)Lorg/graalvm/polyglot/Value;
2: areturn
end local 2 3: StackMap locals:
StackMap stack: java.lang.Throwable
astore 2
start local 2 4: aload 0
aload 2
invokestatic com.oracle.truffle.polyglot.PolyglotImpl.guestToHostException:(Lcom/oracle/truffle/polyglot/PolyglotImpl;Ljava/lang/Throwable;)Lorg/graalvm/polyglot/PolyglotException;
athrow
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lcom/oracle/truffle/polyglot/PolyglotImpl;
0 5 1 hostValue Ljava/lang/Object;
1 3 2 currentContext Lcom/oracle/truffle/polyglot/PolyglotContextImpl;
4 5 2 t Ljava/lang/Throwable;
Exception table:
from to target type
0 2 3 Class java.lang.Throwable
RuntimeVisibleAnnotations:
com.oracle.truffle.api.CompilerDirectives$TruffleBoundary()
MethodParameters:
Name Flags
hostValue
public org.graalvm.polyglot.io.FileSystem newDefaultFileSystem();
descriptor: ()Lorg/graalvm/polyglot/io/FileSystem;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: invokestatic com.oracle.truffle.polyglot.FileSystems.newDefaultFileSystem:()Lorg/graalvm/polyglot/io/FileSystem;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/polyglot/PolyglotImpl;
org.graalvm.polyglot.Source getOrCreatePolyglotSource(com.oracle.truffle.api.source.Source);
descriptor: (Lcom/oracle/truffle/api/source/Source;)Lorg/graalvm/polyglot/Source;
flags: (0x0000)
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: getstatic com.oracle.truffle.polyglot.EngineAccessor.SOURCE:Lcom/oracle/truffle/api/impl/Accessor$SourceSupport;
aload 1
aload 0
getfield com.oracle.truffle.polyglot.PolyglotImpl.sourceConstructor:Ljava/util/function/Function;
invokevirtual com.oracle.truffle.api.impl.Accessor$SourceSupport.getOrCreatePolyglotSource:(Lcom/oracle/truffle/api/source/Source;Ljava/util/function/Function;)Lorg/graalvm/polyglot/Source;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/polyglot/PolyglotImpl;
0 1 1 source Lcom/oracle/truffle/api/source/Source;
MethodParameters:
Name Flags
source
org.graalvm.polyglot.SourceSection getPolyglotSourceSection(com.oracle.truffle.api.source.SourceSection);
descriptor: (Lcom/oracle/truffle/api/source/SourceSection;)Lorg/graalvm/polyglot/SourceSection;
flags: (0x0000)
Code:
stack=3, locals=3, args_size=2
start local 0 start local 1 0: aload 1
ifnonnull 2
1: aconst_null
areturn
2: StackMap locals:
StackMap stack:
aload 0
aload 1
invokevirtual com.oracle.truffle.api.source.SourceSection.getSource:()Lcom/oracle/truffle/api/source/Source;
invokevirtual com.oracle.truffle.polyglot.PolyglotImpl.getOrCreatePolyglotSource:(Lcom/oracle/truffle/api/source/Source;)Lorg/graalvm/polyglot/Source;
astore 2
start local 2 3: aload 0
invokevirtual com.oracle.truffle.polyglot.PolyglotImpl.getAPIAccess:()Lorg/graalvm/polyglot/impl/AbstractPolyglotImpl$APIAccess;
aload 2
aload 1
invokevirtual org.graalvm.polyglot.impl.AbstractPolyglotImpl$APIAccess.newSourceSection:(Lorg/graalvm/polyglot/Source;Ljava/lang/Object;)Lorg/graalvm/polyglot/SourceSection;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lcom/oracle/truffle/polyglot/PolyglotImpl;
0 4 1 sourceSection Lcom/oracle/truffle/api/source/SourceSection;
3 4 2 polyglotSource Lorg/graalvm/polyglot/Source;
MethodParameters:
Name Flags
sourceSection
static <T extends java.lang.Throwable> java.lang.RuntimeException hostToGuestException(com.oracle.truffle.polyglot.PolyglotLanguageContext, T);
descriptor: (Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;Ljava/lang/Throwable;)Ljava/lang/RuntimeException;
flags: (0x0008) ACC_STATIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield com.oracle.truffle.polyglot.PolyglotLanguageContext.context:Lcom/oracle/truffle/polyglot/PolyglotContextImpl;
aload 1
invokestatic com.oracle.truffle.polyglot.PolyglotImpl.hostToGuestException:(Lcom/oracle/truffle/polyglot/PolyglotContextImpl;Ljava/lang/Throwable;)Ljava/lang/RuntimeException;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 context Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;
0 1 1 e TT;
Signature: <T:Ljava/lang/Throwable;>(Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;TT;)Ljava/lang/RuntimeException;
MethodParameters:
Name Flags
context
e
static <T extends java.lang.Throwable> java.lang.RuntimeException hostToGuestException(com.oracle.truffle.polyglot.PolyglotContextImpl, T);
descriptor: (Lcom/oracle/truffle/polyglot/PolyglotContextImpl;Ljava/lang/Throwable;)Ljava/lang/RuntimeException;
flags: (0x0008) ACC_STATIC
Code:
stack=3, locals=5, args_size=2
start local 0 start local 1 0: getstatic com.oracle.truffle.polyglot.PolyglotImpl.$assertionsDisabled:Z
ifne 1
aload 1
instanceof com.oracle.truffle.polyglot.PolyglotEngineException
ifeq 1
new java.lang.AssertionError
dup
ldc "engine exceptions not expected here"
invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
athrow
1: StackMap locals:
StackMap stack:
getstatic com.oracle.truffle.polyglot.PolyglotImpl.$assertionsDisabled:Z
ifne 2
aload 1
instanceof com.oracle.truffle.polyglot.HostException
ifeq 2
new java.lang.AssertionError
dup
ldc "host exceptions not expected here"
invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
athrow
2: StackMap locals:
StackMap stack:
aload 1
instanceof java.lang.ThreadDeath
ifeq 4
3: aload 1
checkcast java.lang.ThreadDeath
athrow
4: StackMap locals:
StackMap stack:
aload 1
instanceof org.graalvm.polyglot.PolyglotException
ifeq 14
5: aload 1
checkcast org.graalvm.polyglot.PolyglotException
astore 2
start local 2 6: aload 0
ifnull 14
7: aload 0
invokevirtual com.oracle.truffle.polyglot.PolyglotContextImpl.getImpl:()Lcom/oracle/truffle/polyglot/PolyglotImpl;
invokevirtual com.oracle.truffle.polyglot.PolyglotImpl.getAPIAccess:()Lorg/graalvm/polyglot/impl/AbstractPolyglotImpl$APIAccess;
aload 2
invokevirtual org.graalvm.polyglot.impl.AbstractPolyglotImpl$APIAccess.getImpl:(Lorg/graalvm/polyglot/PolyglotException;)Lorg/graalvm/polyglot/impl/AbstractPolyglotImpl$AbstractExceptionImpl;
checkcast com.oracle.truffle.polyglot.PolyglotExceptionImpl
astore 3
start local 3 8: aload 3
getfield com.oracle.truffle.polyglot.PolyglotExceptionImpl.context:Lcom/oracle/truffle/polyglot/PolyglotContextImpl;
aload 0
if_acmpeq 9
aload 3
getfield com.oracle.truffle.polyglot.PolyglotExceptionImpl.context:Lcom/oracle/truffle/polyglot/PolyglotContextImpl;
ifnull 9
aload 3
invokevirtual com.oracle.truffle.polyglot.PolyglotExceptionImpl.isHostException:()Z
ifeq 14
9: StackMap locals: org.graalvm.polyglot.PolyglotException com.oracle.truffle.polyglot.PolyglotExceptionImpl
StackMap stack:
aload 0
invokevirtual com.oracle.truffle.polyglot.PolyglotContextImpl.getImpl:()Lcom/oracle/truffle/polyglot/PolyglotImpl;
invokevirtual com.oracle.truffle.polyglot.PolyglotImpl.getAPIAccess:()Lorg/graalvm/polyglot/impl/AbstractPolyglotImpl$APIAccess;
aload 2
invokevirtual org.graalvm.polyglot.impl.AbstractPolyglotImpl$APIAccess.getImpl:(Lorg/graalvm/polyglot/PolyglotException;)Lorg/graalvm/polyglot/impl/AbstractPolyglotImpl$AbstractExceptionImpl;
checkcast com.oracle.truffle.polyglot.PolyglotExceptionImpl
getfield com.oracle.truffle.polyglot.PolyglotExceptionImpl.exception:Ljava/lang/Throwable;
astore 4
start local 4 10: aload 4
instanceof java.lang.RuntimeException
ifeq 12
11: aload 4
checkcast java.lang.RuntimeException
athrow
12: StackMap locals: java.lang.Throwable
StackMap stack:
aload 4
instanceof java.lang.Error
ifeq 14
13: aload 4
checkcast java.lang.Error
athrow
end local 4 end local 3 end local 2 14: StackMap locals:
StackMap stack:
new com.oracle.truffle.polyglot.HostException
dup
aload 1
invokespecial com.oracle.truffle.polyglot.HostException.<init>:(Ljava/lang/Throwable;)V
15: areturn
16: StackMap locals:
StackMap stack: java.lang.StackOverflowError
pop
17: getstatic com.oracle.truffle.polyglot.PolyglotImpl.STACKOVERFLOW_ERROR:Lcom/oracle/truffle/polyglot/HostException;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 18 0 context Lcom/oracle/truffle/polyglot/PolyglotContextImpl;
0 18 1 e TT;
6 14 2 polyglot Lorg/graalvm/polyglot/PolyglotException;
8 14 3 exceptionImpl Lcom/oracle/truffle/polyglot/PolyglotExceptionImpl;
10 14 4 original Ljava/lang/Throwable;
Exception table:
from to target type
14 15 16 Class java.lang.StackOverflowError
Signature: <T:Ljava/lang/Throwable;>(Lcom/oracle/truffle/polyglot/PolyglotContextImpl;TT;)Ljava/lang/RuntimeException;
RuntimeVisibleAnnotations:
com.oracle.truffle.api.CompilerDirectives$TruffleBoundary()
MethodParameters:
Name Flags
context
e
static <T extends java.lang.Throwable> java.lang.RuntimeException engineToLanguageException(java.lang.Throwable) throws T;
descriptor: (Ljava/lang/Throwable;)Ljava/lang/RuntimeException;
flags: (0x0008) ACC_STATIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: getstatic com.oracle.truffle.polyglot.PolyglotImpl.$assertionsDisabled:Z
ifne 1
aload 0
instanceof org.graalvm.polyglot.PolyglotException
ifeq 1
new java.lang.AssertionError
dup
ldc "polyglot exceptions must not be thrown to the guest language"
invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
athrow
1: StackMap locals:
StackMap stack:
aload 0
invokestatic com.oracle.truffle.polyglot.PolyglotEngineException.rethrow:(Ljava/lang/Throwable;)V
2: aload 0
athrow
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 t Ljava/lang/Throwable;
Exceptions:
throws java.lang.Throwable
Signature: <T:Ljava/lang/Throwable;>(Ljava/lang/Throwable;)Ljava/lang/RuntimeException;^TT;
RuntimeVisibleAnnotations:
com.oracle.truffle.api.CompilerDirectives$TruffleBoundary()
MethodParameters:
Name Flags
t
static <T extends java.lang.Throwable> java.lang.RuntimeException engineToInstrumentException(java.lang.Throwable) throws T;
descriptor: (Ljava/lang/Throwable;)Ljava/lang/RuntimeException;
flags: (0x0008) ACC_STATIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: getstatic com.oracle.truffle.polyglot.PolyglotImpl.$assertionsDisabled:Z
ifne 1
aload 0
instanceof org.graalvm.polyglot.PolyglotException
ifeq 1
new java.lang.AssertionError
dup
ldc "polyglot exceptions must not be thrown to the guest instrument"
invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
athrow
1: StackMap locals:
StackMap stack:
aload 0
invokestatic com.oracle.truffle.polyglot.PolyglotEngineException.rethrow:(Ljava/lang/Throwable;)V
2: aload 0
athrow
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 t Ljava/lang/Throwable;
Exceptions:
throws java.lang.Throwable
Signature: <T:Ljava/lang/Throwable;>(Ljava/lang/Throwable;)Ljava/lang/RuntimeException;^TT;
RuntimeVisibleAnnotations:
com.oracle.truffle.api.CompilerDirectives$TruffleBoundary()
MethodParameters:
Name Flags
t
static <T extends java.lang.Throwable> org.graalvm.polyglot.PolyglotException guestToHostException(com.oracle.truffle.polyglot.PolyglotLanguageContext, T, boolean);
descriptor: (Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;Ljava/lang/Throwable;Z)Lorg/graalvm/polyglot/PolyglotException;
flags: (0x0008) ACC_STATIC
Code:
stack=8, locals=6, args_size=3
start local 0 start local 1 start local 2 0: getstatic com.oracle.truffle.polyglot.PolyglotImpl.$assertionsDisabled:Z
ifne 1
aload 1
instanceof org.graalvm.polyglot.PolyglotException
ifeq 1
new java.lang.AssertionError
dup
new java.lang.StringBuilder
dup
ldc "polyglot exceptions must not be thrown to the host: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
athrow
1: StackMap locals:
StackMap stack:
aload 1
invokestatic com.oracle.truffle.polyglot.PolyglotEngineException.rethrow:(Ljava/lang/Throwable;)V
2: aload 0
ifnonnull 4
3: new java.lang.RuntimeException
dup
aload 1
invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/Throwable;)V
athrow
4: StackMap locals:
StackMap stack:
aload 0
getfield com.oracle.truffle.polyglot.PolyglotLanguageContext.context:Lcom/oracle/truffle/polyglot/PolyglotContextImpl;
astore 3
start local 3 5: aload 3
getfield com.oracle.truffle.polyglot.PolyglotContextImpl.closed:Z
ifne 6
aload 3
getfield com.oracle.truffle.polyglot.PolyglotContextImpl.invalid:Z
ifeq 8
6: StackMap locals: com.oracle.truffle.polyglot.PolyglotContextImpl
StackMap stack:
new com.oracle.truffle.polyglot.PolyglotExceptionImpl
dup
aload 3
getfield com.oracle.truffle.polyglot.PolyglotContextImpl.engine:Lcom/oracle/truffle/polyglot/PolyglotEngineImpl;
aload 1
invokespecial com.oracle.truffle.polyglot.PolyglotExceptionImpl.<init>:(Lcom/oracle/truffle/polyglot/PolyglotEngineImpl;Ljava/lang/Throwable;)V
astore 4
start local 4 7: goto 15
end local 4 8: StackMap locals:
StackMap stack:
new com.oracle.truffle.polyglot.PolyglotExceptionImpl
dup
aload 0
invokevirtual com.oracle.truffle.polyglot.PolyglotLanguageContext.getImpl:()Lcom/oracle/truffle/polyglot/PolyglotImpl;
aload 0
getfield com.oracle.truffle.polyglot.PolyglotLanguageContext.context:Lcom/oracle/truffle/polyglot/PolyglotContextImpl;
getfield com.oracle.truffle.polyglot.PolyglotContextImpl.engine:Lcom/oracle/truffle/polyglot/PolyglotEngineImpl;
9: aload 0
aload 1
iconst_1
iload 2
10: invokespecial com.oracle.truffle.polyglot.PolyglotExceptionImpl.<init>:(Lcom/oracle/truffle/polyglot/PolyglotImpl;Lcom/oracle/truffle/polyglot/PolyglotEngineImpl;Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;Ljava/lang/Throwable;ZZ)V
astore 4
start local 4 11: goto 15
end local 4 StackMap locals:
StackMap stack: java.lang.Throwable
12: astore 5
start local 5 13: aload 1
aload 5
invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
14: new com.oracle.truffle.polyglot.PolyglotExceptionImpl
dup
aload 3
getfield com.oracle.truffle.polyglot.PolyglotContextImpl.engine:Lcom/oracle/truffle/polyglot/PolyglotEngineImpl;
aload 1
invokespecial com.oracle.truffle.polyglot.PolyglotExceptionImpl.<init>:(Lcom/oracle/truffle/polyglot/PolyglotEngineImpl;Ljava/lang/Throwable;)V
astore 4
end local 5 start local 4 15: StackMap locals: com.oracle.truffle.polyglot.PolyglotExceptionImpl
StackMap stack:
invokestatic com.oracle.truffle.polyglot.PolyglotImpl.getInstance:()Lcom/oracle/truffle/polyglot/PolyglotImpl;
invokevirtual com.oracle.truffle.polyglot.PolyglotImpl.getAPIAccess:()Lorg/graalvm/polyglot/impl/AbstractPolyglotImpl$APIAccess;
astore 5
start local 5 16: aload 5
aload 4
invokevirtual com.oracle.truffle.polyglot.PolyglotExceptionImpl.getMessage:()Ljava/lang/String;
aload 4
invokevirtual org.graalvm.polyglot.impl.AbstractPolyglotImpl$APIAccess.newLanguageException:(Ljava/lang/String;Lorg/graalvm/polyglot/impl/AbstractPolyglotImpl$AbstractExceptionImpl;)Lorg/graalvm/polyglot/PolyglotException;
areturn
end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 17 0 languageContext Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;
0 17 1 e TT;
0 17 2 entered Z
5 17 3 context Lcom/oracle/truffle/polyglot/PolyglotContextImpl;
7 8 4 exceptionImpl Lcom/oracle/truffle/polyglot/PolyglotExceptionImpl;
11 12 4 exceptionImpl Lcom/oracle/truffle/polyglot/PolyglotExceptionImpl;
15 17 4 exceptionImpl Lcom/oracle/truffle/polyglot/PolyglotExceptionImpl;
13 15 5 t Ljava/lang/Throwable;
16 17 5 access Lorg/graalvm/polyglot/impl/AbstractPolyglotImpl$APIAccess;
Exception table:
from to target type
8 11 12 Class java.lang.Throwable
Signature: <T:Ljava/lang/Throwable;>(Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;TT;Z)Lorg/graalvm/polyglot/PolyglotException;
RuntimeVisibleAnnotations:
com.oracle.truffle.api.CompilerDirectives$TruffleBoundary()
MethodParameters:
Name Flags
languageContext
e
entered
static <T extends java.lang.Throwable> org.graalvm.polyglot.PolyglotException guestToHostException(com.oracle.truffle.polyglot.PolyglotEngineImpl, T);
descriptor: (Lcom/oracle/truffle/polyglot/PolyglotEngineImpl;Ljava/lang/Throwable;)Lorg/graalvm/polyglot/PolyglotException;
flags: (0x0008) ACC_STATIC
Code:
stack=5, locals=4, args_size=2
start local 0 start local 1 0: getstatic com.oracle.truffle.polyglot.PolyglotImpl.$assertionsDisabled:Z
ifne 1
aload 1
instanceof org.graalvm.polyglot.PolyglotException
ifeq 1
new java.lang.AssertionError
dup
new java.lang.StringBuilder
dup
ldc "polyglot exceptions must not be thrown to the host: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
athrow
1: StackMap locals:
StackMap stack:
aload 1
invokestatic com.oracle.truffle.polyglot.PolyglotEngineException.rethrow:(Ljava/lang/Throwable;)V
2: aload 0
invokevirtual com.oracle.truffle.polyglot.PolyglotEngineImpl.getAPIAccess:()Lorg/graalvm/polyglot/impl/AbstractPolyglotImpl$APIAccess;
astore 2
start local 2 3: new com.oracle.truffle.polyglot.PolyglotExceptionImpl
dup
aload 0
aload 1
invokespecial com.oracle.truffle.polyglot.PolyglotExceptionImpl.<init>:(Lcom/oracle/truffle/polyglot/PolyglotEngineImpl;Ljava/lang/Throwable;)V
astore 3
start local 3 4: aload 2
aload 3
invokevirtual com.oracle.truffle.polyglot.PolyglotExceptionImpl.getMessage:()Ljava/lang/String;
aload 3
invokevirtual org.graalvm.polyglot.impl.AbstractPolyglotImpl$APIAccess.newLanguageException:(Ljava/lang/String;Lorg/graalvm/polyglot/impl/AbstractPolyglotImpl$AbstractExceptionImpl;)Lorg/graalvm/polyglot/PolyglotException;
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 engine Lcom/oracle/truffle/polyglot/PolyglotEngineImpl;
0 5 1 e TT;
3 5 2 access Lorg/graalvm/polyglot/impl/AbstractPolyglotImpl$APIAccess;
4 5 3 exceptionImpl Lcom/oracle/truffle/polyglot/PolyglotExceptionImpl;
Signature: <T:Ljava/lang/Throwable;>(Lcom/oracle/truffle/polyglot/PolyglotEngineImpl;TT;)Lorg/graalvm/polyglot/PolyglotException;
MethodParameters:
Name Flags
engine
e
static <T extends java.lang.Throwable> org.graalvm.polyglot.PolyglotException guestToHostException(com.oracle.truffle.polyglot.PolyglotImpl, T);
descriptor: (Lcom/oracle/truffle/polyglot/PolyglotImpl;Ljava/lang/Throwable;)Lorg/graalvm/polyglot/PolyglotException;
flags: (0x0008) ACC_STATIC
Code:
stack=5, locals=4, args_size=2
start local 0 start local 1 0: getstatic com.oracle.truffle.polyglot.PolyglotImpl.$assertionsDisabled:Z
ifne 1
aload 1
instanceof org.graalvm.polyglot.PolyglotException
ifeq 1
new java.lang.AssertionError
dup
new java.lang.StringBuilder
dup
ldc "polyglot exceptions must not be thrown to the host: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
athrow
1: StackMap locals:
StackMap stack:
aload 1
invokestatic com.oracle.truffle.polyglot.PolyglotEngineException.rethrow:(Ljava/lang/Throwable;)V
2: aload 0
invokevirtual com.oracle.truffle.polyglot.PolyglotImpl.getAPIAccess:()Lorg/graalvm/polyglot/impl/AbstractPolyglotImpl$APIAccess;
astore 2
start local 2 3: new com.oracle.truffle.polyglot.PolyglotExceptionImpl
dup
aload 0
aload 1
invokespecial com.oracle.truffle.polyglot.PolyglotExceptionImpl.<init>:(Lcom/oracle/truffle/polyglot/PolyglotImpl;Ljava/lang/Throwable;)V
astore 3
start local 3 4: aload 2
aload 3
invokevirtual com.oracle.truffle.polyglot.PolyglotExceptionImpl.getMessage:()Ljava/lang/String;
aload 3
invokevirtual org.graalvm.polyglot.impl.AbstractPolyglotImpl$APIAccess.newLanguageException:(Ljava/lang/String;Lorg/graalvm/polyglot/impl/AbstractPolyglotImpl$AbstractExceptionImpl;)Lorg/graalvm/polyglot/PolyglotException;
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 polyglot Lcom/oracle/truffle/polyglot/PolyglotImpl;
0 5 1 e TT;
3 5 2 access Lorg/graalvm/polyglot/impl/AbstractPolyglotImpl$APIAccess;
4 5 3 exceptionImpl Lcom/oracle/truffle/polyglot/PolyglotExceptionImpl;
Signature: <T:Ljava/lang/Throwable;>(Lcom/oracle/truffle/polyglot/PolyglotImpl;TT;)Lorg/graalvm/polyglot/PolyglotException;
RuntimeVisibleAnnotations:
com.oracle.truffle.api.CompilerDirectives$TruffleBoundary()
MethodParameters:
Name Flags
polyglot
e
static boolean isGuestPrimitive(java.lang.Object);
descriptor: (Ljava/lang/Object;)Z
flags: (0x0008) ACC_STATIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
instanceof java.lang.Integer
ifne 6
aload 0
instanceof java.lang.Double
ifne 6
1: aload 0
instanceof java.lang.Long
ifne 6
aload 0
instanceof java.lang.Float
ifne 6
2: aload 0
instanceof java.lang.Boolean
ifne 6
aload 0
instanceof java.lang.Character
ifne 6
3: aload 0
instanceof java.lang.Byte
ifne 6
aload 0
instanceof java.lang.Short
ifne 6
4: aload 0
instanceof java.lang.String
ifne 6
5: iconst_0
ireturn
StackMap locals:
StackMap stack:
6: iconst_1
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 receiver Ljava/lang/Object;
MethodParameters:
Name Flags
receiver
}
SourceFile: "PolyglotImpl.java"
NestMembers:
com.oracle.truffle.polyglot.PolyglotImpl$1 com.oracle.truffle.polyglot.PolyglotImpl$2 com.oracle.truffle.polyglot.PolyglotImpl$VMObject
InnerClasses:
public abstract TruffleBoundary = com.oracle.truffle.api.CompilerDirectives$TruffleBoundary of com.oracle.truffle.api.CompilerDirectives
public abstract InstrumentSupport = com.oracle.truffle.api.impl.Accessor$InstrumentSupport of com.oracle.truffle.api.impl.Accessor
public final JDKSupport = com.oracle.truffle.api.impl.Accessor$JDKSupport of com.oracle.truffle.api.impl.Accessor
public abstract RuntimeSupport = com.oracle.truffle.api.impl.Accessor$RuntimeSupport of com.oracle.truffle.api.impl.Accessor
public abstract SourceSupport = com.oracle.truffle.api.impl.Accessor$SourceSupport of com.oracle.truffle.api.impl.Accessor
abstract AbstractClassLoaderSupplier = com.oracle.truffle.polyglot.EngineAccessor$AbstractClassLoaderSupplier of com.oracle.truffle.polyglot.EngineAccessor
final LogConfig = com.oracle.truffle.polyglot.PolyglotEngineImpl$LogConfig of com.oracle.truffle.polyglot.PolyglotEngineImpl
com.oracle.truffle.polyglot.PolyglotImpl$1
com.oracle.truffle.polyglot.PolyglotImpl$2
abstract VMObject = com.oracle.truffle.polyglot.PolyglotImpl$VMObject of com.oracle.truffle.polyglot.PolyglotImpl
final EngineLoggerProvider = com.oracle.truffle.polyglot.PolyglotLoggers$EngineLoggerProvider of com.oracle.truffle.polyglot.PolyglotLoggers
final HostValue = com.oracle.truffle.polyglot.PolyglotValue$HostValue of com.oracle.truffle.polyglot.PolyglotValue
public final TargetMappingPrecedence = org.graalvm.polyglot.HostAccess$TargetMappingPrecedence of org.graalvm.polyglot.HostAccess
public abstract APIAccess = org.graalvm.polyglot.impl.AbstractPolyglotImpl$APIAccess of org.graalvm.polyglot.impl.AbstractPolyglotImpl
public abstract AbstractEngineImpl = org.graalvm.polyglot.impl.AbstractPolyglotImpl$AbstractEngineImpl of org.graalvm.polyglot.impl.AbstractPolyglotImpl
public abstract AbstractExceptionImpl = org.graalvm.polyglot.impl.AbstractPolyglotImpl$AbstractExceptionImpl of org.graalvm.polyglot.impl.AbstractPolyglotImpl
public abstract AbstractManagementImpl = org.graalvm.polyglot.impl.AbstractPolyglotImpl$AbstractManagementImpl of org.graalvm.polyglot.impl.AbstractPolyglotImpl
public abstract AbstractSourceImpl = org.graalvm.polyglot.impl.AbstractPolyglotImpl$AbstractSourceImpl of org.graalvm.polyglot.impl.AbstractPolyglotImpl
public abstract AbstractSourceSectionImpl = org.graalvm.polyglot.impl.AbstractPolyglotImpl$AbstractSourceSectionImpl of org.graalvm.polyglot.impl.AbstractPolyglotImpl
public abstract AbstractValueImpl = org.graalvm.polyglot.impl.AbstractPolyglotImpl$AbstractValueImpl of org.graalvm.polyglot.impl.AbstractPolyglotImpl