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,1673 @@
|
|
|
1
|
+
begin_compilation
|
|
2
|
+
name " HotSpotCompilation-337[JavaExamples.exampleLocalVariablesState(int, int)]"
|
|
3
|
+
method "HotSpotCompilation-337[JavaExamples.exampleLocalVariablesState(int, int)]"
|
|
4
|
+
date 1583713938447
|
|
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: i6
|
|
28
|
+
=== Usages ===
|
|
29
|
+
=== Predecessor ===
|
|
30
|
+
- >@ <|@
|
|
31
|
+
instruction <@StartNode|@org.graalvm.compiler.nodes.StartNode>@ stateAfter: - #next: i6 <|@ <|@
|
|
32
|
+
tid v13 <|@
|
|
33
|
+
d <@d|@=== Debug Properties ===
|
|
34
|
+
callType: JavaCall
|
|
35
|
+
invokeKind: Static
|
|
36
|
+
nodeSourcePosition: at JavaExamples.exampleLocalVariablesState(JavaExamples.java:75) [bci: 4]
|
|
37
|
+
returnStamp: i32
|
|
38
|
+
signature: [Ljdk.vm.ci.meta.JavaType;@13bad8e28
|
|
39
|
+
stamp: void
|
|
40
|
+
targetMethod: HotSpotMethod<JavaExamples.opaqueCall()>
|
|
41
|
+
=== Inputs ===
|
|
42
|
+
=== Succesors ===
|
|
43
|
+
=== Usages ===
|
|
44
|
+
i6
|
|
45
|
+
=== Predecessor ===
|
|
46
|
+
- >@ <|@
|
|
47
|
+
instruction <@HotSpotDirectCallTarget|@org.graalvm.compiler.hotspot.nodes.HotSpotDirectCallTargetNode>@ <|@ <|@
|
|
48
|
+
f <@~|@floating>@ <|@
|
|
49
|
+
tid i1 <|@
|
|
50
|
+
d <@d|@=== Debug Properties ===
|
|
51
|
+
index: 0
|
|
52
|
+
stamp: i32
|
|
53
|
+
uncheckedStamp: [null]
|
|
54
|
+
=== Inputs ===
|
|
55
|
+
=== Succesors ===
|
|
56
|
+
=== Usages ===
|
|
57
|
+
i4
|
|
58
|
+
=== Predecessor ===
|
|
59
|
+
- >@ <|@
|
|
60
|
+
instruction <@Parameter|@org.graalvm.compiler.nodes.ParameterNode>@ <|@ <|@
|
|
61
|
+
f <@~|@floating>@ <|@
|
|
62
|
+
tid i2 <|@
|
|
63
|
+
d <@d|@=== Debug Properties ===
|
|
64
|
+
index: 1
|
|
65
|
+
stamp: i32
|
|
66
|
+
uncheckedStamp: [null]
|
|
67
|
+
=== Inputs ===
|
|
68
|
+
=== Succesors ===
|
|
69
|
+
=== Usages ===
|
|
70
|
+
i4
|
|
71
|
+
=== Predecessor ===
|
|
72
|
+
- >@ <|@
|
|
73
|
+
instruction <@Parameter|@org.graalvm.compiler.nodes.ParameterNode>@ <|@ <|@
|
|
74
|
+
f <@~|@floating>@ <|@
|
|
75
|
+
tid i4 <|@
|
|
76
|
+
d <@d|@=== Debug Properties ===
|
|
77
|
+
nodeSourcePosition: at JavaExamples.exampleLocalVariablesState(JavaExamples.java:74) [bci: 2]
|
|
78
|
+
stamp: i32
|
|
79
|
+
=== Inputs ===
|
|
80
|
+
x: i1
|
|
81
|
+
y: i2
|
|
82
|
+
=== Succesors ===
|
|
83
|
+
=== Usages ===
|
|
84
|
+
?14 i10 i11
|
|
85
|
+
=== Predecessor ===
|
|
86
|
+
- >@ <|@
|
|
87
|
+
instruction <@+|@org.graalvm.compiler.nodes.calc.AddNode>@ x: i1 y: i2 <|@ <|@
|
|
88
|
+
tid ?14 <|@
|
|
89
|
+
d <@d|@=== Debug Properties ===
|
|
90
|
+
bci: 4
|
|
91
|
+
code: ResolvedJavaMethodBytecode<JavaExamples.exampleLocalVariablesState(int, int)>
|
|
92
|
+
duringCall: true
|
|
93
|
+
localsSize: 3
|
|
94
|
+
locksSize: 0
|
|
95
|
+
rethrowException: false
|
|
96
|
+
sourceFile: JavaExamples.java
|
|
97
|
+
sourceLine: 75
|
|
98
|
+
stackSize: 0
|
|
99
|
+
=== Inputs ===
|
|
100
|
+
outerFrameState: -
|
|
101
|
+
values: - - i4
|
|
102
|
+
=== Succesors ===
|
|
103
|
+
=== Usages ===
|
|
104
|
+
i6
|
|
105
|
+
=== Predecessor ===
|
|
106
|
+
- >@ <|@
|
|
107
|
+
instruction <@FrameState|@org.graalvm.compiler.nodes.FrameState>@ outerFrameState: - values: - - i4 <|@ <|@
|
|
108
|
+
f <@#|@fixed with next>@ <|@
|
|
109
|
+
tid i6 <|@
|
|
110
|
+
d <@d|@=== Debug Properties ===
|
|
111
|
+
bci: 4
|
|
112
|
+
identity: ANY_LOCATION
|
|
113
|
+
nodeSourcePosition: at JavaExamples.exampleLocalVariablesState(JavaExamples.java:75) [bci: 4]
|
|
114
|
+
polymorphic: false
|
|
115
|
+
stamp: i32
|
|
116
|
+
targetMethod: Direct#JavaExamples.opaqueCall
|
|
117
|
+
useForInlining: true
|
|
118
|
+
=== Inputs ===
|
|
119
|
+
stateAfter: -
|
|
120
|
+
classInit: -
|
|
121
|
+
callTarget: v13
|
|
122
|
+
stateDuring: ?14
|
|
123
|
+
=== Succesors ===
|
|
124
|
+
next: v12
|
|
125
|
+
=== Usages ===
|
|
126
|
+
=== Predecessor ===
|
|
127
|
+
v0 >@ <|@
|
|
128
|
+
instruction <@Invoke|@org.graalvm.compiler.nodes.InvokeNode>@ stateAfter: - classInit: - callTarget: v13 stateDuring: ?14 #next: v12 <|@ <|@
|
|
129
|
+
f <@~|@floating>@ <|@
|
|
130
|
+
tid i9 <|@
|
|
131
|
+
d <@d|@=== Debug Properties ===
|
|
132
|
+
isDefaultStable: false
|
|
133
|
+
nodeSourcePosition: at JavaExamples.exampleLocalVariablesState(JavaExamples.java:76) [bci: 10]
|
|
134
|
+
rawvalue: 1
|
|
135
|
+
stableDimension: 0
|
|
136
|
+
stamp: i32 [1] ⇊0000000000000001 ⇈0000000000000001
|
|
137
|
+
stampKind: i32
|
|
138
|
+
value: int[1|0x1]
|
|
139
|
+
=== Inputs ===
|
|
140
|
+
=== Succesors ===
|
|
141
|
+
=== Usages ===
|
|
142
|
+
i10
|
|
143
|
+
=== Predecessor ===
|
|
144
|
+
- >@ <|@
|
|
145
|
+
instruction <@Constant|@org.graalvm.compiler.nodes.ConstantNode>@ <|@ <|@
|
|
146
|
+
f <@~|@floating>@ <|@
|
|
147
|
+
tid i10 <|@
|
|
148
|
+
d <@d|@=== Debug Properties ===
|
|
149
|
+
nodeSourcePosition: at JavaExamples.exampleLocalVariablesState(JavaExamples.java:76) [bci: 10]
|
|
150
|
+
stamp: i32 [-2147483648 - 2147483646] ⇈00000000fffffffe
|
|
151
|
+
=== Inputs ===
|
|
152
|
+
x: i4
|
|
153
|
+
y: i9
|
|
154
|
+
=== Succesors ===
|
|
155
|
+
=== Usages ===
|
|
156
|
+
i11
|
|
157
|
+
=== Predecessor ===
|
|
158
|
+
- >@ <|@
|
|
159
|
+
instruction <@<<|@org.graalvm.compiler.nodes.calc.LeftShiftNode>@ x: i4 y: i9 <|@ <|@
|
|
160
|
+
f <@~|@floating>@ <|@
|
|
161
|
+
tid i11 <|@
|
|
162
|
+
d <@d|@=== Debug Properties ===
|
|
163
|
+
nodeSourcePosition: at JavaExamples.exampleLocalVariablesState(JavaExamples.java:76) [bci: 12]
|
|
164
|
+
stamp: i32
|
|
165
|
+
=== Inputs ===
|
|
166
|
+
x: i4
|
|
167
|
+
y: i10
|
|
168
|
+
=== Succesors ===
|
|
169
|
+
=== Usages ===
|
|
170
|
+
v12
|
|
171
|
+
=== Predecessor ===
|
|
172
|
+
- >@ <|@
|
|
173
|
+
instruction <@+|@org.graalvm.compiler.nodes.calc.AddNode>@ x: i4 y: i10 <|@ <|@
|
|
174
|
+
f <@*|@fixed>@ <|@
|
|
175
|
+
tid v12 <|@
|
|
176
|
+
d <@d|@=== Debug Properties ===
|
|
177
|
+
nodeSourcePosition: at JavaExamples.exampleLocalVariablesState(JavaExamples.java:76) [bci: 13]
|
|
178
|
+
stamp: void
|
|
179
|
+
=== Inputs ===
|
|
180
|
+
result: i11
|
|
181
|
+
memoryMap: -
|
|
182
|
+
=== Succesors ===
|
|
183
|
+
=== Usages ===
|
|
184
|
+
=== Predecessor ===
|
|
185
|
+
i6 >@ <|@
|
|
186
|
+
instruction <@Return|@org.graalvm.compiler.nodes.ReturnNode>@ result: i11 memoryMap: - <|@ <|@
|
|
187
|
+
end_IR
|
|
188
|
+
end_block
|
|
189
|
+
end_cfg
|
|
190
|
+
begin_cfg
|
|
191
|
+
name "After LIRGeneration"
|
|
192
|
+
begin_block
|
|
193
|
+
name "B0"
|
|
194
|
+
from_bci -1
|
|
195
|
+
to_bci -1
|
|
196
|
+
predecessors
|
|
197
|
+
successors
|
|
198
|
+
xhandlers
|
|
199
|
+
flags
|
|
200
|
+
probability 4607182418800017408
|
|
201
|
+
begin_IR
|
|
202
|
+
LIR
|
|
203
|
+
nr -1 <|@ instruction [rsi|DWORD, rdx|DWORD, rbp|QWORD] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
|
|
204
|
+
nr -1 <|@ instruction stack:16|QWORD = MOVE rbp|QWORD moveKind: QWORD <|@ <|@
|
|
205
|
+
nr -1 <|@ instruction [] = HOTSPOTLOCKSTACK frameMapBuilder: org.graalvm.compiler.lir.amd64.AMD64FrameMapBuilder@13bf3e570 slotKind: QWORD <|@ <|@
|
|
206
|
+
nr -1 <|@ instruction v0|DWORD = MOVE rsi|DWORD moveKind: DWORD <|@ <|@
|
|
207
|
+
nr -1 <|@ instruction v1|DWORD = MOVE rdx|DWORD moveKind: DWORD <|@ <|@
|
|
208
|
+
nr -1 <|@ instruction v2|DWORD = ADD (x: v0|DWORD, y: v1|DWORD) size: DWORD <|@ <|@
|
|
209
|
+
nr -1 <|@ st <@st|@JavaExamples.exampleLocalVariablesState(JavaExamples.java:75) [bci: 4]
|
|
210
|
+
locals: - - v2|DWORD
|
|
211
|
+
>@ <|@ instruction rax|DWORD = CALL_DIRECT [] [] callTarget: HotSpotMethod<JavaExamples.opaqueCall()> invokeKind: Static config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@113b187d8 state [bci:4] <|@ <|@
|
|
212
|
+
nr -1 <|@ instruction v3|DWORD = MOVE rax|DWORD moveKind: DWORD <|@ <|@
|
|
213
|
+
nr -1 <|@ instruction v4|DWORD = SHL v2|DWORD size: DWORD <|@ <|@
|
|
214
|
+
nr -1 <|@ instruction v5|DWORD = ADD (x: v4|DWORD, y: v2|DWORD) size: DWORD <|@ <|@
|
|
215
|
+
nr -1 <|@ instruction rax|DWORD = MOVE v5|DWORD moveKind: DWORD <|@ <|@
|
|
216
|
+
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@113b187d8 <|@ <|@
|
|
217
|
+
end_IR
|
|
218
|
+
end_block
|
|
219
|
+
end_cfg
|
|
220
|
+
begin_bytecodes
|
|
221
|
+
0: iload_0
|
|
222
|
+
1: iload_1
|
|
223
|
+
2: iadd
|
|
224
|
+
3: istore_2
|
|
225
|
+
4: invokestatic #48 // opaqueCall:()int
|
|
226
|
+
7: pop
|
|
227
|
+
8: iload_2
|
|
228
|
+
9: iconst_2
|
|
229
|
+
10: imul
|
|
230
|
+
11: iload_2
|
|
231
|
+
12: iadd
|
|
232
|
+
13: ireturn
|
|
233
|
+
<|@
|
|
234
|
+
end_bytecodes
|
|
235
|
+
begin_cfg
|
|
236
|
+
name "After LIR generation"
|
|
237
|
+
begin_block
|
|
238
|
+
name "B0"
|
|
239
|
+
from_bci -1
|
|
240
|
+
to_bci -1
|
|
241
|
+
predecessors
|
|
242
|
+
successors
|
|
243
|
+
xhandlers
|
|
244
|
+
flags
|
|
245
|
+
probability 4607182418800017408
|
|
246
|
+
begin_IR
|
|
247
|
+
HIR
|
|
248
|
+
f <@#|@fixed with next>@ <|@
|
|
249
|
+
tid v0 <|@
|
|
250
|
+
d <@d|@=== Debug Properties ===
|
|
251
|
+
stamp: void
|
|
252
|
+
withSpeculationFence: false
|
|
253
|
+
=== Inputs ===
|
|
254
|
+
stateAfter: -
|
|
255
|
+
=== Succesors ===
|
|
256
|
+
next: i6
|
|
257
|
+
=== Usages ===
|
|
258
|
+
=== Predecessor ===
|
|
259
|
+
- >@ <|@
|
|
260
|
+
instruction <@StartNode|@org.graalvm.compiler.nodes.StartNode>@ stateAfter: - #next: i6 <|@ <|@
|
|
261
|
+
tid v13 <|@
|
|
262
|
+
d <@d|@=== Debug Properties ===
|
|
263
|
+
callType: JavaCall
|
|
264
|
+
invokeKind: Static
|
|
265
|
+
nodeSourcePosition: at JavaExamples.exampleLocalVariablesState(JavaExamples.java:75) [bci: 4]
|
|
266
|
+
returnStamp: i32
|
|
267
|
+
signature: [Ljdk.vm.ci.meta.JavaType;@13bad8e28
|
|
268
|
+
stamp: void
|
|
269
|
+
targetMethod: HotSpotMethod<JavaExamples.opaqueCall()>
|
|
270
|
+
=== Inputs ===
|
|
271
|
+
=== Succesors ===
|
|
272
|
+
=== Usages ===
|
|
273
|
+
i6
|
|
274
|
+
=== Predecessor ===
|
|
275
|
+
- >@ <|@
|
|
276
|
+
instruction <@HotSpotDirectCallTarget|@org.graalvm.compiler.hotspot.nodes.HotSpotDirectCallTargetNode>@ <|@ <|@
|
|
277
|
+
f <@~|@floating>@ <|@
|
|
278
|
+
tid i1 <|@
|
|
279
|
+
result v0|DWORD <|@
|
|
280
|
+
d <@d|@=== Debug Properties ===
|
|
281
|
+
index: 0
|
|
282
|
+
stamp: i32
|
|
283
|
+
uncheckedStamp: [null]
|
|
284
|
+
=== Inputs ===
|
|
285
|
+
=== Succesors ===
|
|
286
|
+
=== Usages ===
|
|
287
|
+
i4
|
|
288
|
+
=== Predecessor ===
|
|
289
|
+
- >@ <|@
|
|
290
|
+
instruction <@Parameter|@org.graalvm.compiler.nodes.ParameterNode>@ <|@ <|@
|
|
291
|
+
f <@~|@floating>@ <|@
|
|
292
|
+
tid i2 <|@
|
|
293
|
+
result v1|DWORD <|@
|
|
294
|
+
d <@d|@=== Debug Properties ===
|
|
295
|
+
index: 1
|
|
296
|
+
stamp: i32
|
|
297
|
+
uncheckedStamp: [null]
|
|
298
|
+
=== Inputs ===
|
|
299
|
+
=== Succesors ===
|
|
300
|
+
=== Usages ===
|
|
301
|
+
i4
|
|
302
|
+
=== Predecessor ===
|
|
303
|
+
- >@ <|@
|
|
304
|
+
instruction <@Parameter|@org.graalvm.compiler.nodes.ParameterNode>@ <|@ <|@
|
|
305
|
+
f <@~|@floating>@ <|@
|
|
306
|
+
tid i4 <|@
|
|
307
|
+
result v2|DWORD <|@
|
|
308
|
+
d <@d|@=== Debug Properties ===
|
|
309
|
+
nodeSourcePosition: at JavaExamples.exampleLocalVariablesState(JavaExamples.java:74) [bci: 2]
|
|
310
|
+
stamp: i32
|
|
311
|
+
=== Inputs ===
|
|
312
|
+
x: i1
|
|
313
|
+
y: i2
|
|
314
|
+
=== Succesors ===
|
|
315
|
+
=== Usages ===
|
|
316
|
+
?14 i10 i11
|
|
317
|
+
=== Predecessor ===
|
|
318
|
+
- >@ <|@
|
|
319
|
+
instruction <@+|@org.graalvm.compiler.nodes.calc.AddNode>@ x: i1 y: i2 <|@ <|@
|
|
320
|
+
tid ?14 <|@
|
|
321
|
+
d <@d|@=== Debug Properties ===
|
|
322
|
+
bci: 4
|
|
323
|
+
code: ResolvedJavaMethodBytecode<JavaExamples.exampleLocalVariablesState(int, int)>
|
|
324
|
+
duringCall: true
|
|
325
|
+
localsSize: 3
|
|
326
|
+
locksSize: 0
|
|
327
|
+
rethrowException: false
|
|
328
|
+
sourceFile: JavaExamples.java
|
|
329
|
+
sourceLine: 75
|
|
330
|
+
stackSize: 0
|
|
331
|
+
=== Inputs ===
|
|
332
|
+
outerFrameState: -
|
|
333
|
+
values: - - i4
|
|
334
|
+
=== Succesors ===
|
|
335
|
+
=== Usages ===
|
|
336
|
+
i6
|
|
337
|
+
=== Predecessor ===
|
|
338
|
+
- >@ <|@
|
|
339
|
+
instruction <@FrameState|@org.graalvm.compiler.nodes.FrameState>@ outerFrameState: - values: - - i4 <|@ <|@
|
|
340
|
+
f <@#|@fixed with next>@ <|@
|
|
341
|
+
tid i6 <|@
|
|
342
|
+
result v3|DWORD <|@
|
|
343
|
+
d <@d|@=== Debug Properties ===
|
|
344
|
+
bci: 4
|
|
345
|
+
identity: ANY_LOCATION
|
|
346
|
+
nodeSourcePosition: at JavaExamples.exampleLocalVariablesState(JavaExamples.java:75) [bci: 4]
|
|
347
|
+
polymorphic: false
|
|
348
|
+
stamp: i32
|
|
349
|
+
targetMethod: Direct#JavaExamples.opaqueCall
|
|
350
|
+
useForInlining: true
|
|
351
|
+
=== Inputs ===
|
|
352
|
+
stateAfter: -
|
|
353
|
+
classInit: -
|
|
354
|
+
callTarget: v13
|
|
355
|
+
stateDuring: ?14
|
|
356
|
+
=== Succesors ===
|
|
357
|
+
next: v12
|
|
358
|
+
=== Usages ===
|
|
359
|
+
=== Predecessor ===
|
|
360
|
+
v0 >@ <|@
|
|
361
|
+
instruction <@Invoke|@org.graalvm.compiler.nodes.InvokeNode>@ stateAfter: - classInit: - callTarget: v13 stateDuring: ?14 #next: v12 <|@ <|@
|
|
362
|
+
f <@~|@floating>@ <|@
|
|
363
|
+
tid i9 <|@
|
|
364
|
+
result int[1|0x1] <|@
|
|
365
|
+
d <@d|@=== Debug Properties ===
|
|
366
|
+
isDefaultStable: false
|
|
367
|
+
nodeSourcePosition: at JavaExamples.exampleLocalVariablesState(JavaExamples.java:76) [bci: 10]
|
|
368
|
+
rawvalue: 1
|
|
369
|
+
stableDimension: 0
|
|
370
|
+
stamp: i32 [1] ⇊0000000000000001 ⇈0000000000000001
|
|
371
|
+
stampKind: i32
|
|
372
|
+
value: int[1|0x1]
|
|
373
|
+
=== Inputs ===
|
|
374
|
+
=== Succesors ===
|
|
375
|
+
=== Usages ===
|
|
376
|
+
i10
|
|
377
|
+
=== Predecessor ===
|
|
378
|
+
- >@ <|@
|
|
379
|
+
instruction <@Constant|@org.graalvm.compiler.nodes.ConstantNode>@ <|@ <|@
|
|
380
|
+
f <@~|@floating>@ <|@
|
|
381
|
+
tid i10 <|@
|
|
382
|
+
result v4|DWORD <|@
|
|
383
|
+
d <@d|@=== Debug Properties ===
|
|
384
|
+
nodeSourcePosition: at JavaExamples.exampleLocalVariablesState(JavaExamples.java:76) [bci: 10]
|
|
385
|
+
stamp: i32 [-2147483648 - 2147483646] ⇈00000000fffffffe
|
|
386
|
+
=== Inputs ===
|
|
387
|
+
x: i4
|
|
388
|
+
y: i9
|
|
389
|
+
=== Succesors ===
|
|
390
|
+
=== Usages ===
|
|
391
|
+
i11
|
|
392
|
+
=== Predecessor ===
|
|
393
|
+
- >@ <|@
|
|
394
|
+
instruction <@<<|@org.graalvm.compiler.nodes.calc.LeftShiftNode>@ x: i4 y: i9 <|@ <|@
|
|
395
|
+
f <@~|@floating>@ <|@
|
|
396
|
+
tid i11 <|@
|
|
397
|
+
result v5|DWORD <|@
|
|
398
|
+
d <@d|@=== Debug Properties ===
|
|
399
|
+
nodeSourcePosition: at JavaExamples.exampleLocalVariablesState(JavaExamples.java:76) [bci: 12]
|
|
400
|
+
stamp: i32
|
|
401
|
+
=== Inputs ===
|
|
402
|
+
x: i4
|
|
403
|
+
y: i10
|
|
404
|
+
=== Succesors ===
|
|
405
|
+
=== Usages ===
|
|
406
|
+
v12
|
|
407
|
+
=== Predecessor ===
|
|
408
|
+
- >@ <|@
|
|
409
|
+
instruction <@+|@org.graalvm.compiler.nodes.calc.AddNode>@ x: i4 y: i10 <|@ <|@
|
|
410
|
+
f <@*|@fixed>@ <|@
|
|
411
|
+
tid v12 <|@
|
|
412
|
+
d <@d|@=== Debug Properties ===
|
|
413
|
+
nodeSourcePosition: at JavaExamples.exampleLocalVariablesState(JavaExamples.java:76) [bci: 13]
|
|
414
|
+
stamp: void
|
|
415
|
+
=== Inputs ===
|
|
416
|
+
result: i11
|
|
417
|
+
memoryMap: -
|
|
418
|
+
=== Succesors ===
|
|
419
|
+
=== Usages ===
|
|
420
|
+
=== Predecessor ===
|
|
421
|
+
i6 >@ <|@
|
|
422
|
+
instruction <@Return|@org.graalvm.compiler.nodes.ReturnNode>@ result: i11 memoryMap: - <|@ <|@
|
|
423
|
+
end_IR
|
|
424
|
+
begin_IR
|
|
425
|
+
LIR
|
|
426
|
+
nr -1 <|@ instruction [rsi|DWORD, rdx|DWORD, rbp|QWORD] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
|
|
427
|
+
nr -1 <|@ instruction stack:16|QWORD = MOVE rbp|QWORD moveKind: QWORD <|@ <|@
|
|
428
|
+
nr -1 <|@ instruction [] = HOTSPOTLOCKSTACK frameMapBuilder: org.graalvm.compiler.lir.amd64.AMD64FrameMapBuilder@13bf3e570 slotKind: QWORD <|@ <|@
|
|
429
|
+
nr -1 <|@ instruction v0|DWORD = MOVE rsi|DWORD moveKind: DWORD <|@ <|@
|
|
430
|
+
nr -1 <|@ instruction v1|DWORD = MOVE rdx|DWORD moveKind: DWORD <|@ <|@
|
|
431
|
+
nr -1 <|@ instruction v2|DWORD = ADD (x: v0|DWORD, y: v1|DWORD) size: DWORD <|@ <|@
|
|
432
|
+
nr -1 <|@ st <@st|@JavaExamples.exampleLocalVariablesState(JavaExamples.java:75) [bci: 4]
|
|
433
|
+
locals: - - v2|DWORD
|
|
434
|
+
>@ <|@ instruction rax|DWORD = CALL_DIRECT [] [] callTarget: HotSpotMethod<JavaExamples.opaqueCall()> invokeKind: Static config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@113b187d8 state [bci:4] <|@ <|@
|
|
435
|
+
nr -1 <|@ instruction v3|DWORD = MOVE rax|DWORD moveKind: DWORD <|@ <|@
|
|
436
|
+
nr -1 <|@ instruction v4|DWORD = SHL v2|DWORD size: DWORD <|@ <|@
|
|
437
|
+
nr -1 <|@ instruction v5|DWORD = ADD (x: v4|DWORD, y: v2|DWORD) size: DWORD <|@ <|@
|
|
438
|
+
nr -1 <|@ instruction rax|DWORD = MOVE v5|DWORD moveKind: DWORD <|@ <|@
|
|
439
|
+
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@113b187d8 <|@ <|@
|
|
440
|
+
end_IR
|
|
441
|
+
end_block
|
|
442
|
+
end_cfg
|
|
443
|
+
begin_cfg
|
|
444
|
+
name "After ConstantLoadOptimization"
|
|
445
|
+
begin_block
|
|
446
|
+
name "B0"
|
|
447
|
+
from_bci -1
|
|
448
|
+
to_bci -1
|
|
449
|
+
predecessors
|
|
450
|
+
successors
|
|
451
|
+
xhandlers
|
|
452
|
+
flags
|
|
453
|
+
probability 4607182418800017408
|
|
454
|
+
begin_IR
|
|
455
|
+
LIR
|
|
456
|
+
nr -1 <|@ instruction [rsi|DWORD, rdx|DWORD, rbp|QWORD] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
|
|
457
|
+
nr -1 <|@ instruction stack:16|QWORD = MOVE rbp|QWORD moveKind: QWORD <|@ <|@
|
|
458
|
+
nr -1 <|@ instruction [] = HOTSPOTLOCKSTACK frameMapBuilder: org.graalvm.compiler.lir.amd64.AMD64FrameMapBuilder@13bf3e570 slotKind: QWORD <|@ <|@
|
|
459
|
+
nr -1 <|@ instruction v0|DWORD = MOVE rsi|DWORD moveKind: DWORD <|@ <|@
|
|
460
|
+
nr -1 <|@ instruction v1|DWORD = MOVE rdx|DWORD moveKind: DWORD <|@ <|@
|
|
461
|
+
nr -1 <|@ instruction v2|DWORD = ADD (x: v0|DWORD, y: v1|DWORD) size: DWORD <|@ <|@
|
|
462
|
+
nr -1 <|@ st <@st|@JavaExamples.exampleLocalVariablesState(JavaExamples.java:75) [bci: 4]
|
|
463
|
+
locals: - - v2|DWORD
|
|
464
|
+
>@ <|@ instruction rax|DWORD = CALL_DIRECT [] [] callTarget: HotSpotMethod<JavaExamples.opaqueCall()> invokeKind: Static config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@113b187d8 state [bci:4] <|@ <|@
|
|
465
|
+
nr -1 <|@ instruction v3|DWORD = MOVE rax|DWORD moveKind: DWORD <|@ <|@
|
|
466
|
+
nr -1 <|@ instruction v4|DWORD = SHL v2|DWORD size: DWORD <|@ <|@
|
|
467
|
+
nr -1 <|@ instruction v5|DWORD = ADD (x: v4|DWORD, y: v2|DWORD) size: DWORD <|@ <|@
|
|
468
|
+
nr -1 <|@ instruction rax|DWORD = MOVE v5|DWORD moveKind: DWORD <|@ <|@
|
|
469
|
+
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@113b187d8 <|@ <|@
|
|
470
|
+
end_IR
|
|
471
|
+
end_block
|
|
472
|
+
end_cfg
|
|
473
|
+
begin_bytecodes
|
|
474
|
+
0: iload_0
|
|
475
|
+
1: iload_1
|
|
476
|
+
2: iadd
|
|
477
|
+
3: istore_2
|
|
478
|
+
4: invokestatic #48 // opaqueCall:()int
|
|
479
|
+
7: pop
|
|
480
|
+
8: iload_2
|
|
481
|
+
9: iconst_2
|
|
482
|
+
10: imul
|
|
483
|
+
11: iload_2
|
|
484
|
+
12: iadd
|
|
485
|
+
13: ireturn
|
|
486
|
+
<|@
|
|
487
|
+
end_bytecodes
|
|
488
|
+
begin_cfg
|
|
489
|
+
name "After SaveCalleeSaveRegisters"
|
|
490
|
+
begin_block
|
|
491
|
+
name "B0"
|
|
492
|
+
from_bci -1
|
|
493
|
+
to_bci -1
|
|
494
|
+
predecessors
|
|
495
|
+
successors
|
|
496
|
+
xhandlers
|
|
497
|
+
flags
|
|
498
|
+
probability 4607182418800017408
|
|
499
|
+
begin_IR
|
|
500
|
+
LIR
|
|
501
|
+
nr -1 <|@ instruction [rsi|DWORD, rdx|DWORD, rbp|QWORD] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
|
|
502
|
+
nr -1 <|@ instruction stack:16|QWORD = MOVE rbp|QWORD moveKind: QWORD <|@ <|@
|
|
503
|
+
nr -1 <|@ instruction [] = HOTSPOTLOCKSTACK frameMapBuilder: org.graalvm.compiler.lir.amd64.AMD64FrameMapBuilder@13bf3e570 slotKind: QWORD <|@ <|@
|
|
504
|
+
nr -1 <|@ instruction v0|DWORD = MOVE rsi|DWORD moveKind: DWORD <|@ <|@
|
|
505
|
+
nr -1 <|@ instruction v1|DWORD = MOVE rdx|DWORD moveKind: DWORD <|@ <|@
|
|
506
|
+
nr -1 <|@ instruction v2|DWORD = ADD (x: v0|DWORD, y: v1|DWORD) size: DWORD <|@ <|@
|
|
507
|
+
nr -1 <|@ st <@st|@JavaExamples.exampleLocalVariablesState(JavaExamples.java:75) [bci: 4]
|
|
508
|
+
locals: - - v2|DWORD
|
|
509
|
+
>@ <|@ instruction rax|DWORD = CALL_DIRECT [] [] callTarget: HotSpotMethod<JavaExamples.opaqueCall()> invokeKind: Static config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@113b187d8 state [bci:4] <|@ <|@
|
|
510
|
+
nr -1 <|@ instruction v3|DWORD = MOVE rax|DWORD moveKind: DWORD <|@ <|@
|
|
511
|
+
nr -1 <|@ instruction v4|DWORD = SHL v2|DWORD size: DWORD <|@ <|@
|
|
512
|
+
nr -1 <|@ instruction v5|DWORD = ADD (x: v4|DWORD, y: v2|DWORD) size: DWORD <|@ <|@
|
|
513
|
+
nr -1 <|@ instruction rax|DWORD = MOVE v5|DWORD moveKind: DWORD <|@ <|@
|
|
514
|
+
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@113b187d8 <|@ <|@
|
|
515
|
+
end_IR
|
|
516
|
+
end_block
|
|
517
|
+
end_cfg
|
|
518
|
+
begin_bytecodes
|
|
519
|
+
0: iload_0
|
|
520
|
+
1: iload_1
|
|
521
|
+
2: iadd
|
|
522
|
+
3: istore_2
|
|
523
|
+
4: invokestatic #48 // opaqueCall:()int
|
|
524
|
+
7: pop
|
|
525
|
+
8: iload_2
|
|
526
|
+
9: iconst_2
|
|
527
|
+
10: imul
|
|
528
|
+
11: iload_2
|
|
529
|
+
12: iadd
|
|
530
|
+
13: ireturn
|
|
531
|
+
<|@
|
|
532
|
+
end_bytecodes
|
|
533
|
+
begin_cfg
|
|
534
|
+
name "After PreAllocationOptimizationStage"
|
|
535
|
+
begin_block
|
|
536
|
+
name "B0"
|
|
537
|
+
from_bci -1
|
|
538
|
+
to_bci -1
|
|
539
|
+
predecessors
|
|
540
|
+
successors
|
|
541
|
+
xhandlers
|
|
542
|
+
flags
|
|
543
|
+
probability 4607182418800017408
|
|
544
|
+
begin_IR
|
|
545
|
+
LIR
|
|
546
|
+
nr -1 <|@ instruction [rsi|DWORD, rdx|DWORD, rbp|QWORD] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
|
|
547
|
+
nr -1 <|@ instruction stack:16|QWORD = MOVE rbp|QWORD moveKind: QWORD <|@ <|@
|
|
548
|
+
nr -1 <|@ instruction [] = HOTSPOTLOCKSTACK frameMapBuilder: org.graalvm.compiler.lir.amd64.AMD64FrameMapBuilder@13bf3e570 slotKind: QWORD <|@ <|@
|
|
549
|
+
nr -1 <|@ instruction v0|DWORD = MOVE rsi|DWORD moveKind: DWORD <|@ <|@
|
|
550
|
+
nr -1 <|@ instruction v1|DWORD = MOVE rdx|DWORD moveKind: DWORD <|@ <|@
|
|
551
|
+
nr -1 <|@ instruction v2|DWORD = ADD (x: v0|DWORD, y: v1|DWORD) size: DWORD <|@ <|@
|
|
552
|
+
nr -1 <|@ st <@st|@JavaExamples.exampleLocalVariablesState(JavaExamples.java:75) [bci: 4]
|
|
553
|
+
locals: - - v2|DWORD
|
|
554
|
+
>@ <|@ instruction rax|DWORD = CALL_DIRECT [] [] callTarget: HotSpotMethod<JavaExamples.opaqueCall()> invokeKind: Static config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@113b187d8 state [bci:4] <|@ <|@
|
|
555
|
+
nr -1 <|@ instruction v3|DWORD = MOVE rax|DWORD moveKind: DWORD <|@ <|@
|
|
556
|
+
nr -1 <|@ instruction v4|DWORD = SHL v2|DWORD size: DWORD <|@ <|@
|
|
557
|
+
nr -1 <|@ instruction v5|DWORD = ADD (x: v4|DWORD, y: v2|DWORD) size: DWORD <|@ <|@
|
|
558
|
+
nr -1 <|@ instruction rax|DWORD = MOVE v5|DWORD moveKind: DWORD <|@ <|@
|
|
559
|
+
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@113b187d8 <|@ <|@
|
|
560
|
+
end_IR
|
|
561
|
+
end_block
|
|
562
|
+
end_cfg
|
|
563
|
+
begin_bytecodes
|
|
564
|
+
0: iload_0
|
|
565
|
+
1: iload_1
|
|
566
|
+
2: iadd
|
|
567
|
+
3: istore_2
|
|
568
|
+
4: invokestatic #48 // opaqueCall:()int
|
|
569
|
+
7: pop
|
|
570
|
+
8: iload_2
|
|
571
|
+
9: iconst_2
|
|
572
|
+
10: imul
|
|
573
|
+
11: iload_2
|
|
574
|
+
12: iadd
|
|
575
|
+
13: ireturn
|
|
576
|
+
<|@
|
|
577
|
+
end_bytecodes
|
|
578
|
+
begin_cfg
|
|
579
|
+
name "After MarkBasePointers"
|
|
580
|
+
begin_block
|
|
581
|
+
name "B0"
|
|
582
|
+
from_bci -1
|
|
583
|
+
to_bci -1
|
|
584
|
+
predecessors
|
|
585
|
+
successors
|
|
586
|
+
xhandlers
|
|
587
|
+
flags
|
|
588
|
+
probability 4607182418800017408
|
|
589
|
+
begin_IR
|
|
590
|
+
LIR
|
|
591
|
+
nr -1 <|@ instruction [rsi|DWORD, rdx|DWORD, rbp|QWORD] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
|
|
592
|
+
nr -1 <|@ instruction stack:16|QWORD = MOVE rbp|QWORD moveKind: QWORD <|@ <|@
|
|
593
|
+
nr -1 <|@ instruction [] = HOTSPOTLOCKSTACK frameMapBuilder: org.graalvm.compiler.lir.amd64.AMD64FrameMapBuilder@13bf3e570 slotKind: QWORD <|@ <|@
|
|
594
|
+
nr -1 <|@ instruction v0|DWORD = MOVE rsi|DWORD moveKind: DWORD <|@ <|@
|
|
595
|
+
nr -1 <|@ instruction v1|DWORD = MOVE rdx|DWORD moveKind: DWORD <|@ <|@
|
|
596
|
+
nr -1 <|@ instruction v2|DWORD = ADD (x: v0|DWORD, y: v1|DWORD) size: DWORD <|@ <|@
|
|
597
|
+
nr -1 <|@ st <@st|@live-base-pointers: []
|
|
598
|
+
JavaExamples.exampleLocalVariablesState(JavaExamples.java:75) [bci: 4]
|
|
599
|
+
locals: - - v2|DWORD
|
|
600
|
+
>@ <|@ instruction rax|DWORD = CALL_DIRECT [] [] callTarget: HotSpotMethod<JavaExamples.opaqueCall()> invokeKind: Static config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@113b187d8 state [bci:4] <|@ <|@
|
|
601
|
+
nr -1 <|@ instruction v3|DWORD = MOVE rax|DWORD moveKind: DWORD <|@ <|@
|
|
602
|
+
nr -1 <|@ instruction v4|DWORD = SHL v2|DWORD size: DWORD <|@ <|@
|
|
603
|
+
nr -1 <|@ instruction v5|DWORD = ADD (x: v4|DWORD, y: v2|DWORD) size: DWORD <|@ <|@
|
|
604
|
+
nr -1 <|@ instruction rax|DWORD = MOVE v5|DWORD moveKind: DWORD <|@ <|@
|
|
605
|
+
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@113b187d8 <|@ <|@
|
|
606
|
+
end_IR
|
|
607
|
+
end_block
|
|
608
|
+
end_cfg
|
|
609
|
+
begin_bytecodes
|
|
610
|
+
0: iload_0
|
|
611
|
+
1: iload_1
|
|
612
|
+
2: iadd
|
|
613
|
+
3: istore_2
|
|
614
|
+
4: invokestatic #48 // opaqueCall:()int
|
|
615
|
+
7: pop
|
|
616
|
+
8: iload_2
|
|
617
|
+
9: iconst_2
|
|
618
|
+
10: imul
|
|
619
|
+
11: iload_2
|
|
620
|
+
12: iadd
|
|
621
|
+
13: ireturn
|
|
622
|
+
<|@
|
|
623
|
+
end_bytecodes
|
|
624
|
+
begin_cfg
|
|
625
|
+
name "Before register allocation"
|
|
626
|
+
begin_block
|
|
627
|
+
name "B0"
|
|
628
|
+
from_bci -1
|
|
629
|
+
to_bci -1
|
|
630
|
+
predecessors
|
|
631
|
+
successors
|
|
632
|
+
xhandlers
|
|
633
|
+
flags
|
|
634
|
+
probability 4607182418800017408
|
|
635
|
+
begin_IR
|
|
636
|
+
LIR
|
|
637
|
+
nr 0 <|@ instruction [rsi|DWORD, rdx|DWORD, rbp|QWORD] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
|
|
638
|
+
nr 2 <|@ instruction stack:16|QWORD = MOVE rbp|QWORD moveKind: QWORD <|@ <|@
|
|
639
|
+
nr 4 <|@ instruction [] = HOTSPOTLOCKSTACK frameMapBuilder: org.graalvm.compiler.lir.amd64.AMD64FrameMapBuilder@13bf3e570 slotKind: QWORD <|@ <|@
|
|
640
|
+
nr 6 <|@ instruction v0|DWORD = MOVE rsi|DWORD moveKind: DWORD <|@ <|@
|
|
641
|
+
nr 8 <|@ instruction v1|DWORD = MOVE rdx|DWORD moveKind: DWORD <|@ <|@
|
|
642
|
+
nr 10 <|@ instruction v2|DWORD = ADD (x: v0|DWORD, y: v1|DWORD) size: DWORD <|@ <|@
|
|
643
|
+
nr 12 <|@ st <@st|@live-base-pointers: []
|
|
644
|
+
JavaExamples.exampleLocalVariablesState(JavaExamples.java:75) [bci: 4]
|
|
645
|
+
locals: - - v2|DWORD
|
|
646
|
+
>@ <|@ instruction rax|DWORD = CALL_DIRECT [] [] callTarget: HotSpotMethod<JavaExamples.opaqueCall()> invokeKind: Static config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@113b187d8 state [bci:4] <|@ <|@
|
|
647
|
+
nr 14 <|@ instruction v3|DWORD = MOVE rax|DWORD moveKind: DWORD <|@ <|@
|
|
648
|
+
nr 16 <|@ instruction v4|DWORD = SHL v2|DWORD size: DWORD <|@ <|@
|
|
649
|
+
nr 18 <|@ instruction v5|DWORD = ADD (x: v4|DWORD, y: v2|DWORD) size: DWORD <|@ <|@
|
|
650
|
+
nr 20 <|@ instruction rax|DWORD = MOVE v5|DWORD moveKind: DWORD <|@ <|@
|
|
651
|
+
nr 22 <|@ instruction RETURN (savedRbp: stack:16|QWORD, value: rax|DWORD) isStub: false requiresReservedStackAccessCheck: false thread: r15 scratchForSafepointOnReturn: rcx config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@113b187d8 <|@ <|@
|
|
652
|
+
end_IR
|
|
653
|
+
end_block
|
|
654
|
+
end_cfg
|
|
655
|
+
begin_bytecodes
|
|
656
|
+
0: iload_0
|
|
657
|
+
1: iload_1
|
|
658
|
+
2: iadd
|
|
659
|
+
3: istore_2
|
|
660
|
+
4: invokestatic #48 // opaqueCall:()int
|
|
661
|
+
7: pop
|
|
662
|
+
8: iload_2
|
|
663
|
+
9: iconst_2
|
|
664
|
+
10: imul
|
|
665
|
+
11: iload_2
|
|
666
|
+
12: iadd
|
|
667
|
+
13: ireturn
|
|
668
|
+
<|@
|
|
669
|
+
end_bytecodes
|
|
670
|
+
begin_cfg
|
|
671
|
+
name "After SSALinearScanLifetimeAnalysis"
|
|
672
|
+
begin_block
|
|
673
|
+
name "B0"
|
|
674
|
+
from_bci -1
|
|
675
|
+
to_bci -1
|
|
676
|
+
predecessors
|
|
677
|
+
successors
|
|
678
|
+
xhandlers
|
|
679
|
+
flags
|
|
680
|
+
probability 4607182418800017408
|
|
681
|
+
begin_IR
|
|
682
|
+
LIR
|
|
683
|
+
nr 0 <|@ instruction [rsi|DWORD, rdx|DWORD, rbp|QWORD] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
|
|
684
|
+
nr 2 <|@ instruction stack:16|QWORD = MOVE rbp|QWORD moveKind: QWORD <|@ <|@
|
|
685
|
+
nr 4 <|@ instruction [] = HOTSPOTLOCKSTACK frameMapBuilder: org.graalvm.compiler.lir.amd64.AMD64FrameMapBuilder@13bf3e570 slotKind: QWORD <|@ <|@
|
|
686
|
+
nr 6 <|@ instruction v0|DWORD = MOVE rsi|DWORD moveKind: DWORD <|@ <|@
|
|
687
|
+
nr 8 <|@ instruction v1|DWORD = MOVE rdx|DWORD moveKind: DWORD <|@ <|@
|
|
688
|
+
nr 10 <|@ instruction v2|DWORD = ADD (x: v0|DWORD, y: v1|DWORD) size: DWORD <|@ <|@
|
|
689
|
+
nr 12 <|@ st <@st|@live-base-pointers: []
|
|
690
|
+
JavaExamples.exampleLocalVariablesState(JavaExamples.java:75) [bci: 4]
|
|
691
|
+
locals: - - v2|DWORD
|
|
692
|
+
>@ <|@ instruction rax|DWORD = CALL_DIRECT [] [] callTarget: HotSpotMethod<JavaExamples.opaqueCall()> invokeKind: Static config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@113b187d8 state [bci:4] <|@ <|@
|
|
693
|
+
nr 14 <|@ instruction v3|DWORD = MOVE rax|DWORD moveKind: DWORD <|@ <|@
|
|
694
|
+
nr 16 <|@ instruction v4|DWORD = SHL v2|DWORD size: DWORD <|@ <|@
|
|
695
|
+
nr 18 <|@ instruction v5|DWORD = ADD (x: v4|DWORD, y: v2|DWORD) size: DWORD <|@ <|@
|
|
696
|
+
nr 20 <|@ instruction rax|DWORD = MOVE v5|DWORD moveKind: DWORD <|@ <|@
|
|
697
|
+
nr 22 <|@ instruction RETURN (savedRbp: stack:16|QWORD, value: rax|DWORD) isStub: false requiresReservedStackAccessCheck: false thread: r15 scratchForSafepointOnReturn: rcx config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@113b187d8 <|@ <|@
|
|
698
|
+
end_IR
|
|
699
|
+
end_block
|
|
700
|
+
end_cfg
|
|
701
|
+
begin_bytecodes
|
|
702
|
+
0: iload_0
|
|
703
|
+
1: iload_1
|
|
704
|
+
2: iadd
|
|
705
|
+
3: istore_2
|
|
706
|
+
4: invokestatic #48 // opaqueCall:()int
|
|
707
|
+
7: pop
|
|
708
|
+
8: iload_2
|
|
709
|
+
9: iconst_2
|
|
710
|
+
10: imul
|
|
711
|
+
11: iload_2
|
|
712
|
+
12: iadd
|
|
713
|
+
13: ireturn
|
|
714
|
+
<|@
|
|
715
|
+
end_bytecodes
|
|
716
|
+
begin_intervals
|
|
717
|
+
name "Before register allocation"
|
|
718
|
+
rax|d fixed "[rax|d]" rax|d v5|d [0, 1[[12, 14[[20, 22[ "NoOptimization"
|
|
719
|
+
rcx|- fixed "[rcx|-]" rcx|- -1 [0, 1[[12, 13[ "NoDefinitionFound"
|
|
720
|
+
rdx|- fixed "[rdx|-]" rdx|- -1 [0, 8[[12, 13[ "NoSpillStore"
|
|
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|- -1 [0, 6[[12, 13[ "NoSpillStore"
|
|
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|d DWORD "[v0|d]" v0|d rsi|- [6, 10[6 MustHaveRegister 10 ShouldHaveRegister "NoSpillStore"
|
|
748
|
+
v1|d DWORD "[v1|d]" v1|d rdx|- [8, 10[8 MustHaveRegister 10 ShouldHaveRegister "NoSpillStore"
|
|
749
|
+
v2|d DWORD "[v2|d]" v2|d v0|d [10, 18[10 MustHaveRegister 16 ShouldHaveRegister 18 ShouldHaveRegister "NoSpillStore"
|
|
750
|
+
v3|d DWORD "[v3|d]" v3|d rax|d [14, 15[14 MustHaveRegister "NoSpillStore"
|
|
751
|
+
v4|d DWORD "[v4|d]" v4|d v2|d [16, 18[16 MustHaveRegister 18 ShouldHaveRegister "NoSpillStore"
|
|
752
|
+
v5|d DWORD "[v5|d]" v5|d v4|d [18, 20[18 MustHaveRegister 20 ShouldHaveRegister "NoSpillStore"
|
|
753
|
+
end_intervals
|
|
754
|
+
begin_intervals
|
|
755
|
+
name "After register allocation"
|
|
756
|
+
rax|d fixed "[rax|d]" rax|d v5|d [0, 1[[12, 14[[20, 22[ "NoOptimization"
|
|
757
|
+
rcx|- fixed "[rcx|-]" rcx|- -1 [0, 1[[12, 13[ "NoDefinitionFound"
|
|
758
|
+
rdx|- fixed "[rdx|-]" rdx|- -1 [0, 8[[12, 13[ "NoSpillStore"
|
|
759
|
+
rbx|- fixed "[rbx|-]" rbx|- -1 [0, 1[[12, 13[ "NoDefinitionFound"
|
|
760
|
+
rbp|- fixed "[rbp|-]" rbp|- -1 [0, 2[[12, 13[ "NoSpillStore"
|
|
761
|
+
rsi|- fixed "[rsi|-]" rsi|- -1 [0, 6[[12, 13[ "NoSpillStore"
|
|
762
|
+
rdi|- fixed "[rdi|-]" rdi|- -1 [0, 1[[12, 13[ "NoDefinitionFound"
|
|
763
|
+
r8|- fixed "[r8|-]" r8|- -1 [0, 1[[12, 13[ "NoDefinitionFound"
|
|
764
|
+
r9|- fixed "[r9|-]" r9|- -1 [0, 1[[12, 13[ "NoDefinitionFound"
|
|
765
|
+
r10|- fixed "[r10|-]" r10|- -1 [0, 1[[12, 13[ "NoDefinitionFound"
|
|
766
|
+
r11|- fixed "[r11|-]" r11|- -1 [0, 1[[12, 13[ "NoDefinitionFound"
|
|
767
|
+
r13|- fixed "[r13|-]" r13|- -1 [0, 1[[12, 13[ "NoDefinitionFound"
|
|
768
|
+
r14|- fixed "[r14|-]" r14|- -1 [0, 1[[12, 13[ "NoDefinitionFound"
|
|
769
|
+
xmm0|- fixed "[xmm0|-]" xmm0|- -1 [0, 1[[12, 13[ "NoDefinitionFound"
|
|
770
|
+
xmm1|- fixed "[xmm1|-]" xmm1|- -1 [0, 1[[12, 13[ "NoDefinitionFound"
|
|
771
|
+
xmm2|- fixed "[xmm2|-]" xmm2|- -1 [0, 1[[12, 13[ "NoDefinitionFound"
|
|
772
|
+
xmm3|- fixed "[xmm3|-]" xmm3|- -1 [0, 1[[12, 13[ "NoDefinitionFound"
|
|
773
|
+
xmm4|- fixed "[xmm4|-]" xmm4|- -1 [0, 1[[12, 13[ "NoDefinitionFound"
|
|
774
|
+
xmm5|- fixed "[xmm5|-]" xmm5|- -1 [0, 1[[12, 13[ "NoDefinitionFound"
|
|
775
|
+
xmm6|- fixed "[xmm6|-]" xmm6|- -1 [0, 1[[12, 13[ "NoDefinitionFound"
|
|
776
|
+
xmm7|- fixed "[xmm7|-]" xmm7|- -1 [0, 1[[12, 13[ "NoDefinitionFound"
|
|
777
|
+
xmm8|- fixed "[xmm8|-]" xmm8|- -1 [0, 1[[12, 13[ "NoDefinitionFound"
|
|
778
|
+
xmm9|- fixed "[xmm9|-]" xmm9|- -1 [0, 1[[12, 13[ "NoDefinitionFound"
|
|
779
|
+
xmm10|- fixed "[xmm10|-]" xmm10|- -1 [0, 1[[12, 13[ "NoDefinitionFound"
|
|
780
|
+
xmm11|- fixed "[xmm11|-]" xmm11|- -1 [0, 1[[12, 13[ "NoDefinitionFound"
|
|
781
|
+
xmm12|- fixed "[xmm12|-]" xmm12|- -1 [0, 1[[12, 13[ "NoDefinitionFound"
|
|
782
|
+
xmm13|- fixed "[xmm13|-]" xmm13|- -1 [0, 1[[12, 13[ "NoDefinitionFound"
|
|
783
|
+
xmm14|- fixed "[xmm14|-]" xmm14|- -1 [0, 1[[12, 13[ "NoDefinitionFound"
|
|
784
|
+
xmm15|- fixed "[xmm15|-]" xmm15|- -1 [0, 1[[12, 13[ "NoDefinitionFound"
|
|
785
|
+
v0|d DWORD "[rsi|d]" v0|d rsi|- [6, 10[6 MustHaveRegister 10 ShouldHaveRegister "NoSpillStore"
|
|
786
|
+
v1|d DWORD "[rdx|d]" v1|d rdx|- [8, 10[8 MustHaveRegister 10 ShouldHaveRegister "NoSpillStore"
|
|
787
|
+
v2|d DWORD "[rsi|d]" v2|d v0|d [10, 11[10 MustHaveRegister "OneSpillStore"
|
|
788
|
+
v3|d DWORD "[rax|d]" v3|d rax|d [14, 15[14 MustHaveRegister "NoSpillStore"
|
|
789
|
+
v4|d DWORD "[rsi|d]" v4|d v2|d [16, 18[16 MustHaveRegister 18 ShouldHaveRegister "NoSpillStore"
|
|
790
|
+
v5|d DWORD "[rsi|d]" v5|d v4|d [18, 20[18 MustHaveRegister 20 ShouldHaveRegister "NoSpillStore"
|
|
791
|
+
v6|d DWORD "[vstack:0|d]" v2|d v2|d [11, 18[16 ShouldHaveRegister 18 ShouldHaveRegister "OneSpillStore"
|
|
792
|
+
end_intervals
|
|
793
|
+
begin_cfg
|
|
794
|
+
name "After LinearScanRegisterAllocation"
|
|
795
|
+
begin_block
|
|
796
|
+
name "B0"
|
|
797
|
+
from_bci -1
|
|
798
|
+
to_bci -1
|
|
799
|
+
predecessors
|
|
800
|
+
successors
|
|
801
|
+
xhandlers
|
|
802
|
+
flags
|
|
803
|
+
probability 4607182418800017408
|
|
804
|
+
begin_IR
|
|
805
|
+
LIR
|
|
806
|
+
nr 0 <|@ instruction [rsi|DWORD, rdx|DWORD, rbp|QWORD] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
|
|
807
|
+
nr 2 <|@ instruction stack:16|QWORD = MOVE rbp|QWORD moveKind: QWORD <|@ <|@
|
|
808
|
+
nr 4 <|@ instruction [] = HOTSPOTLOCKSTACK frameMapBuilder: org.graalvm.compiler.lir.amd64.AMD64FrameMapBuilder@13bf3e570 slotKind: QWORD <|@ <|@
|
|
809
|
+
nr 6 <|@ instruction v0|DWORD = MOVE rsi|DWORD moveKind: DWORD <|@ <|@
|
|
810
|
+
nr 8 <|@ instruction v1|DWORD = MOVE rdx|DWORD moveKind: DWORD <|@ <|@
|
|
811
|
+
nr 10 <|@ instruction v2|DWORD = ADD (x: v0|DWORD, y: v1|DWORD) size: DWORD <|@ <|@
|
|
812
|
+
nr -1 <|@ instruction v6|DWORD = MOVE v2|DWORD moveKind: DWORD // MoveResolver resolve mapping <|@ <|@
|
|
813
|
+
nr 12 <|@ st <@st|@live-base-pointers: []
|
|
814
|
+
JavaExamples.exampleLocalVariablesState(JavaExamples.java:75) [bci: 4]
|
|
815
|
+
locals: - - v2|DWORD
|
|
816
|
+
>@ <|@ instruction rax|DWORD = CALL_DIRECT [] [] callTarget: HotSpotMethod<JavaExamples.opaqueCall()> invokeKind: Static config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@113b187d8 state [bci:4] <|@ <|@
|
|
817
|
+
nr 14 <|@ instruction v3|DWORD = MOVE rax|DWORD moveKind: DWORD <|@ <|@
|
|
818
|
+
nr 16 <|@ instruction v4|DWORD = SHL v2|DWORD size: DWORD <|@ <|@
|
|
819
|
+
nr 18 <|@ instruction v5|DWORD = ADD (x: v4|DWORD, y: v2|DWORD) size: DWORD <|@ <|@
|
|
820
|
+
nr 20 <|@ instruction rax|DWORD = MOVE v5|DWORD moveKind: DWORD <|@ <|@
|
|
821
|
+
nr 22 <|@ instruction RETURN (savedRbp: stack:16|QWORD, value: rax|DWORD) isStub: false requiresReservedStackAccessCheck: false thread: r15 scratchForSafepointOnReturn: rcx config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@113b187d8 <|@ <|@
|
|
822
|
+
end_IR
|
|
823
|
+
end_block
|
|
824
|
+
end_cfg
|
|
825
|
+
begin_bytecodes
|
|
826
|
+
0: iload_0
|
|
827
|
+
1: iload_1
|
|
828
|
+
2: iadd
|
|
829
|
+
3: istore_2
|
|
830
|
+
4: invokestatic #48 // opaqueCall:()int
|
|
831
|
+
7: pop
|
|
832
|
+
8: iload_2
|
|
833
|
+
9: iconst_2
|
|
834
|
+
10: imul
|
|
835
|
+
11: iload_2
|
|
836
|
+
12: iadd
|
|
837
|
+
13: ireturn
|
|
838
|
+
<|@
|
|
839
|
+
end_bytecodes
|
|
840
|
+
begin_intervals
|
|
841
|
+
name "After optimize spill position"
|
|
842
|
+
rax|d fixed "[rax|d]" rax|d v5|d [0, 1[[12, 14[[20, 22[ "NoOptimization"
|
|
843
|
+
rcx|- fixed "[rcx|-]" rcx|- -1 [0, 1[[12, 13[ "NoDefinitionFound"
|
|
844
|
+
rdx|- fixed "[rdx|-]" rdx|- -1 [0, 8[[12, 13[ "NoSpillStore"
|
|
845
|
+
rbx|- fixed "[rbx|-]" rbx|- -1 [0, 1[[12, 13[ "NoDefinitionFound"
|
|
846
|
+
rbp|- fixed "[rbp|-]" rbp|- -1 [0, 2[[12, 13[ "NoSpillStore"
|
|
847
|
+
rsi|- fixed "[rsi|-]" rsi|- -1 [0, 6[[12, 13[ "NoSpillStore"
|
|
848
|
+
rdi|- fixed "[rdi|-]" rdi|- -1 [0, 1[[12, 13[ "NoDefinitionFound"
|
|
849
|
+
r8|- fixed "[r8|-]" r8|- -1 [0, 1[[12, 13[ "NoDefinitionFound"
|
|
850
|
+
r9|- fixed "[r9|-]" r9|- -1 [0, 1[[12, 13[ "NoDefinitionFound"
|
|
851
|
+
r10|- fixed "[r10|-]" r10|- -1 [0, 1[[12, 13[ "NoDefinitionFound"
|
|
852
|
+
r11|- fixed "[r11|-]" r11|- -1 [0, 1[[12, 13[ "NoDefinitionFound"
|
|
853
|
+
r13|- fixed "[r13|-]" r13|- -1 [0, 1[[12, 13[ "NoDefinitionFound"
|
|
854
|
+
r14|- fixed "[r14|-]" r14|- -1 [0, 1[[12, 13[ "NoDefinitionFound"
|
|
855
|
+
xmm0|- fixed "[xmm0|-]" xmm0|- -1 [0, 1[[12, 13[ "NoDefinitionFound"
|
|
856
|
+
xmm1|- fixed "[xmm1|-]" xmm1|- -1 [0, 1[[12, 13[ "NoDefinitionFound"
|
|
857
|
+
xmm2|- fixed "[xmm2|-]" xmm2|- -1 [0, 1[[12, 13[ "NoDefinitionFound"
|
|
858
|
+
xmm3|- fixed "[xmm3|-]" xmm3|- -1 [0, 1[[12, 13[ "NoDefinitionFound"
|
|
859
|
+
xmm4|- fixed "[xmm4|-]" xmm4|- -1 [0, 1[[12, 13[ "NoDefinitionFound"
|
|
860
|
+
xmm5|- fixed "[xmm5|-]" xmm5|- -1 [0, 1[[12, 13[ "NoDefinitionFound"
|
|
861
|
+
xmm6|- fixed "[xmm6|-]" xmm6|- -1 [0, 1[[12, 13[ "NoDefinitionFound"
|
|
862
|
+
xmm7|- fixed "[xmm7|-]" xmm7|- -1 [0, 1[[12, 13[ "NoDefinitionFound"
|
|
863
|
+
xmm8|- fixed "[xmm8|-]" xmm8|- -1 [0, 1[[12, 13[ "NoDefinitionFound"
|
|
864
|
+
xmm9|- fixed "[xmm9|-]" xmm9|- -1 [0, 1[[12, 13[ "NoDefinitionFound"
|
|
865
|
+
xmm10|- fixed "[xmm10|-]" xmm10|- -1 [0, 1[[12, 13[ "NoDefinitionFound"
|
|
866
|
+
xmm11|- fixed "[xmm11|-]" xmm11|- -1 [0, 1[[12, 13[ "NoDefinitionFound"
|
|
867
|
+
xmm12|- fixed "[xmm12|-]" xmm12|- -1 [0, 1[[12, 13[ "NoDefinitionFound"
|
|
868
|
+
xmm13|- fixed "[xmm13|-]" xmm13|- -1 [0, 1[[12, 13[ "NoDefinitionFound"
|
|
869
|
+
xmm14|- fixed "[xmm14|-]" xmm14|- -1 [0, 1[[12, 13[ "NoDefinitionFound"
|
|
870
|
+
xmm15|- fixed "[xmm15|-]" xmm15|- -1 [0, 1[[12, 13[ "NoDefinitionFound"
|
|
871
|
+
v0|d DWORD "[rsi|d]" v0|d rsi|- [6, 10[6 MustHaveRegister 10 ShouldHaveRegister "NoSpillStore"
|
|
872
|
+
v1|d DWORD "[rdx|d]" v1|d rdx|- [8, 10[8 MustHaveRegister 10 ShouldHaveRegister "NoSpillStore"
|
|
873
|
+
v2|d DWORD "[rsi|d]" v2|d v0|d [10, 11[10 MustHaveRegister "OneSpillStore"
|
|
874
|
+
v3|d DWORD "[rax|d]" v3|d rax|d [14, 15[14 MustHaveRegister "NoSpillStore"
|
|
875
|
+
v4|d DWORD "[rsi|d]" v4|d v2|d [16, 18[16 MustHaveRegister 18 ShouldHaveRegister "NoSpillStore"
|
|
876
|
+
v5|d DWORD "[rsi|d]" v5|d v4|d [18, 20[18 MustHaveRegister 20 ShouldHaveRegister "NoSpillStore"
|
|
877
|
+
v6|d DWORD "[vstack:0|d]" v2|d v2|d [11, 18[16 ShouldHaveRegister 18 ShouldHaveRegister "OneSpillStore"
|
|
878
|
+
end_intervals
|
|
879
|
+
begin_cfg
|
|
880
|
+
name "After LinearScanOptimizeSpillPosition"
|
|
881
|
+
begin_block
|
|
882
|
+
name "B0"
|
|
883
|
+
from_bci -1
|
|
884
|
+
to_bci -1
|
|
885
|
+
predecessors
|
|
886
|
+
successors
|
|
887
|
+
xhandlers
|
|
888
|
+
flags
|
|
889
|
+
probability 4607182418800017408
|
|
890
|
+
begin_IR
|
|
891
|
+
LIR
|
|
892
|
+
nr 0 <|@ instruction [rsi|DWORD, rdx|DWORD, rbp|QWORD] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
|
|
893
|
+
nr 2 <|@ instruction stack:16|QWORD = MOVE rbp|QWORD moveKind: QWORD <|@ <|@
|
|
894
|
+
nr 4 <|@ instruction [] = HOTSPOTLOCKSTACK frameMapBuilder: org.graalvm.compiler.lir.amd64.AMD64FrameMapBuilder@13bf3e570 slotKind: QWORD <|@ <|@
|
|
895
|
+
nr 6 <|@ instruction v0|DWORD = MOVE rsi|DWORD moveKind: DWORD <|@ <|@
|
|
896
|
+
nr 8 <|@ instruction v1|DWORD = MOVE rdx|DWORD moveKind: DWORD <|@ <|@
|
|
897
|
+
nr 10 <|@ instruction v2|DWORD = ADD (x: v0|DWORD, y: v1|DWORD) size: DWORD <|@ <|@
|
|
898
|
+
nr -1 <|@ instruction v6|DWORD = MOVE v2|DWORD moveKind: DWORD // MoveResolver resolve mapping <|@ <|@
|
|
899
|
+
nr 12 <|@ st <@st|@live-base-pointers: []
|
|
900
|
+
JavaExamples.exampleLocalVariablesState(JavaExamples.java:75) [bci: 4]
|
|
901
|
+
locals: - - v2|DWORD
|
|
902
|
+
>@ <|@ instruction rax|DWORD = CALL_DIRECT [] [] callTarget: HotSpotMethod<JavaExamples.opaqueCall()> invokeKind: Static config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@113b187d8 state [bci:4] <|@ <|@
|
|
903
|
+
nr 14 <|@ instruction v3|DWORD = MOVE rax|DWORD moveKind: DWORD <|@ <|@
|
|
904
|
+
nr 16 <|@ instruction v4|DWORD = SHL v2|DWORD size: DWORD <|@ <|@
|
|
905
|
+
nr 18 <|@ instruction v5|DWORD = ADD (x: v4|DWORD, y: v2|DWORD) size: DWORD <|@ <|@
|
|
906
|
+
nr 20 <|@ instruction rax|DWORD = MOVE v5|DWORD moveKind: DWORD <|@ <|@
|
|
907
|
+
nr 22 <|@ instruction RETURN (savedRbp: stack:16|QWORD, value: rax|DWORD) isStub: false requiresReservedStackAccessCheck: false thread: r15 scratchForSafepointOnReturn: rcx config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@113b187d8 <|@ <|@
|
|
908
|
+
end_IR
|
|
909
|
+
end_block
|
|
910
|
+
end_cfg
|
|
911
|
+
begin_bytecodes
|
|
912
|
+
0: iload_0
|
|
913
|
+
1: iload_1
|
|
914
|
+
2: iadd
|
|
915
|
+
3: istore_2
|
|
916
|
+
4: invokestatic #48 // opaqueCall:()int
|
|
917
|
+
7: pop
|
|
918
|
+
8: iload_2
|
|
919
|
+
9: iconst_2
|
|
920
|
+
10: imul
|
|
921
|
+
11: iload_2
|
|
922
|
+
12: iadd
|
|
923
|
+
13: ireturn
|
|
924
|
+
<|@
|
|
925
|
+
end_bytecodes
|
|
926
|
+
begin_intervals
|
|
927
|
+
name "After resolve data flow"
|
|
928
|
+
rax|d fixed "[rax|d]" rax|d v5|d [0, 1[[12, 14[[20, 22[ "NoOptimization"
|
|
929
|
+
rcx|- fixed "[rcx|-]" rcx|- -1 [0, 1[[12, 13[ "NoDefinitionFound"
|
|
930
|
+
rdx|- fixed "[rdx|-]" rdx|- -1 [0, 8[[12, 13[ "NoSpillStore"
|
|
931
|
+
rbx|- fixed "[rbx|-]" rbx|- -1 [0, 1[[12, 13[ "NoDefinitionFound"
|
|
932
|
+
rbp|- fixed "[rbp|-]" rbp|- -1 [0, 2[[12, 13[ "NoSpillStore"
|
|
933
|
+
rsi|- fixed "[rsi|-]" rsi|- -1 [0, 6[[12, 13[ "NoSpillStore"
|
|
934
|
+
rdi|- fixed "[rdi|-]" rdi|- -1 [0, 1[[12, 13[ "NoDefinitionFound"
|
|
935
|
+
r8|- fixed "[r8|-]" r8|- -1 [0, 1[[12, 13[ "NoDefinitionFound"
|
|
936
|
+
r9|- fixed "[r9|-]" r9|- -1 [0, 1[[12, 13[ "NoDefinitionFound"
|
|
937
|
+
r10|- fixed "[r10|-]" r10|- -1 [0, 1[[12, 13[ "NoDefinitionFound"
|
|
938
|
+
r11|- fixed "[r11|-]" r11|- -1 [0, 1[[12, 13[ "NoDefinitionFound"
|
|
939
|
+
r13|- fixed "[r13|-]" r13|- -1 [0, 1[[12, 13[ "NoDefinitionFound"
|
|
940
|
+
r14|- fixed "[r14|-]" r14|- -1 [0, 1[[12, 13[ "NoDefinitionFound"
|
|
941
|
+
xmm0|- fixed "[xmm0|-]" xmm0|- -1 [0, 1[[12, 13[ "NoDefinitionFound"
|
|
942
|
+
xmm1|- fixed "[xmm1|-]" xmm1|- -1 [0, 1[[12, 13[ "NoDefinitionFound"
|
|
943
|
+
xmm2|- fixed "[xmm2|-]" xmm2|- -1 [0, 1[[12, 13[ "NoDefinitionFound"
|
|
944
|
+
xmm3|- fixed "[xmm3|-]" xmm3|- -1 [0, 1[[12, 13[ "NoDefinitionFound"
|
|
945
|
+
xmm4|- fixed "[xmm4|-]" xmm4|- -1 [0, 1[[12, 13[ "NoDefinitionFound"
|
|
946
|
+
xmm5|- fixed "[xmm5|-]" xmm5|- -1 [0, 1[[12, 13[ "NoDefinitionFound"
|
|
947
|
+
xmm6|- fixed "[xmm6|-]" xmm6|- -1 [0, 1[[12, 13[ "NoDefinitionFound"
|
|
948
|
+
xmm7|- fixed "[xmm7|-]" xmm7|- -1 [0, 1[[12, 13[ "NoDefinitionFound"
|
|
949
|
+
xmm8|- fixed "[xmm8|-]" xmm8|- -1 [0, 1[[12, 13[ "NoDefinitionFound"
|
|
950
|
+
xmm9|- fixed "[xmm9|-]" xmm9|- -1 [0, 1[[12, 13[ "NoDefinitionFound"
|
|
951
|
+
xmm10|- fixed "[xmm10|-]" xmm10|- -1 [0, 1[[12, 13[ "NoDefinitionFound"
|
|
952
|
+
xmm11|- fixed "[xmm11|-]" xmm11|- -1 [0, 1[[12, 13[ "NoDefinitionFound"
|
|
953
|
+
xmm12|- fixed "[xmm12|-]" xmm12|- -1 [0, 1[[12, 13[ "NoDefinitionFound"
|
|
954
|
+
xmm13|- fixed "[xmm13|-]" xmm13|- -1 [0, 1[[12, 13[ "NoDefinitionFound"
|
|
955
|
+
xmm14|- fixed "[xmm14|-]" xmm14|- -1 [0, 1[[12, 13[ "NoDefinitionFound"
|
|
956
|
+
xmm15|- fixed "[xmm15|-]" xmm15|- -1 [0, 1[[12, 13[ "NoDefinitionFound"
|
|
957
|
+
v0|d DWORD "[rsi|d]" v0|d rsi|- [6, 10[6 MustHaveRegister 10 ShouldHaveRegister "NoSpillStore"
|
|
958
|
+
v1|d DWORD "[rdx|d]" v1|d rdx|- [8, 10[8 MustHaveRegister 10 ShouldHaveRegister "NoSpillStore"
|
|
959
|
+
v2|d DWORD "[rsi|d]" v2|d v0|d [10, 11[10 MustHaveRegister "OneSpillStore"
|
|
960
|
+
v3|d DWORD "[rax|d]" v3|d rax|d [14, 15[14 MustHaveRegister "NoSpillStore"
|
|
961
|
+
v4|d DWORD "[rsi|d]" v4|d v2|d [16, 18[16 MustHaveRegister 18 ShouldHaveRegister "NoSpillStore"
|
|
962
|
+
v5|d DWORD "[rsi|d]" v5|d v4|d [18, 20[18 MustHaveRegister 20 ShouldHaveRegister "NoSpillStore"
|
|
963
|
+
v6|d DWORD "[vstack:0|d]" v2|d v2|d [11, 18[16 ShouldHaveRegister 18 ShouldHaveRegister "OneSpillStore"
|
|
964
|
+
end_intervals
|
|
965
|
+
begin_cfg
|
|
966
|
+
name "After SSALinearScanResolveDataFlow"
|
|
967
|
+
begin_block
|
|
968
|
+
name "B0"
|
|
969
|
+
from_bci -1
|
|
970
|
+
to_bci -1
|
|
971
|
+
predecessors
|
|
972
|
+
successors
|
|
973
|
+
xhandlers
|
|
974
|
+
flags
|
|
975
|
+
probability 4607182418800017408
|
|
976
|
+
begin_IR
|
|
977
|
+
LIR
|
|
978
|
+
nr 0 <|@ instruction [rsi|DWORD, rdx|DWORD, rbp|QWORD] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
|
|
979
|
+
nr 2 <|@ instruction stack:16|QWORD = MOVE rbp|QWORD moveKind: QWORD <|@ <|@
|
|
980
|
+
nr 4 <|@ instruction [] = HOTSPOTLOCKSTACK frameMapBuilder: org.graalvm.compiler.lir.amd64.AMD64FrameMapBuilder@13bf3e570 slotKind: QWORD <|@ <|@
|
|
981
|
+
nr 6 <|@ instruction v0|DWORD = MOVE rsi|DWORD moveKind: DWORD <|@ <|@
|
|
982
|
+
nr 8 <|@ instruction v1|DWORD = MOVE rdx|DWORD moveKind: DWORD <|@ <|@
|
|
983
|
+
nr 10 <|@ instruction v2|DWORD = ADD (x: v0|DWORD, y: v1|DWORD) size: DWORD <|@ <|@
|
|
984
|
+
nr -1 <|@ instruction v6|DWORD = MOVE v2|DWORD moveKind: DWORD // MoveResolver resolve mapping <|@ <|@
|
|
985
|
+
nr 12 <|@ st <@st|@live-base-pointers: []
|
|
986
|
+
JavaExamples.exampleLocalVariablesState(JavaExamples.java:75) [bci: 4]
|
|
987
|
+
locals: - - v2|DWORD
|
|
988
|
+
>@ <|@ instruction rax|DWORD = CALL_DIRECT [] [] callTarget: HotSpotMethod<JavaExamples.opaqueCall()> invokeKind: Static config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@113b187d8 state [bci:4] <|@ <|@
|
|
989
|
+
nr 14 <|@ instruction v3|DWORD = MOVE rax|DWORD moveKind: DWORD <|@ <|@
|
|
990
|
+
nr 16 <|@ instruction v4|DWORD = SHL v2|DWORD size: DWORD <|@ <|@
|
|
991
|
+
nr 18 <|@ instruction v5|DWORD = ADD (x: v4|DWORD, y: v2|DWORD) size: DWORD <|@ <|@
|
|
992
|
+
nr 20 <|@ instruction rax|DWORD = MOVE v5|DWORD moveKind: DWORD <|@ <|@
|
|
993
|
+
nr 22 <|@ instruction RETURN (savedRbp: stack:16|QWORD, value: rax|DWORD) isStub: false requiresReservedStackAccessCheck: false thread: r15 scratchForSafepointOnReturn: rcx config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@113b187d8 <|@ <|@
|
|
994
|
+
end_IR
|
|
995
|
+
end_block
|
|
996
|
+
end_cfg
|
|
997
|
+
begin_bytecodes
|
|
998
|
+
0: iload_0
|
|
999
|
+
1: iload_1
|
|
1000
|
+
2: iadd
|
|
1001
|
+
3: istore_2
|
|
1002
|
+
4: invokestatic #48 // opaqueCall:()int
|
|
1003
|
+
7: pop
|
|
1004
|
+
8: iload_2
|
|
1005
|
+
9: iconst_2
|
|
1006
|
+
10: imul
|
|
1007
|
+
11: iload_2
|
|
1008
|
+
12: iadd
|
|
1009
|
+
13: ireturn
|
|
1010
|
+
<|@
|
|
1011
|
+
end_bytecodes
|
|
1012
|
+
begin_cfg
|
|
1013
|
+
name "After SSALinearScanEliminateSpillMove"
|
|
1014
|
+
begin_block
|
|
1015
|
+
name "B0"
|
|
1016
|
+
from_bci -1
|
|
1017
|
+
to_bci -1
|
|
1018
|
+
predecessors
|
|
1019
|
+
successors
|
|
1020
|
+
xhandlers
|
|
1021
|
+
flags
|
|
1022
|
+
probability 4607182418800017408
|
|
1023
|
+
begin_IR
|
|
1024
|
+
LIR
|
|
1025
|
+
nr 0 <|@ instruction [rsi|DWORD, rdx|DWORD, rbp|QWORD] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
|
|
1026
|
+
nr 2 <|@ instruction stack:16|QWORD = MOVE rbp|QWORD moveKind: QWORD <|@ <|@
|
|
1027
|
+
nr 4 <|@ instruction [] = HOTSPOTLOCKSTACK frameMapBuilder: org.graalvm.compiler.lir.amd64.AMD64FrameMapBuilder@13bf3e570 slotKind: QWORD <|@ <|@
|
|
1028
|
+
nr 6 <|@ instruction v0|DWORD = MOVE rsi|DWORD moveKind: DWORD <|@ <|@
|
|
1029
|
+
nr 8 <|@ instruction v1|DWORD = MOVE rdx|DWORD moveKind: DWORD <|@ <|@
|
|
1030
|
+
nr 10 <|@ instruction v2|DWORD = ADD (x: v0|DWORD, y: v1|DWORD) size: DWORD <|@ <|@
|
|
1031
|
+
nr -1 <|@ instruction v6|DWORD = MOVE v2|DWORD moveKind: DWORD // MoveResolver resolve mapping <|@ <|@
|
|
1032
|
+
nr 12 <|@ st <@st|@live-base-pointers: []
|
|
1033
|
+
JavaExamples.exampleLocalVariablesState(JavaExamples.java:75) [bci: 4]
|
|
1034
|
+
locals: - - v2|DWORD
|
|
1035
|
+
>@ <|@ instruction rax|DWORD = CALL_DIRECT [] [] callTarget: HotSpotMethod<JavaExamples.opaqueCall()> invokeKind: Static config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@113b187d8 state [bci:4] <|@ <|@
|
|
1036
|
+
nr 14 <|@ instruction v3|DWORD = MOVE rax|DWORD moveKind: DWORD <|@ <|@
|
|
1037
|
+
nr 16 <|@ instruction v4|DWORD = SHL v2|DWORD size: DWORD <|@ <|@
|
|
1038
|
+
nr 18 <|@ instruction v5|DWORD = ADD (x: v4|DWORD, y: v2|DWORD) size: DWORD <|@ <|@
|
|
1039
|
+
nr 20 <|@ instruction rax|DWORD = MOVE v5|DWORD moveKind: DWORD <|@ <|@
|
|
1040
|
+
nr 22 <|@ instruction RETURN (savedRbp: stack:16|QWORD, value: rax|DWORD) isStub: false requiresReservedStackAccessCheck: false thread: r15 scratchForSafepointOnReturn: rcx config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@113b187d8 <|@ <|@
|
|
1041
|
+
end_IR
|
|
1042
|
+
end_block
|
|
1043
|
+
end_cfg
|
|
1044
|
+
begin_bytecodes
|
|
1045
|
+
0: iload_0
|
|
1046
|
+
1: iload_1
|
|
1047
|
+
2: iadd
|
|
1048
|
+
3: istore_2
|
|
1049
|
+
4: invokestatic #48 // opaqueCall:()int
|
|
1050
|
+
7: pop
|
|
1051
|
+
8: iload_2
|
|
1052
|
+
9: iconst_2
|
|
1053
|
+
10: imul
|
|
1054
|
+
11: iload_2
|
|
1055
|
+
12: iadd
|
|
1056
|
+
13: ireturn
|
|
1057
|
+
<|@
|
|
1058
|
+
end_bytecodes
|
|
1059
|
+
begin_cfg
|
|
1060
|
+
name "After LinearScanAssignLocations"
|
|
1061
|
+
begin_block
|
|
1062
|
+
name "B0"
|
|
1063
|
+
from_bci -1
|
|
1064
|
+
to_bci -1
|
|
1065
|
+
predecessors
|
|
1066
|
+
successors
|
|
1067
|
+
xhandlers
|
|
1068
|
+
flags
|
|
1069
|
+
probability 4607182418800017408
|
|
1070
|
+
begin_IR
|
|
1071
|
+
LIR
|
|
1072
|
+
nr 0 <|@ instruction [rsi|DWORD, rdx|DWORD, rbp|QWORD] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
|
|
1073
|
+
nr 2 <|@ instruction stack:16|QWORD = MOVE rbp|QWORD moveKind: QWORD <|@ <|@
|
|
1074
|
+
nr 4 <|@ instruction [] = HOTSPOTLOCKSTACK frameMapBuilder: org.graalvm.compiler.lir.amd64.AMD64FrameMapBuilder@13bf3e570 slotKind: QWORD <|@ <|@
|
|
1075
|
+
nr 10 <|@ instruction rsi|DWORD = ADD (x: rsi|DWORD, y: rdx|DWORD) size: DWORD <|@ <|@
|
|
1076
|
+
nr -1 <|@ instruction vstack:0|DWORD = MOVE rsi|DWORD moveKind: DWORD // MoveResolver resolve mapping <|@ <|@
|
|
1077
|
+
nr 12 <|@ st <@st|@live-base-pointers: []
|
|
1078
|
+
JavaExamples.exampleLocalVariablesState(JavaExamples.java:75) [bci: 4]
|
|
1079
|
+
locals: - - vstack:0|DWORD
|
|
1080
|
+
>@ <|@ instruction rax|DWORD = CALL_DIRECT [] [] callTarget: HotSpotMethod<JavaExamples.opaqueCall()> invokeKind: Static config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@113b187d8 state [bci:4] <|@ <|@
|
|
1081
|
+
nr 16 <|@ instruction rsi|DWORD = SHL vstack:0|DWORD size: DWORD <|@ <|@
|
|
1082
|
+
nr 18 <|@ instruction rsi|DWORD = ADD (x: rsi|DWORD, y: vstack:0|DWORD) size: DWORD <|@ <|@
|
|
1083
|
+
nr 20 <|@ instruction rax|DWORD = MOVE rsi|DWORD moveKind: DWORD <|@ <|@
|
|
1084
|
+
nr 22 <|@ instruction RETURN (savedRbp: stack:16|QWORD, value: rax|DWORD) isStub: false requiresReservedStackAccessCheck: false thread: r15 scratchForSafepointOnReturn: rcx config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@113b187d8 <|@ <|@
|
|
1085
|
+
end_IR
|
|
1086
|
+
end_block
|
|
1087
|
+
end_cfg
|
|
1088
|
+
begin_bytecodes
|
|
1089
|
+
0: iload_0
|
|
1090
|
+
1: iload_1
|
|
1091
|
+
2: iadd
|
|
1092
|
+
3: istore_2
|
|
1093
|
+
4: invokestatic #48 // opaqueCall:()int
|
|
1094
|
+
7: pop
|
|
1095
|
+
8: iload_2
|
|
1096
|
+
9: iconst_2
|
|
1097
|
+
10: imul
|
|
1098
|
+
11: iload_2
|
|
1099
|
+
12: iadd
|
|
1100
|
+
13: ireturn
|
|
1101
|
+
<|@
|
|
1102
|
+
end_bytecodes
|
|
1103
|
+
begin_cfg
|
|
1104
|
+
name "After LinearScan"
|
|
1105
|
+
begin_block
|
|
1106
|
+
name "B0"
|
|
1107
|
+
from_bci -1
|
|
1108
|
+
to_bci -1
|
|
1109
|
+
predecessors
|
|
1110
|
+
successors
|
|
1111
|
+
xhandlers
|
|
1112
|
+
flags
|
|
1113
|
+
probability 4607182418800017408
|
|
1114
|
+
begin_IR
|
|
1115
|
+
LIR
|
|
1116
|
+
nr 0 <|@ instruction [rsi|DWORD, rdx|DWORD, rbp|QWORD] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
|
|
1117
|
+
nr 2 <|@ instruction stack:16|QWORD = MOVE rbp|QWORD moveKind: QWORD <|@ <|@
|
|
1118
|
+
nr 4 <|@ instruction [] = HOTSPOTLOCKSTACK frameMapBuilder: org.graalvm.compiler.lir.amd64.AMD64FrameMapBuilder@13bf3e570 slotKind: QWORD <|@ <|@
|
|
1119
|
+
nr 10 <|@ instruction rsi|DWORD = ADD (x: rsi|DWORD, y: rdx|DWORD) size: DWORD <|@ <|@
|
|
1120
|
+
nr -1 <|@ instruction vstack:0|DWORD = MOVE rsi|DWORD moveKind: DWORD // MoveResolver resolve mapping <|@ <|@
|
|
1121
|
+
nr 12 <|@ st <@st|@live-base-pointers: []
|
|
1122
|
+
JavaExamples.exampleLocalVariablesState(JavaExamples.java:75) [bci: 4]
|
|
1123
|
+
locals: - - vstack:0|DWORD
|
|
1124
|
+
>@ <|@ instruction rax|DWORD = CALL_DIRECT [] [] callTarget: HotSpotMethod<JavaExamples.opaqueCall()> invokeKind: Static config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@113b187d8 state [bci:4] <|@ <|@
|
|
1125
|
+
nr 16 <|@ instruction rsi|DWORD = SHL vstack:0|DWORD size: DWORD <|@ <|@
|
|
1126
|
+
nr 18 <|@ instruction rsi|DWORD = ADD (x: rsi|DWORD, y: vstack:0|DWORD) size: DWORD <|@ <|@
|
|
1127
|
+
nr 20 <|@ instruction rax|DWORD = MOVE rsi|DWORD moveKind: DWORD <|@ <|@
|
|
1128
|
+
nr 22 <|@ instruction RETURN (savedRbp: stack:16|QWORD, value: rax|DWORD) isStub: false requiresReservedStackAccessCheck: false thread: r15 scratchForSafepointOnReturn: rcx config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@113b187d8 <|@ <|@
|
|
1129
|
+
end_IR
|
|
1130
|
+
end_block
|
|
1131
|
+
end_cfg
|
|
1132
|
+
begin_bytecodes
|
|
1133
|
+
0: iload_0
|
|
1134
|
+
1: iload_1
|
|
1135
|
+
2: iadd
|
|
1136
|
+
3: istore_2
|
|
1137
|
+
4: invokestatic #48 // opaqueCall:()int
|
|
1138
|
+
7: pop
|
|
1139
|
+
8: iload_2
|
|
1140
|
+
9: iconst_2
|
|
1141
|
+
10: imul
|
|
1142
|
+
11: iload_2
|
|
1143
|
+
12: iadd
|
|
1144
|
+
13: ireturn
|
|
1145
|
+
<|@
|
|
1146
|
+
end_bytecodes
|
|
1147
|
+
begin_cfg
|
|
1148
|
+
name "After StackSlot numbering"
|
|
1149
|
+
begin_block
|
|
1150
|
+
name "B0"
|
|
1151
|
+
from_bci -1
|
|
1152
|
+
to_bci -1
|
|
1153
|
+
predecessors
|
|
1154
|
+
successors
|
|
1155
|
+
xhandlers
|
|
1156
|
+
flags
|
|
1157
|
+
probability 4607182418800017408
|
|
1158
|
+
begin_IR
|
|
1159
|
+
LIR
|
|
1160
|
+
nr 0 <|@ instruction [rsi|DWORD, rdx|DWORD, rbp|QWORD] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
|
|
1161
|
+
nr 2 <|@ instruction stack:16|QWORD = MOVE rbp|QWORD moveKind: QWORD <|@ <|@
|
|
1162
|
+
nr 4 <|@ instruction [] = HOTSPOTLOCKSTACK frameMapBuilder: org.graalvm.compiler.lir.amd64.AMD64FrameMapBuilder@13bf3e570 slotKind: QWORD <|@ <|@
|
|
1163
|
+
nr 6 <|@ instruction rsi|DWORD = ADD (x: rsi|DWORD, y: rdx|DWORD) size: DWORD <|@ <|@
|
|
1164
|
+
nr 8 <|@ instruction vstack:0|DWORD = MOVE rsi|DWORD moveKind: DWORD // MoveResolver resolve mapping <|@ <|@
|
|
1165
|
+
nr 10 <|@ st <@st|@live-base-pointers: []
|
|
1166
|
+
JavaExamples.exampleLocalVariablesState(JavaExamples.java:75) [bci: 4]
|
|
1167
|
+
locals: - - vstack:0|DWORD
|
|
1168
|
+
>@ <|@ instruction rax|DWORD = CALL_DIRECT [] [] callTarget: HotSpotMethod<JavaExamples.opaqueCall()> invokeKind: Static config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@113b187d8 state [bci:4] <|@ <|@
|
|
1169
|
+
nr 12 <|@ instruction rsi|DWORD = SHL vstack:0|DWORD size: DWORD <|@ <|@
|
|
1170
|
+
nr 14 <|@ instruction rsi|DWORD = ADD (x: rsi|DWORD, y: vstack:0|DWORD) size: DWORD <|@ <|@
|
|
1171
|
+
nr 16 <|@ instruction rax|DWORD = MOVE rsi|DWORD moveKind: DWORD <|@ <|@
|
|
1172
|
+
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@113b187d8 <|@ <|@
|
|
1173
|
+
end_IR
|
|
1174
|
+
end_block
|
|
1175
|
+
end_cfg
|
|
1176
|
+
begin_bytecodes
|
|
1177
|
+
0: iload_0
|
|
1178
|
+
1: iload_1
|
|
1179
|
+
2: iadd
|
|
1180
|
+
3: istore_2
|
|
1181
|
+
4: invokestatic #48 // opaqueCall:()int
|
|
1182
|
+
7: pop
|
|
1183
|
+
8: iload_2
|
|
1184
|
+
9: iconst_2
|
|
1185
|
+
10: imul
|
|
1186
|
+
11: iload_2
|
|
1187
|
+
12: iadd
|
|
1188
|
+
13: ireturn
|
|
1189
|
+
<|@
|
|
1190
|
+
end_bytecodes
|
|
1191
|
+
begin_intervals
|
|
1192
|
+
name "Before stack slot allocation"
|
|
1193
|
+
vstack:0|d DWORD "[vstack:0|d]" vstack:0|d -1 [8, 14[ "NOT_SUPPORTED"
|
|
1194
|
+
end_intervals
|
|
1195
|
+
begin_intervals
|
|
1196
|
+
name "After stack slot allocation"
|
|
1197
|
+
vstack:0|d DWORD "[stack:28|d]" vstack:0|d -1 [8, 14[ "NOT_SUPPORTED"
|
|
1198
|
+
end_intervals
|
|
1199
|
+
begin_cfg
|
|
1200
|
+
name "After LSStackSlotAllocator"
|
|
1201
|
+
begin_block
|
|
1202
|
+
name "B0"
|
|
1203
|
+
from_bci -1
|
|
1204
|
+
to_bci -1
|
|
1205
|
+
predecessors
|
|
1206
|
+
successors
|
|
1207
|
+
xhandlers
|
|
1208
|
+
flags
|
|
1209
|
+
probability 4607182418800017408
|
|
1210
|
+
begin_IR
|
|
1211
|
+
LIR
|
|
1212
|
+
nr 0 <|@ instruction [rsi|DWORD, rdx|DWORD, rbp|QWORD] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
|
|
1213
|
+
nr 2 <|@ instruction stack:16|QWORD = MOVE rbp|QWORD moveKind: QWORD <|@ <|@
|
|
1214
|
+
nr 4 <|@ instruction [] = HOTSPOTLOCKSTACK frameMapBuilder: org.graalvm.compiler.lir.amd64.AMD64FrameMapBuilder@13bf3e570 slotKind: QWORD <|@ <|@
|
|
1215
|
+
nr 6 <|@ instruction rsi|DWORD = ADD (x: rsi|DWORD, y: rdx|DWORD) size: DWORD <|@ <|@
|
|
1216
|
+
nr 8 <|@ instruction stack:28|DWORD = MOVE rsi|DWORD moveKind: DWORD // MoveResolver resolve mapping <|@ <|@
|
|
1217
|
+
nr 10 <|@ st <@st|@live-base-pointers: []
|
|
1218
|
+
JavaExamples.exampleLocalVariablesState(JavaExamples.java:75) [bci: 4]
|
|
1219
|
+
locals: - - stack:28|DWORD
|
|
1220
|
+
>@ <|@ instruction rax|DWORD = CALL_DIRECT [] [] callTarget: HotSpotMethod<JavaExamples.opaqueCall()> invokeKind: Static config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@113b187d8 state [bci:4] <|@ <|@
|
|
1221
|
+
nr 12 <|@ instruction rsi|DWORD = SHL stack:28|DWORD size: DWORD <|@ <|@
|
|
1222
|
+
nr 14 <|@ instruction rsi|DWORD = ADD (x: rsi|DWORD, y: stack:28|DWORD) size: DWORD <|@ <|@
|
|
1223
|
+
nr 16 <|@ instruction rax|DWORD = MOVE rsi|DWORD moveKind: DWORD <|@ <|@
|
|
1224
|
+
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@113b187d8 <|@ <|@
|
|
1225
|
+
end_IR
|
|
1226
|
+
end_block
|
|
1227
|
+
end_cfg
|
|
1228
|
+
begin_bytecodes
|
|
1229
|
+
0: iload_0
|
|
1230
|
+
1: iload_1
|
|
1231
|
+
2: iadd
|
|
1232
|
+
3: istore_2
|
|
1233
|
+
4: invokestatic #48 // opaqueCall:()int
|
|
1234
|
+
7: pop
|
|
1235
|
+
8: iload_2
|
|
1236
|
+
9: iconst_2
|
|
1237
|
+
10: imul
|
|
1238
|
+
11: iload_2
|
|
1239
|
+
12: iadd
|
|
1240
|
+
13: ireturn
|
|
1241
|
+
<|@
|
|
1242
|
+
end_bytecodes
|
|
1243
|
+
begin_cfg
|
|
1244
|
+
name "After LocationMarker"
|
|
1245
|
+
begin_block
|
|
1246
|
+
name "B0"
|
|
1247
|
+
from_bci -1
|
|
1248
|
+
to_bci -1
|
|
1249
|
+
predecessors
|
|
1250
|
+
successors
|
|
1251
|
+
xhandlers
|
|
1252
|
+
flags
|
|
1253
|
+
probability 4607182418800017408
|
|
1254
|
+
begin_IR
|
|
1255
|
+
LIR
|
|
1256
|
+
nr 0 <|@ instruction [rsi|DWORD, rdx|DWORD, rbp|QWORD] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
|
|
1257
|
+
nr 2 <|@ instruction stack:16|QWORD = MOVE rbp|QWORD moveKind: QWORD <|@ <|@
|
|
1258
|
+
nr 4 <|@ instruction [] = HOTSPOTLOCKSTACK frameMapBuilder: org.graalvm.compiler.lir.amd64.AMD64FrameMapBuilder@13bf3e570 slotKind: QWORD <|@ <|@
|
|
1259
|
+
nr 6 <|@ instruction rsi|DWORD = ADD (x: rsi|DWORD, y: rdx|DWORD) size: DWORD <|@ <|@
|
|
1260
|
+
nr 8 <|@ instruction stack:28|DWORD = MOVE rsi|DWORD moveKind: DWORD // MoveResolver resolve mapping <|@ <|@
|
|
1261
|
+
nr 10 <|@ st <@st|@reference-map: []
|
|
1262
|
+
live-base-pointers: []
|
|
1263
|
+
JavaExamples.exampleLocalVariablesState(JavaExamples.java:75) [bci: 4]
|
|
1264
|
+
locals: - - stack:28|DWORD
|
|
1265
|
+
>@ <|@ instruction rax|DWORD = CALL_DIRECT [] [] callTarget: HotSpotMethod<JavaExamples.opaqueCall()> invokeKind: Static config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@113b187d8 state [bci:4] <|@ <|@
|
|
1266
|
+
nr 12 <|@ instruction rsi|DWORD = SHL stack:28|DWORD size: DWORD <|@ <|@
|
|
1267
|
+
nr 14 <|@ instruction rsi|DWORD = ADD (x: rsi|DWORD, y: stack:28|DWORD) size: DWORD <|@ <|@
|
|
1268
|
+
nr 16 <|@ instruction rax|DWORD = MOVE rsi|DWORD moveKind: DWORD <|@ <|@
|
|
1269
|
+
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@113b187d8 <|@ <|@
|
|
1270
|
+
end_IR
|
|
1271
|
+
end_block
|
|
1272
|
+
end_cfg
|
|
1273
|
+
begin_bytecodes
|
|
1274
|
+
0: iload_0
|
|
1275
|
+
1: iload_1
|
|
1276
|
+
2: iadd
|
|
1277
|
+
3: istore_2
|
|
1278
|
+
4: invokestatic #48 // opaqueCall:()int
|
|
1279
|
+
7: pop
|
|
1280
|
+
8: iload_2
|
|
1281
|
+
9: iconst_2
|
|
1282
|
+
10: imul
|
|
1283
|
+
11: iload_2
|
|
1284
|
+
12: iadd
|
|
1285
|
+
13: ireturn
|
|
1286
|
+
<|@
|
|
1287
|
+
end_bytecodes
|
|
1288
|
+
begin_cfg
|
|
1289
|
+
name "After AllocationStage"
|
|
1290
|
+
begin_block
|
|
1291
|
+
name "B0"
|
|
1292
|
+
from_bci -1
|
|
1293
|
+
to_bci -1
|
|
1294
|
+
predecessors
|
|
1295
|
+
successors
|
|
1296
|
+
xhandlers
|
|
1297
|
+
flags
|
|
1298
|
+
probability 4607182418800017408
|
|
1299
|
+
begin_IR
|
|
1300
|
+
LIR
|
|
1301
|
+
nr 0 <|@ instruction [rsi|DWORD, rdx|DWORD, rbp|QWORD] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
|
|
1302
|
+
nr 2 <|@ instruction stack:16|QWORD = MOVE rbp|QWORD moveKind: QWORD <|@ <|@
|
|
1303
|
+
nr 4 <|@ instruction [] = HOTSPOTLOCKSTACK frameMapBuilder: org.graalvm.compiler.lir.amd64.AMD64FrameMapBuilder@13bf3e570 slotKind: QWORD <|@ <|@
|
|
1304
|
+
nr 6 <|@ instruction rsi|DWORD = ADD (x: rsi|DWORD, y: rdx|DWORD) size: DWORD <|@ <|@
|
|
1305
|
+
nr 8 <|@ instruction stack:28|DWORD = MOVE rsi|DWORD moveKind: DWORD // MoveResolver resolve mapping <|@ <|@
|
|
1306
|
+
nr 10 <|@ st <@st|@reference-map: []
|
|
1307
|
+
live-base-pointers: []
|
|
1308
|
+
JavaExamples.exampleLocalVariablesState(JavaExamples.java:75) [bci: 4]
|
|
1309
|
+
locals: - - stack:28|DWORD
|
|
1310
|
+
>@ <|@ instruction rax|DWORD = CALL_DIRECT [] [] callTarget: HotSpotMethod<JavaExamples.opaqueCall()> invokeKind: Static config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@113b187d8 state [bci:4] <|@ <|@
|
|
1311
|
+
nr 12 <|@ instruction rsi|DWORD = SHL stack:28|DWORD size: DWORD <|@ <|@
|
|
1312
|
+
nr 14 <|@ instruction rsi|DWORD = ADD (x: rsi|DWORD, y: stack:28|DWORD) size: DWORD <|@ <|@
|
|
1313
|
+
nr 16 <|@ instruction rax|DWORD = MOVE rsi|DWORD moveKind: DWORD <|@ <|@
|
|
1314
|
+
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@113b187d8 <|@ <|@
|
|
1315
|
+
end_IR
|
|
1316
|
+
end_block
|
|
1317
|
+
end_cfg
|
|
1318
|
+
begin_bytecodes
|
|
1319
|
+
0: iload_0
|
|
1320
|
+
1: iload_1
|
|
1321
|
+
2: iadd
|
|
1322
|
+
3: istore_2
|
|
1323
|
+
4: invokestatic #48 // opaqueCall:()int
|
|
1324
|
+
7: pop
|
|
1325
|
+
8: iload_2
|
|
1326
|
+
9: iconst_2
|
|
1327
|
+
10: imul
|
|
1328
|
+
11: iload_2
|
|
1329
|
+
12: iadd
|
|
1330
|
+
13: ireturn
|
|
1331
|
+
<|@
|
|
1332
|
+
end_bytecodes
|
|
1333
|
+
begin_cfg
|
|
1334
|
+
name "After EdgeMoveOptimizer"
|
|
1335
|
+
begin_block
|
|
1336
|
+
name "B0"
|
|
1337
|
+
from_bci -1
|
|
1338
|
+
to_bci -1
|
|
1339
|
+
predecessors
|
|
1340
|
+
successors
|
|
1341
|
+
xhandlers
|
|
1342
|
+
flags
|
|
1343
|
+
probability 4607182418800017408
|
|
1344
|
+
begin_IR
|
|
1345
|
+
LIR
|
|
1346
|
+
nr 0 <|@ instruction [rsi|DWORD, rdx|DWORD, rbp|QWORD] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
|
|
1347
|
+
nr 2 <|@ instruction stack:16|QWORD = MOVE rbp|QWORD moveKind: QWORD <|@ <|@
|
|
1348
|
+
nr 4 <|@ instruction [] = HOTSPOTLOCKSTACK frameMapBuilder: org.graalvm.compiler.lir.amd64.AMD64FrameMapBuilder@13bf3e570 slotKind: QWORD <|@ <|@
|
|
1349
|
+
nr 6 <|@ instruction rsi|DWORD = ADD (x: rsi|DWORD, y: rdx|DWORD) size: DWORD <|@ <|@
|
|
1350
|
+
nr 8 <|@ instruction stack:28|DWORD = MOVE rsi|DWORD moveKind: DWORD // MoveResolver resolve mapping <|@ <|@
|
|
1351
|
+
nr 10 <|@ st <@st|@reference-map: []
|
|
1352
|
+
live-base-pointers: []
|
|
1353
|
+
JavaExamples.exampleLocalVariablesState(JavaExamples.java:75) [bci: 4]
|
|
1354
|
+
locals: - - stack:28|DWORD
|
|
1355
|
+
>@ <|@ instruction rax|DWORD = CALL_DIRECT [] [] callTarget: HotSpotMethod<JavaExamples.opaqueCall()> invokeKind: Static config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@113b187d8 state [bci:4] <|@ <|@
|
|
1356
|
+
nr 12 <|@ instruction rsi|DWORD = SHL stack:28|DWORD size: DWORD <|@ <|@
|
|
1357
|
+
nr 14 <|@ instruction rsi|DWORD = ADD (x: rsi|DWORD, y: stack:28|DWORD) size: DWORD <|@ <|@
|
|
1358
|
+
nr 16 <|@ instruction rax|DWORD = MOVE rsi|DWORD moveKind: DWORD <|@ <|@
|
|
1359
|
+
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@113b187d8 <|@ <|@
|
|
1360
|
+
end_IR
|
|
1361
|
+
end_block
|
|
1362
|
+
end_cfg
|
|
1363
|
+
begin_bytecodes
|
|
1364
|
+
0: iload_0
|
|
1365
|
+
1: iload_1
|
|
1366
|
+
2: iadd
|
|
1367
|
+
3: istore_2
|
|
1368
|
+
4: invokestatic #48 // opaqueCall:()int
|
|
1369
|
+
7: pop
|
|
1370
|
+
8: iload_2
|
|
1371
|
+
9: iconst_2
|
|
1372
|
+
10: imul
|
|
1373
|
+
11: iload_2
|
|
1374
|
+
12: iadd
|
|
1375
|
+
13: ireturn
|
|
1376
|
+
<|@
|
|
1377
|
+
end_bytecodes
|
|
1378
|
+
begin_cfg
|
|
1379
|
+
name "After ControlFlowOptimizer"
|
|
1380
|
+
begin_block
|
|
1381
|
+
name "B0"
|
|
1382
|
+
from_bci -1
|
|
1383
|
+
to_bci -1
|
|
1384
|
+
predecessors
|
|
1385
|
+
successors
|
|
1386
|
+
xhandlers
|
|
1387
|
+
flags
|
|
1388
|
+
probability 4607182418800017408
|
|
1389
|
+
begin_IR
|
|
1390
|
+
LIR
|
|
1391
|
+
nr 0 <|@ instruction [rsi|DWORD, rdx|DWORD, rbp|QWORD] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
|
|
1392
|
+
nr 2 <|@ instruction stack:16|QWORD = MOVE rbp|QWORD moveKind: QWORD <|@ <|@
|
|
1393
|
+
nr 4 <|@ instruction [] = HOTSPOTLOCKSTACK frameMapBuilder: org.graalvm.compiler.lir.amd64.AMD64FrameMapBuilder@13bf3e570 slotKind: QWORD <|@ <|@
|
|
1394
|
+
nr 6 <|@ instruction rsi|DWORD = ADD (x: rsi|DWORD, y: rdx|DWORD) size: DWORD <|@ <|@
|
|
1395
|
+
nr 8 <|@ instruction stack:28|DWORD = MOVE rsi|DWORD moveKind: DWORD // MoveResolver resolve mapping <|@ <|@
|
|
1396
|
+
nr 10 <|@ st <@st|@reference-map: []
|
|
1397
|
+
live-base-pointers: []
|
|
1398
|
+
JavaExamples.exampleLocalVariablesState(JavaExamples.java:75) [bci: 4]
|
|
1399
|
+
locals: - - stack:28|DWORD
|
|
1400
|
+
>@ <|@ instruction rax|DWORD = CALL_DIRECT [] [] callTarget: HotSpotMethod<JavaExamples.opaqueCall()> invokeKind: Static config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@113b187d8 state [bci:4] <|@ <|@
|
|
1401
|
+
nr 12 <|@ instruction rsi|DWORD = SHL stack:28|DWORD size: DWORD <|@ <|@
|
|
1402
|
+
nr 14 <|@ instruction rsi|DWORD = ADD (x: rsi|DWORD, y: stack:28|DWORD) size: DWORD <|@ <|@
|
|
1403
|
+
nr 16 <|@ instruction rax|DWORD = MOVE rsi|DWORD moveKind: DWORD <|@ <|@
|
|
1404
|
+
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@113b187d8 <|@ <|@
|
|
1405
|
+
end_IR
|
|
1406
|
+
end_block
|
|
1407
|
+
end_cfg
|
|
1408
|
+
begin_bytecodes
|
|
1409
|
+
0: iload_0
|
|
1410
|
+
1: iload_1
|
|
1411
|
+
2: iadd
|
|
1412
|
+
3: istore_2
|
|
1413
|
+
4: invokestatic #48 // opaqueCall:()int
|
|
1414
|
+
7: pop
|
|
1415
|
+
8: iload_2
|
|
1416
|
+
9: iconst_2
|
|
1417
|
+
10: imul
|
|
1418
|
+
11: iload_2
|
|
1419
|
+
12: iadd
|
|
1420
|
+
13: ireturn
|
|
1421
|
+
<|@
|
|
1422
|
+
end_bytecodes
|
|
1423
|
+
begin_cfg
|
|
1424
|
+
name "After RedundantMoveElimination"
|
|
1425
|
+
begin_block
|
|
1426
|
+
name "B0"
|
|
1427
|
+
from_bci -1
|
|
1428
|
+
to_bci -1
|
|
1429
|
+
predecessors
|
|
1430
|
+
successors
|
|
1431
|
+
xhandlers
|
|
1432
|
+
flags
|
|
1433
|
+
probability 4607182418800017408
|
|
1434
|
+
begin_IR
|
|
1435
|
+
LIR
|
|
1436
|
+
nr 0 <|@ instruction [rsi|DWORD, rdx|DWORD, rbp|QWORD] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
|
|
1437
|
+
nr 2 <|@ instruction stack:16|QWORD = MOVE rbp|QWORD moveKind: QWORD <|@ <|@
|
|
1438
|
+
nr 4 <|@ instruction [] = HOTSPOTLOCKSTACK frameMapBuilder: org.graalvm.compiler.lir.amd64.AMD64FrameMapBuilder@13bf3e570 slotKind: QWORD <|@ <|@
|
|
1439
|
+
nr 6 <|@ instruction rsi|DWORD = ADD (x: rsi|DWORD, y: rdx|DWORD) size: DWORD <|@ <|@
|
|
1440
|
+
nr 8 <|@ instruction stack:28|DWORD = MOVE rsi|DWORD moveKind: DWORD // MoveResolver resolve mapping <|@ <|@
|
|
1441
|
+
nr 10 <|@ st <@st|@reference-map: []
|
|
1442
|
+
live-base-pointers: []
|
|
1443
|
+
JavaExamples.exampleLocalVariablesState(JavaExamples.java:75) [bci: 4]
|
|
1444
|
+
locals: - - stack:28|DWORD
|
|
1445
|
+
>@ <|@ instruction rax|DWORD = CALL_DIRECT [] [] callTarget: HotSpotMethod<JavaExamples.opaqueCall()> invokeKind: Static config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@113b187d8 state [bci:4] <|@ <|@
|
|
1446
|
+
nr 12 <|@ instruction rsi|DWORD = SHL stack:28|DWORD size: DWORD <|@ <|@
|
|
1447
|
+
nr 14 <|@ instruction rsi|DWORD = ADD (x: rsi|DWORD, y: stack:28|DWORD) size: DWORD <|@ <|@
|
|
1448
|
+
nr 16 <|@ instruction rax|DWORD = MOVE rsi|DWORD moveKind: DWORD <|@ <|@
|
|
1449
|
+
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@113b187d8 <|@ <|@
|
|
1450
|
+
end_IR
|
|
1451
|
+
end_block
|
|
1452
|
+
end_cfg
|
|
1453
|
+
begin_bytecodes
|
|
1454
|
+
0: iload_0
|
|
1455
|
+
1: iload_1
|
|
1456
|
+
2: iadd
|
|
1457
|
+
3: istore_2
|
|
1458
|
+
4: invokestatic #48 // opaqueCall:()int
|
|
1459
|
+
7: pop
|
|
1460
|
+
8: iload_2
|
|
1461
|
+
9: iconst_2
|
|
1462
|
+
10: imul
|
|
1463
|
+
11: iload_2
|
|
1464
|
+
12: iadd
|
|
1465
|
+
13: ireturn
|
|
1466
|
+
<|@
|
|
1467
|
+
end_bytecodes
|
|
1468
|
+
begin_cfg
|
|
1469
|
+
name "After NullCheckOptimizer"
|
|
1470
|
+
begin_block
|
|
1471
|
+
name "B0"
|
|
1472
|
+
from_bci -1
|
|
1473
|
+
to_bci -1
|
|
1474
|
+
predecessors
|
|
1475
|
+
successors
|
|
1476
|
+
xhandlers
|
|
1477
|
+
flags
|
|
1478
|
+
probability 4607182418800017408
|
|
1479
|
+
begin_IR
|
|
1480
|
+
LIR
|
|
1481
|
+
nr 0 <|@ instruction [rsi|DWORD, rdx|DWORD, rbp|QWORD] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
|
|
1482
|
+
nr 2 <|@ instruction stack:16|QWORD = MOVE rbp|QWORD moveKind: QWORD <|@ <|@
|
|
1483
|
+
nr 4 <|@ instruction [] = HOTSPOTLOCKSTACK frameMapBuilder: org.graalvm.compiler.lir.amd64.AMD64FrameMapBuilder@13bf3e570 slotKind: QWORD <|@ <|@
|
|
1484
|
+
nr 6 <|@ instruction rsi|DWORD = ADD (x: rsi|DWORD, y: rdx|DWORD) size: DWORD <|@ <|@
|
|
1485
|
+
nr 8 <|@ instruction stack:28|DWORD = MOVE rsi|DWORD moveKind: DWORD // MoveResolver resolve mapping <|@ <|@
|
|
1486
|
+
nr 10 <|@ st <@st|@reference-map: []
|
|
1487
|
+
live-base-pointers: []
|
|
1488
|
+
JavaExamples.exampleLocalVariablesState(JavaExamples.java:75) [bci: 4]
|
|
1489
|
+
locals: - - stack:28|DWORD
|
|
1490
|
+
>@ <|@ instruction rax|DWORD = CALL_DIRECT [] [] callTarget: HotSpotMethod<JavaExamples.opaqueCall()> invokeKind: Static config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@113b187d8 state [bci:4] <|@ <|@
|
|
1491
|
+
nr 12 <|@ instruction rsi|DWORD = SHL stack:28|DWORD size: DWORD <|@ <|@
|
|
1492
|
+
nr 14 <|@ instruction rsi|DWORD = ADD (x: rsi|DWORD, y: stack:28|DWORD) size: DWORD <|@ <|@
|
|
1493
|
+
nr 16 <|@ instruction rax|DWORD = MOVE rsi|DWORD moveKind: DWORD <|@ <|@
|
|
1494
|
+
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@113b187d8 <|@ <|@
|
|
1495
|
+
end_IR
|
|
1496
|
+
end_block
|
|
1497
|
+
end_cfg
|
|
1498
|
+
begin_bytecodes
|
|
1499
|
+
0: iload_0
|
|
1500
|
+
1: iload_1
|
|
1501
|
+
2: iadd
|
|
1502
|
+
3: istore_2
|
|
1503
|
+
4: invokestatic #48 // opaqueCall:()int
|
|
1504
|
+
7: pop
|
|
1505
|
+
8: iload_2
|
|
1506
|
+
9: iconst_2
|
|
1507
|
+
10: imul
|
|
1508
|
+
11: iload_2
|
|
1509
|
+
12: iadd
|
|
1510
|
+
13: ireturn
|
|
1511
|
+
<|@
|
|
1512
|
+
end_bytecodes
|
|
1513
|
+
begin_cfg
|
|
1514
|
+
name "After StackMoveOptimization"
|
|
1515
|
+
begin_block
|
|
1516
|
+
name "B0"
|
|
1517
|
+
from_bci -1
|
|
1518
|
+
to_bci -1
|
|
1519
|
+
predecessors
|
|
1520
|
+
successors
|
|
1521
|
+
xhandlers
|
|
1522
|
+
flags
|
|
1523
|
+
probability 4607182418800017408
|
|
1524
|
+
begin_IR
|
|
1525
|
+
LIR
|
|
1526
|
+
nr 0 <|@ instruction [rsi|DWORD, rdx|DWORD, rbp|QWORD] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
|
|
1527
|
+
nr 2 <|@ instruction stack:16|QWORD = MOVE rbp|QWORD moveKind: QWORD <|@ <|@
|
|
1528
|
+
nr 4 <|@ instruction [] = HOTSPOTLOCKSTACK frameMapBuilder: org.graalvm.compiler.lir.amd64.AMD64FrameMapBuilder@13bf3e570 slotKind: QWORD <|@ <|@
|
|
1529
|
+
nr 6 <|@ instruction rsi|DWORD = ADD (x: rsi|DWORD, y: rdx|DWORD) size: DWORD <|@ <|@
|
|
1530
|
+
nr 8 <|@ instruction stack:28|DWORD = MOVE rsi|DWORD moveKind: DWORD // MoveResolver resolve mapping <|@ <|@
|
|
1531
|
+
nr 10 <|@ st <@st|@reference-map: []
|
|
1532
|
+
live-base-pointers: []
|
|
1533
|
+
JavaExamples.exampleLocalVariablesState(JavaExamples.java:75) [bci: 4]
|
|
1534
|
+
locals: - - stack:28|DWORD
|
|
1535
|
+
>@ <|@ instruction rax|DWORD = CALL_DIRECT [] [] callTarget: HotSpotMethod<JavaExamples.opaqueCall()> invokeKind: Static config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@113b187d8 state [bci:4] <|@ <|@
|
|
1536
|
+
nr 12 <|@ instruction rsi|DWORD = SHL stack:28|DWORD size: DWORD <|@ <|@
|
|
1537
|
+
nr 14 <|@ instruction rsi|DWORD = ADD (x: rsi|DWORD, y: stack:28|DWORD) size: DWORD <|@ <|@
|
|
1538
|
+
nr 16 <|@ instruction rax|DWORD = MOVE rsi|DWORD moveKind: DWORD <|@ <|@
|
|
1539
|
+
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@113b187d8 <|@ <|@
|
|
1540
|
+
end_IR
|
|
1541
|
+
end_block
|
|
1542
|
+
end_cfg
|
|
1543
|
+
begin_bytecodes
|
|
1544
|
+
0: iload_0
|
|
1545
|
+
1: iload_1
|
|
1546
|
+
2: iadd
|
|
1547
|
+
3: istore_2
|
|
1548
|
+
4: invokestatic #48 // opaqueCall:()int
|
|
1549
|
+
7: pop
|
|
1550
|
+
8: iload_2
|
|
1551
|
+
9: iconst_2
|
|
1552
|
+
10: imul
|
|
1553
|
+
11: iload_2
|
|
1554
|
+
12: iadd
|
|
1555
|
+
13: ireturn
|
|
1556
|
+
<|@
|
|
1557
|
+
end_bytecodes
|
|
1558
|
+
begin_cfg
|
|
1559
|
+
name "After PostAllocationOptimizationStage"
|
|
1560
|
+
begin_block
|
|
1561
|
+
name "B0"
|
|
1562
|
+
from_bci -1
|
|
1563
|
+
to_bci -1
|
|
1564
|
+
predecessors
|
|
1565
|
+
successors
|
|
1566
|
+
xhandlers
|
|
1567
|
+
flags
|
|
1568
|
+
probability 4607182418800017408
|
|
1569
|
+
begin_IR
|
|
1570
|
+
LIR
|
|
1571
|
+
nr 0 <|@ instruction [rsi|DWORD, rdx|DWORD, rbp|QWORD] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
|
|
1572
|
+
nr 2 <|@ instruction stack:16|QWORD = MOVE rbp|QWORD moveKind: QWORD <|@ <|@
|
|
1573
|
+
nr 4 <|@ instruction [] = HOTSPOTLOCKSTACK frameMapBuilder: org.graalvm.compiler.lir.amd64.AMD64FrameMapBuilder@13bf3e570 slotKind: QWORD <|@ <|@
|
|
1574
|
+
nr 6 <|@ instruction rsi|DWORD = ADD (x: rsi|DWORD, y: rdx|DWORD) size: DWORD <|@ <|@
|
|
1575
|
+
nr 8 <|@ instruction stack:28|DWORD = MOVE rsi|DWORD moveKind: DWORD // MoveResolver resolve mapping <|@ <|@
|
|
1576
|
+
nr 10 <|@ st <@st|@reference-map: []
|
|
1577
|
+
live-base-pointers: []
|
|
1578
|
+
JavaExamples.exampleLocalVariablesState(JavaExamples.java:75) [bci: 4]
|
|
1579
|
+
locals: - - stack:28|DWORD
|
|
1580
|
+
>@ <|@ instruction rax|DWORD = CALL_DIRECT [] [] callTarget: HotSpotMethod<JavaExamples.opaqueCall()> invokeKind: Static config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@113b187d8 state [bci:4] <|@ <|@
|
|
1581
|
+
nr 12 <|@ instruction rsi|DWORD = SHL stack:28|DWORD size: DWORD <|@ <|@
|
|
1582
|
+
nr 14 <|@ instruction rsi|DWORD = ADD (x: rsi|DWORD, y: stack:28|DWORD) size: DWORD <|@ <|@
|
|
1583
|
+
nr 16 <|@ instruction rax|DWORD = MOVE rsi|DWORD moveKind: DWORD <|@ <|@
|
|
1584
|
+
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@113b187d8 <|@ <|@
|
|
1585
|
+
end_IR
|
|
1586
|
+
end_block
|
|
1587
|
+
end_cfg
|
|
1588
|
+
begin_bytecodes
|
|
1589
|
+
0: iload_0
|
|
1590
|
+
1: iload_1
|
|
1591
|
+
2: iadd
|
|
1592
|
+
3: istore_2
|
|
1593
|
+
4: invokestatic #48 // opaqueCall:()int
|
|
1594
|
+
7: pop
|
|
1595
|
+
8: iload_2
|
|
1596
|
+
9: iconst_2
|
|
1597
|
+
10: imul
|
|
1598
|
+
11: iload_2
|
|
1599
|
+
12: iadd
|
|
1600
|
+
13: ireturn
|
|
1601
|
+
<|@
|
|
1602
|
+
end_bytecodes
|
|
1603
|
+
begin_cfg
|
|
1604
|
+
name "After code generation"
|
|
1605
|
+
end_cfg
|
|
1606
|
+
begin_nmethod
|
|
1607
|
+
<<<HexCodeFile
|
|
1608
|
+
Platform AMD64 64 <||@
|
|
1609
|
+
HexCode 0 89842400c0feff4883ec1848896c241003f28974240490e800000000908b742404d1e6037424048bc6488b6c24104883c418850500000000c5f877c3e80000000090e80000000090 <||@
|
|
1610
|
+
Comment 0 [stack overflow check] <||@
|
|
1611
|
+
Comment 0 3 <||@
|
|
1612
|
+
Comment 0 1 <||@
|
|
1613
|
+
Comment 11 block B0 null <||@
|
|
1614
|
+
Comment 11 0 [rsi|DWORD, rdx|DWORD, rbp|QWORD] = LABEL numbPhis: 0 align: false label: ? <||@
|
|
1615
|
+
Comment 11 2 stack:16|QWORD = MOVE rbp|QWORD moveKind: QWORD <||@
|
|
1616
|
+
Comment 16 4 [] = HOTSPOTLOCKSTACK frameMapBuilder: org.graalvm.compiler.lir.amd64.AMD64FrameMapBuilder@13bf3e570 slotKind: QWORD <||@
|
|
1617
|
+
Comment 16 6 rsi|DWORD = ADD (x: rsi|DWORD, y: rdx|DWORD) size: DWORD <||@
|
|
1618
|
+
Comment 18 8 stack:28|DWORD = MOVE rsi|DWORD moveKind: DWORD <||@
|
|
1619
|
+
Comment 22 10 rax|DWORD = CALL_DIRECT [] [] callTarget: HotSpotMethod<JavaExamples.opaqueCall()> invokeKind: Static config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@113b187d8 state [bci:4] <||@
|
|
1620
|
+
Comment 22 8 <||@
|
|
1621
|
+
Comment 23 {HotSpotMethod<JavaExamples.opaqueCall()>} <||@
|
|
1622
|
+
Comment 28 []at JavaExamples.exampleLocalVariablesState(JavaExamples.java:75) [bci: 4, duringCall: true, rethrow: false]
|
|
1623
|
+
|0 |1 |2
|
|
1624
|
+
locals: |- |- |stack:28|DWORD <||@
|
|
1625
|
+
Comment 29 12 rsi|DWORD = SHL stack:28|DWORD size: DWORD <||@
|
|
1626
|
+
Comment 35 14 rsi|DWORD = ADD (x: rsi|DWORD, y: stack:28|DWORD) size: DWORD <||@
|
|
1627
|
+
Comment 39 16 rax|DWORD = MOVE rsi|DWORD moveKind: DWORD <||@
|
|
1628
|
+
Comment 41 18 RETURN (savedRbp: stack:16|QWORD, value: rax|DWORD) isStub: false requiresReservedStackAccessCheck: false thread: r15 scratchForSafepointOnReturn: rcx config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@113b187d8 <||@
|
|
1629
|
+
Comment 50 12 <||@
|
|
1630
|
+
Comment 60 {Stub<ExceptionHandlerStub.exceptionHandler>@0x118dc28e0: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} <||@
|
|
1631
|
+
Comment 60 4 <||@
|
|
1632
|
+
Comment 66 {Field[name=CompilerToVM::Data::SharedRuntime_deopt_blob_unpack, type=address, offset=0, address=0x10b6bc128, value=4710744640]:0x118c84240} <||@
|
|
1633
|
+
Comment 66 5 <||@
|
|
1634
|
+
HexCodeFile>>> <|@
|
|
1635
|
+
end_nmethod
|
|
1636
|
+
begin_compilation
|
|
1637
|
+
name " HotSpotCompilation-337[JavaExamples.exampleLocalVariablesState(int, int)]"
|
|
1638
|
+
method "HotSpotCompilation-337[JavaExamples.exampleLocalVariablesState(int, int)]"
|
|
1639
|
+
date 1583713938465
|
|
1640
|
+
end_compilation
|
|
1641
|
+
begin_cfg
|
|
1642
|
+
name "After code installation"
|
|
1643
|
+
end_cfg
|
|
1644
|
+
begin_nmethod
|
|
1645
|
+
<<<HexCodeFile
|
|
1646
|
+
Platform AMD64 64 <||@
|
|
1647
|
+
HexCode 118dcca60 89842400c0feff4883ec1848896c241003f28974240490e8c478f8ff908b742404d1e6037424048bc6488b6c24104883c41885056ef582f0c5f877c3e83f5effff90e89977ebff90f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f448bb0000000000000000e9fbfffffff4 <||@
|
|
1648
|
+
Comment 0 [stack overflow check] <||@
|
|
1649
|
+
Comment 0 3 <||@
|
|
1650
|
+
Comment 0 1 <||@
|
|
1651
|
+
Comment 11 block B0 null <||@
|
|
1652
|
+
Comment 11 0 [rsi|DWORD, rdx|DWORD, rbp|QWORD] = LABEL numbPhis: 0 align: false label: ? <||@
|
|
1653
|
+
Comment 11 2 stack:16|QWORD = MOVE rbp|QWORD moveKind: QWORD <||@
|
|
1654
|
+
Comment 16 4 [] = HOTSPOTLOCKSTACK frameMapBuilder: org.graalvm.compiler.lir.amd64.AMD64FrameMapBuilder@13bf3e570 slotKind: QWORD <||@
|
|
1655
|
+
Comment 16 6 rsi|DWORD = ADD (x: rsi|DWORD, y: rdx|DWORD) size: DWORD <||@
|
|
1656
|
+
Comment 18 8 stack:28|DWORD = MOVE rsi|DWORD moveKind: DWORD <||@
|
|
1657
|
+
Comment 22 10 rax|DWORD = CALL_DIRECT [] [] callTarget: HotSpotMethod<JavaExamples.opaqueCall()> invokeKind: Static config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@113b187d8 state [bci:4] <||@
|
|
1658
|
+
Comment 22 8 <||@
|
|
1659
|
+
Comment 23 {HotSpotMethod<JavaExamples.opaqueCall()>} <||@
|
|
1660
|
+
Comment 28 []at JavaExamples.exampleLocalVariablesState(JavaExamples.java:75) [bci: 4, duringCall: true, rethrow: false]
|
|
1661
|
+
|0 |1 |2
|
|
1662
|
+
locals: |- |- |stack:28|DWORD <||@
|
|
1663
|
+
Comment 29 12 rsi|DWORD = SHL stack:28|DWORD size: DWORD <||@
|
|
1664
|
+
Comment 35 14 rsi|DWORD = ADD (x: rsi|DWORD, y: stack:28|DWORD) size: DWORD <||@
|
|
1665
|
+
Comment 39 16 rax|DWORD = MOVE rsi|DWORD moveKind: DWORD <||@
|
|
1666
|
+
Comment 41 18 RETURN (savedRbp: stack:16|QWORD, value: rax|DWORD) isStub: false requiresReservedStackAccessCheck: false thread: r15 scratchForSafepointOnReturn: rcx config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@113b187d8 <||@
|
|
1667
|
+
Comment 50 12 <||@
|
|
1668
|
+
Comment 60 {Stub<ExceptionHandlerStub.exceptionHandler>@0x118dc28e0: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} <||@
|
|
1669
|
+
Comment 60 4 <||@
|
|
1670
|
+
Comment 66 {Field[name=CompilerToVM::Data::SharedRuntime_deopt_blob_unpack, type=address, offset=0, address=0x10b6bc128, value=4710744640]:0x118c84240} <||@
|
|
1671
|
+
Comment 66 5 <||@
|
|
1672
|
+
HexCodeFile>>> <|@
|
|
1673
|
+
end_nmethod
|