final class com.oracle.truffle.nfi.impl.LibFFIType$ArrayType extends com.oracle.truffle.nfi.impl.LibFFIType$BasePointerType
minor version: 0
major version: 59
flags: flags: (0x0030) ACC_FINAL, ACC_SUPER
this_class: com.oracle.truffle.nfi.impl.LibFFIType$ArrayType
super_class: com.oracle.truffle.nfi.impl.LibFFIType$BasePointerType
{
final com.oracle.truffle.nfi.spi.types.NativeSimpleType elementType;
descriptor: Lcom/oracle/truffle/nfi/spi/types/NativeSimpleType;
flags: (0x0010) ACC_FINAL
final com.oracle.truffle.nfi.impl.LibFFIType$ArrayType$HostObjectHelperNode uncachedHelper;
descriptor: Lcom/oracle/truffle/nfi/impl/LibFFIType$ArrayType$HostObjectHelperNode;
flags: (0x0010) ACC_FINAL
private static volatile int[] $SWITCH_TABLE$com$oracle$truffle$nfi$spi$types$NativeSimpleType;
descriptor: [I
flags: (0x104a) ACC_PRIVATE, ACC_STATIC, ACC_VOLATILE, ACC_SYNTHETIC
void <init>(com.oracle.truffle.nfi.impl.LibFFIType$CachedTypeInfo, com.oracle.truffle.nfi.spi.types.NativeSimpleType);
descriptor: (Lcom/oracle/truffle/nfi/impl/LibFFIType$CachedTypeInfo;Lcom/oracle/truffle/nfi/spi/types/NativeSimpleType;)V
flags: (0x0000)
Code:
stack=7, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
getstatic com.oracle.truffle.nfi.impl.LibFFIType$Direction.JAVA_TO_NATIVE_ONLY:Lcom/oracle/truffle/nfi/impl/LibFFIType$Direction;
iconst_0
invokespecial com.oracle.truffle.nfi.impl.LibFFIType$BasePointerType.<init>:(Lcom/oracle/truffle/nfi/impl/LibFFIType$CachedTypeInfo;Lcom/oracle/truffle/nfi/impl/LibFFIType$Direction;Z)V
1: invokestatic com.oracle.truffle.nfi.impl.LibFFIType$ArrayType.$SWITCH_TABLE$com$oracle$truffle$nfi$spi$types$NativeSimpleType:()[I
aload 2
invokevirtual com.oracle.truffle.nfi.spi.types.NativeSimpleType.ordinal:()I
iaload
tableswitch { // 2 - 11
2: 2
3: 2
4: 2
5: 2
6: 2
7: 2
8: 2
9: 2
10: 2
11: 2
default: 4
}
2: StackMap locals: com.oracle.truffle.nfi.impl.LibFFIType$ArrayType com.oracle.truffle.nfi.impl.LibFFIType$CachedTypeInfo com.oracle.truffle.nfi.spi.types.NativeSimpleType
StackMap stack:
aload 0
aload 2
putfield com.oracle.truffle.nfi.impl.LibFFIType$ArrayType.elementType:Lcom/oracle/truffle/nfi/spi/types/NativeSimpleType;
3: goto 5
4: StackMap locals:
StackMap stack:
new java.lang.IllegalArgumentException
dup
ldc "only primitive array types are supported, got [%s]"
iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 2
aastore
invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
5: StackMap locals:
StackMap stack:
aload 0
new com.oracle.truffle.nfi.impl.LibFFIType$ArrayType$UncachedHostObjectHelperNode
dup
aload 0
getfield com.oracle.truffle.nfi.impl.LibFFIType$ArrayType.size:I
aload 2
invokespecial com.oracle.truffle.nfi.impl.LibFFIType$ArrayType$UncachedHostObjectHelperNode.<init>:(ILcom/oracle/truffle/nfi/spi/types/NativeSimpleType;)V
putfield com.oracle.truffle.nfi.impl.LibFFIType$ArrayType.uncachedHelper:Lcom/oracle/truffle/nfi/impl/LibFFIType$ArrayType$HostObjectHelperNode;
6: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lcom/oracle/truffle/nfi/impl/LibFFIType$ArrayType;
0 7 1 pointerType Lcom/oracle/truffle/nfi/impl/LibFFIType$CachedTypeInfo;
0 7 2 elementType Lcom/oracle/truffle/nfi/spi/types/NativeSimpleType;
MethodParameters:
Name Flags
pointerType
elementType
boolean accepts(com.oracle.truffle.nfi.spi.types.NativeSimpleType);
descriptor: (Lcom/oracle/truffle/nfi/spi/types/NativeSimpleType;)Z
flags: (0x0000)
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 1
aload 0
getfield com.oracle.truffle.nfi.impl.LibFFIType$ArrayType.elementType:Lcom/oracle/truffle/nfi/spi/types/NativeSimpleType;
if_acmpne 1
iconst_1
ireturn
StackMap locals:
StackMap stack:
1: iconst_0
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/oracle/truffle/nfi/impl/LibFFIType$ArrayType;
0 2 1 cachedType Lcom/oracle/truffle/nfi/spi/types/NativeSimpleType;
RuntimeVisibleAnnotations:
com.oracle.truffle.api.library.ExportMessage()
RuntimeInvisibleParameterAnnotations:
0:
com.oracle.truffle.api.dsl.Cached(value = "this.elementType")
MethodParameters:
Name Flags
cachedType
void serialize(com.oracle.truffle.nfi.impl.NativeArgumentBuffer, java.lang.Object, com.oracle.truffle.nfi.impl.LibFFIType$ArrayType$SerializeHelperNode);
descriptor: (Lcom/oracle/truffle/nfi/impl/NativeArgumentBuffer;Ljava/lang/Object;Lcom/oracle/truffle/nfi/impl/LibFFIType$ArrayType$SerializeHelperNode;)V
flags: (0x0000)
Code:
stack=4, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 1
aload 0
getfield com.oracle.truffle.nfi.impl.LibFFIType$ArrayType.alignment:I
invokevirtual com.oracle.truffle.nfi.impl.NativeArgumentBuffer.align:(I)V
1: aload 3
aload 0
aload 1
aload 2
invokevirtual com.oracle.truffle.nfi.impl.LibFFIType$ArrayType$SerializeHelperNode.execute:(Lcom/oracle/truffle/nfi/impl/LibFFIType$ArrayType;Lcom/oracle/truffle/nfi/impl/NativeArgumentBuffer;Ljava/lang/Object;)V
2: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/oracle/truffle/nfi/impl/LibFFIType$ArrayType;
0 3 1 buffer Lcom/oracle/truffle/nfi/impl/NativeArgumentBuffer;
0 3 2 value Ljava/lang/Object;
0 3 3 serializeHelper Lcom/oracle/truffle/nfi/impl/LibFFIType$ArrayType$SerializeHelperNode;
Exceptions:
throws com.oracle.truffle.api.interop.UnsupportedTypeException
RuntimeVisibleAnnotations:
com.oracle.truffle.api.library.ExportMessage()
RuntimeInvisibleParameterAnnotations:
0:
1:
2:
com.oracle.truffle.api.dsl.Cached()
MethodParameters:
Name Flags
buffer
value
serializeHelper
public java.lang.Object deserializeRet(com.oracle.truffle.nfi.impl.NativeArgumentBuffer, com.oracle.truffle.nfi.impl.NFILanguageImpl);
descriptor: (Lcom/oracle/truffle/nfi/impl/NativeArgumentBuffer;Lcom/oracle/truffle/nfi/impl/NFILanguageImpl;)Ljava/lang/Object;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: invokestatic com.oracle.truffle.api.CompilerDirectives.transferToInterpreter:()V
1: new java.lang.AssertionError
dup
ldc "Arrays can only be passed from Java to native"
invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
athrow
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/oracle/truffle/nfi/impl/LibFFIType$ArrayType;
0 2 1 buffer Lcom/oracle/truffle/nfi/impl/NativeArgumentBuffer;
0 2 2 language Lcom/oracle/truffle/nfi/impl/NFILanguageImpl;
RuntimeVisibleAnnotations:
com.oracle.truffle.api.library.ExportMessage(name = "deserialize")
RuntimeInvisibleParameterAnnotations:
0:
1:
com.oracle.truffle.api.dsl.CachedLanguage()
MethodParameters:
Name Flags
buffer
language
public com.oracle.truffle.nfi.impl.ClosureArgumentNode createClosureArgumentNode();
descriptor: ()Lcom/oracle/truffle/nfi/impl/ClosureArgumentNode;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: new java.lang.AssertionError
dup
ldc "Arrays can only be passed from Java to native"
invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
athrow
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/nfi/impl/LibFFIType$ArrayType;
static int[] $SWITCH_TABLE$com$oracle$truffle$nfi$spi$types$NativeSimpleType();
descriptor: ()[I
flags: (0x1008) ACC_STATIC, ACC_SYNTHETIC
Code:
stack=3, locals=1, args_size=0
0: getstatic com.oracle.truffle.nfi.impl.LibFFIType$ArrayType.$SWITCH_TABLE$com$oracle$truffle$nfi$spi$types$NativeSimpleType:[I
dup
ifnull 1
areturn
StackMap locals:
StackMap stack: int[]
1: pop
invokestatic com.oracle.truffle.nfi.spi.types.NativeSimpleType.values:()[Lcom/oracle/truffle/nfi/spi/types/NativeSimpleType;
arraylength
newarray 10
astore 0
2: aload 0
getstatic com.oracle.truffle.nfi.spi.types.NativeSimpleType.DOUBLE:Lcom/oracle/truffle/nfi/spi/types/NativeSimpleType;
invokevirtual com.oracle.truffle.nfi.spi.types.NativeSimpleType.ordinal:()I
bipush 11
iastore
3: goto 5
StackMap locals: int[]
StackMap stack: java.lang.NoSuchFieldError
4: pop
StackMap locals:
StackMap stack:
5: aload 0
getstatic com.oracle.truffle.nfi.spi.types.NativeSimpleType.FLOAT:Lcom/oracle/truffle/nfi/spi/types/NativeSimpleType;
invokevirtual com.oracle.truffle.nfi.spi.types.NativeSimpleType.ordinal:()I
bipush 10
iastore
6: goto 8
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
7: pop
StackMap locals:
StackMap stack:
8: aload 0
getstatic com.oracle.truffle.nfi.spi.types.NativeSimpleType.NULLABLE:Lcom/oracle/truffle/nfi/spi/types/NativeSimpleType;
invokevirtual com.oracle.truffle.nfi.spi.types.NativeSimpleType.ordinal:()I
bipush 15
iastore
9: goto 11
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
10: pop
StackMap locals:
StackMap stack:
11: aload 0
getstatic com.oracle.truffle.nfi.spi.types.NativeSimpleType.OBJECT:Lcom/oracle/truffle/nfi/spi/types/NativeSimpleType;
invokevirtual com.oracle.truffle.nfi.spi.types.NativeSimpleType.ordinal:()I
bipush 14
iastore
12: goto 14
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
13: pop
StackMap locals:
StackMap stack:
14: aload 0
getstatic com.oracle.truffle.nfi.spi.types.NativeSimpleType.POINTER:Lcom/oracle/truffle/nfi/spi/types/NativeSimpleType;
invokevirtual com.oracle.truffle.nfi.spi.types.NativeSimpleType.ordinal:()I
bipush 12
iastore
15: goto 17
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
16: pop
StackMap locals:
StackMap stack:
17: aload 0
getstatic com.oracle.truffle.nfi.spi.types.NativeSimpleType.SINT16:Lcom/oracle/truffle/nfi/spi/types/NativeSimpleType;
invokevirtual com.oracle.truffle.nfi.spi.types.NativeSimpleType.ordinal:()I
iconst_5
iastore
18: goto 20
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
19: pop
StackMap locals:
StackMap stack:
20: aload 0
getstatic com.oracle.truffle.nfi.spi.types.NativeSimpleType.SINT32:Lcom/oracle/truffle/nfi/spi/types/NativeSimpleType;
invokevirtual com.oracle.truffle.nfi.spi.types.NativeSimpleType.ordinal:()I
bipush 7
iastore
21: goto 23
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
22: pop
StackMap locals:
StackMap stack:
23: aload 0
getstatic com.oracle.truffle.nfi.spi.types.NativeSimpleType.SINT64:Lcom/oracle/truffle/nfi/spi/types/NativeSimpleType;
invokevirtual com.oracle.truffle.nfi.spi.types.NativeSimpleType.ordinal:()I
bipush 9
iastore
24: goto 26
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
25: pop
StackMap locals:
StackMap stack:
26: aload 0
getstatic com.oracle.truffle.nfi.spi.types.NativeSimpleType.SINT8:Lcom/oracle/truffle/nfi/spi/types/NativeSimpleType;
invokevirtual com.oracle.truffle.nfi.spi.types.NativeSimpleType.ordinal:()I
iconst_3
iastore
27: goto 29
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
28: pop
StackMap locals:
StackMap stack:
29: aload 0
getstatic com.oracle.truffle.nfi.spi.types.NativeSimpleType.STRING:Lcom/oracle/truffle/nfi/spi/types/NativeSimpleType;
invokevirtual com.oracle.truffle.nfi.spi.types.NativeSimpleType.ordinal:()I
bipush 13
iastore
30: goto 32
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
31: pop
StackMap locals:
StackMap stack:
32: aload 0
getstatic com.oracle.truffle.nfi.spi.types.NativeSimpleType.UINT16:Lcom/oracle/truffle/nfi/spi/types/NativeSimpleType;
invokevirtual com.oracle.truffle.nfi.spi.types.NativeSimpleType.ordinal:()I
iconst_4
iastore
33: goto 35
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
34: pop
StackMap locals:
StackMap stack:
35: aload 0
getstatic com.oracle.truffle.nfi.spi.types.NativeSimpleType.UINT32:Lcom/oracle/truffle/nfi/spi/types/NativeSimpleType;
invokevirtual com.oracle.truffle.nfi.spi.types.NativeSimpleType.ordinal:()I
bipush 6
iastore
36: goto 38
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
37: pop
StackMap locals:
StackMap stack:
38: aload 0
getstatic com.oracle.truffle.nfi.spi.types.NativeSimpleType.UINT64:Lcom/oracle/truffle/nfi/spi/types/NativeSimpleType;
invokevirtual com.oracle.truffle.nfi.spi.types.NativeSimpleType.ordinal:()I
bipush 8
iastore
39: goto 41
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
40: pop
StackMap locals:
StackMap stack:
41: aload 0
getstatic com.oracle.truffle.nfi.spi.types.NativeSimpleType.UINT8:Lcom/oracle/truffle/nfi/spi/types/NativeSimpleType;
invokevirtual com.oracle.truffle.nfi.spi.types.NativeSimpleType.ordinal:()I
iconst_2
iastore
42: goto 44
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
43: pop
StackMap locals:
StackMap stack:
44: aload 0
getstatic com.oracle.truffle.nfi.spi.types.NativeSimpleType.VOID:Lcom/oracle/truffle/nfi/spi/types/NativeSimpleType;
invokevirtual com.oracle.truffle.nfi.spi.types.NativeSimpleType.ordinal:()I
iconst_1
iastore
45: goto 47
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
46: pop
StackMap locals:
StackMap stack:
47: aload 0
dup
putstatic com.oracle.truffle.nfi.impl.LibFFIType$ArrayType.$SWITCH_TABLE$com$oracle$truffle$nfi$spi$types$NativeSimpleType:[I
areturn
LocalVariableTable:
Start End Slot Name Signature
Exception table:
from to target type
2 3 4 Class java.lang.NoSuchFieldError
5 6 7 Class java.lang.NoSuchFieldError
8 9 10 Class java.lang.NoSuchFieldError
11 12 13 Class java.lang.NoSuchFieldError
14 15 16 Class java.lang.NoSuchFieldError
17 18 19 Class java.lang.NoSuchFieldError
20 21 22 Class java.lang.NoSuchFieldError
23 24 25 Class java.lang.NoSuchFieldError
26 27 28 Class java.lang.NoSuchFieldError
29 30 31 Class java.lang.NoSuchFieldError
32 33 34 Class java.lang.NoSuchFieldError
35 36 37 Class java.lang.NoSuchFieldError
38 39 40 Class java.lang.NoSuchFieldError
41 42 43 Class java.lang.NoSuchFieldError
44 45 46 Class java.lang.NoSuchFieldError
}
SourceFile: "LibFFIType.java"
NestHost: com.oracle.truffle.nfi.impl.LibFFIType
InnerClasses:
final ArrayType = com.oracle.truffle.nfi.impl.LibFFIType$ArrayType of com.oracle.truffle.nfi.impl.LibFFIType
abstract CachedHostObjectHelperNode = com.oracle.truffle.nfi.impl.LibFFIType$ArrayType$CachedHostObjectHelperNode of com.oracle.truffle.nfi.impl.LibFFIType$ArrayType
abstract HostObjectHelperNode = com.oracle.truffle.nfi.impl.LibFFIType$ArrayType$HostObjectHelperNode of com.oracle.truffle.nfi.impl.LibFFIType$ArrayType
abstract SerializeHelperNode = com.oracle.truffle.nfi.impl.LibFFIType$ArrayType$SerializeHelperNode of com.oracle.truffle.nfi.impl.LibFFIType$ArrayType
final UncachedHostObjectHelperNode = com.oracle.truffle.nfi.impl.LibFFIType$ArrayType$UncachedHostObjectHelperNode of com.oracle.truffle.nfi.impl.LibFFIType$ArrayType
abstract BasePointerType = com.oracle.truffle.nfi.impl.LibFFIType$BasePointerType of com.oracle.truffle.nfi.impl.LibFFIType
abstract CachedTypeInfo = com.oracle.truffle.nfi.impl.LibFFIType$CachedTypeInfo of com.oracle.truffle.nfi.impl.LibFFIType
final Direction = com.oracle.truffle.nfi.impl.LibFFIType$Direction of com.oracle.truffle.nfi.impl.LibFFIType
RuntimeVisibleAnnotations:
com.oracle.truffle.api.library.ExportLibrary(value = Lcom/oracle/truffle/nfi/impl/NativeArgumentLibrary;)