class com.oracle.truffle.tools.chromeinspector.TypeHandler$TypeProfileEventFactory$1 extends com.oracle.truffle.api.instrumentation.ExecutionEventNode
minor version: 0
major version: 59
flags: flags: (0x0020) ACC_SUPER
this_class: com.oracle.truffle.tools.chromeinspector.TypeHandler$TypeProfileEventFactory$1
super_class: com.oracle.truffle.api.instrumentation.ExecutionEventNode
{
private final com.oracle.truffle.api.nodes.Node node;
descriptor: Lcom/oracle/truffle/api/nodes/Node;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private com.oracle.truffle.api.interop.NodeLibrary nodeLibrary;
descriptor: Lcom/oracle/truffle/api/interop/NodeLibrary;
flags: (0x0002) ACC_PRIVATE
RuntimeVisibleAnnotations:
com.oracle.truffle.api.nodes.Node$Child()
final com.oracle.truffle.tools.chromeinspector.TypeHandler$TypeProfileEventFactory this$1;
descriptor: Lcom/oracle/truffle/tools/chromeinspector/TypeHandler$TypeProfileEventFactory;
flags: (0x1010) ACC_FINAL, ACC_SYNTHETIC
private final com.oracle.truffle.api.instrumentation.EventContext val$context;
descriptor: Lcom/oracle/truffle/api/instrumentation/EventContext;
flags: (0x1012) ACC_PRIVATE, ACC_FINAL, ACC_SYNTHETIC
void <init>(com.oracle.truffle.tools.chromeinspector.TypeHandler$TypeProfileEventFactory, com.oracle.truffle.api.instrumentation.EventContext);
descriptor: (Lcom/oracle/truffle/tools/chromeinspector/TypeHandler$TypeProfileEventFactory;Lcom/oracle/truffle/api/instrumentation/EventContext;)V
flags: (0x0000)
Code:
stack=3, locals=3, args_size=3
start local 0 0: aload 0
aload 1
putfield com.oracle.truffle.tools.chromeinspector.TypeHandler$TypeProfileEventFactory$1.this$1:Lcom/oracle/truffle/tools/chromeinspector/TypeHandler$TypeProfileEventFactory;
aload 0
aload 2
putfield com.oracle.truffle.tools.chromeinspector.TypeHandler$TypeProfileEventFactory$1.val$context:Lcom/oracle/truffle/api/instrumentation/EventContext;
aload 0
invokespecial com.oracle.truffle.api.instrumentation.ExecutionEventNode.<init>:()V
1: aload 0
aload 2
invokevirtual com.oracle.truffle.api.instrumentation.EventContext.getInstrumentedNode:()Lcom/oracle/truffle/api/nodes/Node;
putfield com.oracle.truffle.tools.chromeinspector.TypeHandler$TypeProfileEventFactory$1.node:Lcom/oracle/truffle/api/nodes/Node;
2: aload 0
invokestatic com.oracle.truffle.api.interop.NodeLibrary.getFactory:()Lcom/oracle/truffle/api/library/LibraryFactory;
aload 0
getfield com.oracle.truffle.tools.chromeinspector.TypeHandler$TypeProfileEventFactory$1.node:Lcom/oracle/truffle/api/nodes/Node;
invokevirtual com.oracle.truffle.api.library.LibraryFactory.create:(Ljava/lang/Object;)Lcom/oracle/truffle/api/library/Library;
checkcast com.oracle.truffle.api.interop.NodeLibrary
putfield com.oracle.truffle.tools.chromeinspector.TypeHandler$TypeProfileEventFactory$1.nodeLibrary:Lcom/oracle/truffle/api/interop/NodeLibrary;
3: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lcom/oracle/truffle/tools/chromeinspector/TypeHandler$TypeProfileEventFactory$1;
MethodParameters:
Name Flags
this$0 final
val$context final
protected void onEnter(com.oracle.truffle.api.frame.VirtualFrame);
descriptor: (Lcom/oracle/truffle/api/frame/VirtualFrame;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=4, locals=3, args_size=2
start local 0 start local 1 0: aload 0
getfield com.oracle.truffle.tools.chromeinspector.TypeHandler$TypeProfileEventFactory$1.nodeLibrary:Lcom/oracle/truffle/api/interop/NodeLibrary;
aload 0
getfield com.oracle.truffle.tools.chromeinspector.TypeHandler$TypeProfileEventFactory$1.node:Lcom/oracle/truffle/api/nodes/Node;
aload 1
invokevirtual com.oracle.truffle.api.interop.NodeLibrary.hasScope:(Ljava/lang/Object;Lcom/oracle/truffle/api/frame/Frame;)Z
ifeq 6
1: aload 0
getfield com.oracle.truffle.tools.chromeinspector.TypeHandler$TypeProfileEventFactory$1.nodeLibrary:Lcom/oracle/truffle/api/interop/NodeLibrary;
aload 0
getfield com.oracle.truffle.tools.chromeinspector.TypeHandler$TypeProfileEventFactory$1.node:Lcom/oracle/truffle/api/nodes/Node;
aload 1
iconst_1
invokevirtual com.oracle.truffle.api.interop.NodeLibrary.getScope:(Ljava/lang/Object;Lcom/oracle/truffle/api/frame/Frame;Z)Ljava/lang/Object;
astore 2
start local 2 2: aload 0
aload 2
invokevirtual com.oracle.truffle.tools.chromeinspector.TypeHandler$TypeProfileEventFactory$1.processArguments:(Ljava/lang/Object;)V
end local 2 3: goto 6
StackMap locals:
StackMap stack: com.oracle.truffle.api.interop.UnsupportedMessageException
4: astore 2
start local 2 5: aload 2
invokestatic com.oracle.truffle.api.CompilerDirectives.shouldNotReachHere:(Ljava/lang/Throwable;)Ljava/lang/RuntimeException;
athrow
end local 2 6: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lcom/oracle/truffle/tools/chromeinspector/TypeHandler$TypeProfileEventFactory$1;
0 7 1 frame Lcom/oracle/truffle/api/frame/VirtualFrame;
2 3 2 scope Ljava/lang/Object;
5 6 2 e Lcom/oracle/truffle/api/interop/UnsupportedMessageException;
Exception table:
from to target type
1 3 4 Class com.oracle.truffle.api.interop.UnsupportedMessageException
MethodParameters:
Name Flags
frame
protected void onReturnValue(com.oracle.truffle.api.frame.VirtualFrame, java.lang.Object);
descriptor: (Lcom/oracle/truffle/api/frame/VirtualFrame;Ljava/lang/Object;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=2, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 2
invokevirtual com.oracle.truffle.tools.chromeinspector.TypeHandler$TypeProfileEventFactory$1.processReturnValue:(Ljava/lang/Object;)V
1: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/oracle/truffle/tools/chromeinspector/TypeHandler$TypeProfileEventFactory$1;
0 2 1 frame Lcom/oracle/truffle/api/frame/VirtualFrame;
0 2 2 result Ljava/lang/Object;
MethodParameters:
Name Flags
frame
result
private void processArguments(java.lang.Object);
descriptor: (Ljava/lang/Object;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=14, args_size=2
start local 0 start local 1 0: aload 0
getfield com.oracle.truffle.tools.chromeinspector.TypeHandler$TypeProfileEventFactory$1.val$context:Lcom/oracle/truffle/api/instrumentation/EventContext;
invokevirtual com.oracle.truffle.api.instrumentation.EventContext.getInstrumentedSourceSection:()Lcom/oracle/truffle/api/source/SourceSection;
astore 2
start local 2 1: aload 0
getfield com.oracle.truffle.tools.chromeinspector.TypeHandler$TypeProfileEventFactory$1.node:Lcom/oracle/truffle/api/nodes/Node;
invokevirtual com.oracle.truffle.api.nodes.Node.getRootNode:()Lcom/oracle/truffle/api/nodes/RootNode;
invokevirtual com.oracle.truffle.api.nodes.RootNode.getLanguageInfo:()Lcom/oracle/truffle/api/nodes/LanguageInfo;
astore 3
start local 3 2: getstatic com.oracle.truffle.tools.chromeinspector.TypeHandler.INTEROP:Lcom/oracle/truffle/api/interop/InteropLibrary;
aload 1
invokevirtual com.oracle.truffle.api.interop.InteropLibrary.getMembers:(Ljava/lang/Object;)Ljava/lang/Object;
astore 4
start local 4 3: getstatic com.oracle.truffle.tools.chromeinspector.TypeHandler.INTEROP:Lcom/oracle/truffle/api/interop/InteropLibrary;
aload 4
invokevirtual com.oracle.truffle.api.interop.InteropLibrary.getArraySize:(Ljava/lang/Object;)J
lstore 5
start local 5 4: lconst_0
lstore 7
start local 7 5: goto 14
6: StackMap locals: com.oracle.truffle.tools.chromeinspector.TypeHandler$TypeProfileEventFactory$1 java.lang.Object com.oracle.truffle.api.source.SourceSection com.oracle.truffle.api.nodes.LanguageInfo java.lang.Object long long
StackMap stack:
getstatic com.oracle.truffle.tools.chromeinspector.TypeHandler.INTEROP:Lcom/oracle/truffle/api/interop/InteropLibrary;
aload 4
lload 7
invokevirtual com.oracle.truffle.api.interop.InteropLibrary.readArrayElement:(Ljava/lang/Object;J)Ljava/lang/Object;
astore 9
start local 9 7: getstatic com.oracle.truffle.tools.chromeinspector.TypeHandler.INTEROP:Lcom/oracle/truffle/api/interop/InteropLibrary;
aload 9
invokevirtual com.oracle.truffle.api.interop.InteropLibrary.asString:(Ljava/lang/Object;)Ljava/lang/String;
astore 10
start local 10 8: getstatic com.oracle.truffle.tools.chromeinspector.TypeHandler.INTEROP:Lcom/oracle/truffle/api/interop/InteropLibrary;
aload 1
aload 10
invokevirtual com.oracle.truffle.api.interop.InteropLibrary.readMember:(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object;
astore 11
start local 11 9: aload 0
getfield com.oracle.truffle.tools.chromeinspector.TypeHandler$TypeProfileEventFactory$1.this$1:Lcom/oracle/truffle/tools/chromeinspector/TypeHandler$TypeProfileEventFactory;
invokestatic com.oracle.truffle.tools.chromeinspector.TypeHandler$TypeProfileEventFactory.access$0:(Lcom/oracle/truffle/tools/chromeinspector/TypeHandler$TypeProfileEventFactory;)Lcom/oracle/truffle/tools/chromeinspector/TypeHandler;
getfield com.oracle.truffle.tools.chromeinspector.TypeHandler.env:Lcom/oracle/truffle/api/instrumentation/TruffleInstrument$Env;
aload 3
aload 11
invokestatic com.oracle.truffle.tools.chromeinspector.TypeHandler.getMetaObjectString:(Lcom/oracle/truffle/api/instrumentation/TruffleInstrument$Env;Lcom/oracle/truffle/api/nodes/LanguageInfo;Ljava/lang/Object;)Ljava/lang/String;
astore 12
start local 12 10: aload 0
getfield com.oracle.truffle.tools.chromeinspector.TypeHandler$TypeProfileEventFactory$1.this$1:Lcom/oracle/truffle/tools/chromeinspector/TypeHandler$TypeProfileEventFactory;
aload 2
aload 9
invokevirtual com.oracle.truffle.tools.chromeinspector.TypeHandler$TypeProfileEventFactory.getArgSection:(Lcom/oracle/truffle/api/source/SourceSection;Ljava/lang/Object;)Lcom/oracle/truffle/api/source/SourceSection;
astore 13
start local 13 11: aload 13
ifnull 13
12: aload 0
getfield com.oracle.truffle.tools.chromeinspector.TypeHandler$TypeProfileEventFactory$1.this$1:Lcom/oracle/truffle/tools/chromeinspector/TypeHandler$TypeProfileEventFactory;
getfield com.oracle.truffle.tools.chromeinspector.TypeHandler$TypeProfileEventFactory.profileMap:Ljava/util/Map;
aload 13
invokedynamic apply()Ljava/util/function/Function;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
(Ljava/lang/Object;)Ljava/lang/Object;
com/oracle/truffle/tools/chromeinspector/TypeHandler$TypeProfileEventFactory$1.lambda$0(Lcom/oracle/truffle/api/source/SourceSection;)Lcom/oracle/truffle/tools/chromeinspector/TypeHandler$SectionTypeProfile; (6)
(Lcom/oracle/truffle/api/source/SourceSection;)Lcom/oracle/truffle/tools/chromeinspector/TypeHandler$SectionTypeProfile;
invokeinterface java.util.Map.computeIfAbsent:(Ljava/lang/Object;Ljava/util/function/Function;)Ljava/lang/Object;
checkcast com.oracle.truffle.tools.chromeinspector.TypeHandler$SectionTypeProfile
getfield com.oracle.truffle.tools.chromeinspector.TypeHandler$SectionTypeProfile.types:Ljava/util/Collection;
aload 12
invokeinterface java.util.Collection.add:(Ljava/lang/Object;)Z
pop
end local 13 end local 12 end local 11 end local 10 end local 9 13: StackMap locals:
StackMap stack:
lload 7
lconst_1
ladd
lstore 7
StackMap locals:
StackMap stack:
14: lload 7
lload 5
lcmp
iflt 6
end local 7 end local 5 end local 4 15: goto 18
StackMap locals: com.oracle.truffle.tools.chromeinspector.TypeHandler$TypeProfileEventFactory$1 java.lang.Object com.oracle.truffle.api.source.SourceSection com.oracle.truffle.api.nodes.LanguageInfo
StackMap stack: com.oracle.truffle.api.interop.InteropException
16: astore 4
start local 4 17: aload 4
invokestatic com.oracle.truffle.api.CompilerDirectives.shouldNotReachHere:(Ljava/lang/Throwable;)Ljava/lang/RuntimeException;
athrow
end local 4 18: StackMap locals:
StackMap stack:
return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 19 0 this Lcom/oracle/truffle/tools/chromeinspector/TypeHandler$TypeProfileEventFactory$1;
0 19 1 arguments Ljava/lang/Object;
1 19 2 section Lcom/oracle/truffle/api/source/SourceSection;
2 19 3 language Lcom/oracle/truffle/api/nodes/LanguageInfo;
3 15 4 keys Ljava/lang/Object;
4 15 5 size J
5 15 7 i J
7 13 9 argument Ljava/lang/Object;
8 13 10 key Ljava/lang/String;
9 13 11 argumentValue Ljava/lang/Object;
10 13 12 retType Ljava/lang/String;
11 13 13 argSection Lcom/oracle/truffle/api/source/SourceSection;
17 18 4 e Lcom/oracle/truffle/api/interop/InteropException;
Exception table:
from to target type
2 15 16 Class com.oracle.truffle.api.interop.UnsupportedMessageException
2 15 16 Class com.oracle.truffle.api.interop.UnknownIdentifierException
2 15 16 Class com.oracle.truffle.api.interop.InvalidArrayIndexException
RuntimeVisibleAnnotations:
com.oracle.truffle.api.CompilerDirectives$TruffleBoundary()
MethodParameters:
Name Flags
arguments
private void processReturnValue(java.lang.Object);
descriptor: (Ljava/lang/Object;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=5, args_size=2
start local 0 start local 1 0: aload 1
ifnull 5
1: aload 0
getfield com.oracle.truffle.tools.chromeinspector.TypeHandler$TypeProfileEventFactory$1.val$context:Lcom/oracle/truffle/api/instrumentation/EventContext;
invokevirtual com.oracle.truffle.api.instrumentation.EventContext.getInstrumentedSourceSection:()Lcom/oracle/truffle/api/source/SourceSection;
astore 2
start local 2 2: aload 0
getfield com.oracle.truffle.tools.chromeinspector.TypeHandler$TypeProfileEventFactory$1.node:Lcom/oracle/truffle/api/nodes/Node;
invokevirtual com.oracle.truffle.api.nodes.Node.getRootNode:()Lcom/oracle/truffle/api/nodes/RootNode;
invokevirtual com.oracle.truffle.api.nodes.RootNode.getLanguageInfo:()Lcom/oracle/truffle/api/nodes/LanguageInfo;
astore 3
start local 3 3: aload 0
getfield com.oracle.truffle.tools.chromeinspector.TypeHandler$TypeProfileEventFactory$1.this$1:Lcom/oracle/truffle/tools/chromeinspector/TypeHandler$TypeProfileEventFactory;
invokestatic com.oracle.truffle.tools.chromeinspector.TypeHandler$TypeProfileEventFactory.access$0:(Lcom/oracle/truffle/tools/chromeinspector/TypeHandler$TypeProfileEventFactory;)Lcom/oracle/truffle/tools/chromeinspector/TypeHandler;
getfield com.oracle.truffle.tools.chromeinspector.TypeHandler.env:Lcom/oracle/truffle/api/instrumentation/TruffleInstrument$Env;
aload 3
aload 1
invokestatic com.oracle.truffle.tools.chromeinspector.TypeHandler.getMetaObjectString:(Lcom/oracle/truffle/api/instrumentation/TruffleInstrument$Env;Lcom/oracle/truffle/api/nodes/LanguageInfo;Ljava/lang/Object;)Ljava/lang/String;
astore 4
start local 4 4: aload 0
getfield com.oracle.truffle.tools.chromeinspector.TypeHandler$TypeProfileEventFactory$1.this$1:Lcom/oracle/truffle/tools/chromeinspector/TypeHandler$TypeProfileEventFactory;
getfield com.oracle.truffle.tools.chromeinspector.TypeHandler$TypeProfileEventFactory.profileMap:Ljava/util/Map;
aload 2
invokedynamic apply()Ljava/util/function/Function;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
(Ljava/lang/Object;)Ljava/lang/Object;
com/oracle/truffle/tools/chromeinspector/TypeHandler$TypeProfileEventFactory$1.lambda$1(Lcom/oracle/truffle/api/source/SourceSection;)Lcom/oracle/truffle/tools/chromeinspector/TypeHandler$SectionTypeProfile; (6)
(Lcom/oracle/truffle/api/source/SourceSection;)Lcom/oracle/truffle/tools/chromeinspector/TypeHandler$SectionTypeProfile;
invokeinterface java.util.Map.computeIfAbsent:(Ljava/lang/Object;Ljava/util/function/Function;)Ljava/lang/Object;
checkcast com.oracle.truffle.tools.chromeinspector.TypeHandler$SectionTypeProfile
getfield com.oracle.truffle.tools.chromeinspector.TypeHandler$SectionTypeProfile.types:Ljava/util/Collection;
aload 4
invokeinterface java.util.Collection.add:(Ljava/lang/Object;)Z
pop
end local 4 end local 3 end local 2 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/tools/chromeinspector/TypeHandler$TypeProfileEventFactory$1;
0 6 1 result Ljava/lang/Object;
2 5 2 section Lcom/oracle/truffle/api/source/SourceSection;
3 5 3 language Lcom/oracle/truffle/api/nodes/LanguageInfo;
4 5 4 retType Ljava/lang/String;
RuntimeVisibleAnnotations:
com.oracle.truffle.api.CompilerDirectives$TruffleBoundary()
MethodParameters:
Name Flags
result final
private static com.oracle.truffle.tools.chromeinspector.TypeHandler$SectionTypeProfile lambda$0(com.oracle.truffle.api.source.SourceSection);
descriptor: (Lcom/oracle/truffle/api/source/SourceSection;)Lcom/oracle/truffle/tools/chromeinspector/TypeHandler$SectionTypeProfile;
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: new com.oracle.truffle.tools.chromeinspector.TypeHandler$SectionTypeProfile
dup
aload 0
invokespecial com.oracle.truffle.tools.chromeinspector.TypeHandler$SectionTypeProfile.<init>:(Lcom/oracle/truffle/api/source/SourceSection;)V
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 s Lcom/oracle/truffle/api/source/SourceSection;
private static com.oracle.truffle.tools.chromeinspector.TypeHandler$SectionTypeProfile lambda$1(com.oracle.truffle.api.source.SourceSection);
descriptor: (Lcom/oracle/truffle/api/source/SourceSection;)Lcom/oracle/truffle/tools/chromeinspector/TypeHandler$SectionTypeProfile;
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: new com.oracle.truffle.tools.chromeinspector.TypeHandler$SectionTypeProfile
dup
aload 0
invokespecial com.oracle.truffle.tools.chromeinspector.TypeHandler$SectionTypeProfile.<init>:(Lcom/oracle/truffle/api/source/SourceSection;)V
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 s Lcom/oracle/truffle/api/source/SourceSection;
}
SourceFile: "TypeHandler.java"
EnclosingMethod: com.oracle.truffle.tools.chromeinspector.TypeHandler$TypeProfileEventFactory.create:(Lcom/oracle/truffle/api/instrumentation/EventContext;)Lcom/oracle/truffle/api/instrumentation/ExecutionEventNode;
NestHost: com.oracle.truffle.tools.chromeinspector.TypeHandler
InnerClasses:
public abstract TruffleBoundary = com.oracle.truffle.api.CompilerDirectives$TruffleBoundary of com.oracle.truffle.api.CompilerDirectives
public final Env = com.oracle.truffle.api.instrumentation.TruffleInstrument$Env of com.oracle.truffle.api.instrumentation.TruffleInstrument
public abstract Child = com.oracle.truffle.api.nodes.Node$Child of com.oracle.truffle.api.nodes.Node
public final SectionTypeProfile = com.oracle.truffle.tools.chromeinspector.TypeHandler$SectionTypeProfile of com.oracle.truffle.tools.chromeinspector.TypeHandler
private final TypeProfileEventFactory = com.oracle.truffle.tools.chromeinspector.TypeHandler$TypeProfileEventFactory of com.oracle.truffle.tools.chromeinspector.TypeHandler
com.oracle.truffle.tools.chromeinspector.TypeHandler$TypeProfileEventFactory$1
public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles