class com.oracle.truffle.polyglot.HostObject$Instantiate
minor version: 0
major version: 59
flags: flags: (0x0020) ACC_SUPER
this_class: com.oracle.truffle.polyglot.HostObject$Instantiate
super_class: java.lang.Object
{
static final boolean $assertionsDisabled;
descriptor: Z
flags: (0x1018) ACC_STATIC, ACC_FINAL, ACC_SYNTHETIC
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=1, locals=0, args_size=0
0: ldc Lcom/oracle/truffle/polyglot/HostObject;
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.HostObject$Instantiate.$assertionsDisabled:Z
return
LocalVariableTable:
Start End Slot Name Signature
void <init>();
descriptor: ()V
flags: (0x0000)
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokespecial java.lang.Object.<init>:()V
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/polyglot/HostObject$Instantiate;
static java.lang.Object doUnsupported(com.oracle.truffle.polyglot.HostObject, java.lang.Object[]);
descriptor: (Lcom/oracle/truffle/polyglot/HostObject;[Ljava/lang/Object;)Ljava/lang/Object;
flags: (0x0008) ACC_STATIC
Code:
stack=1, locals=2, args_size=2
start local 0 start local 1 0: invokestatic com.oracle.truffle.api.interop.UnsupportedMessageException.create:()Lcom/oracle/truffle/api/interop/UnsupportedMessageException;
athrow
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 receiver Lcom/oracle/truffle/polyglot/HostObject;
0 1 1 args [Ljava/lang/Object;
Exceptions:
throws com.oracle.truffle.api.interop.UnsupportedMessageException
RuntimeVisibleAnnotations:
com.oracle.truffle.api.dsl.Specialization(guards = {"!receiver.isClass()"})
MethodParameters:
Name Flags
receiver
args
static java.lang.Object doArrayCached(com.oracle.truffle.polyglot.HostObject, java.lang.Object[], com.oracle.truffle.api.interop.InteropLibrary, com.oracle.truffle.api.profiles.BranchProfile);
descriptor: (Lcom/oracle/truffle/polyglot/HostObject;[Ljava/lang/Object;Lcom/oracle/truffle/api/interop/InteropLibrary;Lcom/oracle/truffle/api/profiles/BranchProfile;)Ljava/lang/Object;
flags: (0x0008) ACC_STATIC
Code:
stack=2, locals=7, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 1
arraylength
iconst_1
if_icmpeq 3
1: aload 3
invokevirtual com.oracle.truffle.api.profiles.BranchProfile.enter:()V
2: iconst_1
aload 1
arraylength
invokestatic com.oracle.truffle.api.interop.ArityException.create:(II)Lcom/oracle/truffle/api/interop/ArityException;
athrow
3: StackMap locals:
StackMap stack:
aload 1
iconst_0
aaload
astore 4
start local 4 4: aload 2
aload 4
invokevirtual com.oracle.truffle.api.interop.InteropLibrary.fitsInInt:(Ljava/lang/Object;)Z
ifeq 7
5: aload 2
aload 4
invokevirtual com.oracle.truffle.api.interop.InteropLibrary.asInt:(Ljava/lang/Object;)I
istore 5
start local 5 6: goto 9
end local 5 7: StackMap locals: java.lang.Object
StackMap stack:
aload 3
invokevirtual com.oracle.truffle.api.profiles.BranchProfile.enter:()V
8: aload 1
invokestatic com.oracle.truffle.api.interop.UnsupportedTypeException.create:([Ljava/lang/Object;)Lcom/oracle/truffle/api/interop/UnsupportedTypeException;
athrow
start local 5 9: StackMap locals: int
StackMap stack:
aload 0
invokevirtual com.oracle.truffle.polyglot.HostObject.asClass:()Ljava/lang/Class;
invokevirtual java.lang.Class.getComponentType:()Ljava/lang/Class;
iload 5
invokestatic java.lang.reflect.Array.newInstance:(Ljava/lang/Class;I)Ljava/lang/Object;
astore 6
start local 6 10: aload 6
aload 0
getfield com.oracle.truffle.polyglot.HostObject.languageContext:Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;
invokestatic com.oracle.truffle.polyglot.HostObject.forObject:(Ljava/lang/Object;Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;)Lcom/oracle/truffle/polyglot/HostObject;
areturn
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 11 0 receiver Lcom/oracle/truffle/polyglot/HostObject;
0 11 1 args [Ljava/lang/Object;
0 11 2 indexes Lcom/oracle/truffle/api/interop/InteropLibrary;
0 11 3 error Lcom/oracle/truffle/api/profiles/BranchProfile;
4 11 4 arg0 Ljava/lang/Object;
6 7 5 length I
9 11 5 length I
10 11 6 array Ljava/lang/Object;
Exceptions:
throws com.oracle.truffle.api.interop.UnsupportedMessageException, com.oracle.truffle.api.interop.UnsupportedTypeException, com.oracle.truffle.api.interop.ArityException
RuntimeVisibleAnnotations:
com.oracle.truffle.api.dsl.Specialization(guards = {"receiver.isArrayClass()"})
RuntimeInvisibleParameterAnnotations:
0:
1:
2:
com.oracle.truffle.api.library.CachedLibrary(limit = "1")
3:
com.oracle.truffle.api.dsl.Cached$Shared(value = "error")
com.oracle.truffle.api.dsl.Cached()
MethodParameters:
Name Flags
receiver
args
indexes
error
static java.lang.Object doObjectCached(com.oracle.truffle.polyglot.HostObject, java.lang.Object[], com.oracle.truffle.polyglot.HostObject$LookupConstructorNode, com.oracle.truffle.polyglot.HostExecuteNode, com.oracle.truffle.api.profiles.BranchProfile);
descriptor: (Lcom/oracle/truffle/polyglot/HostObject;[Ljava/lang/Object;Lcom/oracle/truffle/polyglot/HostObject$LookupConstructorNode;Lcom/oracle/truffle/polyglot/HostExecuteNode;Lcom/oracle/truffle/api/profiles/BranchProfile;)Ljava/lang/Object;
flags: (0x0008) ACC_STATIC
Code:
stack=5, locals=6, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: getstatic com.oracle.truffle.polyglot.HostObject$Instantiate.$assertionsDisabled:Z
ifne 1
aload 0
invokevirtual com.oracle.truffle.polyglot.HostObject.isArrayClass:()Z
ifeq 1
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
1: StackMap locals:
StackMap stack:
aload 2
aload 0
aload 0
invokevirtual com.oracle.truffle.polyglot.HostObject.asClass:()Ljava/lang/Class;
invokevirtual com.oracle.truffle.polyglot.HostObject$LookupConstructorNode.execute:(Lcom/oracle/truffle/polyglot/HostObject;Ljava/lang/Class;)Lcom/oracle/truffle/polyglot/HostMethodDesc;
astore 5
start local 5 2: aload 5
ifnull 4
3: aload 3
aload 5
aconst_null
aload 1
aload 0
getfield com.oracle.truffle.polyglot.HostObject.languageContext:Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;
invokevirtual com.oracle.truffle.polyglot.HostExecuteNode.execute:(Lcom/oracle/truffle/polyglot/HostMethodDesc;Ljava/lang/Object;[Ljava/lang/Object;Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;)Ljava/lang/Object;
areturn
4: StackMap locals: com.oracle.truffle.polyglot.HostMethodDesc
StackMap stack:
aload 4
invokevirtual com.oracle.truffle.api.profiles.BranchProfile.enter:()V
5: invokestatic com.oracle.truffle.api.interop.UnsupportedMessageException.create:()Lcom/oracle/truffle/api/interop/UnsupportedMessageException;
athrow
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 receiver Lcom/oracle/truffle/polyglot/HostObject;
0 6 1 arguments [Ljava/lang/Object;
0 6 2 lookupConstructor Lcom/oracle/truffle/polyglot/HostObject$LookupConstructorNode;
0 6 3 executeMethod Lcom/oracle/truffle/polyglot/HostExecuteNode;
0 6 4 error Lcom/oracle/truffle/api/profiles/BranchProfile;
2 6 5 constructor Lcom/oracle/truffle/polyglot/HostMethodDesc;
Exceptions:
throws com.oracle.truffle.api.interop.UnsupportedMessageException, com.oracle.truffle.api.interop.UnsupportedTypeException, com.oracle.truffle.api.interop.ArityException
RuntimeVisibleAnnotations:
com.oracle.truffle.api.dsl.Specialization(guards = {"receiver.isDefaultClass()"})
RuntimeInvisibleParameterAnnotations:
0:
1:
2:
com.oracle.truffle.api.dsl.Cached$Shared(value = "lookupConstructor")
com.oracle.truffle.api.dsl.Cached()
3:
com.oracle.truffle.api.dsl.Cached$Shared(value = "hostExecute")
com.oracle.truffle.api.dsl.Cached()
4:
com.oracle.truffle.api.dsl.Cached$Shared(value = "error")
com.oracle.truffle.api.dsl.Cached()
MethodParameters:
Name Flags
receiver
arguments
lookupConstructor
executeMethod
error
}
SourceFile: "HostObject.java"
NestHost: com.oracle.truffle.polyglot.HostObject
InnerClasses:
public abstract Shared = com.oracle.truffle.api.dsl.Cached$Shared of com.oracle.truffle.api.dsl.Cached
Instantiate = com.oracle.truffle.polyglot.HostObject$Instantiate of com.oracle.truffle.polyglot.HostObject
abstract LookupConstructorNode = com.oracle.truffle.polyglot.HostObject$LookupConstructorNode of com.oracle.truffle.polyglot.HostObject
RuntimeVisibleAnnotations:
com.oracle.truffle.api.library.ExportMessage()