seafoam 0.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +7 -0
- data/.github/probots.yml +2 -0
- data/.github/workflows/rubocop.yml +10 -0
- data/.github/workflows/specs.yml +19 -0
- data/.gitignore +7 -0
- data/.rubocop.yml +34 -0
- data/.ruby-version +1 -0
- data/.seafoam/config +1 -0
- data/CODE_OF_CONDUCT.md +128 -0
- data/CONTRIBUTING.md +5 -0
- data/Gemfile +2 -0
- data/LICENSE.md +7 -0
- data/README.md +298 -0
- data/bin/bgv2isabelle +53 -0
- data/bin/bgv2json +42 -0
- data/bin/seafoam +24 -0
- data/docs/annotators.md +43 -0
- data/docs/bgv.md +284 -0
- data/docs/getting-graphs.md +47 -0
- data/examples/Fib.java +24 -0
- data/examples/MatMult.java +39 -0
- data/examples/fib-java.bgv +0 -0
- data/examples/fib-js.bgv +0 -0
- data/examples/fib-ruby.bgv +0 -0
- data/examples/fib.js +15 -0
- data/examples/fib.rb +15 -0
- data/examples/identity.bgv +0 -0
- data/examples/identity.rb +13 -0
- data/examples/java/Irreducible.j +35 -0
- data/examples/java/IrreducibleDecompiled.java +21 -0
- data/examples/java/JavaExamples.java +418 -0
- data/examples/java/exampleArithOperator.bgv +0 -0
- data/examples/java/exampleArithOperator.cfg +925 -0
- data/examples/java/exampleArrayAllocation.bgv +0 -0
- data/examples/java/exampleArrayAllocation.cfg +5268 -0
- data/examples/java/exampleArrayRead.bgv +0 -0
- data/examples/java/exampleArrayRead.cfg +2263 -0
- data/examples/java/exampleArrayWrite.bgv +0 -0
- data/examples/java/exampleArrayWrite.cfg +2315 -0
- data/examples/java/exampleCatch.bgv +0 -0
- data/examples/java/exampleCatch.cfg +4150 -0
- data/examples/java/exampleCompareOperator.bgv +0 -0
- data/examples/java/exampleCompareOperator.cfg +1109 -0
- data/examples/java/exampleDoubleSynchronized.bgv +0 -0
- data/examples/java/exampleDoubleSynchronized.cfg +26497 -0
- data/examples/java/exampleExactArith.bgv +0 -0
- data/examples/java/exampleExactArith.cfg +1888 -0
- data/examples/java/exampleFieldRead.bgv +0 -0
- data/examples/java/exampleFieldRead.cfg +1228 -0
- data/examples/java/exampleFieldWrite.bgv +0 -0
- data/examples/java/exampleFieldWrite.cfg +1102 -0
- data/examples/java/exampleFor.bgv +0 -0
- data/examples/java/exampleFor.cfg +3936 -0
- data/examples/java/exampleFullEscape.bgv +0 -0
- data/examples/java/exampleFullEscape.cfg +5893 -0
- data/examples/java/exampleIf.bgv +0 -0
- data/examples/java/exampleIf.cfg +2462 -0
- data/examples/java/exampleIfNeverTaken.bgv +0 -0
- data/examples/java/exampleIfNeverTaken.cfg +2476 -0
- data/examples/java/exampleInstanceOfManyImpls.bgv +0 -0
- data/examples/java/exampleInstanceOfManyImpls.cfg +6391 -0
- data/examples/java/exampleInstanceOfOneImpl.bgv +0 -0
- data/examples/java/exampleInstanceOfOneImpl.cfg +2604 -0
- data/examples/java/exampleIntSwitch.bgv +0 -0
- data/examples/java/exampleIntSwitch.cfg +3121 -0
- data/examples/java/exampleInterfaceCallManyImpls.bgv +0 -0
- data/examples/java/exampleInterfaceCallManyImpls.cfg +1358 -0
- data/examples/java/exampleInterfaceCallOneImpl.bgv +0 -0
- data/examples/java/exampleInterfaceCallOneImpl.cfg +3859 -0
- data/examples/java/exampleLocalInstanceOf.bgv +0 -0
- data/examples/java/exampleLocalInstanceOf.cfg +5276 -0
- data/examples/java/exampleLocalSynchronized.bgv +0 -0
- data/examples/java/exampleLocalSynchronized.cfg +1364 -0
- data/examples/java/exampleLocalVariables.bgv +0 -0
- data/examples/java/exampleLocalVariables.cfg +1195 -0
- data/examples/java/exampleLocalVariablesState.bgv +0 -0
- data/examples/java/exampleLocalVariablesState.cfg +1673 -0
- data/examples/java/exampleNestedWhile.bgv +0 -0
- data/examples/java/exampleNestedWhile.cfg +15499 -0
- data/examples/java/exampleNestedWhileBreak.bgv +0 -0
- data/examples/java/exampleNestedWhileBreak.cfg +11162 -0
- data/examples/java/exampleNoEscape.bgv +0 -0
- data/examples/java/exampleNoEscape.cfg +974 -0
- data/examples/java/exampleObjectAllocation.bgv +0 -0
- data/examples/java/exampleObjectAllocation.cfg +5287 -0
- data/examples/java/examplePartialEscape.bgv +0 -0
- data/examples/java/examplePartialEscape.cfg +7042 -0
- data/examples/java/examplePhi.bgv +0 -0
- data/examples/java/examplePhi.cfg +3227 -0
- data/examples/java/exampleReducible.bgv +0 -0
- data/examples/java/exampleReducible.cfg +5578 -0
- data/examples/java/exampleSimpleCall.bgv +0 -0
- data/examples/java/exampleSimpleCall.cfg +1435 -0
- data/examples/java/exampleStamp.bgv +0 -0
- data/examples/java/exampleStamp.cfg +913 -0
- data/examples/java/exampleStaticCall.bgv +0 -0
- data/examples/java/exampleStaticCall.cfg +1154 -0
- data/examples/java/exampleStringSwitch.bgv +0 -0
- data/examples/java/exampleStringSwitch.cfg +15377 -0
- data/examples/java/exampleSynchronized.bgv +0 -0
- data/examples/java/exampleSynchronized.cfg +26027 -0
- data/examples/java/exampleThrow.bgv +0 -0
- data/examples/java/exampleThrow.cfg +780 -0
- data/examples/java/exampleThrowCatch.bgv +0 -0
- data/examples/java/exampleThrowCatch.cfg +744 -0
- data/examples/java/exampleUnsafeRead.bgv +0 -0
- data/examples/java/exampleUnsafeRead.cfg +912 -0
- data/examples/java/exampleUnsafeWrite.bgv +0 -0
- data/examples/java/exampleUnsafeWrite.cfg +962 -0
- data/examples/java/exampleWhile.bgv +0 -0
- data/examples/java/exampleWhile.cfg +3936 -0
- data/examples/java/exampleWhileBreak.bgv +0 -0
- data/examples/java/exampleWhileBreak.cfg +5963 -0
- data/examples/matmult-java.bgv +0 -0
- data/examples/matmult-ruby.bgv +0 -0
- data/examples/matmult.rb +29 -0
- data/examples/overflow.bgv +0 -0
- data/examples/overflow.rb +13 -0
- data/lib/seafoam.rb +13 -0
- data/lib/seafoam/annotators.rb +54 -0
- data/lib/seafoam/annotators/fallback.rb +27 -0
- data/lib/seafoam/annotators/graal.rb +376 -0
- data/lib/seafoam/bgv/bgv_parser.rb +602 -0
- data/lib/seafoam/binary/binary_reader.rb +21 -0
- data/lib/seafoam/binary/io_binary_reader.rb +88 -0
- data/lib/seafoam/colors.rb +18 -0
- data/lib/seafoam/commands.rb +447 -0
- data/lib/seafoam/config.rb +34 -0
- data/lib/seafoam/graph.rb +91 -0
- data/lib/seafoam/graphviz_writer.rb +213 -0
- data/lib/seafoam/spotlight.rb +28 -0
- data/lib/seafoam/version.rb +5 -0
- data/seafoam.gemspec +20 -0
- data/spec/seafoam/annotators/fallback_spec.rb +69 -0
- data/spec/seafoam/annotators/graal_spec.rb +96 -0
- data/spec/seafoam/annotators_spec.rb +61 -0
- data/spec/seafoam/bgv/bgv_parser_spec.rb +144 -0
- data/spec/seafoam/bgv/fixtures/not.bgv +1 -0
- data/spec/seafoam/bgv/fixtures/unsupported.bgv +1 -0
- data/spec/seafoam/binary/io_binary_reader_spec.rb +176 -0
- data/spec/seafoam/command_spec.rb +252 -0
- data/spec/seafoam/graph_spec.rb +172 -0
- data/spec/seafoam/graphviz_writer_spec.rb +63 -0
- data/spec/seafoam/spec_helpers.rb +30 -0
- data/spec/seafoam/spotlight_spec.rb +38 -0
- data/tools/render-all +36 -0
- metadata +238 -0
|
Binary file
|
|
@@ -0,0 +1,1358 @@
|
|
|
1
|
+
begin_compilation
|
|
2
|
+
name " HotSpotCompilation-361[JavaExamples.exampleInterfaceCallManyImpls(JavaExamples$InterfaceManyImpls)]"
|
|
3
|
+
method "HotSpotCompilation-361[JavaExamples.exampleInterfaceCallManyImpls(JavaExamples$InterfaceManyImpls)]"
|
|
4
|
+
date 1583840237781
|
|
5
|
+
end_compilation
|
|
6
|
+
begin_cfg
|
|
7
|
+
name "Final HIR schedule"
|
|
8
|
+
begin_block
|
|
9
|
+
name "B0"
|
|
10
|
+
from_bci -1
|
|
11
|
+
to_bci -1
|
|
12
|
+
predecessors
|
|
13
|
+
successors
|
|
14
|
+
xhandlers
|
|
15
|
+
flags
|
|
16
|
+
probability 4607182418800017408
|
|
17
|
+
begin_IR
|
|
18
|
+
HIR
|
|
19
|
+
f <@#|@fixed with next>@ <|@
|
|
20
|
+
tid v0 <|@
|
|
21
|
+
d <@d|@=== Debug Properties ===
|
|
22
|
+
stamp: void
|
|
23
|
+
withSpeculationFence: false
|
|
24
|
+
=== Inputs ===
|
|
25
|
+
stateAfter: -
|
|
26
|
+
=== Succesors ===
|
|
27
|
+
next: v17
|
|
28
|
+
=== Usages ===
|
|
29
|
+
=== Predecessor ===
|
|
30
|
+
- >@ <|@
|
|
31
|
+
instruction <@StartNode|@org.graalvm.compiler.nodes.StartNode>@ stateAfter: - #next: v17 <|@ <|@
|
|
32
|
+
f <@~|@floating>@ <|@
|
|
33
|
+
tid a16 <|@
|
|
34
|
+
d <@d|@=== Debug Properties ===
|
|
35
|
+
isDefaultStable: false
|
|
36
|
+
rawvalue: null
|
|
37
|
+
stableDimension: 0
|
|
38
|
+
stamp: a - NULL
|
|
39
|
+
stampKind: a -
|
|
40
|
+
value: Object[null]
|
|
41
|
+
=== Inputs ===
|
|
42
|
+
=== Succesors ===
|
|
43
|
+
=== Usages ===
|
|
44
|
+
?2
|
|
45
|
+
=== Predecessor ===
|
|
46
|
+
- >@ <|@
|
|
47
|
+
instruction <@Constant|@org.graalvm.compiler.nodes.ConstantNode>@ <|@ <|@
|
|
48
|
+
tid ?2 <|@
|
|
49
|
+
d <@d|@=== Debug Properties ===
|
|
50
|
+
bci: 0
|
|
51
|
+
code: ResolvedJavaMethodBytecode<JavaExamples.exampleInterfaceCallManyImpls(JavaExamples$InterfaceManyImpls)>
|
|
52
|
+
duringCall: false
|
|
53
|
+
localsSize: 1
|
|
54
|
+
locksSize: 0
|
|
55
|
+
rethrowException: false
|
|
56
|
+
sourceFile: JavaExamples.java
|
|
57
|
+
sourceLine: 111
|
|
58
|
+
stackSize: 0
|
|
59
|
+
=== Inputs ===
|
|
60
|
+
outerFrameState: -
|
|
61
|
+
values: a16
|
|
62
|
+
=== Succesors ===
|
|
63
|
+
=== Usages ===
|
|
64
|
+
v17
|
|
65
|
+
=== Predecessor ===
|
|
66
|
+
- >@ <|@
|
|
67
|
+
instruction <@FrameState|@org.graalvm.compiler.nodes.FrameState>@ outerFrameState: - values: a16 <|@ <|@
|
|
68
|
+
f <@~|@floating>@ <|@
|
|
69
|
+
tid a1 <|@
|
|
70
|
+
d <@d|@=== Debug Properties ===
|
|
71
|
+
index: 0
|
|
72
|
+
stamp: a -
|
|
73
|
+
uncheckedStamp: a LJavaExamples$InterfaceManyImpls;
|
|
74
|
+
=== Inputs ===
|
|
75
|
+
=== Succesors ===
|
|
76
|
+
=== Usages ===
|
|
77
|
+
v17 v10
|
|
78
|
+
=== Predecessor ===
|
|
79
|
+
- >@ <|@
|
|
80
|
+
instruction <@Parameter|@org.graalvm.compiler.nodes.ParameterNode>@ <|@ <|@
|
|
81
|
+
f <@#|@fixed with next>@ <|@
|
|
82
|
+
tid v17 <|@
|
|
83
|
+
d <@d|@=== Debug Properties ===
|
|
84
|
+
stamp: void
|
|
85
|
+
=== Inputs ===
|
|
86
|
+
stateBefore: ?2
|
|
87
|
+
object: a1
|
|
88
|
+
=== Succesors ===
|
|
89
|
+
next: i4
|
|
90
|
+
=== Usages ===
|
|
91
|
+
=== Predecessor ===
|
|
92
|
+
v0 >@ <|@
|
|
93
|
+
instruction <@NullCheck|@org.graalvm.compiler.nodes.extended.NullCheckNode>@ stateBefore: ?2 object: a1 #next: i4 <|@ <|@
|
|
94
|
+
tid v10 <|@
|
|
95
|
+
d <@d|@=== Debug Properties ===
|
|
96
|
+
callType: JavaCall
|
|
97
|
+
invokeKind: Interface
|
|
98
|
+
nodeSourcePosition: at JavaExamples.exampleInterfaceCallManyImpls(JavaExamples.java:111) [bci: 1]
|
|
99
|
+
returnStamp: i32
|
|
100
|
+
signature: [Ljdk.vm.ci.meta.JavaType;@10f0cdc60
|
|
101
|
+
stamp: void
|
|
102
|
+
targetMethod: HotSpotMethod<JavaExamples$InterfaceManyImpls.interfaceCall()>
|
|
103
|
+
=== Inputs ===
|
|
104
|
+
arguments: a1
|
|
105
|
+
=== Succesors ===
|
|
106
|
+
=== Usages ===
|
|
107
|
+
i4
|
|
108
|
+
=== Predecessor ===
|
|
109
|
+
- >@ <|@
|
|
110
|
+
instruction <@HotSpotDirectCallTarget|@org.graalvm.compiler.hotspot.nodes.HotSpotDirectCallTargetNode>@ arguments: a1 <|@ <|@
|
|
111
|
+
tid ?15 <|@
|
|
112
|
+
d <@d|@=== Debug Properties ===
|
|
113
|
+
bci: 1
|
|
114
|
+
code: ResolvedJavaMethodBytecode<JavaExamples.exampleInterfaceCallManyImpls(JavaExamples$InterfaceManyImpls)>
|
|
115
|
+
duringCall: true
|
|
116
|
+
localsSize: 1
|
|
117
|
+
locksSize: 0
|
|
118
|
+
rethrowException: false
|
|
119
|
+
sourceFile: JavaExamples.java
|
|
120
|
+
sourceLine: 111
|
|
121
|
+
stackSize: 0
|
|
122
|
+
=== Inputs ===
|
|
123
|
+
outerFrameState: -
|
|
124
|
+
values: -
|
|
125
|
+
=== Succesors ===
|
|
126
|
+
=== Usages ===
|
|
127
|
+
i4
|
|
128
|
+
=== Predecessor ===
|
|
129
|
+
- >@ <|@
|
|
130
|
+
instruction <@FrameState|@org.graalvm.compiler.nodes.FrameState>@ outerFrameState: - values: - <|@ <|@
|
|
131
|
+
f <@#|@fixed with next>@ <|@
|
|
132
|
+
tid i4 <|@
|
|
133
|
+
d <@d|@=== Debug Properties ===
|
|
134
|
+
bci: 1
|
|
135
|
+
identity: ANY_LOCATION
|
|
136
|
+
nodeSourcePosition: at JavaExamples.exampleInterfaceCallManyImpls(JavaExamples.java:111) [bci: 1]
|
|
137
|
+
polymorphic: true
|
|
138
|
+
stamp: i32
|
|
139
|
+
targetMethod: Direct#JavaExamples$InterfaceManyImpls.interfaceCall
|
|
140
|
+
useForInlining: true
|
|
141
|
+
=== Inputs ===
|
|
142
|
+
stateAfter: -
|
|
143
|
+
classInit: -
|
|
144
|
+
callTarget: v10
|
|
145
|
+
stateDuring: ?15
|
|
146
|
+
=== Succesors ===
|
|
147
|
+
next: v6
|
|
148
|
+
=== Usages ===
|
|
149
|
+
v6
|
|
150
|
+
=== Predecessor ===
|
|
151
|
+
v17 >@ <|@
|
|
152
|
+
instruction <@Invoke|@org.graalvm.compiler.nodes.InvokeNode>@ stateAfter: - classInit: - callTarget: v10 stateDuring: ?15 #next: v6 <|@ <|@
|
|
153
|
+
f <@*|@fixed>@ <|@
|
|
154
|
+
tid v6 <|@
|
|
155
|
+
d <@d|@=== Debug Properties ===
|
|
156
|
+
nodeSourcePosition: at JavaExamples.exampleInterfaceCallManyImpls(JavaExamples.java:111) [bci: 6]
|
|
157
|
+
stamp: void
|
|
158
|
+
=== Inputs ===
|
|
159
|
+
result: i4
|
|
160
|
+
memoryMap: -
|
|
161
|
+
=== Succesors ===
|
|
162
|
+
=== Usages ===
|
|
163
|
+
=== Predecessor ===
|
|
164
|
+
i4 >@ <|@
|
|
165
|
+
instruction <@Return|@org.graalvm.compiler.nodes.ReturnNode>@ result: i4 memoryMap: - <|@ <|@
|
|
166
|
+
end_IR
|
|
167
|
+
end_block
|
|
168
|
+
end_cfg
|
|
169
|
+
begin_cfg
|
|
170
|
+
name "After LIRGeneration"
|
|
171
|
+
begin_block
|
|
172
|
+
name "B0"
|
|
173
|
+
from_bci -1
|
|
174
|
+
to_bci -1
|
|
175
|
+
predecessors
|
|
176
|
+
successors
|
|
177
|
+
xhandlers
|
|
178
|
+
flags
|
|
179
|
+
probability 4607182418800017408
|
|
180
|
+
begin_IR
|
|
181
|
+
LIR
|
|
182
|
+
nr -1 <|@ instruction [rsi|QWORD[.], rbp|QWORD] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
|
|
183
|
+
nr -1 <|@ instruction stack:16|QWORD = MOVE rbp|QWORD moveKind: QWORD <|@ <|@
|
|
184
|
+
nr -1 <|@ instruction [] = HOTSPOTLOCKSTACK frameMapBuilder: org.graalvm.compiler.lir.amd64.AMD64FrameMapBuilder@12fc690a8 slotKind: QWORD <|@ <|@
|
|
185
|
+
nr -1 <|@ instruction v0|QWORD[.] = MOVE rsi|QWORD[.] moveKind: QWORD <|@ <|@
|
|
186
|
+
nr -1 <|@ st <@st|@JavaExamples.exampleInterfaceCallManyImpls(JavaExamples.java:111) [bci: 0]
|
|
187
|
+
locals: Object[null]
|
|
188
|
+
>@ <|@ instruction NULLCHECK [v0|QWORD[.]] state [bci:0] <|@ <|@
|
|
189
|
+
nr -1 <|@ instruction rsi|QWORD[.] = MOVE v0|QWORD[.] moveKind: QWORD <|@ <|@
|
|
190
|
+
nr -1 <|@ st <@st|@JavaExamples.exampleInterfaceCallManyImpls(JavaExamples.java:111) [bci: 1]
|
|
191
|
+
locals: -
|
|
192
|
+
>@ <|@ instruction rax|DWORD = CALL_DIRECT [rsi|QWORD[.]] [] callTarget: HotSpotMethod<JavaExamples$InterfaceManyImpls.interfaceCall()> invokeKind: Interface config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@13b805f38 state [bci:1] <|@ <|@
|
|
193
|
+
nr -1 <|@ instruction v1|DWORD = MOVE rax|DWORD moveKind: DWORD <|@ <|@
|
|
194
|
+
nr -1 <|@ instruction rax|DWORD = MOVE v1|DWORD moveKind: DWORD <|@ <|@
|
|
195
|
+
nr -1 <|@ instruction RETURN (savedRbp: stack:16|QWORD, value: rax|DWORD) isStub: false requiresReservedStackAccessCheck: false thread: r15 scratchForSafepointOnReturn: rcx config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@13b805f38 <|@ <|@
|
|
196
|
+
end_IR
|
|
197
|
+
end_block
|
|
198
|
+
end_cfg
|
|
199
|
+
begin_bytecodes
|
|
200
|
+
0: aload_0
|
|
201
|
+
1: invokeinterface#55, 1 // JavaExamples$InterfaceManyImpls.interfaceCall:()int
|
|
202
|
+
6: ireturn
|
|
203
|
+
<|@
|
|
204
|
+
end_bytecodes
|
|
205
|
+
begin_cfg
|
|
206
|
+
name "After LIR generation"
|
|
207
|
+
begin_block
|
|
208
|
+
name "B0"
|
|
209
|
+
from_bci -1
|
|
210
|
+
to_bci -1
|
|
211
|
+
predecessors
|
|
212
|
+
successors
|
|
213
|
+
xhandlers
|
|
214
|
+
flags
|
|
215
|
+
probability 4607182418800017408
|
|
216
|
+
begin_IR
|
|
217
|
+
HIR
|
|
218
|
+
f <@#|@fixed with next>@ <|@
|
|
219
|
+
tid v0 <|@
|
|
220
|
+
d <@d|@=== Debug Properties ===
|
|
221
|
+
stamp: void
|
|
222
|
+
withSpeculationFence: false
|
|
223
|
+
=== Inputs ===
|
|
224
|
+
stateAfter: -
|
|
225
|
+
=== Succesors ===
|
|
226
|
+
next: v17
|
|
227
|
+
=== Usages ===
|
|
228
|
+
=== Predecessor ===
|
|
229
|
+
- >@ <|@
|
|
230
|
+
instruction <@StartNode|@org.graalvm.compiler.nodes.StartNode>@ stateAfter: - #next: v17 <|@ <|@
|
|
231
|
+
f <@~|@floating>@ <|@
|
|
232
|
+
tid a16 <|@
|
|
233
|
+
result Object[null] <|@
|
|
234
|
+
d <@d|@=== Debug Properties ===
|
|
235
|
+
isDefaultStable: false
|
|
236
|
+
rawvalue: null
|
|
237
|
+
stableDimension: 0
|
|
238
|
+
stamp: a - NULL
|
|
239
|
+
stampKind: a -
|
|
240
|
+
value: Object[null]
|
|
241
|
+
=== Inputs ===
|
|
242
|
+
=== Succesors ===
|
|
243
|
+
=== Usages ===
|
|
244
|
+
?2
|
|
245
|
+
=== Predecessor ===
|
|
246
|
+
- >@ <|@
|
|
247
|
+
instruction <@Constant|@org.graalvm.compiler.nodes.ConstantNode>@ <|@ <|@
|
|
248
|
+
tid ?2 <|@
|
|
249
|
+
d <@d|@=== Debug Properties ===
|
|
250
|
+
bci: 0
|
|
251
|
+
code: ResolvedJavaMethodBytecode<JavaExamples.exampleInterfaceCallManyImpls(JavaExamples$InterfaceManyImpls)>
|
|
252
|
+
duringCall: false
|
|
253
|
+
localsSize: 1
|
|
254
|
+
locksSize: 0
|
|
255
|
+
rethrowException: false
|
|
256
|
+
sourceFile: JavaExamples.java
|
|
257
|
+
sourceLine: 111
|
|
258
|
+
stackSize: 0
|
|
259
|
+
=== Inputs ===
|
|
260
|
+
outerFrameState: -
|
|
261
|
+
values: a16
|
|
262
|
+
=== Succesors ===
|
|
263
|
+
=== Usages ===
|
|
264
|
+
v17
|
|
265
|
+
=== Predecessor ===
|
|
266
|
+
- >@ <|@
|
|
267
|
+
instruction <@FrameState|@org.graalvm.compiler.nodes.FrameState>@ outerFrameState: - values: a16 <|@ <|@
|
|
268
|
+
f <@~|@floating>@ <|@
|
|
269
|
+
tid a1 <|@
|
|
270
|
+
result v0|QWORD[.] <|@
|
|
271
|
+
d <@d|@=== Debug Properties ===
|
|
272
|
+
index: 0
|
|
273
|
+
stamp: a -
|
|
274
|
+
uncheckedStamp: a LJavaExamples$InterfaceManyImpls;
|
|
275
|
+
=== Inputs ===
|
|
276
|
+
=== Succesors ===
|
|
277
|
+
=== Usages ===
|
|
278
|
+
v17 v10
|
|
279
|
+
=== Predecessor ===
|
|
280
|
+
- >@ <|@
|
|
281
|
+
instruction <@Parameter|@org.graalvm.compiler.nodes.ParameterNode>@ <|@ <|@
|
|
282
|
+
f <@#|@fixed with next>@ <|@
|
|
283
|
+
tid v17 <|@
|
|
284
|
+
d <@d|@=== Debug Properties ===
|
|
285
|
+
stamp: void
|
|
286
|
+
=== Inputs ===
|
|
287
|
+
stateBefore: ?2
|
|
288
|
+
object: a1
|
|
289
|
+
=== Succesors ===
|
|
290
|
+
next: i4
|
|
291
|
+
=== Usages ===
|
|
292
|
+
=== Predecessor ===
|
|
293
|
+
v0 >@ <|@
|
|
294
|
+
instruction <@NullCheck|@org.graalvm.compiler.nodes.extended.NullCheckNode>@ stateBefore: ?2 object: a1 #next: i4 <|@ <|@
|
|
295
|
+
tid v10 <|@
|
|
296
|
+
d <@d|@=== Debug Properties ===
|
|
297
|
+
callType: JavaCall
|
|
298
|
+
invokeKind: Interface
|
|
299
|
+
nodeSourcePosition: at JavaExamples.exampleInterfaceCallManyImpls(JavaExamples.java:111) [bci: 1]
|
|
300
|
+
returnStamp: i32
|
|
301
|
+
signature: [Ljdk.vm.ci.meta.JavaType;@10f0cdc60
|
|
302
|
+
stamp: void
|
|
303
|
+
targetMethod: HotSpotMethod<JavaExamples$InterfaceManyImpls.interfaceCall()>
|
|
304
|
+
=== Inputs ===
|
|
305
|
+
arguments: a1
|
|
306
|
+
=== Succesors ===
|
|
307
|
+
=== Usages ===
|
|
308
|
+
i4
|
|
309
|
+
=== Predecessor ===
|
|
310
|
+
- >@ <|@
|
|
311
|
+
instruction <@HotSpotDirectCallTarget|@org.graalvm.compiler.hotspot.nodes.HotSpotDirectCallTargetNode>@ arguments: a1 <|@ <|@
|
|
312
|
+
tid ?15 <|@
|
|
313
|
+
d <@d|@=== Debug Properties ===
|
|
314
|
+
bci: 1
|
|
315
|
+
code: ResolvedJavaMethodBytecode<JavaExamples.exampleInterfaceCallManyImpls(JavaExamples$InterfaceManyImpls)>
|
|
316
|
+
duringCall: true
|
|
317
|
+
localsSize: 1
|
|
318
|
+
locksSize: 0
|
|
319
|
+
rethrowException: false
|
|
320
|
+
sourceFile: JavaExamples.java
|
|
321
|
+
sourceLine: 111
|
|
322
|
+
stackSize: 0
|
|
323
|
+
=== Inputs ===
|
|
324
|
+
outerFrameState: -
|
|
325
|
+
values: -
|
|
326
|
+
=== Succesors ===
|
|
327
|
+
=== Usages ===
|
|
328
|
+
i4
|
|
329
|
+
=== Predecessor ===
|
|
330
|
+
- >@ <|@
|
|
331
|
+
instruction <@FrameState|@org.graalvm.compiler.nodes.FrameState>@ outerFrameState: - values: - <|@ <|@
|
|
332
|
+
f <@#|@fixed with next>@ <|@
|
|
333
|
+
tid i4 <|@
|
|
334
|
+
result v1|DWORD <|@
|
|
335
|
+
d <@d|@=== Debug Properties ===
|
|
336
|
+
bci: 1
|
|
337
|
+
identity: ANY_LOCATION
|
|
338
|
+
nodeSourcePosition: at JavaExamples.exampleInterfaceCallManyImpls(JavaExamples.java:111) [bci: 1]
|
|
339
|
+
polymorphic: true
|
|
340
|
+
stamp: i32
|
|
341
|
+
targetMethod: Direct#JavaExamples$InterfaceManyImpls.interfaceCall
|
|
342
|
+
useForInlining: true
|
|
343
|
+
=== Inputs ===
|
|
344
|
+
stateAfter: -
|
|
345
|
+
classInit: -
|
|
346
|
+
callTarget: v10
|
|
347
|
+
stateDuring: ?15
|
|
348
|
+
=== Succesors ===
|
|
349
|
+
next: v6
|
|
350
|
+
=== Usages ===
|
|
351
|
+
v6
|
|
352
|
+
=== Predecessor ===
|
|
353
|
+
v17 >@ <|@
|
|
354
|
+
instruction <@Invoke|@org.graalvm.compiler.nodes.InvokeNode>@ stateAfter: - classInit: - callTarget: v10 stateDuring: ?15 #next: v6 <|@ <|@
|
|
355
|
+
f <@*|@fixed>@ <|@
|
|
356
|
+
tid v6 <|@
|
|
357
|
+
d <@d|@=== Debug Properties ===
|
|
358
|
+
nodeSourcePosition: at JavaExamples.exampleInterfaceCallManyImpls(JavaExamples.java:111) [bci: 6]
|
|
359
|
+
stamp: void
|
|
360
|
+
=== Inputs ===
|
|
361
|
+
result: i4
|
|
362
|
+
memoryMap: -
|
|
363
|
+
=== Succesors ===
|
|
364
|
+
=== Usages ===
|
|
365
|
+
=== Predecessor ===
|
|
366
|
+
i4 >@ <|@
|
|
367
|
+
instruction <@Return|@org.graalvm.compiler.nodes.ReturnNode>@ result: i4 memoryMap: - <|@ <|@
|
|
368
|
+
end_IR
|
|
369
|
+
begin_IR
|
|
370
|
+
LIR
|
|
371
|
+
nr -1 <|@ instruction [rsi|QWORD[.], rbp|QWORD] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
|
|
372
|
+
nr -1 <|@ instruction stack:16|QWORD = MOVE rbp|QWORD moveKind: QWORD <|@ <|@
|
|
373
|
+
nr -1 <|@ instruction [] = HOTSPOTLOCKSTACK frameMapBuilder: org.graalvm.compiler.lir.amd64.AMD64FrameMapBuilder@12fc690a8 slotKind: QWORD <|@ <|@
|
|
374
|
+
nr -1 <|@ instruction v0|QWORD[.] = MOVE rsi|QWORD[.] moveKind: QWORD <|@ <|@
|
|
375
|
+
nr -1 <|@ st <@st|@JavaExamples.exampleInterfaceCallManyImpls(JavaExamples.java:111) [bci: 0]
|
|
376
|
+
locals: Object[null]
|
|
377
|
+
>@ <|@ instruction NULLCHECK [v0|QWORD[.]] state [bci:0] <|@ <|@
|
|
378
|
+
nr -1 <|@ instruction rsi|QWORD[.] = MOVE v0|QWORD[.] moveKind: QWORD <|@ <|@
|
|
379
|
+
nr -1 <|@ st <@st|@JavaExamples.exampleInterfaceCallManyImpls(JavaExamples.java:111) [bci: 1]
|
|
380
|
+
locals: -
|
|
381
|
+
>@ <|@ instruction rax|DWORD = CALL_DIRECT [rsi|QWORD[.]] [] callTarget: HotSpotMethod<JavaExamples$InterfaceManyImpls.interfaceCall()> invokeKind: Interface config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@13b805f38 state [bci:1] <|@ <|@
|
|
382
|
+
nr -1 <|@ instruction v1|DWORD = MOVE rax|DWORD moveKind: DWORD <|@ <|@
|
|
383
|
+
nr -1 <|@ instruction rax|DWORD = MOVE v1|DWORD moveKind: DWORD <|@ <|@
|
|
384
|
+
nr -1 <|@ instruction RETURN (savedRbp: stack:16|QWORD, value: rax|DWORD) isStub: false requiresReservedStackAccessCheck: false thread: r15 scratchForSafepointOnReturn: rcx config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@13b805f38 <|@ <|@
|
|
385
|
+
end_IR
|
|
386
|
+
end_block
|
|
387
|
+
end_cfg
|
|
388
|
+
begin_cfg
|
|
389
|
+
name "After ConstantLoadOptimization"
|
|
390
|
+
begin_block
|
|
391
|
+
name "B0"
|
|
392
|
+
from_bci -1
|
|
393
|
+
to_bci -1
|
|
394
|
+
predecessors
|
|
395
|
+
successors
|
|
396
|
+
xhandlers
|
|
397
|
+
flags
|
|
398
|
+
probability 4607182418800017408
|
|
399
|
+
begin_IR
|
|
400
|
+
LIR
|
|
401
|
+
nr -1 <|@ instruction [rsi|QWORD[.], rbp|QWORD] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
|
|
402
|
+
nr -1 <|@ instruction stack:16|QWORD = MOVE rbp|QWORD moveKind: QWORD <|@ <|@
|
|
403
|
+
nr -1 <|@ instruction [] = HOTSPOTLOCKSTACK frameMapBuilder: org.graalvm.compiler.lir.amd64.AMD64FrameMapBuilder@12fc690a8 slotKind: QWORD <|@ <|@
|
|
404
|
+
nr -1 <|@ instruction v0|QWORD[.] = MOVE rsi|QWORD[.] moveKind: QWORD <|@ <|@
|
|
405
|
+
nr -1 <|@ st <@st|@JavaExamples.exampleInterfaceCallManyImpls(JavaExamples.java:111) [bci: 0]
|
|
406
|
+
locals: Object[null]
|
|
407
|
+
>@ <|@ instruction NULLCHECK [v0|QWORD[.]] state [bci:0] <|@ <|@
|
|
408
|
+
nr -1 <|@ instruction rsi|QWORD[.] = MOVE v0|QWORD[.] moveKind: QWORD <|@ <|@
|
|
409
|
+
nr -1 <|@ st <@st|@JavaExamples.exampleInterfaceCallManyImpls(JavaExamples.java:111) [bci: 1]
|
|
410
|
+
locals: -
|
|
411
|
+
>@ <|@ instruction rax|DWORD = CALL_DIRECT [rsi|QWORD[.]] [] callTarget: HotSpotMethod<JavaExamples$InterfaceManyImpls.interfaceCall()> invokeKind: Interface config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@13b805f38 state [bci:1] <|@ <|@
|
|
412
|
+
nr -1 <|@ instruction v1|DWORD = MOVE rax|DWORD moveKind: DWORD <|@ <|@
|
|
413
|
+
nr -1 <|@ instruction rax|DWORD = MOVE v1|DWORD moveKind: DWORD <|@ <|@
|
|
414
|
+
nr -1 <|@ instruction RETURN (savedRbp: stack:16|QWORD, value: rax|DWORD) isStub: false requiresReservedStackAccessCheck: false thread: r15 scratchForSafepointOnReturn: rcx config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@13b805f38 <|@ <|@
|
|
415
|
+
end_IR
|
|
416
|
+
end_block
|
|
417
|
+
end_cfg
|
|
418
|
+
begin_bytecodes
|
|
419
|
+
0: aload_0
|
|
420
|
+
1: invokeinterface#55, 1 // JavaExamples$InterfaceManyImpls.interfaceCall:()int
|
|
421
|
+
6: ireturn
|
|
422
|
+
<|@
|
|
423
|
+
end_bytecodes
|
|
424
|
+
begin_cfg
|
|
425
|
+
name "After SaveCalleeSaveRegisters"
|
|
426
|
+
begin_block
|
|
427
|
+
name "B0"
|
|
428
|
+
from_bci -1
|
|
429
|
+
to_bci -1
|
|
430
|
+
predecessors
|
|
431
|
+
successors
|
|
432
|
+
xhandlers
|
|
433
|
+
flags
|
|
434
|
+
probability 4607182418800017408
|
|
435
|
+
begin_IR
|
|
436
|
+
LIR
|
|
437
|
+
nr -1 <|@ instruction [rsi|QWORD[.], rbp|QWORD] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
|
|
438
|
+
nr -1 <|@ instruction stack:16|QWORD = MOVE rbp|QWORD moveKind: QWORD <|@ <|@
|
|
439
|
+
nr -1 <|@ instruction [] = HOTSPOTLOCKSTACK frameMapBuilder: org.graalvm.compiler.lir.amd64.AMD64FrameMapBuilder@12fc690a8 slotKind: QWORD <|@ <|@
|
|
440
|
+
nr -1 <|@ instruction v0|QWORD[.] = MOVE rsi|QWORD[.] moveKind: QWORD <|@ <|@
|
|
441
|
+
nr -1 <|@ st <@st|@JavaExamples.exampleInterfaceCallManyImpls(JavaExamples.java:111) [bci: 0]
|
|
442
|
+
locals: Object[null]
|
|
443
|
+
>@ <|@ instruction NULLCHECK [v0|QWORD[.]] state [bci:0] <|@ <|@
|
|
444
|
+
nr -1 <|@ instruction rsi|QWORD[.] = MOVE v0|QWORD[.] moveKind: QWORD <|@ <|@
|
|
445
|
+
nr -1 <|@ st <@st|@JavaExamples.exampleInterfaceCallManyImpls(JavaExamples.java:111) [bci: 1]
|
|
446
|
+
locals: -
|
|
447
|
+
>@ <|@ instruction rax|DWORD = CALL_DIRECT [rsi|QWORD[.]] [] callTarget: HotSpotMethod<JavaExamples$InterfaceManyImpls.interfaceCall()> invokeKind: Interface config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@13b805f38 state [bci:1] <|@ <|@
|
|
448
|
+
nr -1 <|@ instruction v1|DWORD = MOVE rax|DWORD moveKind: DWORD <|@ <|@
|
|
449
|
+
nr -1 <|@ instruction rax|DWORD = MOVE v1|DWORD moveKind: DWORD <|@ <|@
|
|
450
|
+
nr -1 <|@ instruction RETURN (savedRbp: stack:16|QWORD, value: rax|DWORD) isStub: false requiresReservedStackAccessCheck: false thread: r15 scratchForSafepointOnReturn: rcx config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@13b805f38 <|@ <|@
|
|
451
|
+
end_IR
|
|
452
|
+
end_block
|
|
453
|
+
end_cfg
|
|
454
|
+
begin_bytecodes
|
|
455
|
+
0: aload_0
|
|
456
|
+
1: invokeinterface#55, 1 // JavaExamples$InterfaceManyImpls.interfaceCall:()int
|
|
457
|
+
6: ireturn
|
|
458
|
+
<|@
|
|
459
|
+
end_bytecodes
|
|
460
|
+
begin_cfg
|
|
461
|
+
name "After PreAllocationOptimizationStage"
|
|
462
|
+
begin_block
|
|
463
|
+
name "B0"
|
|
464
|
+
from_bci -1
|
|
465
|
+
to_bci -1
|
|
466
|
+
predecessors
|
|
467
|
+
successors
|
|
468
|
+
xhandlers
|
|
469
|
+
flags
|
|
470
|
+
probability 4607182418800017408
|
|
471
|
+
begin_IR
|
|
472
|
+
LIR
|
|
473
|
+
nr -1 <|@ instruction [rsi|QWORD[.], rbp|QWORD] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
|
|
474
|
+
nr -1 <|@ instruction stack:16|QWORD = MOVE rbp|QWORD moveKind: QWORD <|@ <|@
|
|
475
|
+
nr -1 <|@ instruction [] = HOTSPOTLOCKSTACK frameMapBuilder: org.graalvm.compiler.lir.amd64.AMD64FrameMapBuilder@12fc690a8 slotKind: QWORD <|@ <|@
|
|
476
|
+
nr -1 <|@ instruction v0|QWORD[.] = MOVE rsi|QWORD[.] moveKind: QWORD <|@ <|@
|
|
477
|
+
nr -1 <|@ st <@st|@JavaExamples.exampleInterfaceCallManyImpls(JavaExamples.java:111) [bci: 0]
|
|
478
|
+
locals: Object[null]
|
|
479
|
+
>@ <|@ instruction NULLCHECK [v0|QWORD[.]] state [bci:0] <|@ <|@
|
|
480
|
+
nr -1 <|@ instruction rsi|QWORD[.] = MOVE v0|QWORD[.] moveKind: QWORD <|@ <|@
|
|
481
|
+
nr -1 <|@ st <@st|@JavaExamples.exampleInterfaceCallManyImpls(JavaExamples.java:111) [bci: 1]
|
|
482
|
+
locals: -
|
|
483
|
+
>@ <|@ instruction rax|DWORD = CALL_DIRECT [rsi|QWORD[.]] [] callTarget: HotSpotMethod<JavaExamples$InterfaceManyImpls.interfaceCall()> invokeKind: Interface config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@13b805f38 state [bci:1] <|@ <|@
|
|
484
|
+
nr -1 <|@ instruction v1|DWORD = MOVE rax|DWORD moveKind: DWORD <|@ <|@
|
|
485
|
+
nr -1 <|@ instruction rax|DWORD = MOVE v1|DWORD moveKind: DWORD <|@ <|@
|
|
486
|
+
nr -1 <|@ instruction RETURN (savedRbp: stack:16|QWORD, value: rax|DWORD) isStub: false requiresReservedStackAccessCheck: false thread: r15 scratchForSafepointOnReturn: rcx config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@13b805f38 <|@ <|@
|
|
487
|
+
end_IR
|
|
488
|
+
end_block
|
|
489
|
+
end_cfg
|
|
490
|
+
begin_bytecodes
|
|
491
|
+
0: aload_0
|
|
492
|
+
1: invokeinterface#55, 1 // JavaExamples$InterfaceManyImpls.interfaceCall:()int
|
|
493
|
+
6: ireturn
|
|
494
|
+
<|@
|
|
495
|
+
end_bytecodes
|
|
496
|
+
begin_cfg
|
|
497
|
+
name "After MarkBasePointers"
|
|
498
|
+
begin_block
|
|
499
|
+
name "B0"
|
|
500
|
+
from_bci -1
|
|
501
|
+
to_bci -1
|
|
502
|
+
predecessors
|
|
503
|
+
successors
|
|
504
|
+
xhandlers
|
|
505
|
+
flags
|
|
506
|
+
probability 4607182418800017408
|
|
507
|
+
begin_IR
|
|
508
|
+
LIR
|
|
509
|
+
nr -1 <|@ instruction [rsi|QWORD[.], rbp|QWORD] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
|
|
510
|
+
nr -1 <|@ instruction stack:16|QWORD = MOVE rbp|QWORD moveKind: QWORD <|@ <|@
|
|
511
|
+
nr -1 <|@ instruction [] = HOTSPOTLOCKSTACK frameMapBuilder: org.graalvm.compiler.lir.amd64.AMD64FrameMapBuilder@12fc690a8 slotKind: QWORD <|@ <|@
|
|
512
|
+
nr -1 <|@ instruction v0|QWORD[.] = MOVE rsi|QWORD[.] moveKind: QWORD <|@ <|@
|
|
513
|
+
nr -1 <|@ st <@st|@live-base-pointers: []
|
|
514
|
+
JavaExamples.exampleInterfaceCallManyImpls(JavaExamples.java:111) [bci: 0]
|
|
515
|
+
locals: Object[null]
|
|
516
|
+
>@ <|@ instruction NULLCHECK [v0|QWORD[.]] state [bci:0] <|@ <|@
|
|
517
|
+
nr -1 <|@ instruction rsi|QWORD[.] = MOVE v0|QWORD[.] moveKind: QWORD <|@ <|@
|
|
518
|
+
nr -1 <|@ st <@st|@live-base-pointers: []
|
|
519
|
+
JavaExamples.exampleInterfaceCallManyImpls(JavaExamples.java:111) [bci: 1]
|
|
520
|
+
locals: -
|
|
521
|
+
>@ <|@ instruction rax|DWORD = CALL_DIRECT [rsi|QWORD[.]] [] callTarget: HotSpotMethod<JavaExamples$InterfaceManyImpls.interfaceCall()> invokeKind: Interface config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@13b805f38 state [bci:1] <|@ <|@
|
|
522
|
+
nr -1 <|@ instruction v1|DWORD = MOVE rax|DWORD moveKind: DWORD <|@ <|@
|
|
523
|
+
nr -1 <|@ instruction rax|DWORD = MOVE v1|DWORD moveKind: DWORD <|@ <|@
|
|
524
|
+
nr -1 <|@ instruction RETURN (savedRbp: stack:16|QWORD, value: rax|DWORD) isStub: false requiresReservedStackAccessCheck: false thread: r15 scratchForSafepointOnReturn: rcx config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@13b805f38 <|@ <|@
|
|
525
|
+
end_IR
|
|
526
|
+
end_block
|
|
527
|
+
end_cfg
|
|
528
|
+
begin_bytecodes
|
|
529
|
+
0: aload_0
|
|
530
|
+
1: invokeinterface#55, 1 // JavaExamples$InterfaceManyImpls.interfaceCall:()int
|
|
531
|
+
6: ireturn
|
|
532
|
+
<|@
|
|
533
|
+
end_bytecodes
|
|
534
|
+
begin_cfg
|
|
535
|
+
name "Before register allocation"
|
|
536
|
+
begin_block
|
|
537
|
+
name "B0"
|
|
538
|
+
from_bci -1
|
|
539
|
+
to_bci -1
|
|
540
|
+
predecessors
|
|
541
|
+
successors
|
|
542
|
+
xhandlers
|
|
543
|
+
flags
|
|
544
|
+
probability 4607182418800017408
|
|
545
|
+
begin_IR
|
|
546
|
+
LIR
|
|
547
|
+
nr 0 <|@ instruction [rsi|QWORD[.], rbp|QWORD] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
|
|
548
|
+
nr 2 <|@ instruction stack:16|QWORD = MOVE rbp|QWORD moveKind: QWORD <|@ <|@
|
|
549
|
+
nr 4 <|@ instruction [] = HOTSPOTLOCKSTACK frameMapBuilder: org.graalvm.compiler.lir.amd64.AMD64FrameMapBuilder@12fc690a8 slotKind: QWORD <|@ <|@
|
|
550
|
+
nr 6 <|@ instruction v0|QWORD[.] = MOVE rsi|QWORD[.] moveKind: QWORD <|@ <|@
|
|
551
|
+
nr 8 <|@ st <@st|@live-base-pointers: []
|
|
552
|
+
JavaExamples.exampleInterfaceCallManyImpls(JavaExamples.java:111) [bci: 0]
|
|
553
|
+
locals: Object[null]
|
|
554
|
+
>@ <|@ instruction NULLCHECK [v0|QWORD[.]] state [bci:0] <|@ <|@
|
|
555
|
+
nr 10 <|@ instruction rsi|QWORD[.] = MOVE v0|QWORD[.] moveKind: QWORD <|@ <|@
|
|
556
|
+
nr 12 <|@ st <@st|@live-base-pointers: []
|
|
557
|
+
JavaExamples.exampleInterfaceCallManyImpls(JavaExamples.java:111) [bci: 1]
|
|
558
|
+
locals: -
|
|
559
|
+
>@ <|@ instruction rax|DWORD = CALL_DIRECT [rsi|QWORD[.]] [] callTarget: HotSpotMethod<JavaExamples$InterfaceManyImpls.interfaceCall()> invokeKind: Interface config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@13b805f38 state [bci:1] <|@ <|@
|
|
560
|
+
nr 14 <|@ instruction v1|DWORD = MOVE rax|DWORD moveKind: DWORD <|@ <|@
|
|
561
|
+
nr 16 <|@ instruction rax|DWORD = MOVE v1|DWORD moveKind: DWORD <|@ <|@
|
|
562
|
+
nr 18 <|@ instruction RETURN (savedRbp: stack:16|QWORD, value: rax|DWORD) isStub: false requiresReservedStackAccessCheck: false thread: r15 scratchForSafepointOnReturn: rcx config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@13b805f38 <|@ <|@
|
|
563
|
+
end_IR
|
|
564
|
+
end_block
|
|
565
|
+
end_cfg
|
|
566
|
+
begin_bytecodes
|
|
567
|
+
0: aload_0
|
|
568
|
+
1: invokeinterface#55, 1 // JavaExamples$InterfaceManyImpls.interfaceCall:()int
|
|
569
|
+
6: ireturn
|
|
570
|
+
<|@
|
|
571
|
+
end_bytecodes
|
|
572
|
+
begin_cfg
|
|
573
|
+
name "After SSALinearScanLifetimeAnalysis"
|
|
574
|
+
begin_block
|
|
575
|
+
name "B0"
|
|
576
|
+
from_bci -1
|
|
577
|
+
to_bci -1
|
|
578
|
+
predecessors
|
|
579
|
+
successors
|
|
580
|
+
xhandlers
|
|
581
|
+
flags
|
|
582
|
+
probability 4607182418800017408
|
|
583
|
+
begin_IR
|
|
584
|
+
LIR
|
|
585
|
+
nr 0 <|@ instruction [rsi|QWORD[.], rbp|QWORD] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
|
|
586
|
+
nr 2 <|@ instruction stack:16|QWORD = MOVE rbp|QWORD moveKind: QWORD <|@ <|@
|
|
587
|
+
nr 4 <|@ instruction [] = HOTSPOTLOCKSTACK frameMapBuilder: org.graalvm.compiler.lir.amd64.AMD64FrameMapBuilder@12fc690a8 slotKind: QWORD <|@ <|@
|
|
588
|
+
nr 6 <|@ instruction v0|QWORD[.] = MOVE rsi|QWORD[.] moveKind: QWORD <|@ <|@
|
|
589
|
+
nr 8 <|@ st <@st|@live-base-pointers: []
|
|
590
|
+
JavaExamples.exampleInterfaceCallManyImpls(JavaExamples.java:111) [bci: 0]
|
|
591
|
+
locals: Object[null]
|
|
592
|
+
>@ <|@ instruction NULLCHECK [v0|QWORD[.]] state [bci:0] <|@ <|@
|
|
593
|
+
nr 10 <|@ instruction rsi|QWORD[.] = MOVE v0|QWORD[.] moveKind: QWORD <|@ <|@
|
|
594
|
+
nr 12 <|@ st <@st|@live-base-pointers: []
|
|
595
|
+
JavaExamples.exampleInterfaceCallManyImpls(JavaExamples.java:111) [bci: 1]
|
|
596
|
+
locals: -
|
|
597
|
+
>@ <|@ instruction rax|DWORD = CALL_DIRECT [rsi|QWORD[.]] [] callTarget: HotSpotMethod<JavaExamples$InterfaceManyImpls.interfaceCall()> invokeKind: Interface config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@13b805f38 state [bci:1] <|@ <|@
|
|
598
|
+
nr 14 <|@ instruction v1|DWORD = MOVE rax|DWORD moveKind: DWORD <|@ <|@
|
|
599
|
+
nr 16 <|@ instruction rax|DWORD = MOVE v1|DWORD moveKind: DWORD <|@ <|@
|
|
600
|
+
nr 18 <|@ instruction RETURN (savedRbp: stack:16|QWORD, value: rax|DWORD) isStub: false requiresReservedStackAccessCheck: false thread: r15 scratchForSafepointOnReturn: rcx config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@13b805f38 <|@ <|@
|
|
601
|
+
end_IR
|
|
602
|
+
end_block
|
|
603
|
+
end_cfg
|
|
604
|
+
begin_bytecodes
|
|
605
|
+
0: aload_0
|
|
606
|
+
1: invokeinterface#55, 1 // JavaExamples$InterfaceManyImpls.interfaceCall:()int
|
|
607
|
+
6: ireturn
|
|
608
|
+
<|@
|
|
609
|
+
end_bytecodes
|
|
610
|
+
begin_intervals
|
|
611
|
+
name "Before register allocation"
|
|
612
|
+
rax|d fixed "[rax|d]" rax|d v1|d [0, 1[[12, 14[[16, 18[ "NoOptimization"
|
|
613
|
+
rcx|- fixed "[rcx|-]" rcx|- -1 [0, 1[[12, 13[ "NoDefinitionFound"
|
|
614
|
+
rdx|- fixed "[rdx|-]" rdx|- -1 [0, 1[[12, 13[ "NoDefinitionFound"
|
|
615
|
+
rbx|- fixed "[rbx|-]" rbx|- -1 [0, 1[[12, 13[ "NoDefinitionFound"
|
|
616
|
+
rbp|- fixed "[rbp|-]" rbp|- -1 [0, 2[[12, 13[ "NoSpillStore"
|
|
617
|
+
rsi|- fixed "[rsi|-]" rsi|- v0|q [0, 6[[10, 13[ "NoOptimization"
|
|
618
|
+
rdi|- fixed "[rdi|-]" rdi|- -1 [0, 1[[12, 13[ "NoDefinitionFound"
|
|
619
|
+
r8|- fixed "[r8|-]" r8|- -1 [0, 1[[12, 13[ "NoDefinitionFound"
|
|
620
|
+
r9|- fixed "[r9|-]" r9|- -1 [0, 1[[12, 13[ "NoDefinitionFound"
|
|
621
|
+
r10|- fixed "[r10|-]" r10|- -1 [0, 1[[12, 13[ "NoDefinitionFound"
|
|
622
|
+
r11|- fixed "[r11|-]" r11|- -1 [0, 1[[12, 13[ "NoDefinitionFound"
|
|
623
|
+
r13|- fixed "[r13|-]" r13|- -1 [0, 1[[12, 13[ "NoDefinitionFound"
|
|
624
|
+
r14|- fixed "[r14|-]" r14|- -1 [0, 1[[12, 13[ "NoDefinitionFound"
|
|
625
|
+
xmm0|- fixed "[xmm0|-]" xmm0|- -1 [0, 1[[12, 13[ "NoDefinitionFound"
|
|
626
|
+
xmm1|- fixed "[xmm1|-]" xmm1|- -1 [0, 1[[12, 13[ "NoDefinitionFound"
|
|
627
|
+
xmm2|- fixed "[xmm2|-]" xmm2|- -1 [0, 1[[12, 13[ "NoDefinitionFound"
|
|
628
|
+
xmm3|- fixed "[xmm3|-]" xmm3|- -1 [0, 1[[12, 13[ "NoDefinitionFound"
|
|
629
|
+
xmm4|- fixed "[xmm4|-]" xmm4|- -1 [0, 1[[12, 13[ "NoDefinitionFound"
|
|
630
|
+
xmm5|- fixed "[xmm5|-]" xmm5|- -1 [0, 1[[12, 13[ "NoDefinitionFound"
|
|
631
|
+
xmm6|- fixed "[xmm6|-]" xmm6|- -1 [0, 1[[12, 13[ "NoDefinitionFound"
|
|
632
|
+
xmm7|- fixed "[xmm7|-]" xmm7|- -1 [0, 1[[12, 13[ "NoDefinitionFound"
|
|
633
|
+
xmm8|- fixed "[xmm8|-]" xmm8|- -1 [0, 1[[12, 13[ "NoDefinitionFound"
|
|
634
|
+
xmm9|- fixed "[xmm9|-]" xmm9|- -1 [0, 1[[12, 13[ "NoDefinitionFound"
|
|
635
|
+
xmm10|- fixed "[xmm10|-]" xmm10|- -1 [0, 1[[12, 13[ "NoDefinitionFound"
|
|
636
|
+
xmm11|- fixed "[xmm11|-]" xmm11|- -1 [0, 1[[12, 13[ "NoDefinitionFound"
|
|
637
|
+
xmm12|- fixed "[xmm12|-]" xmm12|- -1 [0, 1[[12, 13[ "NoDefinitionFound"
|
|
638
|
+
xmm13|- fixed "[xmm13|-]" xmm13|- -1 [0, 1[[12, 13[ "NoDefinitionFound"
|
|
639
|
+
xmm14|- fixed "[xmm14|-]" xmm14|- -1 [0, 1[[12, 13[ "NoDefinitionFound"
|
|
640
|
+
xmm15|- fixed "[xmm15|-]" xmm15|- -1 [0, 1[[12, 13[ "NoDefinitionFound"
|
|
641
|
+
v0|q QWORD "[v0|q]" v0|q rsi|- [6, 10[6 MustHaveRegister 8 MustHaveRegister 10 ShouldHaveRegister "NoSpillStore"
|
|
642
|
+
v1|d DWORD "[v1|d]" v1|d rax|d [14, 16[14 MustHaveRegister 16 ShouldHaveRegister "NoSpillStore"
|
|
643
|
+
end_intervals
|
|
644
|
+
begin_intervals
|
|
645
|
+
name "After register allocation"
|
|
646
|
+
rax|d fixed "[rax|d]" rax|d v1|d [0, 1[[12, 14[[16, 18[ "NoOptimization"
|
|
647
|
+
rcx|- fixed "[rcx|-]" rcx|- -1 [0, 1[[12, 13[ "NoDefinitionFound"
|
|
648
|
+
rdx|- fixed "[rdx|-]" rdx|- -1 [0, 1[[12, 13[ "NoDefinitionFound"
|
|
649
|
+
rbx|- fixed "[rbx|-]" rbx|- -1 [0, 1[[12, 13[ "NoDefinitionFound"
|
|
650
|
+
rbp|- fixed "[rbp|-]" rbp|- -1 [0, 2[[12, 13[ "NoSpillStore"
|
|
651
|
+
rsi|- fixed "[rsi|-]" rsi|- v0|q [0, 6[[10, 13[ "NoOptimization"
|
|
652
|
+
rdi|- fixed "[rdi|-]" rdi|- -1 [0, 1[[12, 13[ "NoDefinitionFound"
|
|
653
|
+
r8|- fixed "[r8|-]" r8|- -1 [0, 1[[12, 13[ "NoDefinitionFound"
|
|
654
|
+
r9|- fixed "[r9|-]" r9|- -1 [0, 1[[12, 13[ "NoDefinitionFound"
|
|
655
|
+
r10|- fixed "[r10|-]" r10|- -1 [0, 1[[12, 13[ "NoDefinitionFound"
|
|
656
|
+
r11|- fixed "[r11|-]" r11|- -1 [0, 1[[12, 13[ "NoDefinitionFound"
|
|
657
|
+
r13|- fixed "[r13|-]" r13|- -1 [0, 1[[12, 13[ "NoDefinitionFound"
|
|
658
|
+
r14|- fixed "[r14|-]" r14|- -1 [0, 1[[12, 13[ "NoDefinitionFound"
|
|
659
|
+
xmm0|- fixed "[xmm0|-]" xmm0|- -1 [0, 1[[12, 13[ "NoDefinitionFound"
|
|
660
|
+
xmm1|- fixed "[xmm1|-]" xmm1|- -1 [0, 1[[12, 13[ "NoDefinitionFound"
|
|
661
|
+
xmm2|- fixed "[xmm2|-]" xmm2|- -1 [0, 1[[12, 13[ "NoDefinitionFound"
|
|
662
|
+
xmm3|- fixed "[xmm3|-]" xmm3|- -1 [0, 1[[12, 13[ "NoDefinitionFound"
|
|
663
|
+
xmm4|- fixed "[xmm4|-]" xmm4|- -1 [0, 1[[12, 13[ "NoDefinitionFound"
|
|
664
|
+
xmm5|- fixed "[xmm5|-]" xmm5|- -1 [0, 1[[12, 13[ "NoDefinitionFound"
|
|
665
|
+
xmm6|- fixed "[xmm6|-]" xmm6|- -1 [0, 1[[12, 13[ "NoDefinitionFound"
|
|
666
|
+
xmm7|- fixed "[xmm7|-]" xmm7|- -1 [0, 1[[12, 13[ "NoDefinitionFound"
|
|
667
|
+
xmm8|- fixed "[xmm8|-]" xmm8|- -1 [0, 1[[12, 13[ "NoDefinitionFound"
|
|
668
|
+
xmm9|- fixed "[xmm9|-]" xmm9|- -1 [0, 1[[12, 13[ "NoDefinitionFound"
|
|
669
|
+
xmm10|- fixed "[xmm10|-]" xmm10|- -1 [0, 1[[12, 13[ "NoDefinitionFound"
|
|
670
|
+
xmm11|- fixed "[xmm11|-]" xmm11|- -1 [0, 1[[12, 13[ "NoDefinitionFound"
|
|
671
|
+
xmm12|- fixed "[xmm12|-]" xmm12|- -1 [0, 1[[12, 13[ "NoDefinitionFound"
|
|
672
|
+
xmm13|- fixed "[xmm13|-]" xmm13|- -1 [0, 1[[12, 13[ "NoDefinitionFound"
|
|
673
|
+
xmm14|- fixed "[xmm14|-]" xmm14|- -1 [0, 1[[12, 13[ "NoDefinitionFound"
|
|
674
|
+
xmm15|- fixed "[xmm15|-]" xmm15|- -1 [0, 1[[12, 13[ "NoDefinitionFound"
|
|
675
|
+
v0|q QWORD "[rsi|q]" v0|q rsi|- [6, 10[6 MustHaveRegister 8 MustHaveRegister 10 ShouldHaveRegister "NoSpillStore"
|
|
676
|
+
v1|d DWORD "[rax|d]" v1|d rax|d [14, 16[14 MustHaveRegister 16 ShouldHaveRegister "NoSpillStore"
|
|
677
|
+
end_intervals
|
|
678
|
+
begin_cfg
|
|
679
|
+
name "After LinearScanRegisterAllocation"
|
|
680
|
+
begin_block
|
|
681
|
+
name "B0"
|
|
682
|
+
from_bci -1
|
|
683
|
+
to_bci -1
|
|
684
|
+
predecessors
|
|
685
|
+
successors
|
|
686
|
+
xhandlers
|
|
687
|
+
flags
|
|
688
|
+
probability 4607182418800017408
|
|
689
|
+
begin_IR
|
|
690
|
+
LIR
|
|
691
|
+
nr 0 <|@ instruction [rsi|QWORD[.], rbp|QWORD] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
|
|
692
|
+
nr 2 <|@ instruction stack:16|QWORD = MOVE rbp|QWORD moveKind: QWORD <|@ <|@
|
|
693
|
+
nr 4 <|@ instruction [] = HOTSPOTLOCKSTACK frameMapBuilder: org.graalvm.compiler.lir.amd64.AMD64FrameMapBuilder@12fc690a8 slotKind: QWORD <|@ <|@
|
|
694
|
+
nr 6 <|@ instruction v0|QWORD[.] = MOVE rsi|QWORD[.] moveKind: QWORD <|@ <|@
|
|
695
|
+
nr 8 <|@ st <@st|@live-base-pointers: []
|
|
696
|
+
JavaExamples.exampleInterfaceCallManyImpls(JavaExamples.java:111) [bci: 0]
|
|
697
|
+
locals: Object[null]
|
|
698
|
+
>@ <|@ instruction NULLCHECK [v0|QWORD[.]] state [bci:0] <|@ <|@
|
|
699
|
+
nr 10 <|@ instruction rsi|QWORD[.] = MOVE v0|QWORD[.] moveKind: QWORD <|@ <|@
|
|
700
|
+
nr 12 <|@ st <@st|@live-base-pointers: []
|
|
701
|
+
JavaExamples.exampleInterfaceCallManyImpls(JavaExamples.java:111) [bci: 1]
|
|
702
|
+
locals: -
|
|
703
|
+
>@ <|@ instruction rax|DWORD = CALL_DIRECT [rsi|QWORD[.]] [] callTarget: HotSpotMethod<JavaExamples$InterfaceManyImpls.interfaceCall()> invokeKind: Interface config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@13b805f38 state [bci:1] <|@ <|@
|
|
704
|
+
nr 14 <|@ instruction v1|DWORD = MOVE rax|DWORD moveKind: DWORD <|@ <|@
|
|
705
|
+
nr 16 <|@ instruction rax|DWORD = MOVE v1|DWORD moveKind: DWORD <|@ <|@
|
|
706
|
+
nr 18 <|@ instruction RETURN (savedRbp: stack:16|QWORD, value: rax|DWORD) isStub: false requiresReservedStackAccessCheck: false thread: r15 scratchForSafepointOnReturn: rcx config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@13b805f38 <|@ <|@
|
|
707
|
+
end_IR
|
|
708
|
+
end_block
|
|
709
|
+
end_cfg
|
|
710
|
+
begin_bytecodes
|
|
711
|
+
0: aload_0
|
|
712
|
+
1: invokeinterface#55, 1 // JavaExamples$InterfaceManyImpls.interfaceCall:()int
|
|
713
|
+
6: ireturn
|
|
714
|
+
<|@
|
|
715
|
+
end_bytecodes
|
|
716
|
+
begin_intervals
|
|
717
|
+
name "After optimize spill position"
|
|
718
|
+
rax|d fixed "[rax|d]" rax|d v1|d [0, 1[[12, 14[[16, 18[ "NoOptimization"
|
|
719
|
+
rcx|- fixed "[rcx|-]" rcx|- -1 [0, 1[[12, 13[ "NoDefinitionFound"
|
|
720
|
+
rdx|- fixed "[rdx|-]" rdx|- -1 [0, 1[[12, 13[ "NoDefinitionFound"
|
|
721
|
+
rbx|- fixed "[rbx|-]" rbx|- -1 [0, 1[[12, 13[ "NoDefinitionFound"
|
|
722
|
+
rbp|- fixed "[rbp|-]" rbp|- -1 [0, 2[[12, 13[ "NoSpillStore"
|
|
723
|
+
rsi|- fixed "[rsi|-]" rsi|- v0|q [0, 6[[10, 13[ "NoOptimization"
|
|
724
|
+
rdi|- fixed "[rdi|-]" rdi|- -1 [0, 1[[12, 13[ "NoDefinitionFound"
|
|
725
|
+
r8|- fixed "[r8|-]" r8|- -1 [0, 1[[12, 13[ "NoDefinitionFound"
|
|
726
|
+
r9|- fixed "[r9|-]" r9|- -1 [0, 1[[12, 13[ "NoDefinitionFound"
|
|
727
|
+
r10|- fixed "[r10|-]" r10|- -1 [0, 1[[12, 13[ "NoDefinitionFound"
|
|
728
|
+
r11|- fixed "[r11|-]" r11|- -1 [0, 1[[12, 13[ "NoDefinitionFound"
|
|
729
|
+
r13|- fixed "[r13|-]" r13|- -1 [0, 1[[12, 13[ "NoDefinitionFound"
|
|
730
|
+
r14|- fixed "[r14|-]" r14|- -1 [0, 1[[12, 13[ "NoDefinitionFound"
|
|
731
|
+
xmm0|- fixed "[xmm0|-]" xmm0|- -1 [0, 1[[12, 13[ "NoDefinitionFound"
|
|
732
|
+
xmm1|- fixed "[xmm1|-]" xmm1|- -1 [0, 1[[12, 13[ "NoDefinitionFound"
|
|
733
|
+
xmm2|- fixed "[xmm2|-]" xmm2|- -1 [0, 1[[12, 13[ "NoDefinitionFound"
|
|
734
|
+
xmm3|- fixed "[xmm3|-]" xmm3|- -1 [0, 1[[12, 13[ "NoDefinitionFound"
|
|
735
|
+
xmm4|- fixed "[xmm4|-]" xmm4|- -1 [0, 1[[12, 13[ "NoDefinitionFound"
|
|
736
|
+
xmm5|- fixed "[xmm5|-]" xmm5|- -1 [0, 1[[12, 13[ "NoDefinitionFound"
|
|
737
|
+
xmm6|- fixed "[xmm6|-]" xmm6|- -1 [0, 1[[12, 13[ "NoDefinitionFound"
|
|
738
|
+
xmm7|- fixed "[xmm7|-]" xmm7|- -1 [0, 1[[12, 13[ "NoDefinitionFound"
|
|
739
|
+
xmm8|- fixed "[xmm8|-]" xmm8|- -1 [0, 1[[12, 13[ "NoDefinitionFound"
|
|
740
|
+
xmm9|- fixed "[xmm9|-]" xmm9|- -1 [0, 1[[12, 13[ "NoDefinitionFound"
|
|
741
|
+
xmm10|- fixed "[xmm10|-]" xmm10|- -1 [0, 1[[12, 13[ "NoDefinitionFound"
|
|
742
|
+
xmm11|- fixed "[xmm11|-]" xmm11|- -1 [0, 1[[12, 13[ "NoDefinitionFound"
|
|
743
|
+
xmm12|- fixed "[xmm12|-]" xmm12|- -1 [0, 1[[12, 13[ "NoDefinitionFound"
|
|
744
|
+
xmm13|- fixed "[xmm13|-]" xmm13|- -1 [0, 1[[12, 13[ "NoDefinitionFound"
|
|
745
|
+
xmm14|- fixed "[xmm14|-]" xmm14|- -1 [0, 1[[12, 13[ "NoDefinitionFound"
|
|
746
|
+
xmm15|- fixed "[xmm15|-]" xmm15|- -1 [0, 1[[12, 13[ "NoDefinitionFound"
|
|
747
|
+
v0|q QWORD "[rsi|q]" v0|q rsi|- [6, 10[6 MustHaveRegister 8 MustHaveRegister 10 ShouldHaveRegister "NoSpillStore"
|
|
748
|
+
v1|d DWORD "[rax|d]" v1|d rax|d [14, 16[14 MustHaveRegister 16 ShouldHaveRegister "NoSpillStore"
|
|
749
|
+
end_intervals
|
|
750
|
+
begin_cfg
|
|
751
|
+
name "After LinearScanOptimizeSpillPosition"
|
|
752
|
+
begin_block
|
|
753
|
+
name "B0"
|
|
754
|
+
from_bci -1
|
|
755
|
+
to_bci -1
|
|
756
|
+
predecessors
|
|
757
|
+
successors
|
|
758
|
+
xhandlers
|
|
759
|
+
flags
|
|
760
|
+
probability 4607182418800017408
|
|
761
|
+
begin_IR
|
|
762
|
+
LIR
|
|
763
|
+
nr 0 <|@ instruction [rsi|QWORD[.], rbp|QWORD] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
|
|
764
|
+
nr 2 <|@ instruction stack:16|QWORD = MOVE rbp|QWORD moveKind: QWORD <|@ <|@
|
|
765
|
+
nr 4 <|@ instruction [] = HOTSPOTLOCKSTACK frameMapBuilder: org.graalvm.compiler.lir.amd64.AMD64FrameMapBuilder@12fc690a8 slotKind: QWORD <|@ <|@
|
|
766
|
+
nr 6 <|@ instruction v0|QWORD[.] = MOVE rsi|QWORD[.] moveKind: QWORD <|@ <|@
|
|
767
|
+
nr 8 <|@ st <@st|@live-base-pointers: []
|
|
768
|
+
JavaExamples.exampleInterfaceCallManyImpls(JavaExamples.java:111) [bci: 0]
|
|
769
|
+
locals: Object[null]
|
|
770
|
+
>@ <|@ instruction NULLCHECK [v0|QWORD[.]] state [bci:0] <|@ <|@
|
|
771
|
+
nr 10 <|@ instruction rsi|QWORD[.] = MOVE v0|QWORD[.] moveKind: QWORD <|@ <|@
|
|
772
|
+
nr 12 <|@ st <@st|@live-base-pointers: []
|
|
773
|
+
JavaExamples.exampleInterfaceCallManyImpls(JavaExamples.java:111) [bci: 1]
|
|
774
|
+
locals: -
|
|
775
|
+
>@ <|@ instruction rax|DWORD = CALL_DIRECT [rsi|QWORD[.]] [] callTarget: HotSpotMethod<JavaExamples$InterfaceManyImpls.interfaceCall()> invokeKind: Interface config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@13b805f38 state [bci:1] <|@ <|@
|
|
776
|
+
nr 14 <|@ instruction v1|DWORD = MOVE rax|DWORD moveKind: DWORD <|@ <|@
|
|
777
|
+
nr 16 <|@ instruction rax|DWORD = MOVE v1|DWORD moveKind: DWORD <|@ <|@
|
|
778
|
+
nr 18 <|@ instruction RETURN (savedRbp: stack:16|QWORD, value: rax|DWORD) isStub: false requiresReservedStackAccessCheck: false thread: r15 scratchForSafepointOnReturn: rcx config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@13b805f38 <|@ <|@
|
|
779
|
+
end_IR
|
|
780
|
+
end_block
|
|
781
|
+
end_cfg
|
|
782
|
+
begin_bytecodes
|
|
783
|
+
0: aload_0
|
|
784
|
+
1: invokeinterface#55, 1 // JavaExamples$InterfaceManyImpls.interfaceCall:()int
|
|
785
|
+
6: ireturn
|
|
786
|
+
<|@
|
|
787
|
+
end_bytecodes
|
|
788
|
+
begin_intervals
|
|
789
|
+
name "After resolve data flow"
|
|
790
|
+
rax|d fixed "[rax|d]" rax|d v1|d [0, 1[[12, 14[[16, 18[ "NoOptimization"
|
|
791
|
+
rcx|- fixed "[rcx|-]" rcx|- -1 [0, 1[[12, 13[ "NoDefinitionFound"
|
|
792
|
+
rdx|- fixed "[rdx|-]" rdx|- -1 [0, 1[[12, 13[ "NoDefinitionFound"
|
|
793
|
+
rbx|- fixed "[rbx|-]" rbx|- -1 [0, 1[[12, 13[ "NoDefinitionFound"
|
|
794
|
+
rbp|- fixed "[rbp|-]" rbp|- -1 [0, 2[[12, 13[ "NoSpillStore"
|
|
795
|
+
rsi|- fixed "[rsi|-]" rsi|- v0|q [0, 6[[10, 13[ "NoOptimization"
|
|
796
|
+
rdi|- fixed "[rdi|-]" rdi|- -1 [0, 1[[12, 13[ "NoDefinitionFound"
|
|
797
|
+
r8|- fixed "[r8|-]" r8|- -1 [0, 1[[12, 13[ "NoDefinitionFound"
|
|
798
|
+
r9|- fixed "[r9|-]" r9|- -1 [0, 1[[12, 13[ "NoDefinitionFound"
|
|
799
|
+
r10|- fixed "[r10|-]" r10|- -1 [0, 1[[12, 13[ "NoDefinitionFound"
|
|
800
|
+
r11|- fixed "[r11|-]" r11|- -1 [0, 1[[12, 13[ "NoDefinitionFound"
|
|
801
|
+
r13|- fixed "[r13|-]" r13|- -1 [0, 1[[12, 13[ "NoDefinitionFound"
|
|
802
|
+
r14|- fixed "[r14|-]" r14|- -1 [0, 1[[12, 13[ "NoDefinitionFound"
|
|
803
|
+
xmm0|- fixed "[xmm0|-]" xmm0|- -1 [0, 1[[12, 13[ "NoDefinitionFound"
|
|
804
|
+
xmm1|- fixed "[xmm1|-]" xmm1|- -1 [0, 1[[12, 13[ "NoDefinitionFound"
|
|
805
|
+
xmm2|- fixed "[xmm2|-]" xmm2|- -1 [0, 1[[12, 13[ "NoDefinitionFound"
|
|
806
|
+
xmm3|- fixed "[xmm3|-]" xmm3|- -1 [0, 1[[12, 13[ "NoDefinitionFound"
|
|
807
|
+
xmm4|- fixed "[xmm4|-]" xmm4|- -1 [0, 1[[12, 13[ "NoDefinitionFound"
|
|
808
|
+
xmm5|- fixed "[xmm5|-]" xmm5|- -1 [0, 1[[12, 13[ "NoDefinitionFound"
|
|
809
|
+
xmm6|- fixed "[xmm6|-]" xmm6|- -1 [0, 1[[12, 13[ "NoDefinitionFound"
|
|
810
|
+
xmm7|- fixed "[xmm7|-]" xmm7|- -1 [0, 1[[12, 13[ "NoDefinitionFound"
|
|
811
|
+
xmm8|- fixed "[xmm8|-]" xmm8|- -1 [0, 1[[12, 13[ "NoDefinitionFound"
|
|
812
|
+
xmm9|- fixed "[xmm9|-]" xmm9|- -1 [0, 1[[12, 13[ "NoDefinitionFound"
|
|
813
|
+
xmm10|- fixed "[xmm10|-]" xmm10|- -1 [0, 1[[12, 13[ "NoDefinitionFound"
|
|
814
|
+
xmm11|- fixed "[xmm11|-]" xmm11|- -1 [0, 1[[12, 13[ "NoDefinitionFound"
|
|
815
|
+
xmm12|- fixed "[xmm12|-]" xmm12|- -1 [0, 1[[12, 13[ "NoDefinitionFound"
|
|
816
|
+
xmm13|- fixed "[xmm13|-]" xmm13|- -1 [0, 1[[12, 13[ "NoDefinitionFound"
|
|
817
|
+
xmm14|- fixed "[xmm14|-]" xmm14|- -1 [0, 1[[12, 13[ "NoDefinitionFound"
|
|
818
|
+
xmm15|- fixed "[xmm15|-]" xmm15|- -1 [0, 1[[12, 13[ "NoDefinitionFound"
|
|
819
|
+
v0|q QWORD "[rsi|q]" v0|q rsi|- [6, 10[6 MustHaveRegister 8 MustHaveRegister 10 ShouldHaveRegister "NoSpillStore"
|
|
820
|
+
v1|d DWORD "[rax|d]" v1|d rax|d [14, 16[14 MustHaveRegister 16 ShouldHaveRegister "NoSpillStore"
|
|
821
|
+
end_intervals
|
|
822
|
+
begin_cfg
|
|
823
|
+
name "After SSALinearScanResolveDataFlow"
|
|
824
|
+
begin_block
|
|
825
|
+
name "B0"
|
|
826
|
+
from_bci -1
|
|
827
|
+
to_bci -1
|
|
828
|
+
predecessors
|
|
829
|
+
successors
|
|
830
|
+
xhandlers
|
|
831
|
+
flags
|
|
832
|
+
probability 4607182418800017408
|
|
833
|
+
begin_IR
|
|
834
|
+
LIR
|
|
835
|
+
nr 0 <|@ instruction [rsi|QWORD[.], rbp|QWORD] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
|
|
836
|
+
nr 2 <|@ instruction stack:16|QWORD = MOVE rbp|QWORD moveKind: QWORD <|@ <|@
|
|
837
|
+
nr 4 <|@ instruction [] = HOTSPOTLOCKSTACK frameMapBuilder: org.graalvm.compiler.lir.amd64.AMD64FrameMapBuilder@12fc690a8 slotKind: QWORD <|@ <|@
|
|
838
|
+
nr 6 <|@ instruction v0|QWORD[.] = MOVE rsi|QWORD[.] moveKind: QWORD <|@ <|@
|
|
839
|
+
nr 8 <|@ st <@st|@live-base-pointers: []
|
|
840
|
+
JavaExamples.exampleInterfaceCallManyImpls(JavaExamples.java:111) [bci: 0]
|
|
841
|
+
locals: Object[null]
|
|
842
|
+
>@ <|@ instruction NULLCHECK [v0|QWORD[.]] state [bci:0] <|@ <|@
|
|
843
|
+
nr 10 <|@ instruction rsi|QWORD[.] = MOVE v0|QWORD[.] moveKind: QWORD <|@ <|@
|
|
844
|
+
nr 12 <|@ st <@st|@live-base-pointers: []
|
|
845
|
+
JavaExamples.exampleInterfaceCallManyImpls(JavaExamples.java:111) [bci: 1]
|
|
846
|
+
locals: -
|
|
847
|
+
>@ <|@ instruction rax|DWORD = CALL_DIRECT [rsi|QWORD[.]] [] callTarget: HotSpotMethod<JavaExamples$InterfaceManyImpls.interfaceCall()> invokeKind: Interface config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@13b805f38 state [bci:1] <|@ <|@
|
|
848
|
+
nr 14 <|@ instruction v1|DWORD = MOVE rax|DWORD moveKind: DWORD <|@ <|@
|
|
849
|
+
nr 16 <|@ instruction rax|DWORD = MOVE v1|DWORD moveKind: DWORD <|@ <|@
|
|
850
|
+
nr 18 <|@ instruction RETURN (savedRbp: stack:16|QWORD, value: rax|DWORD) isStub: false requiresReservedStackAccessCheck: false thread: r15 scratchForSafepointOnReturn: rcx config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@13b805f38 <|@ <|@
|
|
851
|
+
end_IR
|
|
852
|
+
end_block
|
|
853
|
+
end_cfg
|
|
854
|
+
begin_bytecodes
|
|
855
|
+
0: aload_0
|
|
856
|
+
1: invokeinterface#55, 1 // JavaExamples$InterfaceManyImpls.interfaceCall:()int
|
|
857
|
+
6: ireturn
|
|
858
|
+
<|@
|
|
859
|
+
end_bytecodes
|
|
860
|
+
begin_cfg
|
|
861
|
+
name "After SSALinearScanEliminateSpillMove"
|
|
862
|
+
begin_block
|
|
863
|
+
name "B0"
|
|
864
|
+
from_bci -1
|
|
865
|
+
to_bci -1
|
|
866
|
+
predecessors
|
|
867
|
+
successors
|
|
868
|
+
xhandlers
|
|
869
|
+
flags
|
|
870
|
+
probability 4607182418800017408
|
|
871
|
+
begin_IR
|
|
872
|
+
LIR
|
|
873
|
+
nr 0 <|@ instruction [rsi|QWORD[.], rbp|QWORD] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
|
|
874
|
+
nr 2 <|@ instruction stack:16|QWORD = MOVE rbp|QWORD moveKind: QWORD <|@ <|@
|
|
875
|
+
nr 4 <|@ instruction [] = HOTSPOTLOCKSTACK frameMapBuilder: org.graalvm.compiler.lir.amd64.AMD64FrameMapBuilder@12fc690a8 slotKind: QWORD <|@ <|@
|
|
876
|
+
nr 6 <|@ instruction v0|QWORD[.] = MOVE rsi|QWORD[.] moveKind: QWORD <|@ <|@
|
|
877
|
+
nr 8 <|@ st <@st|@live-base-pointers: []
|
|
878
|
+
JavaExamples.exampleInterfaceCallManyImpls(JavaExamples.java:111) [bci: 0]
|
|
879
|
+
locals: Object[null]
|
|
880
|
+
>@ <|@ instruction NULLCHECK [v0|QWORD[.]] state [bci:0] <|@ <|@
|
|
881
|
+
nr 10 <|@ instruction rsi|QWORD[.] = MOVE v0|QWORD[.] moveKind: QWORD <|@ <|@
|
|
882
|
+
nr 12 <|@ st <@st|@live-base-pointers: []
|
|
883
|
+
JavaExamples.exampleInterfaceCallManyImpls(JavaExamples.java:111) [bci: 1]
|
|
884
|
+
locals: -
|
|
885
|
+
>@ <|@ instruction rax|DWORD = CALL_DIRECT [rsi|QWORD[.]] [] callTarget: HotSpotMethod<JavaExamples$InterfaceManyImpls.interfaceCall()> invokeKind: Interface config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@13b805f38 state [bci:1] <|@ <|@
|
|
886
|
+
nr 14 <|@ instruction v1|DWORD = MOVE rax|DWORD moveKind: DWORD <|@ <|@
|
|
887
|
+
nr 16 <|@ instruction rax|DWORD = MOVE v1|DWORD moveKind: DWORD <|@ <|@
|
|
888
|
+
nr 18 <|@ instruction RETURN (savedRbp: stack:16|QWORD, value: rax|DWORD) isStub: false requiresReservedStackAccessCheck: false thread: r15 scratchForSafepointOnReturn: rcx config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@13b805f38 <|@ <|@
|
|
889
|
+
end_IR
|
|
890
|
+
end_block
|
|
891
|
+
end_cfg
|
|
892
|
+
begin_bytecodes
|
|
893
|
+
0: aload_0
|
|
894
|
+
1: invokeinterface#55, 1 // JavaExamples$InterfaceManyImpls.interfaceCall:()int
|
|
895
|
+
6: ireturn
|
|
896
|
+
<|@
|
|
897
|
+
end_bytecodes
|
|
898
|
+
begin_cfg
|
|
899
|
+
name "After LinearScanAssignLocations"
|
|
900
|
+
begin_block
|
|
901
|
+
name "B0"
|
|
902
|
+
from_bci -1
|
|
903
|
+
to_bci -1
|
|
904
|
+
predecessors
|
|
905
|
+
successors
|
|
906
|
+
xhandlers
|
|
907
|
+
flags
|
|
908
|
+
probability 4607182418800017408
|
|
909
|
+
begin_IR
|
|
910
|
+
LIR
|
|
911
|
+
nr 0 <|@ instruction [rsi|QWORD[.], rbp|QWORD] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
|
|
912
|
+
nr 2 <|@ instruction stack:16|QWORD = MOVE rbp|QWORD moveKind: QWORD <|@ <|@
|
|
913
|
+
nr 4 <|@ instruction [] = HOTSPOTLOCKSTACK frameMapBuilder: org.graalvm.compiler.lir.amd64.AMD64FrameMapBuilder@12fc690a8 slotKind: QWORD <|@ <|@
|
|
914
|
+
nr 8 <|@ st <@st|@live-base-pointers: []
|
|
915
|
+
JavaExamples.exampleInterfaceCallManyImpls(JavaExamples.java:111) [bci: 0]
|
|
916
|
+
locals: Object[null]
|
|
917
|
+
>@ <|@ instruction NULLCHECK [rsi|QWORD[.]] state [bci:0] <|@ <|@
|
|
918
|
+
nr 12 <|@ st <@st|@live-base-pointers: []
|
|
919
|
+
JavaExamples.exampleInterfaceCallManyImpls(JavaExamples.java:111) [bci: 1]
|
|
920
|
+
locals: -
|
|
921
|
+
>@ <|@ instruction rax|DWORD = CALL_DIRECT [rsi|QWORD[.]] [] callTarget: HotSpotMethod<JavaExamples$InterfaceManyImpls.interfaceCall()> invokeKind: Interface config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@13b805f38 state [bci:1] <|@ <|@
|
|
922
|
+
nr 18 <|@ instruction RETURN (savedRbp: stack:16|QWORD, value: rax|DWORD) isStub: false requiresReservedStackAccessCheck: false thread: r15 scratchForSafepointOnReturn: rcx config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@13b805f38 <|@ <|@
|
|
923
|
+
end_IR
|
|
924
|
+
end_block
|
|
925
|
+
end_cfg
|
|
926
|
+
begin_bytecodes
|
|
927
|
+
0: aload_0
|
|
928
|
+
1: invokeinterface#55, 1 // JavaExamples$InterfaceManyImpls.interfaceCall:()int
|
|
929
|
+
6: ireturn
|
|
930
|
+
<|@
|
|
931
|
+
end_bytecodes
|
|
932
|
+
begin_cfg
|
|
933
|
+
name "After LinearScan"
|
|
934
|
+
begin_block
|
|
935
|
+
name "B0"
|
|
936
|
+
from_bci -1
|
|
937
|
+
to_bci -1
|
|
938
|
+
predecessors
|
|
939
|
+
successors
|
|
940
|
+
xhandlers
|
|
941
|
+
flags
|
|
942
|
+
probability 4607182418800017408
|
|
943
|
+
begin_IR
|
|
944
|
+
LIR
|
|
945
|
+
nr 0 <|@ instruction [rsi|QWORD[.], rbp|QWORD] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
|
|
946
|
+
nr 2 <|@ instruction stack:16|QWORD = MOVE rbp|QWORD moveKind: QWORD <|@ <|@
|
|
947
|
+
nr 4 <|@ instruction [] = HOTSPOTLOCKSTACK frameMapBuilder: org.graalvm.compiler.lir.amd64.AMD64FrameMapBuilder@12fc690a8 slotKind: QWORD <|@ <|@
|
|
948
|
+
nr 8 <|@ st <@st|@live-base-pointers: []
|
|
949
|
+
JavaExamples.exampleInterfaceCallManyImpls(JavaExamples.java:111) [bci: 0]
|
|
950
|
+
locals: Object[null]
|
|
951
|
+
>@ <|@ instruction NULLCHECK [rsi|QWORD[.]] state [bci:0] <|@ <|@
|
|
952
|
+
nr 12 <|@ st <@st|@live-base-pointers: []
|
|
953
|
+
JavaExamples.exampleInterfaceCallManyImpls(JavaExamples.java:111) [bci: 1]
|
|
954
|
+
locals: -
|
|
955
|
+
>@ <|@ instruction rax|DWORD = CALL_DIRECT [rsi|QWORD[.]] [] callTarget: HotSpotMethod<JavaExamples$InterfaceManyImpls.interfaceCall()> invokeKind: Interface config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@13b805f38 state [bci:1] <|@ <|@
|
|
956
|
+
nr 18 <|@ instruction RETURN (savedRbp: stack:16|QWORD, value: rax|DWORD) isStub: false requiresReservedStackAccessCheck: false thread: r15 scratchForSafepointOnReturn: rcx config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@13b805f38 <|@ <|@
|
|
957
|
+
end_IR
|
|
958
|
+
end_block
|
|
959
|
+
end_cfg
|
|
960
|
+
begin_bytecodes
|
|
961
|
+
0: aload_0
|
|
962
|
+
1: invokeinterface#55, 1 // JavaExamples$InterfaceManyImpls.interfaceCall:()int
|
|
963
|
+
6: ireturn
|
|
964
|
+
<|@
|
|
965
|
+
end_bytecodes
|
|
966
|
+
begin_cfg
|
|
967
|
+
name "After LSStackSlotAllocator"
|
|
968
|
+
begin_block
|
|
969
|
+
name "B0"
|
|
970
|
+
from_bci -1
|
|
971
|
+
to_bci -1
|
|
972
|
+
predecessors
|
|
973
|
+
successors
|
|
974
|
+
xhandlers
|
|
975
|
+
flags
|
|
976
|
+
probability 4607182418800017408
|
|
977
|
+
begin_IR
|
|
978
|
+
LIR
|
|
979
|
+
nr 0 <|@ instruction [rsi|QWORD[.], rbp|QWORD] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
|
|
980
|
+
nr 2 <|@ instruction stack:16|QWORD = MOVE rbp|QWORD moveKind: QWORD <|@ <|@
|
|
981
|
+
nr 4 <|@ instruction [] = HOTSPOTLOCKSTACK frameMapBuilder: org.graalvm.compiler.lir.amd64.AMD64FrameMapBuilder@12fc690a8 slotKind: QWORD <|@ <|@
|
|
982
|
+
nr 8 <|@ st <@st|@live-base-pointers: []
|
|
983
|
+
JavaExamples.exampleInterfaceCallManyImpls(JavaExamples.java:111) [bci: 0]
|
|
984
|
+
locals: Object[null]
|
|
985
|
+
>@ <|@ instruction NULLCHECK [rsi|QWORD[.]] state [bci:0] <|@ <|@
|
|
986
|
+
nr 12 <|@ st <@st|@live-base-pointers: []
|
|
987
|
+
JavaExamples.exampleInterfaceCallManyImpls(JavaExamples.java:111) [bci: 1]
|
|
988
|
+
locals: -
|
|
989
|
+
>@ <|@ instruction rax|DWORD = CALL_DIRECT [rsi|QWORD[.]] [] callTarget: HotSpotMethod<JavaExamples$InterfaceManyImpls.interfaceCall()> invokeKind: Interface config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@13b805f38 state [bci:1] <|@ <|@
|
|
990
|
+
nr 18 <|@ instruction RETURN (savedRbp: stack:16|QWORD, value: rax|DWORD) isStub: false requiresReservedStackAccessCheck: false thread: r15 scratchForSafepointOnReturn: rcx config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@13b805f38 <|@ <|@
|
|
991
|
+
end_IR
|
|
992
|
+
end_block
|
|
993
|
+
end_cfg
|
|
994
|
+
begin_bytecodes
|
|
995
|
+
0: aload_0
|
|
996
|
+
1: invokeinterface#55, 1 // JavaExamples$InterfaceManyImpls.interfaceCall:()int
|
|
997
|
+
6: ireturn
|
|
998
|
+
<|@
|
|
999
|
+
end_bytecodes
|
|
1000
|
+
begin_cfg
|
|
1001
|
+
name "After LocationMarker"
|
|
1002
|
+
begin_block
|
|
1003
|
+
name "B0"
|
|
1004
|
+
from_bci -1
|
|
1005
|
+
to_bci -1
|
|
1006
|
+
predecessors
|
|
1007
|
+
successors
|
|
1008
|
+
xhandlers
|
|
1009
|
+
flags
|
|
1010
|
+
probability 4607182418800017408
|
|
1011
|
+
begin_IR
|
|
1012
|
+
LIR
|
|
1013
|
+
nr 0 <|@ instruction [rsi|QWORD[.], rbp|QWORD] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
|
|
1014
|
+
nr 2 <|@ instruction stack:16|QWORD = MOVE rbp|QWORD moveKind: QWORD <|@ <|@
|
|
1015
|
+
nr 4 <|@ instruction [] = HOTSPOTLOCKSTACK frameMapBuilder: org.graalvm.compiler.lir.amd64.AMD64FrameMapBuilder@12fc690a8 slotKind: QWORD <|@ <|@
|
|
1016
|
+
nr 8 <|@ st <@st|@reference-map: [rsi:0]
|
|
1017
|
+
live-base-pointers: []
|
|
1018
|
+
JavaExamples.exampleInterfaceCallManyImpls(JavaExamples.java:111) [bci: 0]
|
|
1019
|
+
locals: Object[null]
|
|
1020
|
+
>@ <|@ instruction NULLCHECK [rsi|QWORD[.]] state [bci:0] <|@ <|@
|
|
1021
|
+
nr 12 <|@ st <@st|@reference-map: []
|
|
1022
|
+
live-base-pointers: []
|
|
1023
|
+
JavaExamples.exampleInterfaceCallManyImpls(JavaExamples.java:111) [bci: 1]
|
|
1024
|
+
locals: -
|
|
1025
|
+
>@ <|@ instruction rax|DWORD = CALL_DIRECT [rsi|QWORD[.]] [] callTarget: HotSpotMethod<JavaExamples$InterfaceManyImpls.interfaceCall()> invokeKind: Interface config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@13b805f38 state [bci:1] <|@ <|@
|
|
1026
|
+
nr 18 <|@ instruction RETURN (savedRbp: stack:16|QWORD, value: rax|DWORD) isStub: false requiresReservedStackAccessCheck: false thread: r15 scratchForSafepointOnReturn: rcx config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@13b805f38 <|@ <|@
|
|
1027
|
+
end_IR
|
|
1028
|
+
end_block
|
|
1029
|
+
end_cfg
|
|
1030
|
+
begin_bytecodes
|
|
1031
|
+
0: aload_0
|
|
1032
|
+
1: invokeinterface#55, 1 // JavaExamples$InterfaceManyImpls.interfaceCall:()int
|
|
1033
|
+
6: ireturn
|
|
1034
|
+
<|@
|
|
1035
|
+
end_bytecodes
|
|
1036
|
+
begin_cfg
|
|
1037
|
+
name "After AllocationStage"
|
|
1038
|
+
begin_block
|
|
1039
|
+
name "B0"
|
|
1040
|
+
from_bci -1
|
|
1041
|
+
to_bci -1
|
|
1042
|
+
predecessors
|
|
1043
|
+
successors
|
|
1044
|
+
xhandlers
|
|
1045
|
+
flags
|
|
1046
|
+
probability 4607182418800017408
|
|
1047
|
+
begin_IR
|
|
1048
|
+
LIR
|
|
1049
|
+
nr 0 <|@ instruction [rsi|QWORD[.], rbp|QWORD] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
|
|
1050
|
+
nr 2 <|@ instruction stack:16|QWORD = MOVE rbp|QWORD moveKind: QWORD <|@ <|@
|
|
1051
|
+
nr 4 <|@ instruction [] = HOTSPOTLOCKSTACK frameMapBuilder: org.graalvm.compiler.lir.amd64.AMD64FrameMapBuilder@12fc690a8 slotKind: QWORD <|@ <|@
|
|
1052
|
+
nr 8 <|@ st <@st|@reference-map: [rsi:0]
|
|
1053
|
+
live-base-pointers: []
|
|
1054
|
+
JavaExamples.exampleInterfaceCallManyImpls(JavaExamples.java:111) [bci: 0]
|
|
1055
|
+
locals: Object[null]
|
|
1056
|
+
>@ <|@ instruction NULLCHECK [rsi|QWORD[.]] state [bci:0] <|@ <|@
|
|
1057
|
+
nr 12 <|@ st <@st|@reference-map: []
|
|
1058
|
+
live-base-pointers: []
|
|
1059
|
+
JavaExamples.exampleInterfaceCallManyImpls(JavaExamples.java:111) [bci: 1]
|
|
1060
|
+
locals: -
|
|
1061
|
+
>@ <|@ instruction rax|DWORD = CALL_DIRECT [rsi|QWORD[.]] [] callTarget: HotSpotMethod<JavaExamples$InterfaceManyImpls.interfaceCall()> invokeKind: Interface config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@13b805f38 state [bci:1] <|@ <|@
|
|
1062
|
+
nr 18 <|@ instruction RETURN (savedRbp: stack:16|QWORD, value: rax|DWORD) isStub: false requiresReservedStackAccessCheck: false thread: r15 scratchForSafepointOnReturn: rcx config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@13b805f38 <|@ <|@
|
|
1063
|
+
end_IR
|
|
1064
|
+
end_block
|
|
1065
|
+
end_cfg
|
|
1066
|
+
begin_bytecodes
|
|
1067
|
+
0: aload_0
|
|
1068
|
+
1: invokeinterface#55, 1 // JavaExamples$InterfaceManyImpls.interfaceCall:()int
|
|
1069
|
+
6: ireturn
|
|
1070
|
+
<|@
|
|
1071
|
+
end_bytecodes
|
|
1072
|
+
begin_cfg
|
|
1073
|
+
name "After EdgeMoveOptimizer"
|
|
1074
|
+
begin_block
|
|
1075
|
+
name "B0"
|
|
1076
|
+
from_bci -1
|
|
1077
|
+
to_bci -1
|
|
1078
|
+
predecessors
|
|
1079
|
+
successors
|
|
1080
|
+
xhandlers
|
|
1081
|
+
flags
|
|
1082
|
+
probability 4607182418800017408
|
|
1083
|
+
begin_IR
|
|
1084
|
+
LIR
|
|
1085
|
+
nr 0 <|@ instruction [rsi|QWORD[.], rbp|QWORD] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
|
|
1086
|
+
nr 2 <|@ instruction stack:16|QWORD = MOVE rbp|QWORD moveKind: QWORD <|@ <|@
|
|
1087
|
+
nr 4 <|@ instruction [] = HOTSPOTLOCKSTACK frameMapBuilder: org.graalvm.compiler.lir.amd64.AMD64FrameMapBuilder@12fc690a8 slotKind: QWORD <|@ <|@
|
|
1088
|
+
nr 8 <|@ st <@st|@reference-map: [rsi:0]
|
|
1089
|
+
live-base-pointers: []
|
|
1090
|
+
JavaExamples.exampleInterfaceCallManyImpls(JavaExamples.java:111) [bci: 0]
|
|
1091
|
+
locals: Object[null]
|
|
1092
|
+
>@ <|@ instruction NULLCHECK [rsi|QWORD[.]] state [bci:0] <|@ <|@
|
|
1093
|
+
nr 12 <|@ st <@st|@reference-map: []
|
|
1094
|
+
live-base-pointers: []
|
|
1095
|
+
JavaExamples.exampleInterfaceCallManyImpls(JavaExamples.java:111) [bci: 1]
|
|
1096
|
+
locals: -
|
|
1097
|
+
>@ <|@ instruction rax|DWORD = CALL_DIRECT [rsi|QWORD[.]] [] callTarget: HotSpotMethod<JavaExamples$InterfaceManyImpls.interfaceCall()> invokeKind: Interface config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@13b805f38 state [bci:1] <|@ <|@
|
|
1098
|
+
nr 18 <|@ instruction RETURN (savedRbp: stack:16|QWORD, value: rax|DWORD) isStub: false requiresReservedStackAccessCheck: false thread: r15 scratchForSafepointOnReturn: rcx config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@13b805f38 <|@ <|@
|
|
1099
|
+
end_IR
|
|
1100
|
+
end_block
|
|
1101
|
+
end_cfg
|
|
1102
|
+
begin_bytecodes
|
|
1103
|
+
0: aload_0
|
|
1104
|
+
1: invokeinterface#55, 1 // JavaExamples$InterfaceManyImpls.interfaceCall:()int
|
|
1105
|
+
6: ireturn
|
|
1106
|
+
<|@
|
|
1107
|
+
end_bytecodes
|
|
1108
|
+
begin_cfg
|
|
1109
|
+
name "After ControlFlowOptimizer"
|
|
1110
|
+
begin_block
|
|
1111
|
+
name "B0"
|
|
1112
|
+
from_bci -1
|
|
1113
|
+
to_bci -1
|
|
1114
|
+
predecessors
|
|
1115
|
+
successors
|
|
1116
|
+
xhandlers
|
|
1117
|
+
flags
|
|
1118
|
+
probability 4607182418800017408
|
|
1119
|
+
begin_IR
|
|
1120
|
+
LIR
|
|
1121
|
+
nr 0 <|@ instruction [rsi|QWORD[.], rbp|QWORD] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
|
|
1122
|
+
nr 2 <|@ instruction stack:16|QWORD = MOVE rbp|QWORD moveKind: QWORD <|@ <|@
|
|
1123
|
+
nr 4 <|@ instruction [] = HOTSPOTLOCKSTACK frameMapBuilder: org.graalvm.compiler.lir.amd64.AMD64FrameMapBuilder@12fc690a8 slotKind: QWORD <|@ <|@
|
|
1124
|
+
nr 8 <|@ st <@st|@reference-map: [rsi:0]
|
|
1125
|
+
live-base-pointers: []
|
|
1126
|
+
JavaExamples.exampleInterfaceCallManyImpls(JavaExamples.java:111) [bci: 0]
|
|
1127
|
+
locals: Object[null]
|
|
1128
|
+
>@ <|@ instruction NULLCHECK [rsi|QWORD[.]] state [bci:0] <|@ <|@
|
|
1129
|
+
nr 12 <|@ st <@st|@reference-map: []
|
|
1130
|
+
live-base-pointers: []
|
|
1131
|
+
JavaExamples.exampleInterfaceCallManyImpls(JavaExamples.java:111) [bci: 1]
|
|
1132
|
+
locals: -
|
|
1133
|
+
>@ <|@ instruction rax|DWORD = CALL_DIRECT [rsi|QWORD[.]] [] callTarget: HotSpotMethod<JavaExamples$InterfaceManyImpls.interfaceCall()> invokeKind: Interface config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@13b805f38 state [bci:1] <|@ <|@
|
|
1134
|
+
nr 18 <|@ instruction RETURN (savedRbp: stack:16|QWORD, value: rax|DWORD) isStub: false requiresReservedStackAccessCheck: false thread: r15 scratchForSafepointOnReturn: rcx config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@13b805f38 <|@ <|@
|
|
1135
|
+
end_IR
|
|
1136
|
+
end_block
|
|
1137
|
+
end_cfg
|
|
1138
|
+
begin_bytecodes
|
|
1139
|
+
0: aload_0
|
|
1140
|
+
1: invokeinterface#55, 1 // JavaExamples$InterfaceManyImpls.interfaceCall:()int
|
|
1141
|
+
6: ireturn
|
|
1142
|
+
<|@
|
|
1143
|
+
end_bytecodes
|
|
1144
|
+
begin_cfg
|
|
1145
|
+
name "After RedundantMoveElimination"
|
|
1146
|
+
begin_block
|
|
1147
|
+
name "B0"
|
|
1148
|
+
from_bci -1
|
|
1149
|
+
to_bci -1
|
|
1150
|
+
predecessors
|
|
1151
|
+
successors
|
|
1152
|
+
xhandlers
|
|
1153
|
+
flags
|
|
1154
|
+
probability 4607182418800017408
|
|
1155
|
+
begin_IR
|
|
1156
|
+
LIR
|
|
1157
|
+
nr 0 <|@ instruction [rsi|QWORD[.], rbp|QWORD] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
|
|
1158
|
+
nr 2 <|@ instruction stack:16|QWORD = MOVE rbp|QWORD moveKind: QWORD <|@ <|@
|
|
1159
|
+
nr 4 <|@ instruction [] = HOTSPOTLOCKSTACK frameMapBuilder: org.graalvm.compiler.lir.amd64.AMD64FrameMapBuilder@12fc690a8 slotKind: QWORD <|@ <|@
|
|
1160
|
+
nr 8 <|@ st <@st|@reference-map: [rsi:0]
|
|
1161
|
+
live-base-pointers: []
|
|
1162
|
+
JavaExamples.exampleInterfaceCallManyImpls(JavaExamples.java:111) [bci: 0]
|
|
1163
|
+
locals: Object[null]
|
|
1164
|
+
>@ <|@ instruction NULLCHECK [rsi|QWORD[.]] state [bci:0] <|@ <|@
|
|
1165
|
+
nr 12 <|@ st <@st|@reference-map: []
|
|
1166
|
+
live-base-pointers: []
|
|
1167
|
+
JavaExamples.exampleInterfaceCallManyImpls(JavaExamples.java:111) [bci: 1]
|
|
1168
|
+
locals: -
|
|
1169
|
+
>@ <|@ instruction rax|DWORD = CALL_DIRECT [rsi|QWORD[.]] [] callTarget: HotSpotMethod<JavaExamples$InterfaceManyImpls.interfaceCall()> invokeKind: Interface config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@13b805f38 state [bci:1] <|@ <|@
|
|
1170
|
+
nr 18 <|@ instruction RETURN (savedRbp: stack:16|QWORD, value: rax|DWORD) isStub: false requiresReservedStackAccessCheck: false thread: r15 scratchForSafepointOnReturn: rcx config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@13b805f38 <|@ <|@
|
|
1171
|
+
end_IR
|
|
1172
|
+
end_block
|
|
1173
|
+
end_cfg
|
|
1174
|
+
begin_bytecodes
|
|
1175
|
+
0: aload_0
|
|
1176
|
+
1: invokeinterface#55, 1 // JavaExamples$InterfaceManyImpls.interfaceCall:()int
|
|
1177
|
+
6: ireturn
|
|
1178
|
+
<|@
|
|
1179
|
+
end_bytecodes
|
|
1180
|
+
begin_cfg
|
|
1181
|
+
name "After NullCheckOptimizer"
|
|
1182
|
+
begin_block
|
|
1183
|
+
name "B0"
|
|
1184
|
+
from_bci -1
|
|
1185
|
+
to_bci -1
|
|
1186
|
+
predecessors
|
|
1187
|
+
successors
|
|
1188
|
+
xhandlers
|
|
1189
|
+
flags
|
|
1190
|
+
probability 4607182418800017408
|
|
1191
|
+
begin_IR
|
|
1192
|
+
LIR
|
|
1193
|
+
nr 0 <|@ instruction [rsi|QWORD[.], rbp|QWORD] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
|
|
1194
|
+
nr 2 <|@ instruction stack:16|QWORD = MOVE rbp|QWORD moveKind: QWORD <|@ <|@
|
|
1195
|
+
nr 4 <|@ instruction [] = HOTSPOTLOCKSTACK frameMapBuilder: org.graalvm.compiler.lir.amd64.AMD64FrameMapBuilder@12fc690a8 slotKind: QWORD <|@ <|@
|
|
1196
|
+
nr 8 <|@ st <@st|@reference-map: [rsi:0]
|
|
1197
|
+
live-base-pointers: []
|
|
1198
|
+
JavaExamples.exampleInterfaceCallManyImpls(JavaExamples.java:111) [bci: 0]
|
|
1199
|
+
locals: Object[null]
|
|
1200
|
+
>@ <|@ instruction NULLCHECK [rsi|QWORD[.]] state [bci:0] <|@ <|@
|
|
1201
|
+
nr 12 <|@ st <@st|@reference-map: []
|
|
1202
|
+
live-base-pointers: []
|
|
1203
|
+
JavaExamples.exampleInterfaceCallManyImpls(JavaExamples.java:111) [bci: 1]
|
|
1204
|
+
locals: -
|
|
1205
|
+
>@ <|@ instruction rax|DWORD = CALL_DIRECT [rsi|QWORD[.]] [] callTarget: HotSpotMethod<JavaExamples$InterfaceManyImpls.interfaceCall()> invokeKind: Interface config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@13b805f38 state [bci:1] <|@ <|@
|
|
1206
|
+
nr 18 <|@ instruction RETURN (savedRbp: stack:16|QWORD, value: rax|DWORD) isStub: false requiresReservedStackAccessCheck: false thread: r15 scratchForSafepointOnReturn: rcx config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@13b805f38 <|@ <|@
|
|
1207
|
+
end_IR
|
|
1208
|
+
end_block
|
|
1209
|
+
end_cfg
|
|
1210
|
+
begin_bytecodes
|
|
1211
|
+
0: aload_0
|
|
1212
|
+
1: invokeinterface#55, 1 // JavaExamples$InterfaceManyImpls.interfaceCall:()int
|
|
1213
|
+
6: ireturn
|
|
1214
|
+
<|@
|
|
1215
|
+
end_bytecodes
|
|
1216
|
+
begin_cfg
|
|
1217
|
+
name "After StackMoveOptimization"
|
|
1218
|
+
begin_block
|
|
1219
|
+
name "B0"
|
|
1220
|
+
from_bci -1
|
|
1221
|
+
to_bci -1
|
|
1222
|
+
predecessors
|
|
1223
|
+
successors
|
|
1224
|
+
xhandlers
|
|
1225
|
+
flags
|
|
1226
|
+
probability 4607182418800017408
|
|
1227
|
+
begin_IR
|
|
1228
|
+
LIR
|
|
1229
|
+
nr 0 <|@ instruction [rsi|QWORD[.], rbp|QWORD] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
|
|
1230
|
+
nr 2 <|@ instruction stack:16|QWORD = MOVE rbp|QWORD moveKind: QWORD <|@ <|@
|
|
1231
|
+
nr 4 <|@ instruction [] = HOTSPOTLOCKSTACK frameMapBuilder: org.graalvm.compiler.lir.amd64.AMD64FrameMapBuilder@12fc690a8 slotKind: QWORD <|@ <|@
|
|
1232
|
+
nr 8 <|@ st <@st|@reference-map: [rsi:0]
|
|
1233
|
+
live-base-pointers: []
|
|
1234
|
+
JavaExamples.exampleInterfaceCallManyImpls(JavaExamples.java:111) [bci: 0]
|
|
1235
|
+
locals: Object[null]
|
|
1236
|
+
>@ <|@ instruction NULLCHECK [rsi|QWORD[.]] state [bci:0] <|@ <|@
|
|
1237
|
+
nr 12 <|@ st <@st|@reference-map: []
|
|
1238
|
+
live-base-pointers: []
|
|
1239
|
+
JavaExamples.exampleInterfaceCallManyImpls(JavaExamples.java:111) [bci: 1]
|
|
1240
|
+
locals: -
|
|
1241
|
+
>@ <|@ instruction rax|DWORD = CALL_DIRECT [rsi|QWORD[.]] [] callTarget: HotSpotMethod<JavaExamples$InterfaceManyImpls.interfaceCall()> invokeKind: Interface config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@13b805f38 state [bci:1] <|@ <|@
|
|
1242
|
+
nr 18 <|@ instruction RETURN (savedRbp: stack:16|QWORD, value: rax|DWORD) isStub: false requiresReservedStackAccessCheck: false thread: r15 scratchForSafepointOnReturn: rcx config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@13b805f38 <|@ <|@
|
|
1243
|
+
end_IR
|
|
1244
|
+
end_block
|
|
1245
|
+
end_cfg
|
|
1246
|
+
begin_bytecodes
|
|
1247
|
+
0: aload_0
|
|
1248
|
+
1: invokeinterface#55, 1 // JavaExamples$InterfaceManyImpls.interfaceCall:()int
|
|
1249
|
+
6: ireturn
|
|
1250
|
+
<|@
|
|
1251
|
+
end_bytecodes
|
|
1252
|
+
begin_cfg
|
|
1253
|
+
name "After PostAllocationOptimizationStage"
|
|
1254
|
+
begin_block
|
|
1255
|
+
name "B0"
|
|
1256
|
+
from_bci -1
|
|
1257
|
+
to_bci -1
|
|
1258
|
+
predecessors
|
|
1259
|
+
successors
|
|
1260
|
+
xhandlers
|
|
1261
|
+
flags
|
|
1262
|
+
probability 4607182418800017408
|
|
1263
|
+
begin_IR
|
|
1264
|
+
LIR
|
|
1265
|
+
nr 0 <|@ instruction [rsi|QWORD[.], rbp|QWORD] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
|
|
1266
|
+
nr 2 <|@ instruction stack:16|QWORD = MOVE rbp|QWORD moveKind: QWORD <|@ <|@
|
|
1267
|
+
nr 4 <|@ instruction [] = HOTSPOTLOCKSTACK frameMapBuilder: org.graalvm.compiler.lir.amd64.AMD64FrameMapBuilder@12fc690a8 slotKind: QWORD <|@ <|@
|
|
1268
|
+
nr 8 <|@ st <@st|@reference-map: [rsi:0]
|
|
1269
|
+
live-base-pointers: []
|
|
1270
|
+
JavaExamples.exampleInterfaceCallManyImpls(JavaExamples.java:111) [bci: 0]
|
|
1271
|
+
locals: Object[null]
|
|
1272
|
+
>@ <|@ instruction NULLCHECK [rsi|QWORD[.]] state [bci:0] <|@ <|@
|
|
1273
|
+
nr 12 <|@ st <@st|@reference-map: []
|
|
1274
|
+
live-base-pointers: []
|
|
1275
|
+
JavaExamples.exampleInterfaceCallManyImpls(JavaExamples.java:111) [bci: 1]
|
|
1276
|
+
locals: -
|
|
1277
|
+
>@ <|@ instruction rax|DWORD = CALL_DIRECT [rsi|QWORD[.]] [] callTarget: HotSpotMethod<JavaExamples$InterfaceManyImpls.interfaceCall()> invokeKind: Interface config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@13b805f38 state [bci:1] <|@ <|@
|
|
1278
|
+
nr 18 <|@ instruction RETURN (savedRbp: stack:16|QWORD, value: rax|DWORD) isStub: false requiresReservedStackAccessCheck: false thread: r15 scratchForSafepointOnReturn: rcx config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@13b805f38 <|@ <|@
|
|
1279
|
+
end_IR
|
|
1280
|
+
end_block
|
|
1281
|
+
end_cfg
|
|
1282
|
+
begin_bytecodes
|
|
1283
|
+
0: aload_0
|
|
1284
|
+
1: invokeinterface#55, 1 // JavaExamples$InterfaceManyImpls.interfaceCall:()int
|
|
1285
|
+
6: ireturn
|
|
1286
|
+
<|@
|
|
1287
|
+
end_bytecodes
|
|
1288
|
+
begin_cfg
|
|
1289
|
+
name "After code generation"
|
|
1290
|
+
end_cfg
|
|
1291
|
+
begin_nmethod
|
|
1292
|
+
<<<HexCodeFile
|
|
1293
|
+
Platform AMD64 64 <||@
|
|
1294
|
+
HexCode 0 89842400c0feff4883ec1848896c2410850648b8ffffffffffffffff666690e80000000090488b6c24104883c418850500000000c5f877c3e80000000090e80000000090 <||@
|
|
1295
|
+
Comment 0 [stack overflow check] <||@
|
|
1296
|
+
Comment 0 3 <||@
|
|
1297
|
+
Comment 0 1 <||@
|
|
1298
|
+
Comment 11 block B0 null <||@
|
|
1299
|
+
Comment 11 0 [rsi|QWORD[.], rbp|QWORD] = LABEL numbPhis: 0 align: false label: ? <||@
|
|
1300
|
+
Comment 11 2 stack:16|QWORD = MOVE rbp|QWORD moveKind: QWORD <||@
|
|
1301
|
+
Comment 16 4 [] = HOTSPOTLOCKSTACK frameMapBuilder: org.graalvm.compiler.lir.amd64.AMD64FrameMapBuilder@12fc690a8 slotKind: QWORD <||@
|
|
1302
|
+
Comment 16 8 NULLCHECK [rsi|QWORD[.]] state [bci:0] <||@
|
|
1303
|
+
Comment 16 [rsi:0]at JavaExamples.exampleInterfaceCallManyImpls(JavaExamples.java:111) [bci: 0, duringCall: false, rethrow: false]
|
|
1304
|
+
|0
|
|
1305
|
+
locals: |Object[null] <||@
|
|
1306
|
+
Comment 16 {infopoint: IMPLICIT_EXCEPTION} <||@
|
|
1307
|
+
Comment 18 12 rax|DWORD = CALL_DIRECT [rsi|QWORD[.]] [] callTarget: HotSpotMethod<JavaExamples$InterfaceManyImpls.interfaceCall()> invokeKind: Interface config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@13b805f38 state [bci:1] <||@
|
|
1308
|
+
Comment 18 6 <||@
|
|
1309
|
+
Comment 31 {HotSpotMethod<JavaExamples$InterfaceManyImpls.interfaceCall()>} <||@
|
|
1310
|
+
Comment 36 []at JavaExamples.exampleInterfaceCallManyImpls(JavaExamples.java:111) [bci: 1, duringCall: true, rethrow: false]
|
|
1311
|
+
|0
|
|
1312
|
+
locals: |- <||@
|
|
1313
|
+
Comment 37 18 RETURN (savedRbp: stack:16|QWORD, value: rax|DWORD) isStub: false requiresReservedStackAccessCheck: false thread: r15 scratchForSafepointOnReturn: rcx config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@13b805f38 <||@
|
|
1314
|
+
Comment 46 12 <||@
|
|
1315
|
+
Comment 56 {Stub<ExceptionHandlerStub.exceptionHandler>@0x11009a2a0:CallingConvention[rax|QWORD[.], rdx|QWORD]:CallingConvention[rax|QWORD[.], rdx|QWORD]; temps=rdi|ILLEGAL,xmm14|ILLEGAL,xmm15|ILLEGAL,xmm12|ILLEGAL,xmm13|ILLEGAL,xmm10|ILLEGAL,xmm11|ILLEGAL,xmm7|ILLEGAL,xmm8|ILLEGAL,xmm9|ILLEGAL,xmm0|ILLEGAL,xmm1|ILLEGAL,xmm2|ILLEGAL,xmm3|ILLEGAL,xmm4|ILLEGAL,xmm5|ILLEGAL,xmm6|ILLEGAL,rax|ILLEGAL,rcx|ILLEGAL,rdx|ILLEGAL,rsi|ILLEGAL,r8|ILLEGAL,r9|ILLEGAL,r10|ILLEGAL,r11|ILLEGAL} <||@
|
|
1316
|
+
Comment 56 4 <||@
|
|
1317
|
+
Comment 62 {Field[name=CompilerToVM::Data::SharedRuntime_deopt_blob_unpack, type=address, offset=0, address=0x1044bc128, value=4562715200]:0x10ff58240} <||@
|
|
1318
|
+
Comment 62 5 <||@
|
|
1319
|
+
HexCodeFile>>> <|@
|
|
1320
|
+
end_nmethod
|
|
1321
|
+
begin_compilation
|
|
1322
|
+
name " HotSpotCompilation-361[JavaExamples.exampleInterfaceCallManyImpls(JavaExamples$InterfaceManyImpls)]"
|
|
1323
|
+
method "HotSpotCompilation-361[JavaExamples.exampleInterfaceCallManyImpls(JavaExamples$InterfaceManyImpls)]"
|
|
1324
|
+
date 1583840237799
|
|
1325
|
+
end_compilation
|
|
1326
|
+
begin_cfg
|
|
1327
|
+
name "After code installation"
|
|
1328
|
+
end_cfg
|
|
1329
|
+
begin_nmethod
|
|
1330
|
+
<<<HexCodeFile
|
|
1331
|
+
Platform AMD64 64 <||@
|
|
1332
|
+
HexCode 1100a6aa0 89842400c0feff4883ec1848896c2410850648b8280a06c007000000666690e83c1eebff90488b6c24104883c418850532d51ff2c5f877c3e8c337ffff90e85d17ebff90f4f4f4f4 <||@
|
|
1333
|
+
Comment 0 [stack overflow check] <||@
|
|
1334
|
+
Comment 0 3 <||@
|
|
1335
|
+
Comment 0 1 <||@
|
|
1336
|
+
Comment 11 block B0 null <||@
|
|
1337
|
+
Comment 11 0 [rsi|QWORD[.], rbp|QWORD] = LABEL numbPhis: 0 align: false label: ? <||@
|
|
1338
|
+
Comment 11 2 stack:16|QWORD = MOVE rbp|QWORD moveKind: QWORD <||@
|
|
1339
|
+
Comment 16 4 [] = HOTSPOTLOCKSTACK frameMapBuilder: org.graalvm.compiler.lir.amd64.AMD64FrameMapBuilder@12fc690a8 slotKind: QWORD <||@
|
|
1340
|
+
Comment 16 8 NULLCHECK [rsi|QWORD[.]] state [bci:0] <||@
|
|
1341
|
+
Comment 16 [rsi:0]at JavaExamples.exampleInterfaceCallManyImpls(JavaExamples.java:111) [bci: 0, duringCall: false, rethrow: false]
|
|
1342
|
+
|0
|
|
1343
|
+
locals: |Object[null] <||@
|
|
1344
|
+
Comment 16 {infopoint: IMPLICIT_EXCEPTION} <||@
|
|
1345
|
+
Comment 18 12 rax|DWORD = CALL_DIRECT [rsi|QWORD[.]] [] callTarget: HotSpotMethod<JavaExamples$InterfaceManyImpls.interfaceCall()> invokeKind: Interface config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@13b805f38 state [bci:1] <||@
|
|
1346
|
+
Comment 18 6 <||@
|
|
1347
|
+
Comment 31 {HotSpotMethod<JavaExamples$InterfaceManyImpls.interfaceCall()>} <||@
|
|
1348
|
+
Comment 36 []at JavaExamples.exampleInterfaceCallManyImpls(JavaExamples.java:111) [bci: 1, duringCall: true, rethrow: false]
|
|
1349
|
+
|0
|
|
1350
|
+
locals: |- <||@
|
|
1351
|
+
Comment 37 18 RETURN (savedRbp: stack:16|QWORD, value: rax|DWORD) isStub: false requiresReservedStackAccessCheck: false thread: r15 scratchForSafepointOnReturn: rcx config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@13b805f38 <||@
|
|
1352
|
+
Comment 46 12 <||@
|
|
1353
|
+
Comment 56 {Stub<ExceptionHandlerStub.exceptionHandler>@0x11009a2a0:CallingConvention[rax|QWORD[.], rdx|QWORD]:CallingConvention[rax|QWORD[.], rdx|QWORD]; temps=rdi|ILLEGAL,xmm14|ILLEGAL,xmm15|ILLEGAL,xmm12|ILLEGAL,xmm13|ILLEGAL,xmm10|ILLEGAL,xmm11|ILLEGAL,xmm7|ILLEGAL,xmm8|ILLEGAL,xmm9|ILLEGAL,xmm0|ILLEGAL,xmm1|ILLEGAL,xmm2|ILLEGAL,xmm3|ILLEGAL,xmm4|ILLEGAL,xmm5|ILLEGAL,xmm6|ILLEGAL,rax|ILLEGAL,rcx|ILLEGAL,rdx|ILLEGAL,rsi|ILLEGAL,r8|ILLEGAL,r9|ILLEGAL,r10|ILLEGAL,r11|ILLEGAL} <||@
|
|
1354
|
+
Comment 56 4 <||@
|
|
1355
|
+
Comment 62 {Field[name=CompilerToVM::Data::SharedRuntime_deopt_blob_unpack, type=address, offset=0, address=0x1044bc128, value=4562715200]:0x10ff58240} <||@
|
|
1356
|
+
Comment 62 5 <||@
|
|
1357
|
+
HexCodeFile>>> <|@
|
|
1358
|
+
end_nmethod
|