public class com.oracle.truffle.trufflenode.serialization.Serializer
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: com.oracle.truffle.trufflenode.serialization.Serializer
super_class: java.lang.Object
{
static final byte VERSION;
descriptor: B
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: -1
static final byte LATEST_VERSION;
descriptor: B
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: 13
static final java.lang.String NATIVE_UTF16_ENCODING;
descriptor: Ljava/lang/String;
flags: (0x0018) ACC_STATIC, ACC_FINAL
private final long delegate;
descriptor: J
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private java.nio.ByteBuffer buffer;
descriptor: Ljava/nio/ByteBuffer;
flags: (0x0002) ACC_PRIVATE
private int nextId;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private final java.util.Map<java.lang.Object, java.lang.Integer> objectMap;
descriptor: Ljava/util/Map;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/util/Map<Ljava/lang/Object;Ljava/lang/Integer;>;
private final java.util.Map<java.lang.Object, java.lang.Integer> transferMap;
descriptor: Ljava/util/Map;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/util/Map<Ljava/lang/Object;Ljava/lang/Integer;>;
private boolean treatArrayBufferViewsAsHostObjects;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private final com.oracle.truffle.api.TruffleLanguage$Env env;
descriptor: Lcom/oracle/truffle/api/TruffleLanguage$Env;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final com.oracle.truffle.trufflenode.GraalJSAccess access;
descriptor: Lcom/oracle/truffle/trufflenode/GraalJSAccess;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
static final boolean $assertionsDisabled;
descriptor: Z
flags: (0x1018) ACC_STATIC, ACC_FINAL, ACC_SYNTHETIC
private static volatile int[] $SWITCH_TABLE$com$oracle$truffle$js$runtime$JSErrorType;
descriptor: [I
flags: (0x104a) ACC_PRIVATE, ACC_STATIC, ACC_VOLATILE, ACC_SYNTHETIC
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=2, locals=0, args_size=0
0: ldc Lcom/oracle/truffle/trufflenode/serialization/Serializer;
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.trufflenode.serialization.Serializer.$assertionsDisabled:Z
3: invokestatic java.nio.ByteOrder.nativeOrder:()Ljava/nio/ByteOrder;
getstatic java.nio.ByteOrder.BIG_ENDIAN:Ljava/nio/ByteOrder;
if_acmpne 4
ldc "UTF-16BE"
goto 5
StackMap locals:
StackMap stack:
4: ldc "UTF-16LE"
StackMap locals:
StackMap stack: java.lang.String
5: putstatic com.oracle.truffle.trufflenode.serialization.Serializer.NATIVE_UTF16_ENCODING:Ljava/lang/String;
return
LocalVariableTable:
Start End Slot Name Signature
public void <init>(com.oracle.truffle.js.runtime.JSContext, com.oracle.truffle.trufflenode.GraalJSAccess, long);
descriptor: (Lcom/oracle/truffle/js/runtime/JSContext;Lcom/oracle/truffle/trufflenode/GraalJSAccess;J)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=5, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
sipush 1024
invokestatic com.oracle.truffle.trufflenode.serialization.Serializer.allocateBuffer:(I)Ljava/nio/ByteBuffer;
putfield com.oracle.truffle.trufflenode.serialization.Serializer.buffer:Ljava/nio/ByteBuffer;
2: aload 0
new java.util.IdentityHashMap
dup
invokespecial java.util.IdentityHashMap.<init>:()V
putfield com.oracle.truffle.trufflenode.serialization.Serializer.objectMap:Ljava/util/Map;
3: aload 0
new java.util.IdentityHashMap
dup
invokespecial java.util.IdentityHashMap.<init>:()V
putfield com.oracle.truffle.trufflenode.serialization.Serializer.transferMap:Ljava/util/Map;
4: aload 0
lload 3
putfield com.oracle.truffle.trufflenode.serialization.Serializer.delegate:J
5: aload 0
aload 1
invokevirtual com.oracle.truffle.js.runtime.JSContext.getRealm:()Lcom/oracle/truffle/js/runtime/JSRealm;
invokevirtual com.oracle.truffle.js.runtime.JSRealm.getEnv:()Lcom/oracle/truffle/api/TruffleLanguage$Env;
putfield com.oracle.truffle.trufflenode.serialization.Serializer.env:Lcom/oracle/truffle/api/TruffleLanguage$Env;
6: aload 0
aload 2
putfield com.oracle.truffle.trufflenode.serialization.Serializer.access:Lcom/oracle/truffle/trufflenode/GraalJSAccess;
7: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lcom/oracle/truffle/trufflenode/serialization/Serializer;
0 8 1 mainJSContext Lcom/oracle/truffle/js/runtime/JSContext;
0 8 2 access Lcom/oracle/truffle/trufflenode/GraalJSAccess;
0 8 3 delegate J
MethodParameters:
Name Flags
mainJSContext
access
delegate
public void setTreatArrayBufferViewsAsHostObjects(boolean);
descriptor: (Z)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
iload 1
putfield com.oracle.truffle.trufflenode.serialization.Serializer.treatArrayBufferViewsAsHostObjects:Z
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/oracle/truffle/trufflenode/serialization/Serializer;
0 2 1 treatArrayBufferViewsAsHostObjects Z
MethodParameters:
Name Flags
treatArrayBufferViewsAsHostObjects
private static java.nio.ByteBuffer allocateBuffer(int);
descriptor: (I)Ljava/nio/ByteBuffer;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: iload 0
invokestatic java.nio.ByteBuffer.allocateDirect:(I)Ljava/nio/ByteBuffer;
invokestatic java.nio.ByteOrder.nativeOrder:()Ljava/nio/ByteOrder;
invokevirtual java.nio.ByteBuffer.order:(Ljava/nio/ByteOrder;)Ljava/nio/ByteBuffer;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 capacity I
MethodParameters:
Name Flags
capacity
private void ensureFreeSpace(int);
descriptor: (I)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=7, args_size=2
start local 0 start local 1 0: aload 0
getfield com.oracle.truffle.trufflenode.serialization.Serializer.buffer:Ljava/nio/ByteBuffer;
astore 2
start local 2 1: aload 2
invokevirtual java.nio.ByteBuffer.capacity:()I
istore 3
start local 3 2: aload 2
invokevirtual java.nio.ByteBuffer.position:()I
iload 1
iadd
istore 4
start local 4 3: iload 4
iload 3
if_icmple 9
4: iload 4
iconst_2
iload 3
imul
invokestatic java.lang.Math.max:(II)I
istore 5
start local 5 5: iload 5
invokestatic com.oracle.truffle.trufflenode.serialization.Serializer.allocateBuffer:(I)Ljava/nio/ByteBuffer;
astore 6
start local 6 6: aload 2
invokevirtual java.nio.ByteBuffer.flip:()Ljava/nio/ByteBuffer;
pop
7: aload 6
aload 2
invokevirtual java.nio.ByteBuffer.put:(Ljava/nio/ByteBuffer;)Ljava/nio/ByteBuffer;
pop
8: aload 0
aload 6
putfield com.oracle.truffle.trufflenode.serialization.Serializer.buffer:Ljava/nio/ByteBuffer;
end local 6 end local 5 9: StackMap locals: java.nio.ByteBuffer int int
StackMap stack:
return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Lcom/oracle/truffle/trufflenode/serialization/Serializer;
0 10 1 spaceNeeded I
1 10 2 oldBuffer Ljava/nio/ByteBuffer;
2 10 3 capacity I
3 10 4 capacityNeeded I
5 9 5 newCapacity I
6 9 6 newBuffer Ljava/nio/ByteBuffer;
MethodParameters:
Name Flags
spaceNeeded
public void ();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
iconst_2
invokevirtual com.oracle.truffle.trufflenode.serialization.Serializer.ensureFreeSpace:(I)V
1: aload 0
getfield com.oracle.truffle.trufflenode.serialization.Serializer.buffer:Ljava/nio/ByteBuffer;
iconst_m1
invokevirtual java.nio.ByteBuffer.put:(B)Ljava/nio/ByteBuffer;
pop
2: aload 0
getfield com.oracle.truffle.trufflenode.serialization.Serializer.buffer:Ljava/nio/ByteBuffer;
bipush 13
invokevirtual java.nio.ByteBuffer.put:(B)Ljava/nio/ByteBuffer;
pop
3: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lcom/oracle/truffle/trufflenode/serialization/Serializer;
private void writeTag(com.oracle.truffle.trufflenode.serialization.SerializationTag);
descriptor: (Lcom/oracle/truffle/trufflenode/serialization/SerializationTag;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokevirtual com.oracle.truffle.trufflenode.serialization.SerializationTag.getTag:()B
invokevirtual com.oracle.truffle.trufflenode.serialization.Serializer.writeByte:(B)V
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/oracle/truffle/trufflenode/serialization/Serializer;
0 2 1 tag Lcom/oracle/truffle/trufflenode/serialization/SerializationTag;
MethodParameters:
Name Flags
tag
private void writeTag(com.oracle.truffle.trufflenode.serialization.ArrayBufferViewTag);
descriptor: (Lcom/oracle/truffle/trufflenode/serialization/ArrayBufferViewTag;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokevirtual com.oracle.truffle.trufflenode.serialization.ArrayBufferViewTag.getTag:()B
invokevirtual com.oracle.truffle.trufflenode.serialization.Serializer.writeByte:(B)V
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/oracle/truffle/trufflenode/serialization/Serializer;
0 2 1 tag Lcom/oracle/truffle/trufflenode/serialization/ArrayBufferViewTag;
MethodParameters:
Name Flags
tag
private void writeTag(com.oracle.truffle.trufflenode.serialization.ErrorTag);
descriptor: (Lcom/oracle/truffle/trufflenode/serialization/ErrorTag;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokevirtual com.oracle.truffle.trufflenode.serialization.ErrorTag.getTag:()B
invokevirtual com.oracle.truffle.trufflenode.serialization.Serializer.writeByte:(B)V
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/oracle/truffle/trufflenode/serialization/Serializer;
0 2 1 tag Lcom/oracle/truffle/trufflenode/serialization/ErrorTag;
MethodParameters:
Name Flags
tag
private void writeByte(byte);
descriptor: (B)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
iconst_1
invokevirtual com.oracle.truffle.trufflenode.serialization.Serializer.ensureFreeSpace:(I)V
1: aload 0
getfield com.oracle.truffle.trufflenode.serialization.Serializer.buffer:Ljava/nio/ByteBuffer;
iload 1
invokevirtual java.nio.ByteBuffer.put:(B)Ljava/nio/ByteBuffer;
pop
2: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/oracle/truffle/trufflenode/serialization/Serializer;
0 3 1 b B
MethodParameters:
Name Flags
b
public void writeValue(java.lang.Object);
descriptor: (Ljava/lang/Object;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=4, args_size=2
start local 0 start local 1 0: aload 1
getstatic java.lang.Boolean.TRUE:Ljava/lang/Boolean;
if_acmpne 3
1: aload 0
getstatic com.oracle.truffle.trufflenode.serialization.SerializationTag.TRUE:Lcom/oracle/truffle/trufflenode/serialization/SerializationTag;
invokevirtual com.oracle.truffle.trufflenode.serialization.Serializer.writeTag:(Lcom/oracle/truffle/trufflenode/serialization/SerializationTag;)V
2: goto 34
StackMap locals:
StackMap stack:
3: aload 1
getstatic java.lang.Boolean.FALSE:Ljava/lang/Boolean;
if_acmpne 6
4: aload 0
getstatic com.oracle.truffle.trufflenode.serialization.SerializationTag.FALSE:Lcom/oracle/truffle/trufflenode/serialization/SerializationTag;
invokevirtual com.oracle.truffle.trufflenode.serialization.Serializer.writeTag:(Lcom/oracle/truffle/trufflenode/serialization/SerializationTag;)V
5: goto 34
StackMap locals:
StackMap stack:
6: aload 1
getstatic com.oracle.truffle.js.runtime.objects.Undefined.instance:Lcom/oracle/truffle/js/runtime/objects/JSDynamicObject;
if_acmpne 9
7: aload 0
getstatic com.oracle.truffle.trufflenode.serialization.SerializationTag.UNDEFINED:Lcom/oracle/truffle/trufflenode/serialization/SerializationTag;
invokevirtual com.oracle.truffle.trufflenode.serialization.Serializer.writeTag:(Lcom/oracle/truffle/trufflenode/serialization/SerializationTag;)V
8: goto 34
StackMap locals:
StackMap stack:
9: aload 1
getstatic com.oracle.truffle.js.runtime.objects.Null.instance:Lcom/oracle/truffle/js/runtime/objects/JSDynamicObject;
if_acmpne 12
10: aload 0
getstatic com.oracle.truffle.trufflenode.serialization.SerializationTag.NULL:Lcom/oracle/truffle/trufflenode/serialization/SerializationTag;
invokevirtual com.oracle.truffle.trufflenode.serialization.Serializer.writeTag:(Lcom/oracle/truffle/trufflenode/serialization/SerializationTag;)V
11: goto 34
StackMap locals:
StackMap stack:
12: aload 1
instanceof java.lang.Integer
ifeq 15
13: aload 0
aload 1
checkcast java.lang.Integer
invokevirtual java.lang.Integer.intValue:()I
invokevirtual com.oracle.truffle.trufflenode.serialization.Serializer.writeInt:(I)V
14: goto 34
StackMap locals:
StackMap stack:
15: aload 1
invokestatic com.oracle.truffle.js.runtime.JSRuntime.isNumber:(Ljava/lang/Object;)Z
ifeq 19
16: aload 1
checkcast java.lang.Number
invokevirtual java.lang.Number.doubleValue:()D
dstore 2
start local 2 17: aload 0
dload 2
invokevirtual com.oracle.truffle.trufflenode.serialization.Serializer.writeIntOrDouble:(D)V
end local 2 18: goto 34
StackMap locals:
StackMap stack:
19: aload 1
invokestatic com.oracle.truffle.js.runtime.JSRuntime.isString:(Ljava/lang/Object;)Z
ifeq 22
20: aload 0
aload 1
invokestatic com.oracle.truffle.js.runtime.JSRuntime.toString:(Ljava/lang/Object;)Ljava/lang/String;
invokevirtual com.oracle.truffle.trufflenode.serialization.Serializer.writeString:(Ljava/lang/String;)V
21: goto 34
StackMap locals:
StackMap stack:
22: aload 1
invokestatic com.oracle.truffle.js.runtime.JSRuntime.isBigInt:(Ljava/lang/Object;)Z
ifeq 26
23: aload 0
getstatic com.oracle.truffle.trufflenode.serialization.SerializationTag.BIG_INT:Lcom/oracle/truffle/trufflenode/serialization/SerializationTag;
invokevirtual com.oracle.truffle.trufflenode.serialization.Serializer.writeTag:(Lcom/oracle/truffle/trufflenode/serialization/SerializationTag;)V
24: aload 0
aload 1
checkcast com.oracle.truffle.js.runtime.BigInt
invokevirtual com.oracle.truffle.trufflenode.serialization.Serializer.writeBigIntContents:(Lcom/oracle/truffle/js/runtime/BigInt;)V
25: goto 34
StackMap locals:
StackMap stack:
26: aload 0
getfield com.oracle.truffle.trufflenode.serialization.Serializer.env:Lcom/oracle/truffle/api/TruffleLanguage$Env;
aload 1
invokevirtual com.oracle.truffle.api.TruffleLanguage$Env.isHostObject:(Ljava/lang/Object;)Z
ifeq 33
aload 0
getfield com.oracle.truffle.trufflenode.serialization.Serializer.access:Lcom/oracle/truffle/trufflenode/GraalJSAccess;
invokevirtual com.oracle.truffle.trufflenode.GraalJSAccess.getCurrentMessagePortData:()Lcom/oracle/truffle/trufflenode/threading/JavaMessagePortData;
ifnull 33
27: aload 0
getfield com.oracle.truffle.trufflenode.serialization.Serializer.access:Lcom/oracle/truffle/trufflenode/GraalJSAccess;
invokevirtual com.oracle.truffle.trufflenode.GraalJSAccess.getCurrentMessagePortData:()Lcom/oracle/truffle/trufflenode/threading/JavaMessagePortData;
astore 2
start local 2 28: aload 0
getstatic com.oracle.truffle.trufflenode.serialization.SerializationTag.SHARED_JAVA_OBJECT:Lcom/oracle/truffle/trufflenode/serialization/SerializationTag;
invokevirtual com.oracle.truffle.trufflenode.serialization.Serializer.writeTag:(Lcom/oracle/truffle/trufflenode/serialization/SerializationTag;)V
29: aload 0
aload 2
invokevirtual com.oracle.truffle.trufflenode.threading.JavaMessagePortData.getMessagePortDataPointer:()J
invokevirtual com.oracle.truffle.trufflenode.serialization.Serializer.writeVarInt:(J)V
30: aload 0
aload 1
invokevirtual com.oracle.truffle.trufflenode.serialization.Serializer.assignId:(Ljava/lang/Object;)V
31: aload 2
aload 0
getfield com.oracle.truffle.trufflenode.serialization.Serializer.env:Lcom/oracle/truffle/api/TruffleLanguage$Env;
aload 1
invokevirtual com.oracle.truffle.api.TruffleLanguage$Env.asHostObject:(Ljava/lang/Object;)Ljava/lang/Object;
invokevirtual com.oracle.truffle.trufflenode.threading.JavaMessagePortData.enqueueJavaRef:(Ljava/lang/Object;)V
end local 2 32: goto 34
33: StackMap locals:
StackMap stack:
aload 0
aload 1
invokevirtual com.oracle.truffle.trufflenode.serialization.Serializer.writeObject:(Ljava/lang/Object;)V
34: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 35 0 this Lcom/oracle/truffle/trufflenode/serialization/Serializer;
0 35 1 value Ljava/lang/Object;
17 18 2 doubleValue D
28 32 2 messagePort Lcom/oracle/truffle/trufflenode/threading/JavaMessagePortData;
MethodParameters:
Name Flags
value
private void writeObject(java.lang.Object);
descriptor: (Ljava/lang/Object;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=5, args_size=2
start local 0 start local 1 0: aload 0
getfield com.oracle.truffle.trufflenode.serialization.Serializer.objectMap:Ljava/util/Map;
aload 1
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.lang.Integer
astore 2
start local 2 1: aload 2
ifnull 5
2: aload 0
getstatic com.oracle.truffle.trufflenode.serialization.SerializationTag.OBJECT_REFERENCE:Lcom/oracle/truffle/trufflenode/serialization/SerializationTag;
invokevirtual com.oracle.truffle.trufflenode.serialization.Serializer.writeTag:(Lcom/oracle/truffle/trufflenode/serialization/SerializationTag;)V
3: aload 0
aload 2
invokevirtual java.lang.Integer.intValue:()I
i2l
invokevirtual com.oracle.truffle.trufflenode.serialization.Serializer.writeVarInt:(J)V
4: return
5: StackMap locals: java.lang.Integer
StackMap stack:
aload 0
getfield com.oracle.truffle.trufflenode.serialization.Serializer.treatArrayBufferViewsAsHostObjects:Z
ifne 12
aload 1
invokestatic com.oracle.truffle.js.runtime.builtins.JSArrayBufferView.isJSArrayBufferView:(Ljava/lang/Object;)Z
ifeq 12
6: aload 1
checkcast com.oracle.truffle.api.object.DynamicObject
invokestatic com.oracle.truffle.js.runtime.builtins.JSArrayBufferView.getArrayBuffer:(Lcom/oracle/truffle/api/object/DynamicObject;)Lcom/oracle/truffle/api/object/DynamicObject;
astore 3
start local 3 7: aload 0
aload 3
invokevirtual com.oracle.truffle.trufflenode.serialization.Serializer.assignId:(Ljava/lang/Object;)V
8: aload 3
invokestatic com.oracle.truffle.js.runtime.builtins.JSSharedArrayBuffer.isJSSharedArrayBuffer:(Ljava/lang/Object;)Z
ifeq 11
9: aload 0
aload 3
invokevirtual com.oracle.truffle.trufflenode.serialization.Serializer.writeJSSharedArrayBuffer:(Lcom/oracle/truffle/api/object/DynamicObject;)V
10: goto 12
11: StackMap locals: com.oracle.truffle.api.object.DynamicObject
StackMap stack:
aload 0
aload 3
invokevirtual com.oracle.truffle.trufflenode.serialization.Serializer.writeJSArrayBuffer:(Lcom/oracle/truffle/api/object/DynamicObject;)V
end local 3 12: StackMap locals:
StackMap stack:
aload 0
aload 1
invokevirtual com.oracle.truffle.trufflenode.serialization.Serializer.assignId:(Ljava/lang/Object;)V
13: aload 1
invokestatic com.oracle.truffle.js.runtime.builtins.JSDate.isJSDate:(Ljava/lang/Object;)Z
ifeq 17
14: aload 0
getstatic com.oracle.truffle.trufflenode.serialization.SerializationTag.DATE:Lcom/oracle/truffle/trufflenode/serialization/SerializationTag;
invokevirtual com.oracle.truffle.trufflenode.serialization.Serializer.writeTag:(Lcom/oracle/truffle/trufflenode/serialization/SerializationTag;)V
15: aload 0
aload 1
checkcast com.oracle.truffle.api.object.DynamicObject
invokevirtual com.oracle.truffle.trufflenode.serialization.Serializer.writeDate:(Lcom/oracle/truffle/api/object/DynamicObject;)V
16: goto 75
StackMap locals:
StackMap stack:
17: aload 1
invokestatic com.oracle.truffle.js.runtime.builtins.JSBoolean.isJSBoolean:(Ljava/lang/Object;)Z
ifeq 20
18: aload 0
aload 1
checkcast com.oracle.truffle.api.object.DynamicObject
invokevirtual com.oracle.truffle.trufflenode.serialization.Serializer.writeJSBoolean:(Lcom/oracle/truffle/api/object/DynamicObject;)V
19: goto 75
StackMap locals:
StackMap stack:
20: aload 1
invokestatic com.oracle.truffle.js.runtime.builtins.JSNumber.isJSNumber:(Ljava/lang/Object;)Z
ifeq 23
21: aload 0
aload 1
checkcast com.oracle.truffle.api.object.DynamicObject
invokevirtual com.oracle.truffle.trufflenode.serialization.Serializer.writeJSNumber:(Lcom/oracle/truffle/api/object/DynamicObject;)V
22: goto 75
StackMap locals:
StackMap stack:
23: aload 1
invokestatic com.oracle.truffle.js.runtime.builtins.JSBigInt.isJSBigInt:(Ljava/lang/Object;)Z
ifeq 27
24: aload 0
getstatic com.oracle.truffle.trufflenode.serialization.SerializationTag.BIG_INT_OBJECT:Lcom/oracle/truffle/trufflenode/serialization/SerializationTag;
invokevirtual com.oracle.truffle.trufflenode.serialization.Serializer.writeTag:(Lcom/oracle/truffle/trufflenode/serialization/SerializationTag;)V
25: aload 0
aload 1
checkcast com.oracle.truffle.api.object.DynamicObject
invokestatic com.oracle.truffle.js.runtime.builtins.JSBigInt.valueOf:(Lcom/oracle/truffle/api/object/DynamicObject;)Lcom/oracle/truffle/js/runtime/BigInt;
invokevirtual com.oracle.truffle.trufflenode.serialization.Serializer.writeBigIntContents:(Lcom/oracle/truffle/js/runtime/BigInt;)V
26: goto 75
StackMap locals:
StackMap stack:
27: aload 1
invokestatic com.oracle.truffle.js.runtime.builtins.JSString.isJSString:(Ljava/lang/Object;)Z
ifeq 30
28: aload 0
aload 1
checkcast com.oracle.truffle.api.object.DynamicObject
invokevirtual com.oracle.truffle.trufflenode.serialization.Serializer.writeJSString:(Lcom/oracle/truffle/api/object/DynamicObject;)V
29: goto 75
StackMap locals:
StackMap stack:
30: aload 1
invokestatic com.oracle.truffle.js.runtime.builtins.JSRegExp.isJSRegExp:(Ljava/lang/Object;)Z
ifeq 33
31: aload 0
aload 1
checkcast com.oracle.truffle.api.object.DynamicObject
invokevirtual com.oracle.truffle.trufflenode.serialization.Serializer.writeJSRegExp:(Lcom/oracle/truffle/api/object/DynamicObject;)V
32: goto 75
StackMap locals:
StackMap stack:
33: aload 1
invokestatic com.oracle.truffle.js.runtime.builtins.JSArrayBuffer.isJSDirectArrayBuffer:(Ljava/lang/Object;)Z
ifeq 36
34: aload 0
aload 1
checkcast com.oracle.truffle.api.object.DynamicObject
invokevirtual com.oracle.truffle.trufflenode.serialization.Serializer.writeJSArrayBuffer:(Lcom/oracle/truffle/api/object/DynamicObject;)V
35: goto 75
StackMap locals:
StackMap stack:
36: aload 1
invokestatic com.oracle.truffle.js.runtime.builtins.JSSharedArrayBuffer.isJSSharedArrayBuffer:(Ljava/lang/Object;)Z
ifeq 39
37: aload 0
aload 1
checkcast com.oracle.truffle.api.object.DynamicObject
invokevirtual com.oracle.truffle.trufflenode.serialization.Serializer.writeJSSharedArrayBuffer:(Lcom/oracle/truffle/api/object/DynamicObject;)V
38: goto 75
StackMap locals:
StackMap stack:
39: aload 1
invokestatic com.oracle.truffle.js.runtime.builtins.JSMap.isJSMap:(Ljava/lang/Object;)Z
ifeq 42
40: aload 0
aload 1
checkcast com.oracle.truffle.api.object.DynamicObject
invokevirtual com.oracle.truffle.trufflenode.serialization.Serializer.writeJSMap:(Lcom/oracle/truffle/api/object/DynamicObject;)V
41: goto 75
StackMap locals:
StackMap stack:
42: aload 1
invokestatic com.oracle.truffle.js.runtime.builtins.JSSet.isJSSet:(Ljava/lang/Object;)Z
ifeq 45
43: aload 0
aload 1
checkcast com.oracle.truffle.api.object.DynamicObject
invokevirtual com.oracle.truffle.trufflenode.serialization.Serializer.writeJSSet:(Lcom/oracle/truffle/api/object/DynamicObject;)V
44: goto 75
StackMap locals:
StackMap stack:
45: aload 1
invokestatic com.oracle.truffle.js.runtime.builtins.JSArray.isJSArray:(Ljava/lang/Object;)Z
ifeq 48
46: aload 0
aload 1
checkcast com.oracle.truffle.api.object.DynamicObject
invokevirtual com.oracle.truffle.trufflenode.serialization.Serializer.writeJSArray:(Lcom/oracle/truffle/api/object/DynamicObject;)V
47: goto 75
StackMap locals:
StackMap stack:
48: aload 1
invokestatic com.oracle.truffle.js.runtime.builtins.JSArrayBufferView.isJSArrayBufferView:(Ljava/lang/Object;)Z
ifeq 51
49: aload 0
aload 1
checkcast com.oracle.truffle.api.object.DynamicObject
invokevirtual com.oracle.truffle.trufflenode.serialization.Serializer.writeJSArrayBufferView:(Lcom/oracle/truffle/api/object/DynamicObject;)V
50: goto 75
StackMap locals:
StackMap stack:
51: aload 1
invokestatic com.oracle.truffle.js.runtime.builtins.JSDataView.isJSDataView:(Ljava/lang/Object;)Z
ifeq 54
52: aload 0
aload 1
checkcast com.oracle.truffle.api.object.DynamicObject
invokevirtual com.oracle.truffle.trufflenode.serialization.Serializer.writeJSDataView:(Lcom/oracle/truffle/api/object/DynamicObject;)V
53: goto 75
StackMap locals:
StackMap stack:
54: aload 1
invokestatic com.oracle.truffle.js.runtime.builtins.JSError.isJSError:(Ljava/lang/Object;)Z
ifeq 57
55: aload 0
aload 1
checkcast com.oracle.truffle.api.object.DynamicObject
invokevirtual com.oracle.truffle.trufflenode.serialization.Serializer.writeJSError:(Lcom/oracle/truffle/api/object/DynamicObject;)V
56: goto 75
StackMap locals:
StackMap stack:
57: aload 1
invokestatic com.oracle.truffle.js.runtime.builtins.JSProxy.isJSProxy:(Ljava/lang/Object;)Z
ifeq 64
58: aload 1
checkcast com.oracle.truffle.api.object.DynamicObject
invokestatic com.oracle.truffle.js.runtime.JSRuntime.isCallableProxy:(Lcom/oracle/truffle/api/object/DynamicObject;)Z
istore 3
start local 3 59: new java.lang.StringBuilder
dup
iload 3
ifeq 60
ldc "[object Function]"
goto 61
StackMap locals: com.oracle.truffle.trufflenode.serialization.Serializer java.lang.Object java.lang.Integer int
StackMap stack: new 59 new 59
60: ldc "[object Object]"
StackMap locals: com.oracle.truffle.trufflenode.serialization.Serializer java.lang.Object java.lang.Integer int
StackMap stack: new 59 new 59 java.lang.String
61: invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc " could not be cloned."
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 4
start local 4 62: aload 0
getfield com.oracle.truffle.trufflenode.serialization.Serializer.delegate:J
aload 4
invokestatic com.oracle.truffle.trufflenode.NativeAccess.throwDataCloneError:(JLjava/lang/String;)V
end local 4 end local 3 63: goto 75
StackMap locals:
StackMap stack:
64: aload 1
invokestatic com.oracle.truffle.js.runtime.builtins.JSFunction.isJSFunction:(Ljava/lang/Object;)Z
ifeq 67
65: aload 0
getfield com.oracle.truffle.trufflenode.serialization.Serializer.delegate:J
new java.lang.StringBuilder
dup
aload 1
invokestatic com.oracle.truffle.js.runtime.JSRuntime.safeToString:(Ljava/lang/Object;)Ljava/lang/String;
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc " could not be cloned."
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokestatic com.oracle.truffle.trufflenode.NativeAccess.throwDataCloneError:(JLjava/lang/String;)V
66: goto 75
StackMap locals:
StackMap stack:
67: aload 1
invokestatic com.oracle.truffle.js.runtime.objects.JSDynamicObject.isJSDynamicObject:(Ljava/lang/Object;)Z
ifeq 74
68: aload 1
checkcast com.oracle.truffle.api.object.DynamicObject
astore 3
start local 3 69: aload 3
invokestatic com.oracle.truffle.trufflenode.GraalJSAccess.internalFieldCount:(Lcom/oracle/truffle/api/object/DynamicObject;)I
ifne 72
70: aload 0
aload 3
invokevirtual com.oracle.truffle.trufflenode.serialization.Serializer.writeJSObject:(Lcom/oracle/truffle/api/object/DynamicObject;)V
71: goto 75
72: StackMap locals: com.oracle.truffle.api.object.DynamicObject
StackMap stack:
aload 0
aload 3
invokevirtual com.oracle.truffle.trufflenode.serialization.Serializer.writeHostObject:(Ljava/lang/Object;)V
end local 3 73: goto 75
74: StackMap locals:
StackMap stack:
aload 0
aload 1
invokevirtual com.oracle.truffle.trufflenode.serialization.Serializer.writeHostObject:(Ljava/lang/Object;)V
75: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 76 0 this Lcom/oracle/truffle/trufflenode/serialization/Serializer;
0 76 1 object Ljava/lang/Object;
1 76 2 id Ljava/lang/Integer;
7 12 3 arrayBuffer Lcom/oracle/truffle/api/object/DynamicObject;
59 63 3 callable Z
62 63 4 message Ljava/lang/String;
69 73 3 dynamicObject Lcom/oracle/truffle/api/object/DynamicObject;
MethodParameters:
Name Flags
object
private void writeInt(int);
descriptor: (I)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=3, args_size=2
start local 0 start local 1 0: aload 0
getstatic com.oracle.truffle.trufflenode.serialization.SerializationTag.INT32:Lcom/oracle/truffle/trufflenode/serialization/SerializationTag;
invokevirtual com.oracle.truffle.trufflenode.serialization.Serializer.writeTag:(Lcom/oracle/truffle/trufflenode/serialization/SerializationTag;)V
1: iload 1
iconst_1
ishl
iload 1
bipush 31
ishr
ixor
istore 2
start local 2 2: aload 0
iload 2
invokestatic java.lang.Integer.toUnsignedLong:(I)J
invokevirtual com.oracle.truffle.trufflenode.serialization.Serializer.writeVarInt:(J)V
3: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lcom/oracle/truffle/trufflenode/serialization/Serializer;
0 4 1 value I
2 4 2 zigzag I
MethodParameters:
Name Flags
value
public void writeVarInt(long);
descriptor: (J)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=8, args_size=2
start local 0 start local 1 0: lload 1
lstore 3
start local 3 1: bipush 10
newarray 8
astore 5
start local 5 2: iconst_0
istore 6
start local 6 3: StackMap locals: long byte[] int
StackMap stack:
lload 3
l2i
i2b
istore 7
start local 7 4: iload 7
sipush 128
ior
i2b
istore 7
5: aload 5
iload 6
iload 7
bastore
6: iinc 6 1
7: lload 3
bipush 7
lushr
lstore 3
end local 7 8: lload 3
lconst_0
lcmp
ifne 3
9: aload 5
iload 6
iconst_1
isub
dup2
baload
bipush 127
iand
i2b
bastore
10: aload 0
aload 5
iload 6
invokevirtual com.oracle.truffle.trufflenode.serialization.Serializer.writeBytes:([BI)V
11: return
end local 6 end local 5 end local 3 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 this Lcom/oracle/truffle/trufflenode/serialization/Serializer;
0 12 1 value J
1 12 3 rest J
2 12 5 bytes [B
3 12 6 idx I
4 8 7 b B
MethodParameters:
Name Flags
value
private void writeBytes(byte[], int);
descriptor: ([BI)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
iload 2
invokevirtual com.oracle.truffle.trufflenode.serialization.Serializer.ensureFreeSpace:(I)V
1: aload 0
getfield com.oracle.truffle.trufflenode.serialization.Serializer.buffer:Ljava/nio/ByteBuffer;
aload 1
iconst_0
iload 2
invokevirtual java.nio.ByteBuffer.put:([BII)Ljava/nio/ByteBuffer;
pop
2: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/oracle/truffle/trufflenode/serialization/Serializer;
0 3 1 bytes [B
0 3 2 length I
MethodParameters:
Name Flags
bytes
length
public void writeBytes(java.nio.ByteBuffer);
descriptor: (Ljava/nio/ByteBuffer;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokevirtual java.nio.ByteBuffer.remaining:()I
invokevirtual com.oracle.truffle.trufflenode.serialization.Serializer.ensureFreeSpace:(I)V
1: aload 0
getfield com.oracle.truffle.trufflenode.serialization.Serializer.buffer:Ljava/nio/ByteBuffer;
aload 1
invokevirtual java.nio.ByteBuffer.put:(Ljava/nio/ByteBuffer;)Ljava/nio/ByteBuffer;
pop
2: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/oracle/truffle/trufflenode/serialization/Serializer;
0 3 1 bytes Ljava/nio/ByteBuffer;
MethodParameters:
Name Flags
bytes
public void writeIntOrDouble(double);
descriptor: (D)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=2
start local 0 start local 1 0: dload 1
invokestatic com.oracle.truffle.js.runtime.JSRuntime.doubleIsRepresentableAsInt:(D)Z
ifeq 3
1: aload 0
dload 1
d2i
invokevirtual com.oracle.truffle.trufflenode.serialization.Serializer.writeInt:(I)V
2: goto 5
3: StackMap locals:
StackMap stack:
aload 0
getstatic com.oracle.truffle.trufflenode.serialization.SerializationTag.DOUBLE:Lcom/oracle/truffle/trufflenode/serialization/SerializationTag;
invokevirtual com.oracle.truffle.trufflenode.serialization.Serializer.writeTag:(Lcom/oracle/truffle/trufflenode/serialization/SerializationTag;)V
4: aload 0
dload 1
invokevirtual com.oracle.truffle.trufflenode.serialization.Serializer.writeDouble:(D)V
5: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lcom/oracle/truffle/trufflenode/serialization/Serializer;
0 6 1 value D
MethodParameters:
Name Flags
value
public void writeDouble(double);
descriptor: (D)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=2
start local 0 start local 1 0: aload 0
bipush 8
invokevirtual com.oracle.truffle.trufflenode.serialization.Serializer.ensureFreeSpace:(I)V
1: aload 0
getfield com.oracle.truffle.trufflenode.serialization.Serializer.buffer:Ljava/nio/ByteBuffer;
dload 1
invokevirtual java.nio.ByteBuffer.putDouble:(D)Ljava/nio/ByteBuffer;
pop
2: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/oracle/truffle/trufflenode/serialization/Serializer;
0 3 1 value D
MethodParameters:
Name Flags
value
private void writeString(java.lang.String);
descriptor: (Ljava/lang/String;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=5, args_size=2
start local 0 start local 1 0: aload 1
invokestatic com.oracle.truffle.trufflenode.serialization.Serializer.isOneByteString:(Ljava/lang/String;)Z
ifeq 4
1: getstatic com.oracle.truffle.trufflenode.serialization.SerializationTag.ONE_BYTE_STRING:Lcom/oracle/truffle/trufflenode/serialization/SerializationTag;
astore 3
start local 3 2: ldc "ISO-8859-1"
astore 4
start local 4 3: goto 6
end local 4 end local 3 4: StackMap locals:
StackMap stack:
getstatic com.oracle.truffle.trufflenode.serialization.SerializationTag.TWO_BYTE_STRING:Lcom/oracle/truffle/trufflenode/serialization/SerializationTag;
astore 3
start local 3 5: getstatic com.oracle.truffle.trufflenode.serialization.Serializer.NATIVE_UTF16_ENCODING:Ljava/lang/String;
astore 4
start local 4 6: StackMap locals: com.oracle.truffle.trufflenode.serialization.Serializer java.lang.String top com.oracle.truffle.trufflenode.serialization.SerializationTag java.lang.String
StackMap stack:
aload 0
aload 3
invokevirtual com.oracle.truffle.trufflenode.serialization.Serializer.writeTag:(Lcom/oracle/truffle/trufflenode/serialization/SerializationTag;)V
7: aload 1
aload 4
invokevirtual java.lang.String.getBytes:(Ljava/lang/String;)[B
astore 2
start local 2 8: aload 0
aload 2
arraylength
i2l
invokevirtual com.oracle.truffle.trufflenode.serialization.Serializer.writeVarInt:(J)V
9: aload 0
aload 2
aload 2
arraylength
invokevirtual com.oracle.truffle.trufflenode.serialization.Serializer.writeBytes:([BI)V
end local 4 end local 3 end local 2 10: goto 13
StackMap locals: com.oracle.truffle.trufflenode.serialization.Serializer java.lang.String
StackMap stack: java.io.UnsupportedEncodingException
11: pop
12: invokestatic com.oracle.truffle.js.runtime.Errors.shouldNotReachHere:()Ljava/lang/RuntimeException;
athrow
13: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 14 0 this Lcom/oracle/truffle/trufflenode/serialization/Serializer;
0 14 1 string Ljava/lang/String;
8 10 2 bytes [B
2 4 3 tag Lcom/oracle/truffle/trufflenode/serialization/SerializationTag;
5 10 3 tag Lcom/oracle/truffle/trufflenode/serialization/SerializationTag;
3 4 4 encoding Ljava/lang/String;
6 10 4 encoding Ljava/lang/String;
Exception table:
from to target type
0 10 11 Class java.io.UnsupportedEncodingException
MethodParameters:
Name Flags
string
private static boolean isOneByteString(java.lang.String);
descriptor: (Ljava/lang/String;)Z
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=5, args_size=1
start local 0 0: aload 0
invokevirtual java.lang.String.toCharArray:()[C
dup
astore 4
arraylength
istore 3
iconst_0
istore 2
goto 5
StackMap locals: java.lang.String top int int char[]
StackMap stack:
1: aload 4
iload 2
caload
istore 1
start local 1 2: iload 1
sipush 256
if_icmplt 4
3: iconst_0
ireturn
end local 1 4: StackMap locals:
StackMap stack:
iinc 2 1
StackMap locals:
StackMap stack:
5: iload 2
iload 3
if_icmplt 1
6: iconst_1
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 string Ljava/lang/String;
2 4 1 c C
MethodParameters:
Name Flags
string
private void writeDate(com.oracle.truffle.api.object.DynamicObject);
descriptor: (Lcom/oracle/truffle/api/object/DynamicObject;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: getstatic com.oracle.truffle.trufflenode.serialization.Serializer.$assertionsDisabled:Z
ifne 1
aload 1
invokestatic com.oracle.truffle.js.runtime.builtins.JSDate.isJSDate:(Ljava/lang/Object;)Z
ifne 1
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
1: StackMap locals:
StackMap stack:
aload 0
aload 1
invokestatic com.oracle.truffle.js.runtime.builtins.JSDate.getTimeMillisField:(Lcom/oracle/truffle/api/object/DynamicObject;)D
invokevirtual com.oracle.truffle.trufflenode.serialization.Serializer.writeDouble:(D)V
2: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/oracle/truffle/trufflenode/serialization/Serializer;
0 3 1 date Lcom/oracle/truffle/api/object/DynamicObject;
MethodParameters:
Name Flags
date
private void writeJSBoolean(com.oracle.truffle.api.object.DynamicObject);
descriptor: (Lcom/oracle/truffle/api/object/DynamicObject;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: getstatic com.oracle.truffle.trufflenode.serialization.Serializer.$assertionsDisabled:Z
ifne 1
aload 1
invokestatic com.oracle.truffle.js.runtime.builtins.JSBoolean.isJSBoolean:(Ljava/lang/Object;)Z
ifne 1
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
1: StackMap locals:
StackMap stack:
aload 0
aload 1
invokestatic com.oracle.truffle.js.runtime.builtins.JSBoolean.valueOf:(Lcom/oracle/truffle/api/object/DynamicObject;)Z
ifeq 2
getstatic com.oracle.truffle.trufflenode.serialization.SerializationTag.TRUE_OBJECT:Lcom/oracle/truffle/trufflenode/serialization/SerializationTag;
goto 3
StackMap locals:
StackMap stack: com.oracle.truffle.trufflenode.serialization.Serializer
2: getstatic com.oracle.truffle.trufflenode.serialization.SerializationTag.FALSE_OBJECT:Lcom/oracle/truffle/trufflenode/serialization/SerializationTag;
StackMap locals: com.oracle.truffle.trufflenode.serialization.Serializer com.oracle.truffle.api.object.DynamicObject
StackMap stack: com.oracle.truffle.trufflenode.serialization.Serializer com.oracle.truffle.trufflenode.serialization.SerializationTag
3: invokevirtual com.oracle.truffle.trufflenode.serialization.Serializer.writeTag:(Lcom/oracle/truffle/trufflenode/serialization/SerializationTag;)V
4: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lcom/oracle/truffle/trufflenode/serialization/Serializer;
0 5 1 bool Lcom/oracle/truffle/api/object/DynamicObject;
MethodParameters:
Name Flags
bool
private void writeJSNumber(com.oracle.truffle.api.object.DynamicObject);
descriptor: (Lcom/oracle/truffle/api/object/DynamicObject;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=4, args_size=2
start local 0 start local 1 0: getstatic com.oracle.truffle.trufflenode.serialization.Serializer.$assertionsDisabled:Z
ifne 1
aload 1
invokestatic com.oracle.truffle.js.runtime.builtins.JSNumber.isJSNumber:(Ljava/lang/Object;)Z
ifne 1
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
1: StackMap locals:
StackMap stack:
aload 1
invokestatic com.oracle.truffle.js.runtime.builtins.JSNumber.valueOf:(Lcom/oracle/truffle/api/object/DynamicObject;)Ljava/lang/Number;
invokevirtual java.lang.Number.doubleValue:()D
dstore 2
start local 2 2: aload 0
getstatic com.oracle.truffle.trufflenode.serialization.SerializationTag.NUMBER_OBJECT:Lcom/oracle/truffle/trufflenode/serialization/SerializationTag;
invokevirtual com.oracle.truffle.trufflenode.serialization.Serializer.writeTag:(Lcom/oracle/truffle/trufflenode/serialization/SerializationTag;)V
3: aload 0
dload 2
invokevirtual com.oracle.truffle.trufflenode.serialization.Serializer.writeDouble:(D)V
4: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lcom/oracle/truffle/trufflenode/serialization/Serializer;
0 5 1 number Lcom/oracle/truffle/api/object/DynamicObject;
2 5 2 value D
MethodParameters:
Name Flags
number
private void writeJSString(com.oracle.truffle.api.object.DynamicObject);
descriptor: (Lcom/oracle/truffle/api/object/DynamicObject;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: getstatic com.oracle.truffle.trufflenode.serialization.Serializer.$assertionsDisabled:Z
ifne 1
aload 1
invokestatic com.oracle.truffle.js.runtime.builtins.JSString.isJSString:(Ljava/lang/Object;)Z
ifne 1
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
1: StackMap locals:
StackMap stack:
aload 1
invokestatic com.oracle.truffle.js.runtime.builtins.JSString.getString:(Lcom/oracle/truffle/api/object/DynamicObject;)Ljava/lang/String;
astore 2
start local 2 2: aload 0
getstatic com.oracle.truffle.trufflenode.serialization.SerializationTag.STRING_OBJECT:Lcom/oracle/truffle/trufflenode/serialization/SerializationTag;
invokevirtual com.oracle.truffle.trufflenode.serialization.Serializer.writeTag:(Lcom/oracle/truffle/trufflenode/serialization/SerializationTag;)V
3: aload 0
aload 2
invokevirtual com.oracle.truffle.trufflenode.serialization.Serializer.writeString:(Ljava/lang/String;)V
4: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lcom/oracle/truffle/trufflenode/serialization/Serializer;
0 5 1 string Lcom/oracle/truffle/api/object/DynamicObject;
2 5 2 value Ljava/lang/String;
MethodParameters:
Name Flags
string
private void writeJSRegExp(com.oracle.truffle.api.object.DynamicObject);
descriptor: (Lcom/oracle/truffle/api/object/DynamicObject;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=4, args_size=2
start local 0 start local 1 0: getstatic com.oracle.truffle.trufflenode.serialization.Serializer.$assertionsDisabled:Z
ifne 1
aload 1
invokestatic com.oracle.truffle.js.runtime.builtins.JSRegExp.isJSRegExp:(Ljava/lang/Object;)Z
ifne 1
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
1: StackMap locals:
StackMap stack:
aload 1
invokestatic com.oracle.truffle.trufflenode.GraalJSAccess.regexpPattern:(Lcom/oracle/truffle/api/object/DynamicObject;)Ljava/lang/String;
astore 2
start local 2 2: aload 1
invokestatic com.oracle.truffle.trufflenode.GraalJSAccess.regexpV8Flags:(Lcom/oracle/truffle/api/object/DynamicObject;)I
istore 3
start local 3 3: aload 0
getstatic com.oracle.truffle.trufflenode.serialization.SerializationTag.REGEXP:Lcom/oracle/truffle/trufflenode/serialization/SerializationTag;
invokevirtual com.oracle.truffle.trufflenode.serialization.Serializer.writeTag:(Lcom/oracle/truffle/trufflenode/serialization/SerializationTag;)V
4: aload 0
aload 2
invokevirtual com.oracle.truffle.trufflenode.serialization.Serializer.writeString:(Ljava/lang/String;)V
5: aload 0
iload 3
i2l
invokevirtual com.oracle.truffle.trufflenode.serialization.Serializer.writeVarInt:(J)V
6: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lcom/oracle/truffle/trufflenode/serialization/Serializer;
0 7 1 regExp Lcom/oracle/truffle/api/object/DynamicObject;
2 7 2 pattern Ljava/lang/String;
3 7 3 flags I
MethodParameters:
Name Flags
regExp
private void writeJSArrayBuffer(com.oracle.truffle.api.object.DynamicObject);
descriptor: (Lcom/oracle/truffle/api/object/DynamicObject;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=6, args_size=2
start local 0 start local 1 0: getstatic com.oracle.truffle.trufflenode.serialization.Serializer.$assertionsDisabled:Z
ifne 1
aload 1
invokestatic com.oracle.truffle.js.runtime.builtins.JSArrayBuffer.isJSDirectArrayBuffer:(Ljava/lang/Object;)Z
ifne 1
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
1: StackMap locals:
StackMap stack:
aload 0
getfield com.oracle.truffle.trufflenode.serialization.Serializer.transferMap:Ljava/util/Map;
aload 1
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.lang.Integer
astore 2
start local 2 2: aload 2
ifnonnull 14
3: aload 1
invokestatic com.oracle.truffle.js.runtime.builtins.JSArrayBuffer.getDirectByteLength:(Lcom/oracle/truffle/api/object/DynamicObject;)I
istore 3
start local 3 4: aload 1
invokestatic com.oracle.truffle.js.runtime.builtins.JSArrayBuffer.getDirectByteBuffer:(Lcom/oracle/truffle/api/object/DynamicObject;)Ljava/nio/ByteBuffer;
astore 4
start local 4 5: aload 0
getstatic com.oracle.truffle.trufflenode.serialization.SerializationTag.ARRAY_BUFFER:Lcom/oracle/truffle/trufflenode/serialization/SerializationTag;
invokevirtual com.oracle.truffle.trufflenode.serialization.Serializer.writeTag:(Lcom/oracle/truffle/trufflenode/serialization/SerializationTag;)V
6: aload 0
iload 3
i2l
invokevirtual com.oracle.truffle.trufflenode.serialization.Serializer.writeVarInt:(J)V
7: aload 0
iload 3
invokevirtual com.oracle.truffle.trufflenode.serialization.Serializer.ensureFreeSpace:(I)V
8: iconst_0
istore 5
start local 5 9: goto 12
10: StackMap locals: com.oracle.truffle.trufflenode.serialization.Serializer com.oracle.truffle.api.object.DynamicObject java.lang.Integer int java.nio.ByteBuffer int
StackMap stack:
aload 0
getfield com.oracle.truffle.trufflenode.serialization.Serializer.buffer:Ljava/nio/ByteBuffer;
aload 4
iload 5
invokevirtual java.nio.ByteBuffer.get:(I)B
invokevirtual java.nio.ByteBuffer.put:(B)Ljava/nio/ByteBuffer;
pop
11: iinc 5 1
StackMap locals:
StackMap stack:
12: iload 5
iload 3
if_icmplt 10
end local 5 end local 4 end local 3 13: goto 16
14: StackMap locals:
StackMap stack:
aload 0
getstatic com.oracle.truffle.trufflenode.serialization.SerializationTag.ARRAY_BUFFER_TRANSFER:Lcom/oracle/truffle/trufflenode/serialization/SerializationTag;
invokevirtual com.oracle.truffle.trufflenode.serialization.Serializer.writeTag:(Lcom/oracle/truffle/trufflenode/serialization/SerializationTag;)V
15: aload 0
aload 2
invokevirtual java.lang.Integer.intValue:()I
invokestatic java.lang.Integer.toUnsignedLong:(I)J
invokevirtual com.oracle.truffle.trufflenode.serialization.Serializer.writeVarInt:(J)V
16: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 17 0 this Lcom/oracle/truffle/trufflenode/serialization/Serializer;
0 17 1 arrayBuffer Lcom/oracle/truffle/api/object/DynamicObject;
2 17 2 id Ljava/lang/Integer;
4 13 3 byteLength I
5 13 4 byteBuffer Ljava/nio/ByteBuffer;
9 13 5 i I
MethodParameters:
Name Flags
arrayBuffer
private void writeJSSharedArrayBuffer(com.oracle.truffle.api.object.DynamicObject);
descriptor: (Lcom/oracle/truffle/api/object/DynamicObject;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=3, args_size=2
start local 0 start local 1 0: aload 0
getfield com.oracle.truffle.trufflenode.serialization.Serializer.delegate:J
aload 1
invokestatic com.oracle.truffle.trufflenode.NativeAccess.getSharedArrayBufferId:(JLjava/lang/Object;)I
istore 2
start local 2 1: aload 0
getstatic com.oracle.truffle.trufflenode.serialization.SerializationTag.SHARED_ARRAY_BUFFER:Lcom/oracle/truffle/trufflenode/serialization/SerializationTag;
invokevirtual com.oracle.truffle.trufflenode.serialization.Serializer.writeTag:(Lcom/oracle/truffle/trufflenode/serialization/SerializationTag;)V
2: aload 0
iload 2
i2l
invokevirtual com.oracle.truffle.trufflenode.serialization.Serializer.writeVarInt:(J)V
3: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lcom/oracle/truffle/trufflenode/serialization/Serializer;
0 4 1 sharedArrayBuffer Lcom/oracle/truffle/api/object/DynamicObject;
1 4 2 id I
MethodParameters:
Name Flags
sharedArrayBuffer
private void writeJSObject(com.oracle.truffle.api.object.DynamicObject);
descriptor: (Lcom/oracle/truffle/api/object/DynamicObject;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=3, args_size=2
start local 0 start local 1 0: getstatic com.oracle.truffle.trufflenode.serialization.Serializer.$assertionsDisabled:Z
ifne 1
aload 1
invokestatic com.oracle.truffle.js.runtime.objects.JSDynamicObject.isJSDynamicObject:(Ljava/lang/Object;)Z
ifne 1
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
1: StackMap locals:
StackMap stack:
aload 0
getstatic com.oracle.truffle.trufflenode.serialization.SerializationTag.BEGIN_JS_OBJECT:Lcom/oracle/truffle/trufflenode/serialization/SerializationTag;
invokevirtual com.oracle.truffle.trufflenode.serialization.Serializer.writeTag:(Lcom/oracle/truffle/trufflenode/serialization/SerializationTag;)V
2: aload 1
invokestatic com.oracle.truffle.js.runtime.objects.JSObject.enumerableOwnNames:(Lcom/oracle/truffle/api/object/DynamicObject;)Ljava/util/List;
astore 2
start local 2 3: aload 0
aload 1
aload 2
invokevirtual com.oracle.truffle.trufflenode.serialization.Serializer.writeJSObjectProperties:(Lcom/oracle/truffle/api/object/DynamicObject;Ljava/util/List;)V
4: aload 0
getstatic com.oracle.truffle.trufflenode.serialization.SerializationTag.END_JS_OBJECT:Lcom/oracle/truffle/trufflenode/serialization/SerializationTag;
invokevirtual com.oracle.truffle.trufflenode.serialization.Serializer.writeTag:(Lcom/oracle/truffle/trufflenode/serialization/SerializationTag;)V
5: aload 0
aload 2
invokeinterface java.util.List.size:()I
i2l
invokevirtual com.oracle.truffle.trufflenode.serialization.Serializer.writeVarInt:(J)V
6: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lcom/oracle/truffle/trufflenode/serialization/Serializer;
0 7 1 object Lcom/oracle/truffle/api/object/DynamicObject;
3 7 2 names Ljava/util/List<Ljava/lang/String;>;
MethodParameters:
Name Flags
object
private void writeJSObjectProperties(com.oracle.truffle.api.object.DynamicObject, java.util.List<java.lang.String>);
descriptor: (Lcom/oracle/truffle/api/object/DynamicObject;Ljava/util/List;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=6, args_size=3
start local 0 start local 1 start local 2 0: getstatic com.oracle.truffle.trufflenode.serialization.Serializer.$assertionsDisabled:Z
ifne 1
aload 1
invokestatic com.oracle.truffle.js.runtime.objects.JSDynamicObject.isJSDynamicObject:(Ljava/lang/Object;)Z
ifne 1
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
1: StackMap locals:
StackMap stack:
aload 2
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 4
goto 9
StackMap locals: com.oracle.truffle.trufflenode.serialization.Serializer com.oracle.truffle.api.object.DynamicObject java.util.List top java.util.Iterator
StackMap stack:
2: aload 4
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.lang.String
astore 3
start local 3 3: aload 3
invokestatic com.oracle.truffle.js.runtime.JSRuntime.isArrayIndex:(Ljava/lang/String;)Z
ifeq 6
4: aload 0
aload 3
invokestatic java.lang.Double.parseDouble:(Ljava/lang/String;)D
invokevirtual com.oracle.truffle.trufflenode.serialization.Serializer.writeIntOrDouble:(D)V
5: goto 7
6: StackMap locals: com.oracle.truffle.trufflenode.serialization.Serializer com.oracle.truffle.api.object.DynamicObject java.util.List java.lang.String java.util.Iterator
StackMap stack:
aload 0
aload 3
invokevirtual com.oracle.truffle.trufflenode.serialization.Serializer.writeString:(Ljava/lang/String;)V
7: StackMap locals:
StackMap stack:
aload 1
aload 3
invokestatic com.oracle.truffle.js.runtime.objects.JSObject.get:(Lcom/oracle/truffle/api/object/DynamicObject;Ljava/lang/Object;)Ljava/lang/Object;
astore 5
start local 5 8: aload 0
aload 5
invokevirtual com.oracle.truffle.trufflenode.serialization.Serializer.writeValue:(Ljava/lang/Object;)V
end local 5 end local 3 9: StackMap locals: com.oracle.truffle.trufflenode.serialization.Serializer com.oracle.truffle.api.object.DynamicObject java.util.List top java.util.Iterator
StackMap stack:
aload 4
invokeinterface java.util.Iterator.hasNext:()Z
ifne 2
10: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Lcom/oracle/truffle/trufflenode/serialization/Serializer;
0 11 1 object Lcom/oracle/truffle/api/object/DynamicObject;
0 11 2 keys Ljava/util/List<Ljava/lang/String;>;
3 9 3 key Ljava/lang/String;
8 9 5 value Ljava/lang/Object;
Signature: (Lcom/oracle/truffle/api/object/DynamicObject;Ljava/util/List<Ljava/lang/String;>;)V
MethodParameters:
Name Flags
object
keys
private void writeJSMap(com.oracle.truffle.api.object.DynamicObject);
descriptor: (Lcom/oracle/truffle/api/object/DynamicObject;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=5, args_size=2
start local 0 start local 1 0: getstatic com.oracle.truffle.trufflenode.serialization.Serializer.$assertionsDisabled:Z
ifne 1
aload 1
invokestatic com.oracle.truffle.js.runtime.builtins.JSMap.isJSMap:(Ljava/lang/Object;)Z
ifne 1
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
1: StackMap locals:
StackMap stack:
aload 0
getstatic com.oracle.truffle.trufflenode.serialization.SerializationTag.BEGIN_JS_MAP:Lcom/oracle/truffle/trufflenode/serialization/SerializationTag;
invokevirtual com.oracle.truffle.trufflenode.serialization.Serializer.writeTag:(Lcom/oracle/truffle/trufflenode/serialization/SerializationTag;)V
2: aload 1
invokestatic com.oracle.truffle.js.runtime.builtins.JSMap.getInternalMap:(Lcom/oracle/truffle/api/object/DynamicObject;)Lcom/oracle/truffle/js/runtime/util/JSHashMap;
astore 2
start local 2 3: aload 2
invokevirtual com.oracle.truffle.js.runtime.util.JSHashMap.getEntries:()Lcom/oracle/truffle/js/runtime/util/JSHashMap$Cursor;
astore 3
start local 3 4: iconst_0
istore 4
start local 4 5: goto 9
6: StackMap locals: com.oracle.truffle.js.runtime.util.JSHashMap com.oracle.truffle.js.runtime.util.JSHashMap$Cursor int
StackMap stack:
iinc 4 1
7: aload 0
aload 3
invokeinterface com.oracle.truffle.js.runtime.util.JSHashMap$Cursor.getKey:()Ljava/lang/Object;
invokevirtual com.oracle.truffle.trufflenode.serialization.Serializer.writeValue:(Ljava/lang/Object;)V
8: aload 0
aload 3
invokeinterface com.oracle.truffle.js.runtime.util.JSHashMap$Cursor.getValue:()Ljava/lang/Object;
invokevirtual com.oracle.truffle.trufflenode.serialization.Serializer.writeValue:(Ljava/lang/Object;)V
9: StackMap locals:
StackMap stack:
aload 3
invokeinterface com.oracle.truffle.js.runtime.util.JSHashMap$Cursor.advance:()Z
ifne 6
10: aload 0
getstatic com.oracle.truffle.trufflenode.serialization.SerializationTag.END_JS_MAP:Lcom/oracle/truffle/trufflenode/serialization/SerializationTag;
invokevirtual com.oracle.truffle.trufflenode.serialization.Serializer.writeTag:(Lcom/oracle/truffle/trufflenode/serialization/SerializationTag;)V
11: aload 0
iconst_2
iload 4
imul
i2l
invokevirtual com.oracle.truffle.trufflenode.serialization.Serializer.writeVarInt:(J)V
12: return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 13 0 this Lcom/oracle/truffle/trufflenode/serialization/Serializer;
0 13 1 object Lcom/oracle/truffle/api/object/DynamicObject;
3 13 2 map Lcom/oracle/truffle/js/runtime/util/JSHashMap;
4 13 3 cursor Lcom/oracle/truffle/js/runtime/util/JSHashMap$Cursor;
5 13 4 count I
MethodParameters:
Name Flags
object
private void writeJSSet(com.oracle.truffle.api.object.DynamicObject);
descriptor: (Lcom/oracle/truffle/api/object/DynamicObject;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=5, args_size=2
start local 0 start local 1 0: getstatic com.oracle.truffle.trufflenode.serialization.Serializer.$assertionsDisabled:Z
ifne 1
aload 1
invokestatic com.oracle.truffle.js.runtime.builtins.JSSet.isJSSet:(Ljava/lang/Object;)Z
ifne 1
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
1: StackMap locals:
StackMap stack:
aload 0
getstatic com.oracle.truffle.trufflenode.serialization.SerializationTag.BEGIN_JS_SET:Lcom/oracle/truffle/trufflenode/serialization/SerializationTag;
invokevirtual com.oracle.truffle.trufflenode.serialization.Serializer.writeTag:(Lcom/oracle/truffle/trufflenode/serialization/SerializationTag;)V
2: aload 1
invokestatic com.oracle.truffle.js.runtime.builtins.JSSet.getInternalSet:(Lcom/oracle/truffle/api/object/DynamicObject;)Lcom/oracle/truffle/js/runtime/util/JSHashMap;
astore 2
start local 2 3: aload 2
invokevirtual com.oracle.truffle.js.runtime.util.JSHashMap.getEntries:()Lcom/oracle/truffle/js/runtime/util/JSHashMap$Cursor;
astore 3
start local 3 4: iconst_0
istore 4
start local 4 5: goto 8
6: StackMap locals: com.oracle.truffle.js.runtime.util.JSHashMap com.oracle.truffle.js.runtime.util.JSHashMap$Cursor int
StackMap stack:
iinc 4 1
7: aload 0
aload 3
invokeinterface com.oracle.truffle.js.runtime.util.JSHashMap$Cursor.getKey:()Ljava/lang/Object;
invokevirtual com.oracle.truffle.trufflenode.serialization.Serializer.writeValue:(Ljava/lang/Object;)V
8: StackMap locals:
StackMap stack:
aload 3
invokeinterface com.oracle.truffle.js.runtime.util.JSHashMap$Cursor.advance:()Z
ifne 6
9: aload 0
getstatic com.oracle.truffle.trufflenode.serialization.SerializationTag.END_JS_SET:Lcom/oracle/truffle/trufflenode/serialization/SerializationTag;
invokevirtual com.oracle.truffle.trufflenode.serialization.Serializer.writeTag:(Lcom/oracle/truffle/trufflenode/serialization/SerializationTag;)V
10: aload 0
iload 4
i2l
invokevirtual com.oracle.truffle.trufflenode.serialization.Serializer.writeVarInt:(J)V
11: return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 this Lcom/oracle/truffle/trufflenode/serialization/Serializer;
0 12 1 object Lcom/oracle/truffle/api/object/DynamicObject;
3 12 2 map Lcom/oracle/truffle/js/runtime/util/JSHashMap;
4 12 3 cursor Lcom/oracle/truffle/js/runtime/util/JSHashMap$Cursor;
5 12 4 count I
MethodParameters:
Name Flags
object
private void writeJSArray(com.oracle.truffle.api.object.DynamicObject);
descriptor: (Lcom/oracle/truffle/api/object/DynamicObject;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=7, args_size=2
start local 0 start local 1 0: getstatic com.oracle.truffle.trufflenode.serialization.Serializer.$assertionsDisabled:Z
ifne 1
aload 1
invokestatic com.oracle.truffle.js.runtime.builtins.JSArray.isJSArray:(Ljava/lang/Object;)Z
ifne 1
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
1: StackMap locals:
StackMap stack:
aload 1
invokestatic com.oracle.truffle.js.runtime.builtins.JSAbstractArray.arrayGetLength:(Lcom/oracle/truffle/api/object/DynamicObject;)J
lstore 2
start local 2 2: aload 1
invokestatic com.oracle.truffle.js.runtime.objects.JSObject.enumerableOwnNames:(Lcom/oracle/truffle/api/object/DynamicObject;)Ljava/util/List;
astore 4
start local 4 3: aload 4
invokeinterface java.util.List.size:()I
i2l
lload 2
lcmp
iflt 4
iconst_1
goto 5
StackMap locals: long java.util.List
StackMap stack:
4: iconst_0
StackMap locals:
StackMap stack: int
5: istore 5
start local 5 6: iload 5
ifeq 14
7: iconst_0
istore 6
start local 6 8: goto 13
9: StackMap locals: int int
StackMap stack:
iload 6
invokestatic java.lang.Integer.toString:(I)Ljava/lang/String;
aload 4
iload 6
invokeinterface java.util.List.get:(I)Ljava/lang/Object;
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 12
10: iconst_0
istore 5
11: goto 14
12: StackMap locals:
StackMap stack:
iinc 6 1
StackMap locals:
StackMap stack:
13: iload 6
i2l
lload 2
lcmp
iflt 9
end local 6 14: StackMap locals:
StackMap stack:
iload 5
ifeq 26
15: aload 4
lload 2
l2i
aload 4
invokeinterface java.util.List.size:()I
invokeinterface java.util.List.subList:(II)Ljava/util/List;
astore 4
16: aload 0
getstatic com.oracle.truffle.trufflenode.serialization.SerializationTag.BEGIN_DENSE_JS_ARRAY:Lcom/oracle/truffle/trufflenode/serialization/SerializationTag;
invokevirtual com.oracle.truffle.trufflenode.serialization.Serializer.writeTag:(Lcom/oracle/truffle/trufflenode/serialization/SerializationTag;)V
17: aload 0
lload 2
invokevirtual com.oracle.truffle.trufflenode.serialization.Serializer.writeVarInt:(J)V
18: iconst_0
istore 6
start local 6 19: goto 22
20: StackMap locals: int
StackMap stack:
aload 0
aload 1
iload 6
i2l
invokestatic com.oracle.truffle.js.runtime.objects.JSObject.get:(Lcom/oracle/truffle/api/object/DynamicObject;J)Ljava/lang/Object;
invokevirtual com.oracle.truffle.trufflenode.serialization.Serializer.writeValue:(Ljava/lang/Object;)V
21: iinc 6 1
StackMap locals:
StackMap stack:
22: iload 6
i2l
lload 2
lcmp
iflt 20
end local 6 23: aload 0
aload 1
aload 4
invokevirtual com.oracle.truffle.trufflenode.serialization.Serializer.writeJSObjectProperties:(Lcom/oracle/truffle/api/object/DynamicObject;Ljava/util/List;)V
24: aload 0
getstatic com.oracle.truffle.trufflenode.serialization.SerializationTag.END_DENSE_JS_ARRAY:Lcom/oracle/truffle/trufflenode/serialization/SerializationTag;
invokevirtual com.oracle.truffle.trufflenode.serialization.Serializer.writeTag:(Lcom/oracle/truffle/trufflenode/serialization/SerializationTag;)V
25: goto 30
26: StackMap locals:
StackMap stack:
aload 0
getstatic com.oracle.truffle.trufflenode.serialization.SerializationTag.BEGIN_SPARSE_JS_ARRAY:Lcom/oracle/truffle/trufflenode/serialization/SerializationTag;
invokevirtual com.oracle.truffle.trufflenode.serialization.Serializer.writeTag:(Lcom/oracle/truffle/trufflenode/serialization/SerializationTag;)V
27: aload 0
lload 2
invokevirtual com.oracle.truffle.trufflenode.serialization.Serializer.writeVarInt:(J)V
28: aload 0
aload 1
aload 4
invokevirtual com.oracle.truffle.trufflenode.serialization.Serializer.writeJSObjectProperties:(Lcom/oracle/truffle/api/object/DynamicObject;Ljava/util/List;)V
29: aload 0
getstatic com.oracle.truffle.trufflenode.serialization.SerializationTag.END_SPARSE_JS_ARRAY:Lcom/oracle/truffle/trufflenode/serialization/SerializationTag;
invokevirtual com.oracle.truffle.trufflenode.serialization.Serializer.writeTag:(Lcom/oracle/truffle/trufflenode/serialization/SerializationTag;)V
30: StackMap locals:
StackMap stack:
aload 0
aload 4
invokeinterface java.util.List.size:()I
i2l
invokevirtual com.oracle.truffle.trufflenode.serialization.Serializer.writeVarInt:(J)V
31: aload 0
lload 2
invokevirtual com.oracle.truffle.trufflenode.serialization.Serializer.writeVarInt:(J)V
32: return
end local 5 end local 4 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 33 0 this Lcom/oracle/truffle/trufflenode/serialization/Serializer;
0 33 1 object Lcom/oracle/truffle/api/object/DynamicObject;
2 33 2 length J
3 33 4 names Ljava/util/List<Ljava/lang/String;>;
6 33 5 dense Z
8 14 6 i I
19 23 6 i I
MethodParameters:
Name Flags
object
private void writeJSArrayBufferView(com.oracle.truffle.api.object.DynamicObject);
descriptor: (Lcom/oracle/truffle/api/object/DynamicObject;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=6, args_size=2
start local 0 start local 1 0: aload 0
getfield com.oracle.truffle.trufflenode.serialization.Serializer.treatArrayBufferViewsAsHostObjects:Z
ifeq 3
1: aload 0
aload 1
invokevirtual com.oracle.truffle.trufflenode.serialization.Serializer.writeHostObject:(Ljava/lang/Object;)V
2: goto 8
3: StackMap locals:
StackMap stack:
aload 1
invokestatic com.oracle.truffle.js.runtime.builtins.JSArrayBufferView.typedArrayGetOffset:(Lcom/oracle/truffle/api/object/DynamicObject;)I
istore 2
start local 2 4: aload 1
invokestatic com.oracle.truffle.js.runtime.builtins.JSArrayBufferView.typedArrayGetArrayType:(Lcom/oracle/truffle/api/object/DynamicObject;)Lcom/oracle/truffle/js/runtime/array/TypedArray;
astore 3
start local 3 5: aload 3
aload 1
invokevirtual com.oracle.truffle.js.runtime.array.TypedArray.lengthInt:(Lcom/oracle/truffle/api/object/DynamicObject;)I
aload 3
invokevirtual com.oracle.truffle.js.runtime.array.TypedArray.bytesPerElement:()I
imul
istore 4
start local 4 6: aload 3
invokevirtual com.oracle.truffle.js.runtime.array.TypedArray.getFactory:()Lcom/oracle/truffle/js/runtime/array/TypedArrayFactory;
invokestatic com.oracle.truffle.trufflenode.serialization.ArrayBufferViewTag.fromFactory:(Lcom/oracle/truffle/js/runtime/array/TypedArrayFactory;)Lcom/oracle/truffle/trufflenode/serialization/ArrayBufferViewTag;
astore 5
start local 5 7: aload 0
aload 5
iload 2
iload 4
invokevirtual com.oracle.truffle.trufflenode.serialization.Serializer.writeJSArrayBufferView:(Lcom/oracle/truffle/trufflenode/serialization/ArrayBufferViewTag;II)V
end local 5 end local 4 end local 3 end local 2 8: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lcom/oracle/truffle/trufflenode/serialization/Serializer;
0 9 1 view Lcom/oracle/truffle/api/object/DynamicObject;
4 8 2 offset I
5 8 3 typedArray Lcom/oracle/truffle/js/runtime/array/TypedArray;
6 8 4 length I
7 8 5 tag Lcom/oracle/truffle/trufflenode/serialization/ArrayBufferViewTag;
MethodParameters:
Name Flags
view
private void writeJSDataView(com.oracle.truffle.api.object.DynamicObject);
descriptor: (Lcom/oracle/truffle/api/object/DynamicObject;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=4, args_size=2
start local 0 start local 1 0: aload 0
getfield com.oracle.truffle.trufflenode.serialization.Serializer.treatArrayBufferViewsAsHostObjects:Z
ifeq 4
1: aload 0
getstatic com.oracle.truffle.trufflenode.serialization.SerializationTag.HOST_OBJECT:Lcom/oracle/truffle/trufflenode/serialization/SerializationTag;
invokevirtual com.oracle.truffle.trufflenode.serialization.Serializer.writeTag:(Lcom/oracle/truffle/trufflenode/serialization/SerializationTag;)V
2: aload 0
getfield com.oracle.truffle.trufflenode.serialization.Serializer.delegate:J
aload 1
invokestatic com.oracle.truffle.trufflenode.NativeAccess.writeHostObject:(JLjava/lang/Object;)V
3: goto 7
4: StackMap locals:
StackMap stack:
aload 1
invokestatic com.oracle.truffle.js.runtime.builtins.JSDataView.typedArrayGetOffset:(Lcom/oracle/truffle/api/object/DynamicObject;)I
istore 2
start local 2 5: aload 1
invokestatic com.oracle.truffle.js.runtime.builtins.JSDataView.typedArrayGetLength:(Lcom/oracle/truffle/api/object/DynamicObject;)I
istore 3
start local 3 6: aload 0
getstatic com.oracle.truffle.trufflenode.serialization.ArrayBufferViewTag.DATA_VIEW:Lcom/oracle/truffle/trufflenode/serialization/ArrayBufferViewTag;
iload 2
iload 3
invokevirtual com.oracle.truffle.trufflenode.serialization.Serializer.writeJSArrayBufferView:(Lcom/oracle/truffle/trufflenode/serialization/ArrayBufferViewTag;II)V
end local 3 end local 2 7: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lcom/oracle/truffle/trufflenode/serialization/Serializer;
0 8 1 view Lcom/oracle/truffle/api/object/DynamicObject;
5 7 2 offset I
6 7 3 length I
MethodParameters:
Name Flags
view
private void writeJSArrayBufferView(com.oracle.truffle.trufflenode.serialization.ArrayBufferViewTag, int, int);
descriptor: (Lcom/oracle/truffle/trufflenode/serialization/ArrayBufferViewTag;II)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
getstatic com.oracle.truffle.trufflenode.serialization.SerializationTag.ARRAY_BUFFER_VIEW:Lcom/oracle/truffle/trufflenode/serialization/SerializationTag;
invokevirtual com.oracle.truffle.trufflenode.serialization.Serializer.writeTag:(Lcom/oracle/truffle/trufflenode/serialization/SerializationTag;)V
1: aload 0
aload 1
invokevirtual com.oracle.truffle.trufflenode.serialization.Serializer.writeTag:(Lcom/oracle/truffle/trufflenode/serialization/ArrayBufferViewTag;)V
2: aload 0
iload 2
i2l
invokevirtual com.oracle.truffle.trufflenode.serialization.Serializer.writeVarInt:(J)V
3: aload 0
iload 3
i2l
invokevirtual com.oracle.truffle.trufflenode.serialization.Serializer.writeVarInt:(J)V
4: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lcom/oracle/truffle/trufflenode/serialization/Serializer;
0 5 1 tag Lcom/oracle/truffle/trufflenode/serialization/ArrayBufferViewTag;
0 5 2 offset I
0 5 3 length I
MethodParameters:
Name Flags
tag
offset
length
private void writeBigIntContents(com.oracle.truffle.js.runtime.BigInt);
descriptor: (Lcom/oracle/truffle/js/runtime/BigInt;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=11, args_size=2
start local 0 start local 1 0: aload 1
invokevirtual com.oracle.truffle.js.runtime.BigInt.bigIntegerValue:()Ljava/math/BigInteger;
astore 2
start local 2 1: aload 2
invokevirtual java.math.BigInteger.signum:()I
iconst_m1
if_icmpne 2
iconst_1
goto 3
StackMap locals: java.math.BigInteger
StackMap stack:
2: iconst_0
StackMap locals:
StackMap stack: int
3: istore 3
start local 3 4: iload 3
ifeq 6
5: aload 2
invokevirtual java.math.BigInteger.negate:()Ljava/math/BigInteger;
astore 2
6: StackMap locals: int
StackMap stack:
aload 2
invokevirtual java.math.BigInteger.bitLength:()I
istore 4
start local 4 7: iload 4
bipush 63
iadd
bipush 64
idiv
istore 5
start local 5 8: iload 5
bipush 8
imul
istore 6
start local 6 9: iload 6
istore 7
start local 7 10: iload 7
iconst_1
ishl
istore 7
11: iload 3
ifeq 13
12: iinc 7 1
13: StackMap locals: com.oracle.truffle.trufflenode.serialization.Serializer com.oracle.truffle.js.runtime.BigInt java.math.BigInteger int int int int int
StackMap stack:
aload 0
iload 7
i2l
invokevirtual com.oracle.truffle.trufflenode.serialization.Serializer.writeVarInt:(J)V
14: iconst_0
istore 8
start local 8 15: goto 26
16: StackMap locals: int
StackMap stack:
iconst_0
istore 9
start local 9 17: bipush 8
iload 8
iconst_1
iadd
imul
iconst_1
isub
istore 10
start local 10 18: goto 23
19: StackMap locals: int int
StackMap stack:
iload 9
iconst_1
ishl
i2b
istore 9
20: aload 2
iload 10
invokevirtual java.math.BigInteger.testBit:(I)Z
ifeq 22
21: iload 9
iconst_1
iadd
i2b
istore 9
22: StackMap locals:
StackMap stack:
iinc 10 -1
StackMap locals:
StackMap stack:
23: iload 10
bipush 8
iload 8
imul
if_icmpge 19
end local 10 24: aload 0
iload 9
invokevirtual com.oracle.truffle.trufflenode.serialization.Serializer.writeByte:(B)V
end local 9 25: iinc 8 1
StackMap locals:
StackMap stack:
26: iload 8
iload 6
if_icmplt 16
end local 8 27: return
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 28 0 this Lcom/oracle/truffle/trufflenode/serialization/Serializer;
0 28 1 value Lcom/oracle/truffle/js/runtime/BigInt;
1 28 2 bigInteger Ljava/math/BigInteger;
4 28 3 negative Z
7 28 4 bitLength I
8 28 5 digits I
9 28 6 bytes I
10 28 7 bitfield I
15 27 8 i I
17 25 9 b B
18 24 10 bit I
MethodParameters:
Name Flags
value
private void writeJSError(com.oracle.truffle.api.object.DynamicObject);
descriptor: (Lcom/oracle/truffle/api/object/DynamicObject;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=4, args_size=2
start local 0 start local 1 0: aload 0
getstatic com.oracle.truffle.trufflenode.serialization.SerializationTag.ERROR:Lcom/oracle/truffle/trufflenode/serialization/SerializationTag;
invokevirtual com.oracle.truffle.trufflenode.serialization.Serializer.writeTag:(Lcom/oracle/truffle/trufflenode/serialization/SerializationTag;)V
1: aload 0
aload 1
invokevirtual com.oracle.truffle.trufflenode.serialization.Serializer.writeErrorTypeTag:(Lcom/oracle/truffle/api/object/DynamicObject;)V
2: aload 1
ldc "message"
invokestatic com.oracle.truffle.js.runtime.objects.JSObject.getOwnProperty:(Lcom/oracle/truffle/api/object/DynamicObject;Ljava/lang/Object;)Lcom/oracle/truffle/js/runtime/objects/PropertyDescriptor;
astore 2
start local 2 3: aload 2
ifnull 7
aload 2
invokevirtual com.oracle.truffle.js.runtime.objects.PropertyDescriptor.isDataDescriptor:()Z
ifeq 7
4: aload 0
getstatic com.oracle.truffle.trufflenode.serialization.ErrorTag.MESSAGE:Lcom/oracle/truffle/trufflenode/serialization/ErrorTag;
invokevirtual com.oracle.truffle.trufflenode.serialization.Serializer.writeTag:(Lcom/oracle/truffle/trufflenode/serialization/ErrorTag;)V
5: aload 2
invokevirtual com.oracle.truffle.js.runtime.objects.PropertyDescriptor.getValue:()Ljava/lang/Object;
invokestatic com.oracle.truffle.js.runtime.JSRuntime.toString:(Ljava/lang/Object;)Ljava/lang/String;
astore 3
start local 3 6: aload 0
aload 3
invokevirtual com.oracle.truffle.trufflenode.serialization.Serializer.writeString:(Ljava/lang/String;)V
end local 3 7: StackMap locals: com.oracle.truffle.js.runtime.objects.PropertyDescriptor
StackMap stack:
aload 1
ldc "stack"
invokestatic com.oracle.truffle.js.runtime.objects.JSObject.get:(Lcom/oracle/truffle/api/object/DynamicObject;Ljava/lang/Object;)Ljava/lang/Object;
astore 3
start local 3 8: aload 3
invokestatic com.oracle.truffle.js.runtime.JSRuntime.isString:(Ljava/lang/Object;)Z
ifeq 11
9: aload 0
getstatic com.oracle.truffle.trufflenode.serialization.ErrorTag.STACK:Lcom/oracle/truffle/trufflenode/serialization/ErrorTag;
invokevirtual com.oracle.truffle.trufflenode.serialization.Serializer.writeTag:(Lcom/oracle/truffle/trufflenode/serialization/ErrorTag;)V
10: aload 0
aload 3
invokestatic com.oracle.truffle.js.runtime.JSRuntime.toStringIsString:(Ljava/lang/Object;)Ljava/lang/String;
invokevirtual com.oracle.truffle.trufflenode.serialization.Serializer.writeString:(Ljava/lang/String;)V
11: StackMap locals: java.lang.Object
StackMap stack:
aload 0
getstatic com.oracle.truffle.trufflenode.serialization.ErrorTag.END:Lcom/oracle/truffle/trufflenode/serialization/ErrorTag;
invokevirtual com.oracle.truffle.trufflenode.serialization.Serializer.writeTag:(Lcom/oracle/truffle/trufflenode/serialization/ErrorTag;)V
12: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 13 0 this Lcom/oracle/truffle/trufflenode/serialization/Serializer;
0 13 1 error Lcom/oracle/truffle/api/object/DynamicObject;
3 13 2 desc Lcom/oracle/truffle/js/runtime/objects/PropertyDescriptor;
6 7 3 message Ljava/lang/String;
8 13 3 stack Ljava/lang/Object;
MethodParameters:
Name Flags
error
private void writeErrorTypeTag(com.oracle.truffle.api.object.DynamicObject);
descriptor: (Lcom/oracle/truffle/api/object/DynamicObject;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=5, args_size=2
start local 0 start local 1 0: aload 1
invokestatic com.oracle.truffle.js.runtime.builtins.JSError.getException:(Lcom/oracle/truffle/api/object/DynamicObject;)Lcom/oracle/truffle/js/runtime/GraalJSException;
astore 2
start local 2 1: getstatic com.oracle.truffle.js.runtime.JSErrorType.Error:Lcom/oracle/truffle/js/runtime/JSErrorType;
astore 3
start local 3 2: aload 2
instanceof com.oracle.truffle.js.runtime.JSException
ifeq 4
3: aload 2
checkcast com.oracle.truffle.js.runtime.JSException
invokevirtual com.oracle.truffle.js.runtime.JSException.getErrorType:()Lcom/oracle/truffle/js/runtime/JSErrorType;
astore 3
4: StackMap locals: java.lang.Throwable com.oracle.truffle.js.runtime.JSErrorType
StackMap stack:
invokestatic com.oracle.truffle.trufflenode.serialization.Serializer.$SWITCH_TABLE$com$oracle$truffle$js$runtime$JSErrorType:()[I
aload 3
invokevirtual com.oracle.truffle.js.runtime.JSErrorType.ordinal:()I
iaload
tableswitch { // 2 - 7
2: 5
3: 7
4: 9
5: 11
6: 13
7: 15
default: 17
}
5: StackMap locals:
StackMap stack:
getstatic com.oracle.truffle.trufflenode.serialization.ErrorTag.EVAL_ERROR:Lcom/oracle/truffle/trufflenode/serialization/ErrorTag;
astore 4
start local 4 6: goto 19
end local 4 7: StackMap locals:
StackMap stack:
getstatic com.oracle.truffle.trufflenode.serialization.ErrorTag.RANGE_ERROR:Lcom/oracle/truffle/trufflenode/serialization/ErrorTag;
astore 4
start local 4 8: goto 19
end local 4 9: StackMap locals:
StackMap stack:
getstatic com.oracle.truffle.trufflenode.serialization.ErrorTag.REFERENCE_ERROR:Lcom/oracle/truffle/trufflenode/serialization/ErrorTag;
astore 4
start local 4 10: goto 19
end local 4 11: StackMap locals:
StackMap stack:
getstatic com.oracle.truffle.trufflenode.serialization.ErrorTag.SYNTAX_ERROR:Lcom/oracle/truffle/trufflenode/serialization/ErrorTag;
astore 4
start local 4 12: goto 19
end local 4 13: StackMap locals:
StackMap stack:
getstatic com.oracle.truffle.trufflenode.serialization.ErrorTag.TYPE_ERROR:Lcom/oracle/truffle/trufflenode/serialization/ErrorTag;
astore 4
start local 4 14: goto 19
end local 4 15: StackMap locals:
StackMap stack:
getstatic com.oracle.truffle.trufflenode.serialization.ErrorTag.URI_ERROR:Lcom/oracle/truffle/trufflenode/serialization/ErrorTag;
astore 4
start local 4 16: goto 19
end local 4 17: StackMap locals:
StackMap stack:
aconst_null
astore 4
start local 4 18: getstatic com.oracle.truffle.trufflenode.serialization.Serializer.$assertionsDisabled:Z
ifne 19
aload 3
getstatic com.oracle.truffle.js.runtime.JSErrorType.Error:Lcom/oracle/truffle/js/runtime/JSErrorType;
if_acmpeq 19
aload 3
getstatic com.oracle.truffle.js.runtime.JSErrorType.AggregateError:Lcom/oracle/truffle/js/runtime/JSErrorType;
if_acmpeq 19
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
19: StackMap locals: com.oracle.truffle.trufflenode.serialization.ErrorTag
StackMap stack:
aload 4
ifnull 21
20: aload 0
aload 4
invokevirtual com.oracle.truffle.trufflenode.serialization.Serializer.writeTag:(Lcom/oracle/truffle/trufflenode/serialization/ErrorTag;)V
21: StackMap locals:
StackMap stack:
return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 22 0 this Lcom/oracle/truffle/trufflenode/serialization/Serializer;
0 22 1 error Lcom/oracle/truffle/api/object/DynamicObject;
1 22 2 exception Ljava/lang/Throwable;
2 22 3 errorType Lcom/oracle/truffle/js/runtime/JSErrorType;
6 7 4 tag Lcom/oracle/truffle/trufflenode/serialization/ErrorTag;
8 9 4 tag Lcom/oracle/truffle/trufflenode/serialization/ErrorTag;
10 11 4 tag Lcom/oracle/truffle/trufflenode/serialization/ErrorTag;
12 13 4 tag Lcom/oracle/truffle/trufflenode/serialization/ErrorTag;
14 15 4 tag Lcom/oracle/truffle/trufflenode/serialization/ErrorTag;
16 17 4 tag Lcom/oracle/truffle/trufflenode/serialization/ErrorTag;
18 22 4 tag Lcom/oracle/truffle/trufflenode/serialization/ErrorTag;
MethodParameters:
Name Flags
error
private void writeHostObject(java.lang.Object);
descriptor: (Ljava/lang/Object;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getstatic com.oracle.truffle.trufflenode.serialization.SerializationTag.HOST_OBJECT:Lcom/oracle/truffle/trufflenode/serialization/SerializationTag;
invokevirtual com.oracle.truffle.trufflenode.serialization.Serializer.writeTag:(Lcom/oracle/truffle/trufflenode/serialization/SerializationTag;)V
1: aload 0
getfield com.oracle.truffle.trufflenode.serialization.Serializer.delegate:J
aload 1
invokestatic com.oracle.truffle.trufflenode.NativeAccess.writeHostObject:(JLjava/lang/Object;)V
2: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/oracle/truffle/trufflenode/serialization/Serializer;
0 3 1 object Ljava/lang/Object;
MethodParameters:
Name Flags
object
public void transferArrayBuffer(int, java.lang.Object);
descriptor: (ILjava/lang/Object;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield com.oracle.truffle.trufflenode.serialization.Serializer.transferMap:Ljava/util/Map;
aload 2
iload 1
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
1: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/oracle/truffle/trufflenode/serialization/Serializer;
0 2 1 id I
0 2 2 arrayBuffer Ljava/lang/Object;
MethodParameters:
Name Flags
id
arrayBuffer
public int size();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield com.oracle.truffle.trufflenode.serialization.Serializer.buffer:Ljava/nio/ByteBuffer;
invokevirtual java.nio.ByteBuffer.position:()I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/trufflenode/serialization/Serializer;
public void release(java.nio.ByteBuffer);
descriptor: (Ljava/nio/ByteBuffer;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield com.oracle.truffle.trufflenode.serialization.Serializer.buffer:Ljava/nio/ByteBuffer;
invokevirtual java.nio.ByteBuffer.flip:()Ljava/nio/ByteBuffer;
pop
1: aload 1
aload 0
getfield com.oracle.truffle.trufflenode.serialization.Serializer.buffer:Ljava/nio/ByteBuffer;
invokevirtual java.nio.ByteBuffer.put:(Ljava/nio/ByteBuffer;)Ljava/nio/ByteBuffer;
pop
2: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/oracle/truffle/trufflenode/serialization/Serializer;
0 3 1 targetBuffer Ljava/nio/ByteBuffer;
MethodParameters:
Name Flags
targetBuffer
private void assignId(java.lang.Object);
descriptor: (Ljava/lang/Object;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=6, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield com.oracle.truffle.trufflenode.serialization.Serializer.objectMap:Ljava/util/Map;
aload 1
aload 0
dup
getfield com.oracle.truffle.trufflenode.serialization.Serializer.nextId:I
dup_x1
iconst_1
iadd
putfield com.oracle.truffle.trufflenode.serialization.Serializer.nextId:I
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/oracle/truffle/trufflenode/serialization/Serializer;
0 2 1 object Ljava/lang/Object;
MethodParameters:
Name Flags
object
static int[] $SWITCH_TABLE$com$oracle$truffle$js$runtime$JSErrorType();
descriptor: ()[I
flags: (0x1008) ACC_STATIC, ACC_SYNTHETIC
Code:
stack=3, locals=1, args_size=0
0: getstatic com.oracle.truffle.trufflenode.serialization.Serializer.$SWITCH_TABLE$com$oracle$truffle$js$runtime$JSErrorType:[I
dup
ifnull 1
areturn
StackMap locals:
StackMap stack: int[]
1: pop
invokestatic com.oracle.truffle.js.runtime.JSErrorType.values:()[Lcom/oracle/truffle/js/runtime/JSErrorType;
arraylength
newarray 10
astore 0
2: aload 0
getstatic com.oracle.truffle.js.runtime.JSErrorType.AggregateError:Lcom/oracle/truffle/js/runtime/JSErrorType;
invokevirtual com.oracle.truffle.js.runtime.JSErrorType.ordinal:()I
bipush 8
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.js.runtime.JSErrorType.Error:Lcom/oracle/truffle/js/runtime/JSErrorType;
invokevirtual com.oracle.truffle.js.runtime.JSErrorType.ordinal:()I
iconst_1
iastore
6: goto 8
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
7: pop
StackMap locals:
StackMap stack:
8: aload 0
getstatic com.oracle.truffle.js.runtime.JSErrorType.EvalError:Lcom/oracle/truffle/js/runtime/JSErrorType;
invokevirtual com.oracle.truffle.js.runtime.JSErrorType.ordinal:()I
iconst_2
iastore
9: goto 11
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
10: pop
StackMap locals:
StackMap stack:
11: aload 0
getstatic com.oracle.truffle.js.runtime.JSErrorType.RangeError:Lcom/oracle/truffle/js/runtime/JSErrorType;
invokevirtual com.oracle.truffle.js.runtime.JSErrorType.ordinal:()I
iconst_3
iastore
12: goto 14
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
13: pop
StackMap locals:
StackMap stack:
14: aload 0
getstatic com.oracle.truffle.js.runtime.JSErrorType.ReferenceError:Lcom/oracle/truffle/js/runtime/JSErrorType;
invokevirtual com.oracle.truffle.js.runtime.JSErrorType.ordinal:()I
iconst_4
iastore
15: goto 17
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
16: pop
StackMap locals:
StackMap stack:
17: aload 0
getstatic com.oracle.truffle.js.runtime.JSErrorType.SyntaxError:Lcom/oracle/truffle/js/runtime/JSErrorType;
invokevirtual com.oracle.truffle.js.runtime.JSErrorType.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.js.runtime.JSErrorType.TypeError:Lcom/oracle/truffle/js/runtime/JSErrorType;
invokevirtual com.oracle.truffle.js.runtime.JSErrorType.ordinal:()I
bipush 6
iastore
21: goto 23
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
22: pop
StackMap locals:
StackMap stack:
23: aload 0
getstatic com.oracle.truffle.js.runtime.JSErrorType.URIError:Lcom/oracle/truffle/js/runtime/JSErrorType;
invokevirtual com.oracle.truffle.js.runtime.JSErrorType.ordinal:()I
bipush 7
iastore
24: goto 26
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
25: pop
StackMap locals:
StackMap stack:
26: aload 0
dup
putstatic com.oracle.truffle.trufflenode.serialization.Serializer.$SWITCH_TABLE$com$oracle$truffle$js$runtime$JSErrorType:[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
}
SourceFile: "Serializer.java"
InnerClasses:
public final Env = com.oracle.truffle.api.TruffleLanguage$Env of com.oracle.truffle.api.TruffleLanguage
public abstract Cursor = com.oracle.truffle.js.runtime.util.JSHashMap$Cursor of com.oracle.truffle.js.runtime.util.JSHashMap