public class com.oracle.truffle.js.test.instrumentation.MaterializedNodes
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: com.oracle.truffle.js.test.instrumentation.MaterializedNodes
super_class: java.lang.Object
{
private com.oracle.truffle.js.runtime.JSContext jsContext;
descriptor: Lcom/oracle/truffle/js/runtime/JSContext;
flags: (0x0002) ACC_PRIVATE
private org.graalvm.polyglot.Context polyContext;
descriptor: Lorg/graalvm/polyglot/Context;
flags: (0x0002) ACC_PRIVATE
private static final com.oracle.truffle.js.nodes.access.JSConstantNode dummy;
descriptor: Lcom/oracle/truffle/js/nodes/access/JSConstantNode;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final com.oracle.truffle.js.nodes.access.JSConstantNode dummyWithSourceSection;
descriptor: Lcom/oracle/truffle/js/nodes/access/JSConstantNode;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final com.oracle.truffle.js.nodes.JavaScriptNode dummyInt;
descriptor: Lcom/oracle/truffle/js/nodes/JavaScriptNode;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final com.oracle.truffle.js.nodes.JavaScriptNode dummyDouble;
descriptor: Lcom/oracle/truffle/js/nodes/JavaScriptNode;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final com.oracle.truffle.js.nodes.JavaScriptNode dummyJSNode;
descriptor: Lcom/oracle/truffle/js/nodes/JavaScriptNode;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final com.oracle.truffle.api.source.SourceSection dummySourceSection;
descriptor: Lcom/oracle/truffle/api/source/SourceSection;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
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=3, locals=0, args_size=0
0: ldc Lcom/oracle/truffle/js/test/instrumentation/MaterializedNodes;
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.js.test.instrumentation.MaterializedNodes.$assertionsDisabled:Z
3: invokestatic com.oracle.truffle.js.nodes.access.JSConstantNode.createUndefined:()Lcom/oracle/truffle/js/nodes/access/JSConstantNode;
putstatic com.oracle.truffle.js.test.instrumentation.MaterializedNodes.dummy:Lcom/oracle/truffle/js/nodes/access/JSConstantNode;
4: invokestatic com.oracle.truffle.js.nodes.access.JSConstantNode.createUndefined:()Lcom/oracle/truffle/js/nodes/access/JSConstantNode;
putstatic com.oracle.truffle.js.test.instrumentation.MaterializedNodes.dummyWithSourceSection:Lcom/oracle/truffle/js/nodes/access/JSConstantNode;
5: bipush 42
invokestatic com.oracle.truffle.js.nodes.access.JSConstantNode.createInt:(I)Lcom/oracle/truffle/js/nodes/access/JSConstantNode;
putstatic com.oracle.truffle.js.test.instrumentation.MaterializedNodes.dummyInt:Lcom/oracle/truffle/js/nodes/JavaScriptNode;
6: ldc 42.42
invokestatic com.oracle.truffle.js.nodes.access.JSConstantNode.createDouble:(D)Lcom/oracle/truffle/js/nodes/access/JSConstantNode;
putstatic com.oracle.truffle.js.test.instrumentation.MaterializedNodes.dummyDouble:Lcom/oracle/truffle/js/nodes/JavaScriptNode;
7: new com.oracle.truffle.js.test.instrumentation.MaterializedNodes$DummyConstantNode
dup
bipush 42
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
invokespecial com.oracle.truffle.js.test.instrumentation.MaterializedNodes$DummyConstantNode.<init>:(Ljava/lang/Object;)V
putstatic com.oracle.truffle.js.test.instrumentation.MaterializedNodes.dummyJSNode:Lcom/oracle/truffle/js/nodes/JavaScriptNode;
8: ldc "js"
ldc ""
ldc ""
invokestatic com.oracle.truffle.api.source.Source.newBuilder:(Ljava/lang/String;Ljava/lang/CharSequence;Ljava/lang/String;)Lcom/oracle/truffle/api/source/Source$LiteralBuilder;
invokevirtual com.oracle.truffle.api.source.Source$LiteralBuilder.build:()Lcom/oracle/truffle/api/source/Source;
invokevirtual com.oracle.truffle.api.source.Source.createUnavailableSection:()Lcom/oracle/truffle/api/source/SourceSection;
putstatic com.oracle.truffle.js.test.instrumentation.MaterializedNodes.dummySourceSection:Lcom/oracle/truffle/api/source/SourceSection;
return
LocalVariableTable:
Start End Slot Name Signature
public void <init>();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokespecial java.lang.Object.<init>:()V
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/js/test/instrumentation/MaterializedNodes;
public static void initClass();
descriptor: ()V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=0, args_size=0
0: getstatic com.oracle.truffle.js.test.instrumentation.MaterializedNodes.dummyWithSourceSection:Lcom/oracle/truffle/js/nodes/access/JSConstantNode;
getstatic com.oracle.truffle.js.test.instrumentation.MaterializedNodes.dummySourceSection:Lcom/oracle/truffle/api/source/SourceSection;
invokevirtual com.oracle.truffle.js.nodes.access.JSConstantNode.setSourceSection:(Lcom/oracle/truffle/api/source/SourceSection;)V
1: return
LocalVariableTable:
Start End Slot Name Signature
RuntimeVisibleAnnotations:
org.junit.BeforeClass()
public void init();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=1
start local 0 0: aload 0
iconst_0
anewarray java.lang.String
invokestatic com.oracle.truffle.js.test.instrumentation.TestUtil.newContextBuilder:([Ljava/lang/String;)Lorg/graalvm/polyglot/Context$Builder;
invokevirtual org.graalvm.polyglot.Context$Builder.build:()Lorg/graalvm/polyglot/Context;
putfield com.oracle.truffle.js.test.instrumentation.MaterializedNodes.polyContext:Lorg/graalvm/polyglot/Context;
1: aload 0
getfield com.oracle.truffle.js.test.instrumentation.MaterializedNodes.polyContext:Lorg/graalvm/polyglot/Context;
invokevirtual org.graalvm.polyglot.Context.enter:()V
2: aload 0
getfield com.oracle.truffle.js.test.instrumentation.MaterializedNodes.polyContext:Lorg/graalvm/polyglot/Context;
invokestatic com.oracle.truffle.js.lang.JavaScriptLanguage.getJSRealm:(Lorg/graalvm/polyglot/Context;)Lcom/oracle/truffle/js/runtime/JSRealm;
astore 1
start local 1 3: aload 0
aload 1
invokevirtual com.oracle.truffle.js.runtime.JSRealm.getContext:()Lcom/oracle/truffle/js/runtime/JSContext;
putfield com.oracle.truffle.js.test.instrumentation.MaterializedNodes.jsContext:Lcom/oracle/truffle/js/runtime/JSContext;
4: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lcom/oracle/truffle/js/test/instrumentation/MaterializedNodes;
3 5 1 jsRealm Lcom/oracle/truffle/js/runtime/JSRealm;
RuntimeVisibleAnnotations:
org.junit.Before()
public void dispose();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield com.oracle.truffle.js.test.instrumentation.MaterializedNodes.polyContext:Lorg/graalvm/polyglot/Context;
invokevirtual org.graalvm.polyglot.Context.leave:()V
1: aload 0
getfield com.oracle.truffle.js.test.instrumentation.MaterializedNodes.polyContext:Lorg/graalvm/polyglot/Context;
invokevirtual org.graalvm.polyglot.Context.close:()V
2: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/oracle/truffle/js/test/instrumentation/MaterializedNodes;
RuntimeVisibleAnnotations:
org.junit.After()
public void functionNode();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=5, args_size=1
start local 0 0: iconst_0
anewarray com.oracle.truffle.js.nodes.JavaScriptNode
astore 1
start local 1 1: invokestatic com.oracle.truffle.js.nodes.access.JSConstantNode.createUndefined:()Lcom/oracle/truffle/js/nodes/access/JSConstantNode;
aconst_null
aload 1
iconst_0
iconst_0
invokestatic com.oracle.truffle.js.nodes.function.JSFunctionCallNode.createCall:(Lcom/oracle/truffle/js/nodes/JavaScriptNode;Lcom/oracle/truffle/js/nodes/JavaScriptNode;[Lcom/oracle/truffle/js/nodes/JavaScriptNode;ZZ)Lcom/oracle/truffle/js/nodes/function/JSFunctionCallNode;
astore 2
start local 2 2: aload 2
ldc "js"
ldc ""
ldc ""
invokestatic com.oracle.truffle.api.source.Source.newBuilder:(Ljava/lang/String;Ljava/lang/CharSequence;Ljava/lang/String;)Lcom/oracle/truffle/api/source/Source$LiteralBuilder;
invokevirtual com.oracle.truffle.api.source.Source$LiteralBuilder.build:()Lcom/oracle/truffle/api/source/Source;
invokevirtual com.oracle.truffle.api.source.Source.createUnavailableSection:()Lcom/oracle/truffle/api/source/SourceSection;
invokevirtual com.oracle.truffle.js.nodes.function.JSFunctionCallNode.setSourceSection:(Lcom/oracle/truffle/api/source/SourceSection;)V
3: new java.util.HashSet
dup
invokespecial java.util.HashSet.<init>:()V
astore 3
start local 3 4: aload 3
ldc Lcom/oracle/truffle/js/nodes/instrumentation/JSTags$FunctionCallTag;
invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
pop
5: aload 2
invokevirtual com.oracle.truffle.js.nodes.function.JSFunctionCallNode.addStatementTag:()V
6: aload 2
aload 3
invokevirtual com.oracle.truffle.js.nodes.function.JSFunctionCallNode.materializeInstrumentableNodes:(Ljava/util/Set;)Lcom/oracle/truffle/api/instrumentation/InstrumentableNode;
checkcast com.oracle.truffle.js.nodes.function.JSFunctionCallNode
astore 4
start local 4 7: aload 4
ldc Lcom/oracle/truffle/api/instrumentation/StandardTags$StatementTag;
invokevirtual com.oracle.truffle.js.nodes.function.JSFunctionCallNode.hasTag:(Ljava/lang/Class;)Z
invokestatic org.junit.Assert.assertTrue:(Z)V
8: aload 4
invokevirtual com.oracle.truffle.js.nodes.function.JSFunctionCallNode.getTarget:()Lcom/oracle/truffle/js/nodes/JavaScriptNode;
ldc Lcom/oracle/truffle/api/instrumentation/StandardTags$StatementTag;
invokeinterface com.oracle.truffle.api.instrumentation.InstrumentableNode.hasTag:(Ljava/lang/Class;)Z
ifeq 9
iconst_0
goto 10
StackMap locals: com.oracle.truffle.js.test.instrumentation.MaterializedNodes com.oracle.truffle.js.nodes.JavaScriptNode[] com.oracle.truffle.js.nodes.function.JSFunctionCallNode java.util.Set com.oracle.truffle.js.nodes.function.JSFunctionCallNode
StackMap stack:
9: iconst_1
StackMap locals:
StackMap stack: int
10: invokestatic org.junit.Assert.assertTrue:(Z)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/js/test/instrumentation/MaterializedNodes;
1 12 1 args [Lcom/oracle/truffle/js/nodes/JavaScriptNode;
2 12 2 c Lcom/oracle/truffle/js/nodes/function/JSFunctionCallNode;
4 12 3 s Ljava/util/Set<Ljava/lang/Class<+Lcom/oracle/truffle/api/instrumentation/Tag;>;>;
7 12 4 m Lcom/oracle/truffle/js/nodes/function/JSFunctionCallNode;
RuntimeVisibleAnnotations:
org.junit.Test()
public void materializeMulti();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=7, args_size=1
start local 0 0: aload 0
getfield com.oracle.truffle.js.test.instrumentation.MaterializedNodes.jsContext:Lcom/oracle/truffle/js/runtime/JSContext;
ldc "test"
getstatic com.oracle.truffle.js.runtime.objects.Undefined.instance:Lcom/oracle/truffle/js/runtime/objects/JSDynamicObject;
invokestatic com.oracle.truffle.js.nodes.access.GlobalConstantNode.createGlobalConstant:(Lcom/oracle/truffle/js/runtime/JSContext;Ljava/lang/String;Ljava/lang/Object;)Lcom/oracle/truffle/js/nodes/access/JSTargetableNode;
astore 1
start local 1 1: iconst_0
anewarray com.oracle.truffle.js.nodes.JavaScriptNode
astore 2
start local 2 2: aload 1
aload 2
iconst_0
iconst_0
invokestatic com.oracle.truffle.js.nodes.function.JSFunctionCallNode.createInvoke:(Lcom/oracle/truffle/js/nodes/access/JSTargetableNode;[Lcom/oracle/truffle/js/nodes/JavaScriptNode;ZZ)Lcom/oracle/truffle/js/nodes/function/JSFunctionCallNode;
astore 3
start local 3 3: aload 3
ldc "js"
ldc ""
ldc ""
invokestatic com.oracle.truffle.api.source.Source.newBuilder:(Ljava/lang/String;Ljava/lang/CharSequence;Ljava/lang/String;)Lcom/oracle/truffle/api/source/Source$LiteralBuilder;
invokevirtual com.oracle.truffle.api.source.Source$LiteralBuilder.build:()Lcom/oracle/truffle/api/source/Source;
invokevirtual com.oracle.truffle.api.source.Source.createUnavailableSection:()Lcom/oracle/truffle/api/source/SourceSection;
invokevirtual com.oracle.truffle.js.nodes.function.JSFunctionCallNode.setSourceSection:(Lcom/oracle/truffle/api/source/SourceSection;)V
4: aload 1
ldc "js"
ldc ""
ldc ""
invokestatic com.oracle.truffle.api.source.Source.newBuilder:(Ljava/lang/String;Ljava/lang/CharSequence;Ljava/lang/String;)Lcom/oracle/truffle/api/source/Source$LiteralBuilder;
invokevirtual com.oracle.truffle.api.source.Source$LiteralBuilder.build:()Lcom/oracle/truffle/api/source/Source;
invokevirtual com.oracle.truffle.api.source.Source.createUnavailableSection:()Lcom/oracle/truffle/api/source/SourceSection;
invokevirtual com.oracle.truffle.js.nodes.access.JSTargetableNode.setSourceSection:(Lcom/oracle/truffle/api/source/SourceSection;)V
5: new java.util.HashSet
dup
invokespecial java.util.HashSet.<init>:()V
astore 4
start local 4 6: aload 4
ldc Lcom/oracle/truffle/js/nodes/instrumentation/JSTags$FunctionCallTag;
invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
pop
7: aload 3
invokevirtual com.oracle.truffle.js.nodes.function.JSFunctionCallNode.addStatementTag:()V
8: aload 3
aload 4
invokevirtual com.oracle.truffle.js.nodes.function.JSFunctionCallNode.materializeInstrumentableNodes:(Ljava/util/Set;)Lcom/oracle/truffle/api/instrumentation/InstrumentableNode;
checkcast com.oracle.truffle.js.nodes.function.JSFunctionCallNode
astore 5
start local 5 9: aload 5
aload 4
invokevirtual com.oracle.truffle.js.nodes.function.JSFunctionCallNode.materializeInstrumentableNodes:(Ljava/util/Set;)Lcom/oracle/truffle/api/instrumentation/InstrumentableNode;
checkcast com.oracle.truffle.js.nodes.function.JSFunctionCallNode
astore 5
10: aload 5
checkcast com.oracle.truffle.js.nodes.function.JSFunctionCallNode$InvokeNode
astore 6
start local 6 11: aload 6
invokevirtual com.oracle.truffle.js.nodes.function.JSFunctionCallNode$InvokeNode.getFunctionTargetNode:()Lcom/oracle/truffle/js/nodes/access/JSTargetableNode;
invokevirtual com.oracle.truffle.js.nodes.access.JSTargetableNode.getSourceSection:()Lcom/oracle/truffle/api/source/SourceSection;
ifnull 12
iconst_1
goto 13
StackMap locals: com.oracle.truffle.js.test.instrumentation.MaterializedNodes com.oracle.truffle.js.nodes.access.JSTargetableNode com.oracle.truffle.js.nodes.JavaScriptNode[] com.oracle.truffle.js.nodes.function.JSFunctionCallNode java.util.Set com.oracle.truffle.js.nodes.function.JSFunctionCallNode com.oracle.truffle.js.nodes.function.JSFunctionCallNode$InvokeNode
StackMap stack:
12: iconst_0
StackMap locals:
StackMap stack: int
13: invokestatic org.junit.Assert.assertTrue:(Z)V
14: aload 5
ldc Lcom/oracle/truffle/api/instrumentation/StandardTags$StatementTag;
invokevirtual com.oracle.truffle.js.nodes.function.JSFunctionCallNode.hasTag:(Ljava/lang/Class;)Z
invokestatic org.junit.Assert.assertTrue:(Z)V
15: aload 5
invokevirtual com.oracle.truffle.js.nodes.function.JSFunctionCallNode.getTarget:()Lcom/oracle/truffle/js/nodes/JavaScriptNode;
ldc Lcom/oracle/truffle/api/instrumentation/StandardTags$StatementTag;
invokeinterface com.oracle.truffle.api.instrumentation.InstrumentableNode.hasTag:(Ljava/lang/Class;)Z
ifeq 16
iconst_0
goto 17
StackMap locals:
StackMap stack:
16: iconst_1
StackMap locals:
StackMap stack: int
17: invokestatic org.junit.Assert.assertTrue:(Z)V
18: aload 5
invokevirtual com.oracle.truffle.js.nodes.function.JSFunctionCallNode.hasSourceSection:()Z
invokestatic org.junit.Assert.assertTrue:(Z)V
19: return
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 20 0 this Lcom/oracle/truffle/js/test/instrumentation/MaterializedNodes;
1 20 1 undef Lcom/oracle/truffle/js/nodes/access/JSTargetableNode;
2 20 2 args [Lcom/oracle/truffle/js/nodes/JavaScriptNode;
3 20 3 c Lcom/oracle/truffle/js/nodes/function/JSFunctionCallNode;
6 20 4 s Ljava/util/Set<Ljava/lang/Class<+Lcom/oracle/truffle/api/instrumentation/Tag;>;>;
9 20 5 m Lcom/oracle/truffle/js/nodes/function/JSFunctionCallNode;
11 20 6 i Lcom/oracle/truffle/js/nodes/function/JSFunctionCallNode$InvokeNode;
RuntimeVisibleAnnotations:
org.junit.Test()
public void desugaredAddNode();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=5, args_size=1
start local 0 0: getstatic com.oracle.truffle.js.test.instrumentation.MaterializedNodes.dummyDouble:Lcom/oracle/truffle/js/nodes/JavaScriptNode;
getstatic com.oracle.truffle.js.test.instrumentation.MaterializedNodes.dummyInt:Lcom/oracle/truffle/js/nodes/JavaScriptNode;
invokestatic com.oracle.truffle.js.nodes.binary.JSAddNode.create:(Lcom/oracle/truffle/js/nodes/JavaScriptNode;Lcom/oracle/truffle/js/nodes/JavaScriptNode;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
astore 1
start local 1 1: aload 1
ldc "js"
ldc ""
ldc ""
invokestatic com.oracle.truffle.api.source.Source.newBuilder:(Ljava/lang/String;Ljava/lang/CharSequence;Ljava/lang/String;)Lcom/oracle/truffle/api/source/Source$LiteralBuilder;
invokevirtual com.oracle.truffle.api.source.Source$LiteralBuilder.build:()Lcom/oracle/truffle/api/source/Source;
invokevirtual com.oracle.truffle.api.source.Source.createUnavailableSection:()Lcom/oracle/truffle/api/source/SourceSection;
invokevirtual com.oracle.truffle.js.nodes.JavaScriptNode.setSourceSection:(Lcom/oracle/truffle/api/source/SourceSection;)V
2: new java.util.HashSet
dup
invokespecial java.util.HashSet.<init>:()V
astore 2
start local 2 3: aload 2
ldc Lcom/oracle/truffle/js/nodes/instrumentation/JSTags$BinaryOperationTag;
invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
pop
4: aload 1
invokevirtual com.oracle.truffle.js.nodes.JavaScriptNode.addStatementTag:()V
5: aload 1
aload 2
invokevirtual com.oracle.truffle.js.nodes.JavaScriptNode.materializeInstrumentableNodes:(Ljava/util/Set;)Lcom/oracle/truffle/api/instrumentation/InstrumentableNode;
checkcast com.oracle.truffle.js.nodes.JavaScriptNode
astore 3
start local 3 6: aload 3
aconst_null
invokestatic com.oracle.truffle.js.nodes.JavaScriptNode.cloneUninitialized:(Lcom/oracle/truffle/js/nodes/JavaScriptNode;Ljava/util/Set;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
astore 4
start local 4 7: aload 4
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
aload 3
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
if_acmpne 8
iconst_1
goto 9
StackMap locals: com.oracle.truffle.js.test.instrumentation.MaterializedNodes com.oracle.truffle.js.nodes.JavaScriptNode java.util.Set com.oracle.truffle.js.nodes.JavaScriptNode com.oracle.truffle.js.nodes.JavaScriptNode
StackMap stack:
8: iconst_0
StackMap locals:
StackMap stack: int
9: invokestatic org.junit.Assert.assertTrue:(Z)V
10: return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Lcom/oracle/truffle/js/test/instrumentation/MaterializedNodes;
1 11 1 optimized Lcom/oracle/truffle/js/nodes/JavaScriptNode;
3 11 2 s Ljava/util/Set<Ljava/lang/Class<+Lcom/oracle/truffle/api/instrumentation/Tag;>;>;
6 11 3 desugared Lcom/oracle/truffle/js/nodes/JavaScriptNode;
7 11 4 cloned Lcom/oracle/truffle/js/nodes/JavaScriptNode;
RuntimeVisibleAnnotations:
org.junit.Test()
private com.oracle.truffle.js.runtime.JSContext getDummyCx();
descriptor: ()Lcom/oracle/truffle/js/runtime/JSContext;
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=1, args_size=1
start local 0 0: getstatic com.oracle.truffle.js.test.instrumentation.MaterializedNodes.$assertionsDisabled:Z
ifne 1
aload 0
getfield com.oracle.truffle.js.test.instrumentation.MaterializedNodes.jsContext:Lcom/oracle/truffle/js/runtime/JSContext;
ifnonnull 1
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
1: StackMap locals:
StackMap stack:
aload 0
getfield com.oracle.truffle.js.test.instrumentation.MaterializedNodes.jsContext:Lcom/oracle/truffle/js/runtime/JSContext;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/oracle/truffle/js/test/instrumentation/MaterializedNodes;
public void materializeTwiceGlobalProperty();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=1
start local 0 0: aload 0
invokevirtual com.oracle.truffle.js.test.instrumentation.MaterializedNodes.getDummyCx:()Lcom/oracle/truffle/js/runtime/JSContext;
ldc "foo"
invokestatic com.oracle.truffle.js.nodes.access.GlobalPropertyNode.createPropertyNode:(Lcom/oracle/truffle/js/runtime/JSContext;Ljava/lang/String;)Lcom/oracle/truffle/js/nodes/access/JSTargetableNode;
astore 1
start local 1 1: aload 1
ldc Lcom/oracle/truffle/js/nodes/instrumentation/JSTags$ReadPropertyTag;
invokestatic com.oracle.truffle.js.test.instrumentation.MaterializedNodes.assertNotMaterializedTwice:(Lcom/oracle/truffle/js/nodes/JavaScriptNode;Ljava/lang/Class;)V
2: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/oracle/truffle/js/test/instrumentation/MaterializedNodes;
1 3 1 prop Lcom/oracle/truffle/js/nodes/JavaScriptNode;
RuntimeVisibleAnnotations:
org.junit.Test()
public void materializeTwicePropertyRead();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=1
start local 0 0: aload 0
invokevirtual com.oracle.truffle.js.test.instrumentation.MaterializedNodes.getDummyCx:()Lcom/oracle/truffle/js/runtime/JSContext;
getstatic com.oracle.truffle.js.test.instrumentation.MaterializedNodes.dummy:Lcom/oracle/truffle/js/nodes/access/JSConstantNode;
ldc "foo"
invokestatic com.oracle.truffle.js.nodes.access.PropertyNode.createProperty:(Lcom/oracle/truffle/js/runtime/JSContext;Lcom/oracle/truffle/js/nodes/JavaScriptNode;Ljava/lang/Object;)Lcom/oracle/truffle/js/nodes/access/PropertyNode;
astore 1
start local 1 1: aload 1
ldc Lcom/oracle/truffle/js/nodes/instrumentation/JSTags$ReadPropertyTag;
invokestatic com.oracle.truffle.js.test.instrumentation.MaterializedNodes.assertNotMaterializedTwice:(Lcom/oracle/truffle/js/nodes/JavaScriptNode;Ljava/lang/Class;)V
2: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/oracle/truffle/js/test/instrumentation/MaterializedNodes;
1 3 1 prop Lcom/oracle/truffle/js/nodes/access/PropertyNode;
RuntimeVisibleAnnotations:
org.junit.Test()
public void materializeTwiceElementRead();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=1
start local 0 0: getstatic com.oracle.truffle.js.test.instrumentation.MaterializedNodes.dummy:Lcom/oracle/truffle/js/nodes/access/JSConstantNode;
getstatic com.oracle.truffle.js.test.instrumentation.MaterializedNodes.dummy:Lcom/oracle/truffle/js/nodes/access/JSConstantNode;
aload 0
invokevirtual com.oracle.truffle.js.test.instrumentation.MaterializedNodes.getDummyCx:()Lcom/oracle/truffle/js/runtime/JSContext;
invokestatic com.oracle.truffle.js.nodes.access.ReadElementNode.create:(Lcom/oracle/truffle/js/nodes/JavaScriptNode;Lcom/oracle/truffle/js/nodes/JavaScriptNode;Lcom/oracle/truffle/js/runtime/JSContext;)Lcom/oracle/truffle/js/nodes/access/ReadElementNode;
astore 1
start local 1 1: aload 1
ldc Lcom/oracle/truffle/js/nodes/instrumentation/JSTags$ReadElementTag;
invokestatic com.oracle.truffle.js.test.instrumentation.MaterializedNodes.assertNotMaterializedTwice:(Lcom/oracle/truffle/js/nodes/JavaScriptNode;Ljava/lang/Class;)V
2: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/oracle/truffle/js/test/instrumentation/MaterializedNodes;
1 3 1 elem Lcom/oracle/truffle/js/nodes/access/ReadElementNode;
RuntimeVisibleAnnotations:
org.junit.Test()
public void materializeTwiceElementReadIndexAndTargetWithSourceSection();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=1
start local 0 0: getstatic com.oracle.truffle.js.test.instrumentation.MaterializedNodes.dummyWithSourceSection:Lcom/oracle/truffle/js/nodes/access/JSConstantNode;
getstatic com.oracle.truffle.js.test.instrumentation.MaterializedNodes.dummyWithSourceSection:Lcom/oracle/truffle/js/nodes/access/JSConstantNode;
aload 0
invokevirtual com.oracle.truffle.js.test.instrumentation.MaterializedNodes.getDummyCx:()Lcom/oracle/truffle/js/runtime/JSContext;
invokestatic com.oracle.truffle.js.nodes.access.ReadElementNode.create:(Lcom/oracle/truffle/js/nodes/JavaScriptNode;Lcom/oracle/truffle/js/nodes/JavaScriptNode;Lcom/oracle/truffle/js/runtime/JSContext;)Lcom/oracle/truffle/js/nodes/access/ReadElementNode;
astore 1
start local 1 1: aload 1
ldc Lcom/oracle/truffle/js/nodes/instrumentation/JSTags$ReadElementTag;
invokestatic com.oracle.truffle.js.test.instrumentation.MaterializedNodes.assertNotMaterializedTwice:(Lcom/oracle/truffle/js/nodes/JavaScriptNode;Ljava/lang/Class;)V
2: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/oracle/truffle/js/test/instrumentation/MaterializedNodes;
1 3 1 elem Lcom/oracle/truffle/js/nodes/access/ReadElementNode;
RuntimeVisibleAnnotations:
org.junit.Test()
public void materializeTwiceElementWrite();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=2, args_size=1
start local 0 0: getstatic com.oracle.truffle.js.test.instrumentation.MaterializedNodes.dummy:Lcom/oracle/truffle/js/nodes/access/JSConstantNode;
getstatic com.oracle.truffle.js.test.instrumentation.MaterializedNodes.dummy:Lcom/oracle/truffle/js/nodes/access/JSConstantNode;
getstatic com.oracle.truffle.js.test.instrumentation.MaterializedNodes.dummy:Lcom/oracle/truffle/js/nodes/access/JSConstantNode;
aload 0
invokevirtual com.oracle.truffle.js.test.instrumentation.MaterializedNodes.getDummyCx:()Lcom/oracle/truffle/js/runtime/JSContext;
iconst_0
invokestatic com.oracle.truffle.js.nodes.access.WriteElementNode.create:(Lcom/oracle/truffle/js/nodes/JavaScriptNode;Lcom/oracle/truffle/js/nodes/JavaScriptNode;Lcom/oracle/truffle/js/nodes/JavaScriptNode;Lcom/oracle/truffle/js/runtime/JSContext;Z)Lcom/oracle/truffle/js/nodes/access/WriteElementNode;
astore 1
start local 1 1: aload 1
ldc Lcom/oracle/truffle/js/nodes/instrumentation/JSTags$WriteElementTag;
invokestatic com.oracle.truffle.js.test.instrumentation.MaterializedNodes.assertNotMaterializedTwice:(Lcom/oracle/truffle/js/nodes/JavaScriptNode;Ljava/lang/Class;)V
2: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/oracle/truffle/js/test/instrumentation/MaterializedNodes;
1 3 1 elem Lcom/oracle/truffle/js/nodes/access/WriteElementNode;
RuntimeVisibleAnnotations:
org.junit.Test()
public void materializeTwicePropertyWrite();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=2, args_size=1
start local 0 0: getstatic com.oracle.truffle.js.test.instrumentation.MaterializedNodes.dummy:Lcom/oracle/truffle/js/nodes/access/JSConstantNode;
ldc "foo"
getstatic com.oracle.truffle.js.test.instrumentation.MaterializedNodes.dummy:Lcom/oracle/truffle/js/nodes/access/JSConstantNode;
aload 0
invokevirtual com.oracle.truffle.js.test.instrumentation.MaterializedNodes.getDummyCx:()Lcom/oracle/truffle/js/runtime/JSContext;
iconst_0
invokestatic com.oracle.truffle.js.nodes.access.WritePropertyNode.create:(Lcom/oracle/truffle/js/nodes/JavaScriptNode;Ljava/lang/Object;Lcom/oracle/truffle/js/nodes/JavaScriptNode;Lcom/oracle/truffle/js/runtime/JSContext;Z)Lcom/oracle/truffle/js/nodes/access/WritePropertyNode;
astore 1
start local 1 1: aload 1
ldc Lcom/oracle/truffle/js/nodes/instrumentation/JSTags$WritePropertyTag;
invokestatic com.oracle.truffle.js.test.instrumentation.MaterializedNodes.assertNotMaterializedTwice:(Lcom/oracle/truffle/js/nodes/JavaScriptNode;Ljava/lang/Class;)V
2: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/oracle/truffle/js/test/instrumentation/MaterializedNodes;
1 3 1 prop Lcom/oracle/truffle/js/nodes/access/WritePropertyNode;
RuntimeVisibleAnnotations:
org.junit.Test()
public void materializeTwiceAddLeft();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=1
start local 0 0: getstatic com.oracle.truffle.js.test.instrumentation.MaterializedNodes.dummyJSNode:Lcom/oracle/truffle/js/nodes/JavaScriptNode;
getstatic com.oracle.truffle.js.test.instrumentation.MaterializedNodes.dummyInt:Lcom/oracle/truffle/js/nodes/JavaScriptNode;
invokestatic com.oracle.truffle.js.nodes.binary.JSAddNode.create:(Lcom/oracle/truffle/js/nodes/JavaScriptNode;Lcom/oracle/truffle/js/nodes/JavaScriptNode;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
astore 1
start local 1 1: getstatic com.oracle.truffle.js.test.instrumentation.MaterializedNodes.$assertionsDisabled:Z
ifne 2
aload 1
instanceof com.oracle.truffle.js.nodes.binary.JSAddConstantRightNumberNode
ifne 2
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
2: StackMap locals: com.oracle.truffle.js.nodes.JavaScriptNode
StackMap stack:
aload 1
ldc Lcom/oracle/truffle/js/nodes/instrumentation/JSTags$BinaryOperationTag;
invokestatic com.oracle.truffle.js.test.instrumentation.MaterializedNodes.assertNotMaterializedTwice:(Lcom/oracle/truffle/js/nodes/JavaScriptNode;Ljava/lang/Class;)V
3: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lcom/oracle/truffle/js/test/instrumentation/MaterializedNodes;
1 4 1 add Lcom/oracle/truffle/js/nodes/JavaScriptNode;
RuntimeVisibleAnnotations:
org.junit.Test()
public void materializeTwiceAddRight();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=1
start local 0 0: getstatic com.oracle.truffle.js.test.instrumentation.MaterializedNodes.dummyDouble:Lcom/oracle/truffle/js/nodes/JavaScriptNode;
getstatic com.oracle.truffle.js.test.instrumentation.MaterializedNodes.dummyJSNode:Lcom/oracle/truffle/js/nodes/JavaScriptNode;
invokestatic com.oracle.truffle.js.nodes.binary.JSAddNode.create:(Lcom/oracle/truffle/js/nodes/JavaScriptNode;Lcom/oracle/truffle/js/nodes/JavaScriptNode;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
astore 1
start local 1 1: getstatic com.oracle.truffle.js.test.instrumentation.MaterializedNodes.$assertionsDisabled:Z
ifne 2
aload 1
instanceof com.oracle.truffle.js.nodes.binary.JSAddConstantLeftNumberNode
ifne 2
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
2: StackMap locals: com.oracle.truffle.js.nodes.JavaScriptNode
StackMap stack:
aload 1
ldc Lcom/oracle/truffle/js/nodes/instrumentation/JSTags$BinaryOperationTag;
invokestatic com.oracle.truffle.js.test.instrumentation.MaterializedNodes.assertNotMaterializedTwice:(Lcom/oracle/truffle/js/nodes/JavaScriptNode;Ljava/lang/Class;)V
3: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lcom/oracle/truffle/js/test/instrumentation/MaterializedNodes;
1 4 1 add Lcom/oracle/truffle/js/nodes/JavaScriptNode;
RuntimeVisibleAnnotations:
org.junit.Test()
public void materializeTwiceAnd();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=1
start local 0 0: getstatic com.oracle.truffle.js.test.instrumentation.MaterializedNodes.dummy:Lcom/oracle/truffle/js/nodes/access/JSConstantNode;
bipush 42
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
invokestatic com.oracle.truffle.js.nodes.binary.JSBitwiseAndConstantNode.create:(Lcom/oracle/truffle/js/nodes/JavaScriptNode;Ljava/lang/Object;)Lcom/oracle/truffle/js/nodes/binary/JSBitwiseAndConstantNode;
astore 1
start local 1 1: aload 1
ldc Lcom/oracle/truffle/js/nodes/instrumentation/JSTags$BinaryOperationTag;
invokestatic com.oracle.truffle.js.test.instrumentation.MaterializedNodes.assertNotMaterializedTwice:(Lcom/oracle/truffle/js/nodes/JavaScriptNode;Ljava/lang/Class;)V
2: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/oracle/truffle/js/test/instrumentation/MaterializedNodes;
1 3 1 node Lcom/oracle/truffle/js/nodes/JavaScriptNode;
RuntimeVisibleAnnotations:
org.junit.Test()
public void materializeTwiceOr();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=1
start local 0 0: getstatic com.oracle.truffle.js.test.instrumentation.MaterializedNodes.dummy:Lcom/oracle/truffle/js/nodes/access/JSConstantNode;
bipush 42
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
invokestatic com.oracle.truffle.js.nodes.binary.JSBitwiseOrConstantNode.create:(Lcom/oracle/truffle/js/nodes/JavaScriptNode;Ljava/lang/Object;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
astore 1
start local 1 1: aload 1
ldc Lcom/oracle/truffle/js/nodes/instrumentation/JSTags$BinaryOperationTag;
invokestatic com.oracle.truffle.js.test.instrumentation.MaterializedNodes.assertNotMaterializedTwice:(Lcom/oracle/truffle/js/nodes/JavaScriptNode;Ljava/lang/Class;)V
2: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/oracle/truffle/js/test/instrumentation/MaterializedNodes;
1 3 1 node Lcom/oracle/truffle/js/nodes/JavaScriptNode;
RuntimeVisibleAnnotations:
org.junit.Test()
public void materializeTwiceXor();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=1
start local 0 0: getstatic com.oracle.truffle.js.test.instrumentation.MaterializedNodes.dummy:Lcom/oracle/truffle/js/nodes/access/JSConstantNode;
bipush 42
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
invokestatic com.oracle.truffle.js.nodes.binary.JSBitwiseXorConstantNode.create:(Lcom/oracle/truffle/js/nodes/JavaScriptNode;Ljava/lang/Object;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
astore 1
start local 1 1: aload 1
ldc Lcom/oracle/truffle/js/nodes/instrumentation/JSTags$BinaryOperationTag;
invokestatic com.oracle.truffle.js.test.instrumentation.MaterializedNodes.assertNotMaterializedTwice:(Lcom/oracle/truffle/js/nodes/JavaScriptNode;Ljava/lang/Class;)V
2: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/oracle/truffle/js/test/instrumentation/MaterializedNodes;
1 3 1 node Lcom/oracle/truffle/js/nodes/JavaScriptNode;
RuntimeVisibleAnnotations:
org.junit.Test()
public void materializeTwiceLeftShift();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=1
start local 0 0: getstatic com.oracle.truffle.js.test.instrumentation.MaterializedNodes.dummy:Lcom/oracle/truffle/js/nodes/access/JSConstantNode;
getstatic com.oracle.truffle.js.test.instrumentation.MaterializedNodes.dummyInt:Lcom/oracle/truffle/js/nodes/JavaScriptNode;
invokestatic com.oracle.truffle.js.nodes.binary.JSLeftShiftConstantNode.create:(Lcom/oracle/truffle/js/nodes/JavaScriptNode;Lcom/oracle/truffle/js/nodes/JavaScriptNode;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
astore 1
start local 1 1: aload 1
ldc Lcom/oracle/truffle/js/nodes/instrumentation/JSTags$BinaryOperationTag;
invokestatic com.oracle.truffle.js.test.instrumentation.MaterializedNodes.assertNotMaterializedTwice:(Lcom/oracle/truffle/js/nodes/JavaScriptNode;Ljava/lang/Class;)V
2: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/oracle/truffle/js/test/instrumentation/MaterializedNodes;
1 3 1 node Lcom/oracle/truffle/js/nodes/JavaScriptNode;
RuntimeVisibleAnnotations:
org.junit.Test()
public void materializeTwiceRightShift();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=1
start local 0 0: getstatic com.oracle.truffle.js.test.instrumentation.MaterializedNodes.dummy:Lcom/oracle/truffle/js/nodes/access/JSConstantNode;
getstatic com.oracle.truffle.js.test.instrumentation.MaterializedNodes.dummyInt:Lcom/oracle/truffle/js/nodes/JavaScriptNode;
invokestatic com.oracle.truffle.js.nodes.binary.JSRightShiftConstantNode.create:(Lcom/oracle/truffle/js/nodes/JavaScriptNode;Lcom/oracle/truffle/js/nodes/JavaScriptNode;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
astore 1
start local 1 1: aload 1
ldc Lcom/oracle/truffle/js/nodes/instrumentation/JSTags$BinaryOperationTag;
invokestatic com.oracle.truffle.js.test.instrumentation.MaterializedNodes.assertNotMaterializedTwice:(Lcom/oracle/truffle/js/nodes/JavaScriptNode;Ljava/lang/Class;)V
2: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/oracle/truffle/js/test/instrumentation/MaterializedNodes;
1 3 1 node Lcom/oracle/truffle/js/nodes/JavaScriptNode;
RuntimeVisibleAnnotations:
org.junit.Test()
public void materializeTwiceUnsignedRightShift();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=1
start local 0 0: getstatic com.oracle.truffle.js.test.instrumentation.MaterializedNodes.dummy:Lcom/oracle/truffle/js/nodes/access/JSConstantNode;
getstatic com.oracle.truffle.js.test.instrumentation.MaterializedNodes.dummyInt:Lcom/oracle/truffle/js/nodes/JavaScriptNode;
invokestatic com.oracle.truffle.js.nodes.binary.JSUnsignedRightShiftConstantNode.create:(Lcom/oracle/truffle/js/nodes/JavaScriptNode;Lcom/oracle/truffle/js/nodes/JavaScriptNode;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
astore 1
start local 1 1: aload 1
ldc Lcom/oracle/truffle/js/nodes/instrumentation/JSTags$BinaryOperationTag;
invokestatic com.oracle.truffle.js.test.instrumentation.MaterializedNodes.assertNotMaterializedTwice:(Lcom/oracle/truffle/js/nodes/JavaScriptNode;Ljava/lang/Class;)V
2: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/oracle/truffle/js/test/instrumentation/MaterializedNodes;
1 3 1 node Lcom/oracle/truffle/js/nodes/JavaScriptNode;
RuntimeVisibleAnnotations:
org.junit.Test()
public void materializeTwiceNot();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=1
start local 0 0: getstatic com.oracle.truffle.js.test.instrumentation.MaterializedNodes.dummyJSNode:Lcom/oracle/truffle/js/nodes/JavaScriptNode;
invokestatic com.oracle.truffle.js.nodes.unary.JSNotNode.create:(Lcom/oracle/truffle/js/nodes/JavaScriptNode;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
checkcast com.oracle.truffle.js.nodes.unary.JSNotNode
astore 1
start local 1 1: aload 1
ldc Lcom/oracle/truffle/js/nodes/instrumentation/JSTags$UnaryOperationTag;
invokestatic com.oracle.truffle.js.test.instrumentation.MaterializedNodes.assertNotMaterializedTwice:(Lcom/oracle/truffle/js/nodes/JavaScriptNode;Ljava/lang/Class;)V
2: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/oracle/truffle/js/test/instrumentation/MaterializedNodes;
1 3 1 node Lcom/oracle/truffle/js/nodes/unary/JSNotNode;
RuntimeVisibleAnnotations:
org.junit.Test()
public void materializeTwiceFor();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=10, args_size=1
start local 0 0: iconst_1
invokestatic com.oracle.truffle.js.nodes.access.JSConstantNode.createBoolean:(Z)Lcom/oracle/truffle/js/nodes/access/JSConstantNode;
astore 1
start local 1 1: getstatic com.oracle.truffle.js.test.instrumentation.MaterializedNodes.dummy:Lcom/oracle/truffle/js/nodes/access/JSConstantNode;
invokestatic com.oracle.truffle.js.nodes.unary.VoidNode.create:(Lcom/oracle/truffle/js/nodes/JavaScriptNode;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
astore 2
start local 2 2: getstatic com.oracle.truffle.js.test.instrumentation.MaterializedNodes.dummy:Lcom/oracle/truffle/js/nodes/access/JSConstantNode;
invokestatic com.oracle.truffle.js.nodes.unary.VoidNode.create:(Lcom/oracle/truffle/js/nodes/JavaScriptNode;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
astore 3
start local 3 3: iconst_1
invokestatic com.oracle.truffle.js.nodes.access.JSConstantNode.createBoolean:(Z)Lcom/oracle/truffle/js/nodes/access/JSConstantNode;
astore 4
start local 4 4: getstatic com.oracle.truffle.js.test.instrumentation.MaterializedNodes.dummy:Lcom/oracle/truffle/js/nodes/access/JSConstantNode;
invokestatic com.oracle.truffle.js.nodes.unary.VoidNode.create:(Lcom/oracle/truffle/js/nodes/JavaScriptNode;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
astore 5
start local 5 5: iconst_0
anewarray com.oracle.truffle.js.nodes.access.JSReadFrameSlotNode
astore 6
start local 6 6: iconst_0
anewarray com.oracle.truffle.js.nodes.access.JSWriteFrameSlotNode
astore 7
start local 7 7: aconst_null
aload 6
aload 7
invokestatic com.oracle.truffle.js.nodes.function.IterationScopeNode.create:(Lcom/oracle/truffle/api/frame/FrameDescriptor;[Lcom/oracle/truffle/js/nodes/access/JSReadFrameSlotNode;[Lcom/oracle/truffle/js/nodes/access/JSWriteFrameSlotNode;)Lcom/oracle/truffle/js/nodes/function/IterationScopeNode;
astore 8
start local 8 8: aload 1
aload 2
aload 3
aload 8
aload 4
aload 5
invokestatic com.oracle.truffle.js.nodes.control.ForNode.createFor:(Lcom/oracle/truffle/js/nodes/JavaScriptNode;Lcom/oracle/truffle/js/nodes/JavaScriptNode;Lcom/oracle/truffle/js/nodes/JavaScriptNode;Lcom/oracle/truffle/js/nodes/function/IterationScopeNode;Lcom/oracle/truffle/js/nodes/JavaScriptNode;Lcom/oracle/truffle/js/nodes/JavaScriptNode;)Lcom/oracle/truffle/js/nodes/control/ForNode;
astore 9
start local 9 9: aload 9
invokevirtual com.oracle.truffle.js.nodes.control.ForNode.getLoopNode:()Lcom/oracle/truffle/api/nodes/LoopNode;
invokevirtual com.oracle.truffle.api.nodes.LoopNode.getRepeatingNode:()Lcom/oracle/truffle/api/nodes/RepeatingNode;
checkcast com.oracle.truffle.js.nodes.JavaScriptNode
ldc Lcom/oracle/truffle/js/nodes/instrumentation/JSTags$ControlFlowRootTag;
invokestatic com.oracle.truffle.js.test.instrumentation.MaterializedNodes.assertNotMaterializedTwice:(Lcom/oracle/truffle/js/nodes/JavaScriptNode;Ljava/lang/Class;)V
10: return
end local 9 end local 8 end local 7 end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Lcom/oracle/truffle/js/test/instrumentation/MaterializedNodes;
1 11 1 condition Lcom/oracle/truffle/js/nodes/JavaScriptNode;
2 11 2 body Lcom/oracle/truffle/js/nodes/JavaScriptNode;
3 11 3 modify Lcom/oracle/truffle/js/nodes/JavaScriptNode;
4 11 4 first Lcom/oracle/truffle/js/nodes/JavaScriptNode;
5 11 5 setNotFirst Lcom/oracle/truffle/js/nodes/JavaScriptNode;
6 11 6 reads [Lcom/oracle/truffle/js/nodes/access/JSReadFrameSlotNode;
7 11 7 writes [Lcom/oracle/truffle/js/nodes/access/JSWriteFrameSlotNode;
8 11 8 dummyScope Lcom/oracle/truffle/js/nodes/function/IterationScopeNode;
9 11 9 node Lcom/oracle/truffle/js/nodes/control/ForNode;
RuntimeVisibleAnnotations:
org.junit.Test()
public void materializeMultiIf();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=1
start local 0 0: getstatic com.oracle.truffle.js.test.instrumentation.MaterializedNodes.dummy:Lcom/oracle/truffle/js/nodes/access/JSConstantNode;
getstatic com.oracle.truffle.js.test.instrumentation.MaterializedNodes.dummy:Lcom/oracle/truffle/js/nodes/access/JSConstantNode;
getstatic com.oracle.truffle.js.test.instrumentation.MaterializedNodes.dummy:Lcom/oracle/truffle/js/nodes/access/JSConstantNode;
invokestatic com.oracle.truffle.js.nodes.control.IfNode.create:(Lcom/oracle/truffle/js/nodes/JavaScriptNode;Lcom/oracle/truffle/js/nodes/JavaScriptNode;Lcom/oracle/truffle/js/nodes/JavaScriptNode;)Lcom/oracle/truffle/js/nodes/control/IfNode;
astore 1
start local 1 1: aload 1
ldc Lcom/oracle/truffle/js/nodes/instrumentation/JSTags$ControlFlowRootTag;
invokestatic com.oracle.truffle.js.test.instrumentation.MaterializedNodes.assertNotMaterializedTwice:(Lcom/oracle/truffle/js/nodes/JavaScriptNode;Ljava/lang/Class;)V
2: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/oracle/truffle/js/test/instrumentation/MaterializedNodes;
1 3 1 ifNode Lcom/oracle/truffle/js/nodes/control/IfNode;
RuntimeVisibleAnnotations:
org.junit.Test()
public void materializeMultiWhile();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=1
start local 0 0: getstatic com.oracle.truffle.js.test.instrumentation.MaterializedNodes.dummyJSNode:Lcom/oracle/truffle/js/nodes/JavaScriptNode;
getstatic com.oracle.truffle.js.test.instrumentation.MaterializedNodes.dummyJSNode:Lcom/oracle/truffle/js/nodes/JavaScriptNode;
invokestatic com.oracle.truffle.js.nodes.control.WhileNode.createDoWhile:(Lcom/oracle/truffle/js/nodes/JavaScriptNode;Lcom/oracle/truffle/js/nodes/JavaScriptNode;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
astore 1
start local 1 1: aload 1
ldc Lcom/oracle/truffle/js/nodes/instrumentation/JSTags$ControlFlowRootTag;
invokestatic com.oracle.truffle.js.test.instrumentation.MaterializedNodes.assertNotMaterializedTwice:(Lcom/oracle/truffle/js/nodes/JavaScriptNode;Ljava/lang/Class;)V
2: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/oracle/truffle/js/test/instrumentation/MaterializedNodes;
1 3 1 node Lcom/oracle/truffle/js/nodes/JavaScriptNode;
RuntimeVisibleAnnotations:
org.junit.Test()
public void materializeMultiCall();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=3, args_size=1
start local 0 0: iconst_0
anewarray com.oracle.truffle.js.nodes.JavaScriptNode
astore 1
start local 1 1: invokestatic com.oracle.truffle.js.nodes.access.JSConstantNode.createUndefined:()Lcom/oracle/truffle/js/nodes/access/JSConstantNode;
aconst_null
aload 1
iconst_0
iconst_0
invokestatic com.oracle.truffle.js.nodes.function.JSFunctionCallNode.createCall:(Lcom/oracle/truffle/js/nodes/JavaScriptNode;Lcom/oracle/truffle/js/nodes/JavaScriptNode;[Lcom/oracle/truffle/js/nodes/JavaScriptNode;ZZ)Lcom/oracle/truffle/js/nodes/function/JSFunctionCallNode;
astore 2
start local 2 2: aload 2
ldc Lcom/oracle/truffle/js/nodes/instrumentation/JSTags$FunctionCallTag;
invokestatic com.oracle.truffle.js.test.instrumentation.MaterializedNodes.assertNotMaterializedTwice:(Lcom/oracle/truffle/js/nodes/JavaScriptNode;Ljava/lang/Class;)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/js/test/instrumentation/MaterializedNodes;
1 4 1 args [Lcom/oracle/truffle/js/nodes/JavaScriptNode;
2 4 2 c Lcom/oracle/truffle/js/nodes/function/JSFunctionCallNode;
RuntimeVisibleAnnotations:
org.junit.Test()
public void materializeMultiInvoke();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=4, args_size=1
start local 0 0: aload 0
invokevirtual com.oracle.truffle.js.test.instrumentation.MaterializedNodes.getDummyCx:()Lcom/oracle/truffle/js/runtime/JSContext;
getstatic com.oracle.truffle.js.test.instrumentation.MaterializedNodes.dummy:Lcom/oracle/truffle/js/nodes/access/JSConstantNode;
ldc "foo"
invokestatic com.oracle.truffle.js.nodes.access.PropertyNode.createProperty:(Lcom/oracle/truffle/js/runtime/JSContext;Lcom/oracle/truffle/js/nodes/JavaScriptNode;Ljava/lang/Object;)Lcom/oracle/truffle/js/nodes/access/PropertyNode;
astore 1
start local 1 1: aload 1
getstatic com.oracle.truffle.js.test.instrumentation.MaterializedNodes.dummySourceSection:Lcom/oracle/truffle/api/source/SourceSection;
invokevirtual com.oracle.truffle.js.nodes.access.JSTargetableNode.setSourceSection:(Lcom/oracle/truffle/api/source/SourceSection;)V
2: iconst_0
anewarray com.oracle.truffle.js.nodes.JavaScriptNode
astore 2
start local 2 3: aload 1
aload 2
iconst_0
iconst_0
invokestatic com.oracle.truffle.js.nodes.function.JSFunctionCallNode.createInvoke:(Lcom/oracle/truffle/js/nodes/access/JSTargetableNode;[Lcom/oracle/truffle/js/nodes/JavaScriptNode;ZZ)Lcom/oracle/truffle/js/nodes/function/JSFunctionCallNode;
astore 3
start local 3 4: aload 3
ldc Lcom/oracle/truffle/js/nodes/instrumentation/JSTags$FunctionCallTag;
invokestatic com.oracle.truffle.js.test.instrumentation.MaterializedNodes.assertNotMaterializedTwice:(Lcom/oracle/truffle/js/nodes/JavaScriptNode;Ljava/lang/Class;)V
5: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lcom/oracle/truffle/js/test/instrumentation/MaterializedNodes;
1 6 1 prop Lcom/oracle/truffle/js/nodes/access/JSTargetableNode;
3 6 2 args [Lcom/oracle/truffle/js/nodes/JavaScriptNode;
4 6 3 c Lcom/oracle/truffle/js/nodes/function/JSFunctionCallNode;
RuntimeVisibleAnnotations:
org.junit.Test()
public void materializeNew();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=4, args_size=1
start local 0 0: aload 0
invokevirtual com.oracle.truffle.js.test.instrumentation.MaterializedNodes.getDummyCx:()Lcom/oracle/truffle/js/runtime/JSContext;
ldc "foo"
invokestatic com.oracle.truffle.js.nodes.access.GlobalPropertyNode.createPropertyNode:(Lcom/oracle/truffle/js/runtime/JSContext;Ljava/lang/String;)Lcom/oracle/truffle/js/nodes/access/JSTargetableNode;
astore 1
start local 1 1: iconst_0
anewarray com.oracle.truffle.js.nodes.JavaScriptNode
astore 2
start local 2 2: aload 0
invokevirtual com.oracle.truffle.js.test.instrumentation.MaterializedNodes.getDummyCx:()Lcom/oracle/truffle/js/runtime/JSContext;
aload 1
aload 2
invokestatic com.oracle.truffle.js.nodes.function.JSNewNode.create:(Lcom/oracle/truffle/js/runtime/JSContext;Lcom/oracle/truffle/js/nodes/JavaScriptNode;[Lcom/oracle/truffle/js/nodes/JavaScriptNode;)Lcom/oracle/truffle/js/nodes/function/JSNewNode;
astore 3
start local 3 3: aload 3
ldc Lcom/oracle/truffle/js/nodes/instrumentation/JSTags$ObjectAllocationTag;
invokestatic com.oracle.truffle.js.test.instrumentation.MaterializedNodes.assertNotMaterializedTwice:(Lcom/oracle/truffle/js/nodes/JavaScriptNode;Ljava/lang/Class;)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/js/test/instrumentation/MaterializedNodes;
1 5 1 prop Lcom/oracle/truffle/js/nodes/access/JSTargetableNode;
2 5 2 args [Lcom/oracle/truffle/js/nodes/JavaScriptNode;
3 5 3 newnode Lcom/oracle/truffle/js/nodes/function/JSNewNode;
RuntimeVisibleAnnotations:
org.junit.Test()
private static void assertNotMaterializedTwice(com.oracle.truffle.js.nodes.JavaScriptNode, java.lang.Class<? extends com.oracle.truffle.api.instrumentation.Tag>);
descriptor: (Lcom/oracle/truffle/js/nodes/JavaScriptNode;Ljava/lang/Class;)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=5, args_size=2
start local 0 start local 1 0: aload 0
getstatic com.oracle.truffle.js.test.instrumentation.MaterializedNodes.dummySourceSection:Lcom/oracle/truffle/api/source/SourceSection;
invokevirtual com.oracle.truffle.js.nodes.JavaScriptNode.setSourceSection:(Lcom/oracle/truffle/api/source/SourceSection;)V
1: new java.util.HashSet
dup
invokespecial java.util.HashSet.<init>:()V
astore 2
start local 2 2: aload 2
aload 1
invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
pop
3: aload 0
invokevirtual com.oracle.truffle.js.nodes.JavaScriptNode.addStatementTag:()V
4: aload 0
aload 2
invokevirtual com.oracle.truffle.js.nodes.JavaScriptNode.materializeInstrumentableNodes:(Ljava/util/Set;)Lcom/oracle/truffle/api/instrumentation/InstrumentableNode;
astore 3
start local 3 5: aload 3
aload 2
invokeinterface com.oracle.truffle.api.instrumentation.InstrumentableNode.materializeInstrumentableNodes:(Ljava/util/Set;)Lcom/oracle/truffle/api/instrumentation/InstrumentableNode;
astore 4
start local 4 6: aload 3
aload 4
invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
7: return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 node Lcom/oracle/truffle/js/nodes/JavaScriptNode;
0 8 1 tag Ljava/lang/Class<+Lcom/oracle/truffle/api/instrumentation/Tag;>;
2 8 2 s Ljava/util/Set<Ljava/lang/Class<+Lcom/oracle/truffle/api/instrumentation/Tag;>;>;
5 8 3 m1 Lcom/oracle/truffle/api/instrumentation/InstrumentableNode;
6 8 4 m2 Lcom/oracle/truffle/api/instrumentation/InstrumentableNode;
Signature: (Lcom/oracle/truffle/js/nodes/JavaScriptNode;Ljava/lang/Class<+Lcom/oracle/truffle/api/instrumentation/Tag;>;)V
MethodParameters:
Name Flags
node
tag
}
SourceFile: "MaterializedNodes.java"
NestMembers:
com.oracle.truffle.js.test.instrumentation.MaterializedNodes$DummyConstantNode
InnerClasses:
public final StatementTag = com.oracle.truffle.api.instrumentation.StandardTags$StatementTag of com.oracle.truffle.api.instrumentation.StandardTags
public final LiteralBuilder = com.oracle.truffle.api.source.Source$LiteralBuilder of com.oracle.truffle.api.source.Source
public abstract InvokeNode = com.oracle.truffle.js.nodes.function.JSFunctionCallNode$InvokeNode of com.oracle.truffle.js.nodes.function.JSFunctionCallNode
public final BinaryOperationTag = com.oracle.truffle.js.nodes.instrumentation.JSTags$BinaryOperationTag of com.oracle.truffle.js.nodes.instrumentation.JSTags
public final ControlFlowRootTag = com.oracle.truffle.js.nodes.instrumentation.JSTags$ControlFlowRootTag of com.oracle.truffle.js.nodes.instrumentation.JSTags
public final FunctionCallTag = com.oracle.truffle.js.nodes.instrumentation.JSTags$FunctionCallTag of com.oracle.truffle.js.nodes.instrumentation.JSTags
public final ObjectAllocationTag = com.oracle.truffle.js.nodes.instrumentation.JSTags$ObjectAllocationTag of com.oracle.truffle.js.nodes.instrumentation.JSTags
public final ReadElementTag = com.oracle.truffle.js.nodes.instrumentation.JSTags$ReadElementTag of com.oracle.truffle.js.nodes.instrumentation.JSTags
public final ReadPropertyTag = com.oracle.truffle.js.nodes.instrumentation.JSTags$ReadPropertyTag of com.oracle.truffle.js.nodes.instrumentation.JSTags
public final UnaryOperationTag = com.oracle.truffle.js.nodes.instrumentation.JSTags$UnaryOperationTag of com.oracle.truffle.js.nodes.instrumentation.JSTags
public final WriteElementTag = com.oracle.truffle.js.nodes.instrumentation.JSTags$WriteElementTag of com.oracle.truffle.js.nodes.instrumentation.JSTags
public final WritePropertyTag = com.oracle.truffle.js.nodes.instrumentation.JSTags$WritePropertyTag of com.oracle.truffle.js.nodes.instrumentation.JSTags
private DummyConstantNode = com.oracle.truffle.js.test.instrumentation.MaterializedNodes$DummyConstantNode of com.oracle.truffle.js.test.instrumentation.MaterializedNodes
public final Builder = org.graalvm.polyglot.Context$Builder of org.graalvm.polyglot.Context