public abstract class com.oracle.truffle.trufflenode.buffer.NIOBufferAccessNode extends com.oracle.truffle.js.nodes.function.JSBuiltinNode
minor version: 0
major version: 59
flags: flags: (0x0421) ACC_PUBLIC, ACC_SUPER, ACC_ABSTRACT
this_class: com.oracle.truffle.trufflenode.buffer.NIOBufferAccessNode
super_class: com.oracle.truffle.js.nodes.function.JSBuiltinNode
{
protected static final java.nio.charset.Charset utf8;
descriptor: Ljava/nio/charset/Charset;
flags: (0x001c) ACC_PROTECTED, ACC_STATIC, ACC_FINAL
protected com.oracle.truffle.js.nodes.access.ArrayBufferViewGetByteLengthNode getLenNode;
descriptor: Lcom/oracle/truffle/js/nodes/access/ArrayBufferViewGetByteLengthNode;
flags: (0x0004) ACC_PROTECTED
RuntimeVisibleAnnotations:
com.oracle.truffle.api.nodes.Node$Child()
static final boolean $assertionsDisabled;
descriptor: Z
flags: (0x1018) ACC_STATIC, ACC_FINAL, ACC_SYNTHETIC
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=1, locals=0, args_size=0
0: ldc Lcom/oracle/truffle/trufflenode/buffer/NIOBufferAccessNode;
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.buffer.NIOBufferAccessNode.$assertionsDisabled:Z
3: ldc "UTF-8"
invokestatic java.nio.charset.Charset.forName:(Ljava/lang/String;)Ljava/nio/charset/Charset;
putstatic com.oracle.truffle.trufflenode.buffer.NIOBufferAccessNode.utf8:Ljava/nio/charset/Charset;
return
LocalVariableTable:
Start End Slot Name Signature
public void <init>(com.oracle.truffle.js.runtime.JSContext, com.oracle.truffle.js.nodes.function.JSBuiltin);
descriptor: (Lcom/oracle/truffle/js/runtime/JSContext;Lcom/oracle/truffle/js/nodes/function/JSBuiltin;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=3
start local 0 0: new java.lang.Error
dup
ldc "Unresolved compilation problems: \n\tThe import com.oracle.truffle.js.nodes.access.ArrayBufferViewGetByteLengthNodeGen cannot be resolved\n\tArrayBufferViewGetByteLengthNodeGen cannot be resolved\n"
invokespecial java.lang.Error.<init>:(Ljava/lang/String;)V
athrow
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/trufflenode/buffer/NIOBufferAccessNode;
MethodParameters:
Name Flags
context
builtin
protected static com.oracle.truffle.api.object.DynamicObject getArrayBuffer(com.oracle.truffle.api.object.DynamicObject);
descriptor: (Lcom/oracle/truffle/api/object/DynamicObject;)Lcom/oracle/truffle/api/object/DynamicObject;
flags: (0x000c) ACC_PROTECTED, ACC_STATIC
Code:
stack=3, locals=2, args_size=1
start local 0 0: getstatic com.oracle.truffle.trufflenode.buffer.NIOBufferAccessNode.$assertionsDisabled:Z
ifne 1
aload 0
invokestatic com.oracle.truffle.js.runtime.builtins.JSArrayBufferView.isJSArrayBufferView:(Ljava/lang/Object;)Z
ifne 1
new java.lang.AssertionError
dup
ldc "Target object must be a JSArrayBufferView"
invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
athrow
1: StackMap locals:
StackMap stack:
aload 0
invokestatic com.oracle.truffle.js.runtime.builtins.JSArrayBufferView.getArrayBuffer:(Lcom/oracle/truffle/api/object/DynamicObject;)Lcom/oracle/truffle/api/object/DynamicObject;
astore 1
start local 1 2: getstatic com.oracle.truffle.trufflenode.buffer.NIOBufferAccessNode.$assertionsDisabled:Z
ifne 3
aload 1
invokestatic com.oracle.truffle.js.runtime.builtins.JSArrayBuffer.isJSDirectArrayBuffer:(Ljava/lang/Object;)Z
ifne 3
aload 1
invokestatic com.oracle.truffle.js.runtime.builtins.JSSharedArrayBuffer.isJSSharedArrayBuffer:(Ljava/lang/Object;)Z
ifne 3
new java.lang.AssertionError
dup
ldc "Target buffer must be a DirectArrayBuffer"
invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
athrow
3: StackMap locals: com.oracle.truffle.api.object.DynamicObject
StackMap stack:
aload 1
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 target Lcom/oracle/truffle/api/object/DynamicObject;
2 4 1 arrayBuffer Lcom/oracle/truffle/api/object/DynamicObject;
MethodParameters:
Name Flags
target
protected static java.nio.ByteBuffer getDirectByteBuffer(com.oracle.truffle.api.object.DynamicObject);
descriptor: (Lcom/oracle/truffle/api/object/DynamicObject;)Ljava/nio/ByteBuffer;
flags: (0x000c) ACC_PROTECTED, ACC_STATIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
invokestatic com.oracle.truffle.js.runtime.builtins.JSArrayBuffer.isJSDirectArrayBuffer:(Ljava/lang/Object;)Z
ifeq 2
1: aload 0
invokestatic com.oracle.truffle.js.runtime.builtins.JSArrayBuffer.getDirectByteBuffer:(Lcom/oracle/truffle/api/object/DynamicObject;)Ljava/nio/ByteBuffer;
areturn
2: StackMap locals:
StackMap stack:
getstatic com.oracle.truffle.trufflenode.buffer.NIOBufferAccessNode.$assertionsDisabled:Z
ifne 3
aload 0
invokestatic com.oracle.truffle.js.runtime.builtins.JSSharedArrayBuffer.isJSSharedArrayBuffer:(Ljava/lang/Object;)Z
ifne 3
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
3: StackMap locals:
StackMap stack:
aload 0
invokestatic com.oracle.truffle.js.runtime.builtins.JSSharedArrayBuffer.getDirectByteBuffer:(Lcom/oracle/truffle/api/object/DynamicObject;)Ljava/nio/ByteBuffer;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 arrayBuffer Lcom/oracle/truffle/api/object/DynamicObject;
MethodParameters:
Name Flags
arrayBuffer
protected int getOffset(com.oracle.truffle.api.object.DynamicObject);
descriptor: (Lcom/oracle/truffle/api/object/DynamicObject;)I
flags: (0x0004) ACC_PROTECTED
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: aload 1
aload 0
invokevirtual com.oracle.truffle.trufflenode.buffer.NIOBufferAccessNode.getContext:()Lcom/oracle/truffle/js/runtime/JSContext;
invokestatic com.oracle.truffle.js.runtime.builtins.JSArrayBufferView.getByteOffset:(Lcom/oracle/truffle/api/object/DynamicObject;Lcom/oracle/truffle/js/runtime/JSContext;)I
istore 2
start local 2 1: iload 2
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/oracle/truffle/trufflenode/buffer/NIOBufferAccessNode;
0 2 1 target Lcom/oracle/truffle/api/object/DynamicObject;
1 2 2 byteOffset I
MethodParameters:
Name Flags
target
protected int getLength(com.oracle.truffle.api.object.DynamicObject);
descriptor: (Lcom/oracle/truffle/api/object/DynamicObject;)I
flags: (0x0004) ACC_PROTECTED
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield com.oracle.truffle.trufflenode.buffer.NIOBufferAccessNode.getLenNode:Lcom/oracle/truffle/js/nodes/access/ArrayBufferViewGetByteLengthNode;
aload 1
invokevirtual com.oracle.truffle.js.nodes.access.ArrayBufferViewGetByteLengthNode.executeInt:(Lcom/oracle/truffle/api/object/DynamicObject;)I
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/trufflenode/buffer/NIOBufferAccessNode;
0 1 1 target Lcom/oracle/truffle/api/object/DynamicObject;
MethodParameters:
Name Flags
target
protected void outOfBoundsFail();
descriptor: ()V
flags: (0x0004) ACC_PROTECTED
Code:
stack=3, locals=3, args_size=1
start local 0 0: ldc "out of range index"
invokestatic com.oracle.truffle.js.runtime.Errors.createRangeError:(Ljava/lang/String;)Lcom/oracle/truffle/js/runtime/JSException;
astore 1
start local 1 1: aload 1
aload 0
invokevirtual com.oracle.truffle.trufflenode.buffer.NIOBufferAccessNode.getContext:()Lcom/oracle/truffle/js/runtime/JSContext;
invokevirtual com.oracle.truffle.js.runtime.JSException.getErrorObjectEager:(Lcom/oracle/truffle/js/runtime/JSContext;)Ljava/lang/Object;
checkcast com.oracle.truffle.api.object.DynamicObject
astore 2
start local 2 2: aload 2
ldc "code"
ldc "ERR_BUFFER_OUT_OF_BOUNDS"
invokestatic com.oracle.truffle.js.runtime.objects.JSObject.set:(Lcom/oracle/truffle/api/object/DynamicObject;Ljava/lang/Object;Ljava/lang/Object;)Z
pop
3: aload 1
athrow
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lcom/oracle/truffle/trufflenode/buffer/NIOBufferAccessNode;
1 4 1 exception Lcom/oracle/truffle/js/runtime/JSException;
2 4 2 errorObject Lcom/oracle/truffle/api/object/DynamicObject;
RuntimeVisibleAnnotations:
com.oracle.truffle.api.CompilerDirectives$TruffleBoundary()
protected static boolean accept(com.oracle.truffle.api.object.DynamicObject);
descriptor: (Lcom/oracle/truffle/api/object/DynamicObject;)Z
flags: (0x000c) ACC_PROTECTED, ACC_STATIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokestatic com.oracle.truffle.js.runtime.builtins.JSArrayBufferView.isJSArrayBufferView:(Ljava/lang/Object;)Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 target Lcom/oracle/truffle/api/object/DynamicObject;
MethodParameters:
Name Flags
target
}
SourceFile: "NIOBufferAccessNode.java"
InnerClasses:
public abstract TruffleBoundary = com.oracle.truffle.api.CompilerDirectives$TruffleBoundary of com.oracle.truffle.api.CompilerDirectives
public abstract Child = com.oracle.truffle.api.nodes.Node$Child of com.oracle.truffle.api.nodes.Node