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,3121 @@
|
|
|
1
|
+
begin_compilation
|
|
2
|
+
name " HotSpotCompilation-350[JavaExamples.exampleIntSwitch(int, int, int, int)]"
|
|
3
|
+
method "HotSpotCompilation-350[JavaExamples.exampleIntSwitch(int, int, int, int)]"
|
|
4
|
+
date 1583697383663
|
|
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 "B1" "B2" "B3"
|
|
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: v6
|
|
28
|
+
=== Usages ===
|
|
29
|
+
=== Predecessor ===
|
|
30
|
+
- >@ <|@
|
|
31
|
+
instruction <@StartNode|@org.graalvm.compiler.nodes.StartNode>@ stateAfter: - #next: v6 <|@ <|@
|
|
32
|
+
f <@~|@floating>@ <|@
|
|
33
|
+
tid a27 <|@
|
|
34
|
+
d <@d|@=== Debug Properties ===
|
|
35
|
+
isDefaultStable: false
|
|
36
|
+
nodeSourcePosition: at JavaExamples.exampleIntSwitch(JavaExamples.java:168) [bci: 29]
|
|
37
|
+
rawvalue: Instance<java.lang.Class>
|
|
38
|
+
stableDimension: 0
|
|
39
|
+
stamp: a!# Ljava/lang/Class;
|
|
40
|
+
stampKind: a -
|
|
41
|
+
value: Object[Instance<java.lang.Class>]
|
|
42
|
+
=== Inputs ===
|
|
43
|
+
=== Succesors ===
|
|
44
|
+
=== Usages ===
|
|
45
|
+
v33
|
|
46
|
+
=== Predecessor ===
|
|
47
|
+
- >@ <|@
|
|
48
|
+
instruction <@Constant|@org.graalvm.compiler.nodes.ConstantNode>@ <|@ <|@
|
|
49
|
+
f <@~|@floating>@ <|@
|
|
50
|
+
tid v33 <|@
|
|
51
|
+
d <@d|@=== Debug Properties ===
|
|
52
|
+
displacement: 128
|
|
53
|
+
scale: Times1
|
|
54
|
+
stamp: void*
|
|
55
|
+
=== Inputs ===
|
|
56
|
+
base: a27
|
|
57
|
+
index: -
|
|
58
|
+
=== Succesors ===
|
|
59
|
+
=== Usages ===
|
|
60
|
+
v30 v31 v32
|
|
61
|
+
=== Predecessor ===
|
|
62
|
+
- >@ <|@
|
|
63
|
+
instruction <@AMD64Address|@org.graalvm.compiler.core.amd64.AMD64AddressNode>@ base: a27 index: - <|@ <|@
|
|
64
|
+
f <@~|@floating>@ <|@
|
|
65
|
+
tid i1 <|@
|
|
66
|
+
d <@d|@=== Debug Properties ===
|
|
67
|
+
index: 0
|
|
68
|
+
stamp: i32
|
|
69
|
+
uncheckedStamp: [null]
|
|
70
|
+
=== Inputs ===
|
|
71
|
+
=== Succesors ===
|
|
72
|
+
=== Usages ===
|
|
73
|
+
v6
|
|
74
|
+
=== Predecessor ===
|
|
75
|
+
- >@ <|@
|
|
76
|
+
instruction <@Parameter|@org.graalvm.compiler.nodes.ParameterNode>@ <|@ <|@
|
|
77
|
+
f <@*|@fixed>@ <|@
|
|
78
|
+
tid v6 <|@
|
|
79
|
+
d <@d|@=== Debug Properties ===
|
|
80
|
+
keyProbabilities: [D@13601e300
|
|
81
|
+
keySuccessors: [I@13601e408
|
|
82
|
+
keys: [I@13601e3f0
|
|
83
|
+
nodeSourcePosition: at JavaExamples.exampleIntSwitch(JavaExamples.java:166) [bci: 1]
|
|
84
|
+
stamp: void
|
|
85
|
+
=== Inputs ===
|
|
86
|
+
value: i1
|
|
87
|
+
=== Succesors ===
|
|
88
|
+
successors: v7 v8 v9
|
|
89
|
+
=== Usages ===
|
|
90
|
+
=== Predecessor ===
|
|
91
|
+
v0 >@ <|@
|
|
92
|
+
instruction <@IntegerSwitch|@org.graalvm.compiler.nodes.extended.IntegerSwitchNode>@ value: i1 #successors: v7 v8 v9 <|@ <|@
|
|
93
|
+
end_IR
|
|
94
|
+
end_block
|
|
95
|
+
begin_block
|
|
96
|
+
name "B1"
|
|
97
|
+
from_bci -1
|
|
98
|
+
to_bci -1
|
|
99
|
+
predecessors "B0"
|
|
100
|
+
successors
|
|
101
|
+
xhandlers
|
|
102
|
+
flags
|
|
103
|
+
probability 4598791501599548168
|
|
104
|
+
begin_IR
|
|
105
|
+
HIR
|
|
106
|
+
f <@#|@fixed with next>@ <|@
|
|
107
|
+
tid v7 <|@
|
|
108
|
+
d <@d|@=== Debug Properties ===
|
|
109
|
+
nodeSourcePosition: at JavaExamples.exampleIntSwitch(JavaExamples.java:168) [bci: 28]
|
|
110
|
+
stamp: void
|
|
111
|
+
withSpeculationFence: false
|
|
112
|
+
=== Inputs ===
|
|
113
|
+
=== Succesors ===
|
|
114
|
+
next: v34
|
|
115
|
+
=== Usages ===
|
|
116
|
+
=== Predecessor ===
|
|
117
|
+
v6 >@ <|@
|
|
118
|
+
instruction <@Begin|@org.graalvm.compiler.nodes.BeginNode>@ #next: v34 <|@ <|@
|
|
119
|
+
f <@#|@fixed with next>@ <|@
|
|
120
|
+
tid v34 <|@
|
|
121
|
+
d <@d|@=== Debug Properties ===
|
|
122
|
+
barriers: 10
|
|
123
|
+
location: ANY_LOCATION
|
|
124
|
+
stamp: void
|
|
125
|
+
=== Inputs ===
|
|
126
|
+
=== Succesors ===
|
|
127
|
+
next: v30
|
|
128
|
+
=== Usages ===
|
|
129
|
+
=== Predecessor ===
|
|
130
|
+
v7 >@ <|@
|
|
131
|
+
instruction <@Membar|@org.graalvm.compiler.nodes.extended.MembarNode>@ #next: v30 <|@ <|@
|
|
132
|
+
f <@~|@floating>@ <|@
|
|
133
|
+
tid i2 <|@
|
|
134
|
+
d <@d|@=== Debug Properties ===
|
|
135
|
+
index: 1
|
|
136
|
+
stamp: i32
|
|
137
|
+
uncheckedStamp: [null]
|
|
138
|
+
=== Inputs ===
|
|
139
|
+
=== Succesors ===
|
|
140
|
+
=== Usages ===
|
|
141
|
+
v26 v30
|
|
142
|
+
=== Predecessor ===
|
|
143
|
+
- >@ <|@
|
|
144
|
+
instruction <@Parameter|@org.graalvm.compiler.nodes.ParameterNode>@ <|@ <|@
|
|
145
|
+
f <@#|@fixed with next>@ <|@
|
|
146
|
+
tid v30 <|@
|
|
147
|
+
d <@d|@=== Debug Properties ===
|
|
148
|
+
barrierType: NONE
|
|
149
|
+
location: JavaExamples.intField
|
|
150
|
+
nodeSourcePosition: at JavaExamples.exampleIntSwitch(JavaExamples.java:168) [bci: 29]
|
|
151
|
+
nullCheck: false
|
|
152
|
+
stamp: void
|
|
153
|
+
volatileAccess: true
|
|
154
|
+
=== Inputs ===
|
|
155
|
+
stateBefore: -
|
|
156
|
+
guard: -
|
|
157
|
+
address: v33
|
|
158
|
+
value: i2
|
|
159
|
+
stateAfter: -
|
|
160
|
+
lastLocationAccess: -
|
|
161
|
+
=== Succesors ===
|
|
162
|
+
next: v35
|
|
163
|
+
=== Usages ===
|
|
164
|
+
=== Predecessor ===
|
|
165
|
+
v34 >@ <|@
|
|
166
|
+
instruction <@Write|@org.graalvm.compiler.nodes.memory.WriteNode>@ stateBefore: - guard: - address: v33 value: i2 stateAfter: - lastLocationAccess: - #next: v35 <|@ <|@
|
|
167
|
+
f <@#|@fixed with next>@ <|@
|
|
168
|
+
tid v35 <|@
|
|
169
|
+
d <@d|@=== Debug Properties ===
|
|
170
|
+
barriers: 12
|
|
171
|
+
location: ANY_LOCATION
|
|
172
|
+
stamp: void
|
|
173
|
+
=== Inputs ===
|
|
174
|
+
=== Succesors ===
|
|
175
|
+
next: v26
|
|
176
|
+
=== Usages ===
|
|
177
|
+
=== Predecessor ===
|
|
178
|
+
v30 >@ <|@
|
|
179
|
+
instruction <@Membar|@org.graalvm.compiler.nodes.extended.MembarNode>@ #next: v26 <|@ <|@
|
|
180
|
+
f <@*|@fixed>@ <|@
|
|
181
|
+
tid v26 <|@
|
|
182
|
+
d <@d|@=== Debug Properties ===
|
|
183
|
+
nodeSourcePosition: at JavaExamples.exampleIntSwitch(JavaExamples.java:180) [bci: 57]
|
|
184
|
+
stamp: void
|
|
185
|
+
=== Inputs ===
|
|
186
|
+
result: i2
|
|
187
|
+
memoryMap: -
|
|
188
|
+
=== Succesors ===
|
|
189
|
+
=== Usages ===
|
|
190
|
+
=== Predecessor ===
|
|
191
|
+
v35 >@ <|@
|
|
192
|
+
instruction <@Return|@org.graalvm.compiler.nodes.ReturnNode>@ result: i2 memoryMap: - <|@ <|@
|
|
193
|
+
end_IR
|
|
194
|
+
end_block
|
|
195
|
+
begin_block
|
|
196
|
+
name "B2"
|
|
197
|
+
from_bci -1
|
|
198
|
+
to_bci -1
|
|
199
|
+
predecessors "B0"
|
|
200
|
+
successors
|
|
201
|
+
xhandlers
|
|
202
|
+
flags
|
|
203
|
+
probability 4599929253084357557
|
|
204
|
+
begin_IR
|
|
205
|
+
HIR
|
|
206
|
+
f <@#|@fixed with next>@ <|@
|
|
207
|
+
tid v8 <|@
|
|
208
|
+
d <@d|@=== Debug Properties ===
|
|
209
|
+
nodeSourcePosition: at JavaExamples.exampleIntSwitch(JavaExamples.java:172) [bci: 38]
|
|
210
|
+
stamp: void
|
|
211
|
+
withSpeculationFence: false
|
|
212
|
+
=== Inputs ===
|
|
213
|
+
=== Succesors ===
|
|
214
|
+
next: v36
|
|
215
|
+
=== Usages ===
|
|
216
|
+
=== Predecessor ===
|
|
217
|
+
v6 >@ <|@
|
|
218
|
+
instruction <@Begin|@org.graalvm.compiler.nodes.BeginNode>@ #next: v36 <|@ <|@
|
|
219
|
+
f <@#|@fixed with next>@ <|@
|
|
220
|
+
tid v36 <|@
|
|
221
|
+
d <@d|@=== Debug Properties ===
|
|
222
|
+
barriers: 10
|
|
223
|
+
location: ANY_LOCATION
|
|
224
|
+
stamp: void
|
|
225
|
+
=== Inputs ===
|
|
226
|
+
=== Succesors ===
|
|
227
|
+
next: v31
|
|
228
|
+
=== Usages ===
|
|
229
|
+
=== Predecessor ===
|
|
230
|
+
v8 >@ <|@
|
|
231
|
+
instruction <@Membar|@org.graalvm.compiler.nodes.extended.MembarNode>@ #next: v31 <|@ <|@
|
|
232
|
+
f <@~|@floating>@ <|@
|
|
233
|
+
tid i3 <|@
|
|
234
|
+
d <@d|@=== Debug Properties ===
|
|
235
|
+
index: 2
|
|
236
|
+
stamp: i32
|
|
237
|
+
uncheckedStamp: [null]
|
|
238
|
+
=== Inputs ===
|
|
239
|
+
=== Succesors ===
|
|
240
|
+
=== Usages ===
|
|
241
|
+
v25 v31
|
|
242
|
+
=== Predecessor ===
|
|
243
|
+
- >@ <|@
|
|
244
|
+
instruction <@Parameter|@org.graalvm.compiler.nodes.ParameterNode>@ <|@ <|@
|
|
245
|
+
f <@#|@fixed with next>@ <|@
|
|
246
|
+
tid v31 <|@
|
|
247
|
+
d <@d|@=== Debug Properties ===
|
|
248
|
+
barrierType: NONE
|
|
249
|
+
location: JavaExamples.intField
|
|
250
|
+
nodeSourcePosition: at JavaExamples.exampleIntSwitch(JavaExamples.java:172) [bci: 39]
|
|
251
|
+
nullCheck: false
|
|
252
|
+
stamp: void
|
|
253
|
+
volatileAccess: true
|
|
254
|
+
=== Inputs ===
|
|
255
|
+
stateBefore: -
|
|
256
|
+
guard: -
|
|
257
|
+
address: v33
|
|
258
|
+
value: i3
|
|
259
|
+
stateAfter: -
|
|
260
|
+
lastLocationAccess: -
|
|
261
|
+
=== Succesors ===
|
|
262
|
+
next: v37
|
|
263
|
+
=== Usages ===
|
|
264
|
+
=== Predecessor ===
|
|
265
|
+
v36 >@ <|@
|
|
266
|
+
instruction <@Write|@org.graalvm.compiler.nodes.memory.WriteNode>@ stateBefore: - guard: - address: v33 value: i3 stateAfter: - lastLocationAccess: - #next: v37 <|@ <|@
|
|
267
|
+
f <@#|@fixed with next>@ <|@
|
|
268
|
+
tid v37 <|@
|
|
269
|
+
d <@d|@=== Debug Properties ===
|
|
270
|
+
barriers: 12
|
|
271
|
+
location: ANY_LOCATION
|
|
272
|
+
stamp: void
|
|
273
|
+
=== Inputs ===
|
|
274
|
+
=== Succesors ===
|
|
275
|
+
next: v25
|
|
276
|
+
=== Usages ===
|
|
277
|
+
=== Predecessor ===
|
|
278
|
+
v31 >@ <|@
|
|
279
|
+
instruction <@Membar|@org.graalvm.compiler.nodes.extended.MembarNode>@ #next: v25 <|@ <|@
|
|
280
|
+
f <@*|@fixed>@ <|@
|
|
281
|
+
tid v25 <|@
|
|
282
|
+
d <@d|@=== Debug Properties ===
|
|
283
|
+
nodeSourcePosition: at JavaExamples.exampleIntSwitch(JavaExamples.java:180) [bci: 57]
|
|
284
|
+
stamp: void
|
|
285
|
+
=== Inputs ===
|
|
286
|
+
result: i3
|
|
287
|
+
memoryMap: -
|
|
288
|
+
=== Succesors ===
|
|
289
|
+
=== Usages ===
|
|
290
|
+
=== Predecessor ===
|
|
291
|
+
v37 >@ <|@
|
|
292
|
+
instruction <@Return|@org.graalvm.compiler.nodes.ReturnNode>@ result: i3 memoryMap: - <|@ <|@
|
|
293
|
+
end_IR
|
|
294
|
+
end_block
|
|
295
|
+
begin_block
|
|
296
|
+
name "B3"
|
|
297
|
+
from_bci -1
|
|
298
|
+
to_bci -1
|
|
299
|
+
predecessors "B0"
|
|
300
|
+
successors
|
|
301
|
+
xhandlers
|
|
302
|
+
flags
|
|
303
|
+
probability 4600308503579294019
|
|
304
|
+
begin_IR
|
|
305
|
+
HIR
|
|
306
|
+
f <@#|@fixed with next>@ <|@
|
|
307
|
+
tid v9 <|@
|
|
308
|
+
d <@d|@=== Debug Properties ===
|
|
309
|
+
nodeSourcePosition: at JavaExamples.exampleIntSwitch(JavaExamples.java:176) [bci: 48]
|
|
310
|
+
stamp: void
|
|
311
|
+
withSpeculationFence: false
|
|
312
|
+
=== Inputs ===
|
|
313
|
+
=== Succesors ===
|
|
314
|
+
next: v38
|
|
315
|
+
=== Usages ===
|
|
316
|
+
=== Predecessor ===
|
|
317
|
+
v6 >@ <|@
|
|
318
|
+
instruction <@Begin|@org.graalvm.compiler.nodes.BeginNode>@ #next: v38 <|@ <|@
|
|
319
|
+
f <@#|@fixed with next>@ <|@
|
|
320
|
+
tid v38 <|@
|
|
321
|
+
d <@d|@=== Debug Properties ===
|
|
322
|
+
barriers: 10
|
|
323
|
+
location: ANY_LOCATION
|
|
324
|
+
stamp: void
|
|
325
|
+
=== Inputs ===
|
|
326
|
+
=== Succesors ===
|
|
327
|
+
next: v32
|
|
328
|
+
=== Usages ===
|
|
329
|
+
=== Predecessor ===
|
|
330
|
+
v9 >@ <|@
|
|
331
|
+
instruction <@Membar|@org.graalvm.compiler.nodes.extended.MembarNode>@ #next: v32 <|@ <|@
|
|
332
|
+
f <@~|@floating>@ <|@
|
|
333
|
+
tid i4 <|@
|
|
334
|
+
d <@d|@=== Debug Properties ===
|
|
335
|
+
index: 3
|
|
336
|
+
stamp: i32
|
|
337
|
+
uncheckedStamp: [null]
|
|
338
|
+
=== Inputs ===
|
|
339
|
+
=== Succesors ===
|
|
340
|
+
=== Usages ===
|
|
341
|
+
v24 v32
|
|
342
|
+
=== Predecessor ===
|
|
343
|
+
- >@ <|@
|
|
344
|
+
instruction <@Parameter|@org.graalvm.compiler.nodes.ParameterNode>@ <|@ <|@
|
|
345
|
+
f <@#|@fixed with next>@ <|@
|
|
346
|
+
tid v32 <|@
|
|
347
|
+
d <@d|@=== Debug Properties ===
|
|
348
|
+
barrierType: NONE
|
|
349
|
+
location: JavaExamples.intField
|
|
350
|
+
nodeSourcePosition: at JavaExamples.exampleIntSwitch(JavaExamples.java:176) [bci: 49]
|
|
351
|
+
nullCheck: false
|
|
352
|
+
stamp: void
|
|
353
|
+
volatileAccess: true
|
|
354
|
+
=== Inputs ===
|
|
355
|
+
stateBefore: -
|
|
356
|
+
guard: -
|
|
357
|
+
address: v33
|
|
358
|
+
value: i4
|
|
359
|
+
stateAfter: -
|
|
360
|
+
lastLocationAccess: -
|
|
361
|
+
=== Succesors ===
|
|
362
|
+
next: v39
|
|
363
|
+
=== Usages ===
|
|
364
|
+
=== Predecessor ===
|
|
365
|
+
v38 >@ <|@
|
|
366
|
+
instruction <@Write|@org.graalvm.compiler.nodes.memory.WriteNode>@ stateBefore: - guard: - address: v33 value: i4 stateAfter: - lastLocationAccess: - #next: v39 <|@ <|@
|
|
367
|
+
f <@#|@fixed with next>@ <|@
|
|
368
|
+
tid v39 <|@
|
|
369
|
+
d <@d|@=== Debug Properties ===
|
|
370
|
+
barriers: 12
|
|
371
|
+
location: ANY_LOCATION
|
|
372
|
+
stamp: void
|
|
373
|
+
=== Inputs ===
|
|
374
|
+
=== Succesors ===
|
|
375
|
+
next: v24
|
|
376
|
+
=== Usages ===
|
|
377
|
+
=== Predecessor ===
|
|
378
|
+
v32 >@ <|@
|
|
379
|
+
instruction <@Membar|@org.graalvm.compiler.nodes.extended.MembarNode>@ #next: v24 <|@ <|@
|
|
380
|
+
f <@*|@fixed>@ <|@
|
|
381
|
+
tid v24 <|@
|
|
382
|
+
d <@d|@=== Debug Properties ===
|
|
383
|
+
nodeSourcePosition: at JavaExamples.exampleIntSwitch(JavaExamples.java:180) [bci: 57]
|
|
384
|
+
stamp: void
|
|
385
|
+
=== Inputs ===
|
|
386
|
+
result: i4
|
|
387
|
+
memoryMap: -
|
|
388
|
+
=== Succesors ===
|
|
389
|
+
=== Usages ===
|
|
390
|
+
=== Predecessor ===
|
|
391
|
+
v39 >@ <|@
|
|
392
|
+
instruction <@Return|@org.graalvm.compiler.nodes.ReturnNode>@ result: i4 memoryMap: - <|@ <|@
|
|
393
|
+
end_IR
|
|
394
|
+
end_block
|
|
395
|
+
end_cfg
|
|
396
|
+
begin_cfg
|
|
397
|
+
name "After LIRGeneration"
|
|
398
|
+
begin_block
|
|
399
|
+
name "B0"
|
|
400
|
+
from_bci -1
|
|
401
|
+
to_bci -1
|
|
402
|
+
predecessors
|
|
403
|
+
successors "B1" "B2" "B3"
|
|
404
|
+
xhandlers
|
|
405
|
+
flags
|
|
406
|
+
probability 4607182418800017408
|
|
407
|
+
begin_IR
|
|
408
|
+
LIR
|
|
409
|
+
nr -1 <|@ instruction [rsi|DWORD, rdx|DWORD, rcx|DWORD, r8|DWORD, rbp|QWORD] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
|
|
410
|
+
nr -1 <|@ instruction v5|QWORD = MOVE rbp|QWORD moveKind: QWORD <|@ <|@
|
|
411
|
+
nr -1 <|@ instruction [] = HOTSPOTLOCKSTACK frameMapBuilder: org.graalvm.compiler.lir.amd64.AMD64FrameMapBuilder@136728e98 slotKind: QWORD <|@ <|@
|
|
412
|
+
nr -1 <|@ instruction v0|DWORD = MOVE rsi|DWORD moveKind: DWORD <|@ <|@
|
|
413
|
+
nr -1 <|@ instruction v1|DWORD = MOVE rdx|DWORD moveKind: DWORD <|@ <|@
|
|
414
|
+
nr -1 <|@ instruction v2|DWORD = MOVE rcx|DWORD moveKind: DWORD <|@ <|@
|
|
415
|
+
nr -1 <|@ instruction v3|DWORD = MOVE r8|DWORD moveKind: DWORD <|@ <|@
|
|
416
|
+
nr -1 <|@ instruction v4|QWORD[.] = HOTSPOTLOADOBJECTCONSTANT input: Object[Instance<java.lang.Class>] <|@ <|@
|
|
417
|
+
nr -1 <|@ instruction AMD64HOTSPOTSTRATEGYSWITCH ~v0|DWORD - keyConstants: [int[0|0x0], int[1|0x1]] keyTargets: [B0 -> B1, B0 -> B2] defaultTarget: B0 -> B3 strategy: SequentialStrategy[avgEffort=1.6526315789473682] <|@ <|@
|
|
418
|
+
end_IR
|
|
419
|
+
end_block
|
|
420
|
+
begin_block
|
|
421
|
+
name "B3"
|
|
422
|
+
from_bci -1
|
|
423
|
+
to_bci -1
|
|
424
|
+
predecessors "B0"
|
|
425
|
+
successors
|
|
426
|
+
xhandlers
|
|
427
|
+
flags
|
|
428
|
+
probability 4600308503579294019
|
|
429
|
+
begin_IR
|
|
430
|
+
LIR
|
|
431
|
+
nr -1 <|@ instruction [] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
|
|
432
|
+
nr -1 <|@ instruction MOV (x: [v4|QWORD[.] + 128], y: v3|DWORD) size: DWORD <|@ <|@
|
|
433
|
+
nr -1 <|@ instruction MEMBAR barriers: 4 <|@ <|@
|
|
434
|
+
nr -1 <|@ instruction rax|DWORD = MOVE v3|DWORD moveKind: DWORD <|@ <|@
|
|
435
|
+
nr -1 <|@ instruction RETURN (savedRbp: v5|QWORD, value: rax|DWORD) isStub: false requiresReservedStackAccessCheck: false thread: r15 scratchForSafepointOnReturn: rcx config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@10e2187d8 <|@ <|@
|
|
436
|
+
end_IR
|
|
437
|
+
end_block
|
|
438
|
+
begin_block
|
|
439
|
+
name "B2"
|
|
440
|
+
from_bci -1
|
|
441
|
+
to_bci -1
|
|
442
|
+
predecessors "B0"
|
|
443
|
+
successors
|
|
444
|
+
xhandlers
|
|
445
|
+
flags
|
|
446
|
+
probability 4599929253084357557
|
|
447
|
+
begin_IR
|
|
448
|
+
LIR
|
|
449
|
+
nr -1 <|@ instruction [] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
|
|
450
|
+
nr -1 <|@ instruction MOV (x: [v4|QWORD[.] + 128], y: v2|DWORD) size: DWORD <|@ <|@
|
|
451
|
+
nr -1 <|@ instruction MEMBAR barriers: 4 <|@ <|@
|
|
452
|
+
nr -1 <|@ instruction rax|DWORD = MOVE v2|DWORD moveKind: DWORD <|@ <|@
|
|
453
|
+
nr -1 <|@ instruction RETURN (savedRbp: v5|QWORD, value: rax|DWORD) isStub: false requiresReservedStackAccessCheck: false thread: r15 scratchForSafepointOnReturn: rcx config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@10e2187d8 <|@ <|@
|
|
454
|
+
end_IR
|
|
455
|
+
end_block
|
|
456
|
+
begin_block
|
|
457
|
+
name "B1"
|
|
458
|
+
from_bci -1
|
|
459
|
+
to_bci -1
|
|
460
|
+
predecessors "B0"
|
|
461
|
+
successors
|
|
462
|
+
xhandlers
|
|
463
|
+
flags
|
|
464
|
+
probability 4598791501599548168
|
|
465
|
+
begin_IR
|
|
466
|
+
LIR
|
|
467
|
+
nr -1 <|@ instruction [] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
|
|
468
|
+
nr -1 <|@ instruction MOV (x: [v4|QWORD[.] + 128], y: v1|DWORD) size: DWORD <|@ <|@
|
|
469
|
+
nr -1 <|@ instruction MEMBAR barriers: 4 <|@ <|@
|
|
470
|
+
nr -1 <|@ instruction rax|DWORD = MOVE v1|DWORD moveKind: DWORD <|@ <|@
|
|
471
|
+
nr -1 <|@ instruction RETURN (savedRbp: v5|QWORD, value: rax|DWORD) isStub: false requiresReservedStackAccessCheck: false thread: r15 scratchForSafepointOnReturn: rcx config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@10e2187d8 <|@ <|@
|
|
472
|
+
end_IR
|
|
473
|
+
end_block
|
|
474
|
+
end_cfg
|
|
475
|
+
begin_bytecodes
|
|
476
|
+
0: iload_0
|
|
477
|
+
1: lookupswitch [2] {0: 28, 1: 38} default: 48
|
|
478
|
+
28: iload_1
|
|
479
|
+
29: putstatic #54 // intField:int
|
|
480
|
+
32: iload_1
|
|
481
|
+
33: istore 4
|
|
482
|
+
35: goto 55
|
|
483
|
+
38: iload_2
|
|
484
|
+
39: putstatic #54 // intField:int
|
|
485
|
+
42: iload_2
|
|
486
|
+
43: istore 4
|
|
487
|
+
45: goto 55
|
|
488
|
+
48: iload_3
|
|
489
|
+
49: putstatic #54 // intField:int
|
|
490
|
+
52: iload_3
|
|
491
|
+
53: istore 4
|
|
492
|
+
55: iload 4
|
|
493
|
+
57: ireturn
|
|
494
|
+
<|@
|
|
495
|
+
end_bytecodes
|
|
496
|
+
begin_cfg
|
|
497
|
+
name "After LIR generation"
|
|
498
|
+
begin_block
|
|
499
|
+
name "B0"
|
|
500
|
+
from_bci -1
|
|
501
|
+
to_bci -1
|
|
502
|
+
predecessors
|
|
503
|
+
successors "B1" "B2" "B3"
|
|
504
|
+
xhandlers
|
|
505
|
+
flags
|
|
506
|
+
probability 4607182418800017408
|
|
507
|
+
begin_IR
|
|
508
|
+
HIR
|
|
509
|
+
f <@#|@fixed with next>@ <|@
|
|
510
|
+
tid v0 <|@
|
|
511
|
+
d <@d|@=== Debug Properties ===
|
|
512
|
+
stamp: void
|
|
513
|
+
withSpeculationFence: false
|
|
514
|
+
=== Inputs ===
|
|
515
|
+
stateAfter: -
|
|
516
|
+
=== Succesors ===
|
|
517
|
+
next: v6
|
|
518
|
+
=== Usages ===
|
|
519
|
+
=== Predecessor ===
|
|
520
|
+
- >@ <|@
|
|
521
|
+
instruction <@StartNode|@org.graalvm.compiler.nodes.StartNode>@ stateAfter: - #next: v6 <|@ <|@
|
|
522
|
+
f <@~|@floating>@ <|@
|
|
523
|
+
tid a27 <|@
|
|
524
|
+
result v4|QWORD[.] <|@
|
|
525
|
+
d <@d|@=== Debug Properties ===
|
|
526
|
+
isDefaultStable: false
|
|
527
|
+
nodeSourcePosition: at JavaExamples.exampleIntSwitch(JavaExamples.java:168) [bci: 29]
|
|
528
|
+
rawvalue: Instance<java.lang.Class>
|
|
529
|
+
stableDimension: 0
|
|
530
|
+
stamp: a!# Ljava/lang/Class;
|
|
531
|
+
stampKind: a -
|
|
532
|
+
value: Object[Instance<java.lang.Class>]
|
|
533
|
+
=== Inputs ===
|
|
534
|
+
=== Succesors ===
|
|
535
|
+
=== Usages ===
|
|
536
|
+
v33
|
|
537
|
+
=== Predecessor ===
|
|
538
|
+
- >@ <|@
|
|
539
|
+
instruction <@Constant|@org.graalvm.compiler.nodes.ConstantNode>@ <|@ <|@
|
|
540
|
+
f <@~|@floating>@ <|@
|
|
541
|
+
tid v33 <|@
|
|
542
|
+
result [v4|QWORD[.] + 128] <|@
|
|
543
|
+
d <@d|@=== Debug Properties ===
|
|
544
|
+
displacement: 128
|
|
545
|
+
scale: Times1
|
|
546
|
+
stamp: void*
|
|
547
|
+
=== Inputs ===
|
|
548
|
+
base: a27
|
|
549
|
+
index: -
|
|
550
|
+
=== Succesors ===
|
|
551
|
+
=== Usages ===
|
|
552
|
+
v30 v31 v32
|
|
553
|
+
=== Predecessor ===
|
|
554
|
+
- >@ <|@
|
|
555
|
+
instruction <@AMD64Address|@org.graalvm.compiler.core.amd64.AMD64AddressNode>@ base: a27 index: - <|@ <|@
|
|
556
|
+
f <@~|@floating>@ <|@
|
|
557
|
+
tid i1 <|@
|
|
558
|
+
result v0|DWORD <|@
|
|
559
|
+
d <@d|@=== Debug Properties ===
|
|
560
|
+
index: 0
|
|
561
|
+
stamp: i32
|
|
562
|
+
uncheckedStamp: [null]
|
|
563
|
+
=== Inputs ===
|
|
564
|
+
=== Succesors ===
|
|
565
|
+
=== Usages ===
|
|
566
|
+
v6
|
|
567
|
+
=== Predecessor ===
|
|
568
|
+
- >@ <|@
|
|
569
|
+
instruction <@Parameter|@org.graalvm.compiler.nodes.ParameterNode>@ <|@ <|@
|
|
570
|
+
f <@*|@fixed>@ <|@
|
|
571
|
+
tid v6 <|@
|
|
572
|
+
d <@d|@=== Debug Properties ===
|
|
573
|
+
keyProbabilities: [D@13601e300
|
|
574
|
+
keySuccessors: [I@13601e408
|
|
575
|
+
keys: [I@13601e3f0
|
|
576
|
+
nodeSourcePosition: at JavaExamples.exampleIntSwitch(JavaExamples.java:166) [bci: 1]
|
|
577
|
+
stamp: void
|
|
578
|
+
=== Inputs ===
|
|
579
|
+
value: i1
|
|
580
|
+
=== Succesors ===
|
|
581
|
+
successors: v7 v8 v9
|
|
582
|
+
=== Usages ===
|
|
583
|
+
=== Predecessor ===
|
|
584
|
+
v0 >@ <|@
|
|
585
|
+
instruction <@IntegerSwitch|@org.graalvm.compiler.nodes.extended.IntegerSwitchNode>@ value: i1 #successors: v7 v8 v9 <|@ <|@
|
|
586
|
+
end_IR
|
|
587
|
+
begin_IR
|
|
588
|
+
LIR
|
|
589
|
+
nr -1 <|@ instruction [rsi|DWORD, rdx|DWORD, rcx|DWORD, r8|DWORD, rbp|QWORD] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
|
|
590
|
+
nr -1 <|@ instruction v5|QWORD = MOVE rbp|QWORD moveKind: QWORD <|@ <|@
|
|
591
|
+
nr -1 <|@ instruction [] = HOTSPOTLOCKSTACK frameMapBuilder: org.graalvm.compiler.lir.amd64.AMD64FrameMapBuilder@136728e98 slotKind: QWORD <|@ <|@
|
|
592
|
+
nr -1 <|@ instruction v0|DWORD = MOVE rsi|DWORD moveKind: DWORD <|@ <|@
|
|
593
|
+
nr -1 <|@ instruction v1|DWORD = MOVE rdx|DWORD moveKind: DWORD <|@ <|@
|
|
594
|
+
nr -1 <|@ instruction v2|DWORD = MOVE rcx|DWORD moveKind: DWORD <|@ <|@
|
|
595
|
+
nr -1 <|@ instruction v3|DWORD = MOVE r8|DWORD moveKind: DWORD <|@ <|@
|
|
596
|
+
nr -1 <|@ instruction v4|QWORD[.] = HOTSPOTLOADOBJECTCONSTANT input: Object[Instance<java.lang.Class>] <|@ <|@
|
|
597
|
+
nr -1 <|@ instruction AMD64HOTSPOTSTRATEGYSWITCH ~v0|DWORD - keyConstants: [int[0|0x0], int[1|0x1]] keyTargets: [B0 -> B1, B0 -> B2] defaultTarget: B0 -> B3 strategy: SequentialStrategy[avgEffort=1.6526315789473682] <|@ <|@
|
|
598
|
+
end_IR
|
|
599
|
+
end_block
|
|
600
|
+
begin_block
|
|
601
|
+
name "B1"
|
|
602
|
+
from_bci -1
|
|
603
|
+
to_bci -1
|
|
604
|
+
predecessors "B0"
|
|
605
|
+
successors
|
|
606
|
+
xhandlers
|
|
607
|
+
flags
|
|
608
|
+
probability 4598791501599548168
|
|
609
|
+
begin_IR
|
|
610
|
+
HIR
|
|
611
|
+
f <@#|@fixed with next>@ <|@
|
|
612
|
+
tid v7 <|@
|
|
613
|
+
d <@d|@=== Debug Properties ===
|
|
614
|
+
nodeSourcePosition: at JavaExamples.exampleIntSwitch(JavaExamples.java:168) [bci: 28]
|
|
615
|
+
stamp: void
|
|
616
|
+
withSpeculationFence: false
|
|
617
|
+
=== Inputs ===
|
|
618
|
+
=== Succesors ===
|
|
619
|
+
next: v34
|
|
620
|
+
=== Usages ===
|
|
621
|
+
=== Predecessor ===
|
|
622
|
+
v6 >@ <|@
|
|
623
|
+
instruction <@Begin|@org.graalvm.compiler.nodes.BeginNode>@ #next: v34 <|@ <|@
|
|
624
|
+
f <@#|@fixed with next>@ <|@
|
|
625
|
+
tid v34 <|@
|
|
626
|
+
d <@d|@=== Debug Properties ===
|
|
627
|
+
barriers: 10
|
|
628
|
+
location: ANY_LOCATION
|
|
629
|
+
stamp: void
|
|
630
|
+
=== Inputs ===
|
|
631
|
+
=== Succesors ===
|
|
632
|
+
next: v30
|
|
633
|
+
=== Usages ===
|
|
634
|
+
=== Predecessor ===
|
|
635
|
+
v7 >@ <|@
|
|
636
|
+
instruction <@Membar|@org.graalvm.compiler.nodes.extended.MembarNode>@ #next: v30 <|@ <|@
|
|
637
|
+
f <@~|@floating>@ <|@
|
|
638
|
+
tid i2 <|@
|
|
639
|
+
result v1|DWORD <|@
|
|
640
|
+
d <@d|@=== Debug Properties ===
|
|
641
|
+
index: 1
|
|
642
|
+
stamp: i32
|
|
643
|
+
uncheckedStamp: [null]
|
|
644
|
+
=== Inputs ===
|
|
645
|
+
=== Succesors ===
|
|
646
|
+
=== Usages ===
|
|
647
|
+
v26 v30
|
|
648
|
+
=== Predecessor ===
|
|
649
|
+
- >@ <|@
|
|
650
|
+
instruction <@Parameter|@org.graalvm.compiler.nodes.ParameterNode>@ <|@ <|@
|
|
651
|
+
f <@#|@fixed with next>@ <|@
|
|
652
|
+
tid v30 <|@
|
|
653
|
+
d <@d|@=== Debug Properties ===
|
|
654
|
+
barrierType: NONE
|
|
655
|
+
location: JavaExamples.intField
|
|
656
|
+
nodeSourcePosition: at JavaExamples.exampleIntSwitch(JavaExamples.java:168) [bci: 29]
|
|
657
|
+
nullCheck: false
|
|
658
|
+
stamp: void
|
|
659
|
+
volatileAccess: true
|
|
660
|
+
=== Inputs ===
|
|
661
|
+
stateBefore: -
|
|
662
|
+
guard: -
|
|
663
|
+
address: v33
|
|
664
|
+
value: i2
|
|
665
|
+
stateAfter: -
|
|
666
|
+
lastLocationAccess: -
|
|
667
|
+
=== Succesors ===
|
|
668
|
+
next: v35
|
|
669
|
+
=== Usages ===
|
|
670
|
+
=== Predecessor ===
|
|
671
|
+
v34 >@ <|@
|
|
672
|
+
instruction <@Write|@org.graalvm.compiler.nodes.memory.WriteNode>@ stateBefore: - guard: - address: v33 value: i2 stateAfter: - lastLocationAccess: - #next: v35 <|@ <|@
|
|
673
|
+
f <@#|@fixed with next>@ <|@
|
|
674
|
+
tid v35 <|@
|
|
675
|
+
d <@d|@=== Debug Properties ===
|
|
676
|
+
barriers: 12
|
|
677
|
+
location: ANY_LOCATION
|
|
678
|
+
stamp: void
|
|
679
|
+
=== Inputs ===
|
|
680
|
+
=== Succesors ===
|
|
681
|
+
next: v26
|
|
682
|
+
=== Usages ===
|
|
683
|
+
=== Predecessor ===
|
|
684
|
+
v30 >@ <|@
|
|
685
|
+
instruction <@Membar|@org.graalvm.compiler.nodes.extended.MembarNode>@ #next: v26 <|@ <|@
|
|
686
|
+
f <@*|@fixed>@ <|@
|
|
687
|
+
tid v26 <|@
|
|
688
|
+
d <@d|@=== Debug Properties ===
|
|
689
|
+
nodeSourcePosition: at JavaExamples.exampleIntSwitch(JavaExamples.java:180) [bci: 57]
|
|
690
|
+
stamp: void
|
|
691
|
+
=== Inputs ===
|
|
692
|
+
result: i2
|
|
693
|
+
memoryMap: -
|
|
694
|
+
=== Succesors ===
|
|
695
|
+
=== Usages ===
|
|
696
|
+
=== Predecessor ===
|
|
697
|
+
v35 >@ <|@
|
|
698
|
+
instruction <@Return|@org.graalvm.compiler.nodes.ReturnNode>@ result: i2 memoryMap: - <|@ <|@
|
|
699
|
+
end_IR
|
|
700
|
+
begin_IR
|
|
701
|
+
LIR
|
|
702
|
+
nr -1 <|@ instruction [] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
|
|
703
|
+
nr -1 <|@ instruction MOV (x: [v4|QWORD[.] + 128], y: v1|DWORD) size: DWORD <|@ <|@
|
|
704
|
+
nr -1 <|@ instruction MEMBAR barriers: 4 <|@ <|@
|
|
705
|
+
nr -1 <|@ instruction rax|DWORD = MOVE v1|DWORD moveKind: DWORD <|@ <|@
|
|
706
|
+
nr -1 <|@ instruction RETURN (savedRbp: v5|QWORD, value: rax|DWORD) isStub: false requiresReservedStackAccessCheck: false thread: r15 scratchForSafepointOnReturn: rcx config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@10e2187d8 <|@ <|@
|
|
707
|
+
end_IR
|
|
708
|
+
end_block
|
|
709
|
+
begin_block
|
|
710
|
+
name "B2"
|
|
711
|
+
from_bci -1
|
|
712
|
+
to_bci -1
|
|
713
|
+
predecessors "B0"
|
|
714
|
+
successors
|
|
715
|
+
xhandlers
|
|
716
|
+
flags
|
|
717
|
+
probability 4599929253084357557
|
|
718
|
+
begin_IR
|
|
719
|
+
HIR
|
|
720
|
+
f <@#|@fixed with next>@ <|@
|
|
721
|
+
tid v8 <|@
|
|
722
|
+
d <@d|@=== Debug Properties ===
|
|
723
|
+
nodeSourcePosition: at JavaExamples.exampleIntSwitch(JavaExamples.java:172) [bci: 38]
|
|
724
|
+
stamp: void
|
|
725
|
+
withSpeculationFence: false
|
|
726
|
+
=== Inputs ===
|
|
727
|
+
=== Succesors ===
|
|
728
|
+
next: v36
|
|
729
|
+
=== Usages ===
|
|
730
|
+
=== Predecessor ===
|
|
731
|
+
v6 >@ <|@
|
|
732
|
+
instruction <@Begin|@org.graalvm.compiler.nodes.BeginNode>@ #next: v36 <|@ <|@
|
|
733
|
+
f <@#|@fixed with next>@ <|@
|
|
734
|
+
tid v36 <|@
|
|
735
|
+
d <@d|@=== Debug Properties ===
|
|
736
|
+
barriers: 10
|
|
737
|
+
location: ANY_LOCATION
|
|
738
|
+
stamp: void
|
|
739
|
+
=== Inputs ===
|
|
740
|
+
=== Succesors ===
|
|
741
|
+
next: v31
|
|
742
|
+
=== Usages ===
|
|
743
|
+
=== Predecessor ===
|
|
744
|
+
v8 >@ <|@
|
|
745
|
+
instruction <@Membar|@org.graalvm.compiler.nodes.extended.MembarNode>@ #next: v31 <|@ <|@
|
|
746
|
+
f <@~|@floating>@ <|@
|
|
747
|
+
tid i3 <|@
|
|
748
|
+
result v2|DWORD <|@
|
|
749
|
+
d <@d|@=== Debug Properties ===
|
|
750
|
+
index: 2
|
|
751
|
+
stamp: i32
|
|
752
|
+
uncheckedStamp: [null]
|
|
753
|
+
=== Inputs ===
|
|
754
|
+
=== Succesors ===
|
|
755
|
+
=== Usages ===
|
|
756
|
+
v25 v31
|
|
757
|
+
=== Predecessor ===
|
|
758
|
+
- >@ <|@
|
|
759
|
+
instruction <@Parameter|@org.graalvm.compiler.nodes.ParameterNode>@ <|@ <|@
|
|
760
|
+
f <@#|@fixed with next>@ <|@
|
|
761
|
+
tid v31 <|@
|
|
762
|
+
d <@d|@=== Debug Properties ===
|
|
763
|
+
barrierType: NONE
|
|
764
|
+
location: JavaExamples.intField
|
|
765
|
+
nodeSourcePosition: at JavaExamples.exampleIntSwitch(JavaExamples.java:172) [bci: 39]
|
|
766
|
+
nullCheck: false
|
|
767
|
+
stamp: void
|
|
768
|
+
volatileAccess: true
|
|
769
|
+
=== Inputs ===
|
|
770
|
+
stateBefore: -
|
|
771
|
+
guard: -
|
|
772
|
+
address: v33
|
|
773
|
+
value: i3
|
|
774
|
+
stateAfter: -
|
|
775
|
+
lastLocationAccess: -
|
|
776
|
+
=== Succesors ===
|
|
777
|
+
next: v37
|
|
778
|
+
=== Usages ===
|
|
779
|
+
=== Predecessor ===
|
|
780
|
+
v36 >@ <|@
|
|
781
|
+
instruction <@Write|@org.graalvm.compiler.nodes.memory.WriteNode>@ stateBefore: - guard: - address: v33 value: i3 stateAfter: - lastLocationAccess: - #next: v37 <|@ <|@
|
|
782
|
+
f <@#|@fixed with next>@ <|@
|
|
783
|
+
tid v37 <|@
|
|
784
|
+
d <@d|@=== Debug Properties ===
|
|
785
|
+
barriers: 12
|
|
786
|
+
location: ANY_LOCATION
|
|
787
|
+
stamp: void
|
|
788
|
+
=== Inputs ===
|
|
789
|
+
=== Succesors ===
|
|
790
|
+
next: v25
|
|
791
|
+
=== Usages ===
|
|
792
|
+
=== Predecessor ===
|
|
793
|
+
v31 >@ <|@
|
|
794
|
+
instruction <@Membar|@org.graalvm.compiler.nodes.extended.MembarNode>@ #next: v25 <|@ <|@
|
|
795
|
+
f <@*|@fixed>@ <|@
|
|
796
|
+
tid v25 <|@
|
|
797
|
+
d <@d|@=== Debug Properties ===
|
|
798
|
+
nodeSourcePosition: at JavaExamples.exampleIntSwitch(JavaExamples.java:180) [bci: 57]
|
|
799
|
+
stamp: void
|
|
800
|
+
=== Inputs ===
|
|
801
|
+
result: i3
|
|
802
|
+
memoryMap: -
|
|
803
|
+
=== Succesors ===
|
|
804
|
+
=== Usages ===
|
|
805
|
+
=== Predecessor ===
|
|
806
|
+
v37 >@ <|@
|
|
807
|
+
instruction <@Return|@org.graalvm.compiler.nodes.ReturnNode>@ result: i3 memoryMap: - <|@ <|@
|
|
808
|
+
end_IR
|
|
809
|
+
begin_IR
|
|
810
|
+
LIR
|
|
811
|
+
nr -1 <|@ instruction [] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
|
|
812
|
+
nr -1 <|@ instruction MOV (x: [v4|QWORD[.] + 128], y: v2|DWORD) size: DWORD <|@ <|@
|
|
813
|
+
nr -1 <|@ instruction MEMBAR barriers: 4 <|@ <|@
|
|
814
|
+
nr -1 <|@ instruction rax|DWORD = MOVE v2|DWORD moveKind: DWORD <|@ <|@
|
|
815
|
+
nr -1 <|@ instruction RETURN (savedRbp: v5|QWORD, value: rax|DWORD) isStub: false requiresReservedStackAccessCheck: false thread: r15 scratchForSafepointOnReturn: rcx config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@10e2187d8 <|@ <|@
|
|
816
|
+
end_IR
|
|
817
|
+
end_block
|
|
818
|
+
begin_block
|
|
819
|
+
name "B3"
|
|
820
|
+
from_bci -1
|
|
821
|
+
to_bci -1
|
|
822
|
+
predecessors "B0"
|
|
823
|
+
successors
|
|
824
|
+
xhandlers
|
|
825
|
+
flags
|
|
826
|
+
probability 4600308503579294019
|
|
827
|
+
begin_IR
|
|
828
|
+
HIR
|
|
829
|
+
f <@#|@fixed with next>@ <|@
|
|
830
|
+
tid v9 <|@
|
|
831
|
+
d <@d|@=== Debug Properties ===
|
|
832
|
+
nodeSourcePosition: at JavaExamples.exampleIntSwitch(JavaExamples.java:176) [bci: 48]
|
|
833
|
+
stamp: void
|
|
834
|
+
withSpeculationFence: false
|
|
835
|
+
=== Inputs ===
|
|
836
|
+
=== Succesors ===
|
|
837
|
+
next: v38
|
|
838
|
+
=== Usages ===
|
|
839
|
+
=== Predecessor ===
|
|
840
|
+
v6 >@ <|@
|
|
841
|
+
instruction <@Begin|@org.graalvm.compiler.nodes.BeginNode>@ #next: v38 <|@ <|@
|
|
842
|
+
f <@#|@fixed with next>@ <|@
|
|
843
|
+
tid v38 <|@
|
|
844
|
+
d <@d|@=== Debug Properties ===
|
|
845
|
+
barriers: 10
|
|
846
|
+
location: ANY_LOCATION
|
|
847
|
+
stamp: void
|
|
848
|
+
=== Inputs ===
|
|
849
|
+
=== Succesors ===
|
|
850
|
+
next: v32
|
|
851
|
+
=== Usages ===
|
|
852
|
+
=== Predecessor ===
|
|
853
|
+
v9 >@ <|@
|
|
854
|
+
instruction <@Membar|@org.graalvm.compiler.nodes.extended.MembarNode>@ #next: v32 <|@ <|@
|
|
855
|
+
f <@~|@floating>@ <|@
|
|
856
|
+
tid i4 <|@
|
|
857
|
+
result v3|DWORD <|@
|
|
858
|
+
d <@d|@=== Debug Properties ===
|
|
859
|
+
index: 3
|
|
860
|
+
stamp: i32
|
|
861
|
+
uncheckedStamp: [null]
|
|
862
|
+
=== Inputs ===
|
|
863
|
+
=== Succesors ===
|
|
864
|
+
=== Usages ===
|
|
865
|
+
v24 v32
|
|
866
|
+
=== Predecessor ===
|
|
867
|
+
- >@ <|@
|
|
868
|
+
instruction <@Parameter|@org.graalvm.compiler.nodes.ParameterNode>@ <|@ <|@
|
|
869
|
+
f <@#|@fixed with next>@ <|@
|
|
870
|
+
tid v32 <|@
|
|
871
|
+
d <@d|@=== Debug Properties ===
|
|
872
|
+
barrierType: NONE
|
|
873
|
+
location: JavaExamples.intField
|
|
874
|
+
nodeSourcePosition: at JavaExamples.exampleIntSwitch(JavaExamples.java:176) [bci: 49]
|
|
875
|
+
nullCheck: false
|
|
876
|
+
stamp: void
|
|
877
|
+
volatileAccess: true
|
|
878
|
+
=== Inputs ===
|
|
879
|
+
stateBefore: -
|
|
880
|
+
guard: -
|
|
881
|
+
address: v33
|
|
882
|
+
value: i4
|
|
883
|
+
stateAfter: -
|
|
884
|
+
lastLocationAccess: -
|
|
885
|
+
=== Succesors ===
|
|
886
|
+
next: v39
|
|
887
|
+
=== Usages ===
|
|
888
|
+
=== Predecessor ===
|
|
889
|
+
v38 >@ <|@
|
|
890
|
+
instruction <@Write|@org.graalvm.compiler.nodes.memory.WriteNode>@ stateBefore: - guard: - address: v33 value: i4 stateAfter: - lastLocationAccess: - #next: v39 <|@ <|@
|
|
891
|
+
f <@#|@fixed with next>@ <|@
|
|
892
|
+
tid v39 <|@
|
|
893
|
+
d <@d|@=== Debug Properties ===
|
|
894
|
+
barriers: 12
|
|
895
|
+
location: ANY_LOCATION
|
|
896
|
+
stamp: void
|
|
897
|
+
=== Inputs ===
|
|
898
|
+
=== Succesors ===
|
|
899
|
+
next: v24
|
|
900
|
+
=== Usages ===
|
|
901
|
+
=== Predecessor ===
|
|
902
|
+
v32 >@ <|@
|
|
903
|
+
instruction <@Membar|@org.graalvm.compiler.nodes.extended.MembarNode>@ #next: v24 <|@ <|@
|
|
904
|
+
f <@*|@fixed>@ <|@
|
|
905
|
+
tid v24 <|@
|
|
906
|
+
d <@d|@=== Debug Properties ===
|
|
907
|
+
nodeSourcePosition: at JavaExamples.exampleIntSwitch(JavaExamples.java:180) [bci: 57]
|
|
908
|
+
stamp: void
|
|
909
|
+
=== Inputs ===
|
|
910
|
+
result: i4
|
|
911
|
+
memoryMap: -
|
|
912
|
+
=== Succesors ===
|
|
913
|
+
=== Usages ===
|
|
914
|
+
=== Predecessor ===
|
|
915
|
+
v39 >@ <|@
|
|
916
|
+
instruction <@Return|@org.graalvm.compiler.nodes.ReturnNode>@ result: i4 memoryMap: - <|@ <|@
|
|
917
|
+
end_IR
|
|
918
|
+
begin_IR
|
|
919
|
+
LIR
|
|
920
|
+
nr -1 <|@ instruction [] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
|
|
921
|
+
nr -1 <|@ instruction MOV (x: [v4|QWORD[.] + 128], y: v3|DWORD) size: DWORD <|@ <|@
|
|
922
|
+
nr -1 <|@ instruction MEMBAR barriers: 4 <|@ <|@
|
|
923
|
+
nr -1 <|@ instruction rax|DWORD = MOVE v3|DWORD moveKind: DWORD <|@ <|@
|
|
924
|
+
nr -1 <|@ instruction RETURN (savedRbp: v5|QWORD, value: rax|DWORD) isStub: false requiresReservedStackAccessCheck: false thread: r15 scratchForSafepointOnReturn: rcx config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@10e2187d8 <|@ <|@
|
|
925
|
+
end_IR
|
|
926
|
+
end_block
|
|
927
|
+
end_cfg
|
|
928
|
+
begin_cfg
|
|
929
|
+
name "After ConstantLoadOptimization"
|
|
930
|
+
begin_block
|
|
931
|
+
name "B0"
|
|
932
|
+
from_bci -1
|
|
933
|
+
to_bci -1
|
|
934
|
+
predecessors
|
|
935
|
+
successors "B1" "B2" "B3"
|
|
936
|
+
xhandlers
|
|
937
|
+
flags
|
|
938
|
+
probability 4607182418800017408
|
|
939
|
+
begin_IR
|
|
940
|
+
LIR
|
|
941
|
+
nr -1 <|@ instruction [rsi|DWORD, rdx|DWORD, rcx|DWORD, r8|DWORD, rbp|QWORD] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
|
|
942
|
+
nr -1 <|@ instruction v5|QWORD = MOVE rbp|QWORD moveKind: QWORD <|@ <|@
|
|
943
|
+
nr -1 <|@ instruction [] = HOTSPOTLOCKSTACK frameMapBuilder: org.graalvm.compiler.lir.amd64.AMD64FrameMapBuilder@136728e98 slotKind: QWORD <|@ <|@
|
|
944
|
+
nr -1 <|@ instruction v0|DWORD = MOVE rsi|DWORD moveKind: DWORD <|@ <|@
|
|
945
|
+
nr -1 <|@ instruction v1|DWORD = MOVE rdx|DWORD moveKind: DWORD <|@ <|@
|
|
946
|
+
nr -1 <|@ instruction v2|DWORD = MOVE rcx|DWORD moveKind: DWORD <|@ <|@
|
|
947
|
+
nr -1 <|@ instruction v3|DWORD = MOVE r8|DWORD moveKind: DWORD <|@ <|@
|
|
948
|
+
nr -1 <|@ instruction v4|QWORD[.] = HOTSPOTLOADOBJECTCONSTANT input: Object[Instance<java.lang.Class>] <|@ <|@
|
|
949
|
+
nr -1 <|@ instruction AMD64HOTSPOTSTRATEGYSWITCH ~v0|DWORD - keyConstants: [int[0|0x0], int[1|0x1]] keyTargets: [B0 -> B1, B0 -> B2] defaultTarget: B0 -> B3 strategy: SequentialStrategy[avgEffort=1.6526315789473682] <|@ <|@
|
|
950
|
+
end_IR
|
|
951
|
+
end_block
|
|
952
|
+
begin_block
|
|
953
|
+
name "B3"
|
|
954
|
+
from_bci -1
|
|
955
|
+
to_bci -1
|
|
956
|
+
predecessors "B0"
|
|
957
|
+
successors
|
|
958
|
+
xhandlers
|
|
959
|
+
flags
|
|
960
|
+
probability 4600308503579294019
|
|
961
|
+
begin_IR
|
|
962
|
+
LIR
|
|
963
|
+
nr -1 <|@ instruction [] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
|
|
964
|
+
nr -1 <|@ instruction MOV (x: [v4|QWORD[.] + 128], y: v3|DWORD) size: DWORD <|@ <|@
|
|
965
|
+
nr -1 <|@ instruction MEMBAR barriers: 4 <|@ <|@
|
|
966
|
+
nr -1 <|@ instruction rax|DWORD = MOVE v3|DWORD moveKind: DWORD <|@ <|@
|
|
967
|
+
nr -1 <|@ instruction RETURN (savedRbp: v5|QWORD, value: rax|DWORD) isStub: false requiresReservedStackAccessCheck: false thread: r15 scratchForSafepointOnReturn: rcx config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@10e2187d8 <|@ <|@
|
|
968
|
+
end_IR
|
|
969
|
+
end_block
|
|
970
|
+
begin_block
|
|
971
|
+
name "B2"
|
|
972
|
+
from_bci -1
|
|
973
|
+
to_bci -1
|
|
974
|
+
predecessors "B0"
|
|
975
|
+
successors
|
|
976
|
+
xhandlers
|
|
977
|
+
flags
|
|
978
|
+
probability 4599929253084357557
|
|
979
|
+
begin_IR
|
|
980
|
+
LIR
|
|
981
|
+
nr -1 <|@ instruction [] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
|
|
982
|
+
nr -1 <|@ instruction MOV (x: [v4|QWORD[.] + 128], y: v2|DWORD) size: DWORD <|@ <|@
|
|
983
|
+
nr -1 <|@ instruction MEMBAR barriers: 4 <|@ <|@
|
|
984
|
+
nr -1 <|@ instruction rax|DWORD = MOVE v2|DWORD moveKind: DWORD <|@ <|@
|
|
985
|
+
nr -1 <|@ instruction RETURN (savedRbp: v5|QWORD, value: rax|DWORD) isStub: false requiresReservedStackAccessCheck: false thread: r15 scratchForSafepointOnReturn: rcx config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@10e2187d8 <|@ <|@
|
|
986
|
+
end_IR
|
|
987
|
+
end_block
|
|
988
|
+
begin_block
|
|
989
|
+
name "B1"
|
|
990
|
+
from_bci -1
|
|
991
|
+
to_bci -1
|
|
992
|
+
predecessors "B0"
|
|
993
|
+
successors
|
|
994
|
+
xhandlers
|
|
995
|
+
flags
|
|
996
|
+
probability 4598791501599548168
|
|
997
|
+
begin_IR
|
|
998
|
+
LIR
|
|
999
|
+
nr -1 <|@ instruction [] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
|
|
1000
|
+
nr -1 <|@ instruction MOV (x: [v4|QWORD[.] + 128], y: v1|DWORD) size: DWORD <|@ <|@
|
|
1001
|
+
nr -1 <|@ instruction MEMBAR barriers: 4 <|@ <|@
|
|
1002
|
+
nr -1 <|@ instruction rax|DWORD = MOVE v1|DWORD moveKind: DWORD <|@ <|@
|
|
1003
|
+
nr -1 <|@ instruction RETURN (savedRbp: v5|QWORD, value: rax|DWORD) isStub: false requiresReservedStackAccessCheck: false thread: r15 scratchForSafepointOnReturn: rcx config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@10e2187d8 <|@ <|@
|
|
1004
|
+
end_IR
|
|
1005
|
+
end_block
|
|
1006
|
+
end_cfg
|
|
1007
|
+
begin_bytecodes
|
|
1008
|
+
0: iload_0
|
|
1009
|
+
1: lookupswitch [2] {0: 28, 1: 38} default: 48
|
|
1010
|
+
28: iload_1
|
|
1011
|
+
29: putstatic #54 // intField:int
|
|
1012
|
+
32: iload_1
|
|
1013
|
+
33: istore 4
|
|
1014
|
+
35: goto 55
|
|
1015
|
+
38: iload_2
|
|
1016
|
+
39: putstatic #54 // intField:int
|
|
1017
|
+
42: iload_2
|
|
1018
|
+
43: istore 4
|
|
1019
|
+
45: goto 55
|
|
1020
|
+
48: iload_3
|
|
1021
|
+
49: putstatic #54 // intField:int
|
|
1022
|
+
52: iload_3
|
|
1023
|
+
53: istore 4
|
|
1024
|
+
55: iload 4
|
|
1025
|
+
57: ireturn
|
|
1026
|
+
<|@
|
|
1027
|
+
end_bytecodes
|
|
1028
|
+
begin_cfg
|
|
1029
|
+
name "After SaveCalleeSaveRegisters"
|
|
1030
|
+
begin_block
|
|
1031
|
+
name "B0"
|
|
1032
|
+
from_bci -1
|
|
1033
|
+
to_bci -1
|
|
1034
|
+
predecessors
|
|
1035
|
+
successors "B1" "B2" "B3"
|
|
1036
|
+
xhandlers
|
|
1037
|
+
flags
|
|
1038
|
+
probability 4607182418800017408
|
|
1039
|
+
begin_IR
|
|
1040
|
+
LIR
|
|
1041
|
+
nr -1 <|@ instruction [rsi|DWORD, rdx|DWORD, rcx|DWORD, r8|DWORD, rbp|QWORD] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
|
|
1042
|
+
nr -1 <|@ instruction v5|QWORD = MOVE rbp|QWORD moveKind: QWORD <|@ <|@
|
|
1043
|
+
nr -1 <|@ instruction [] = HOTSPOTLOCKSTACK frameMapBuilder: org.graalvm.compiler.lir.amd64.AMD64FrameMapBuilder@136728e98 slotKind: QWORD <|@ <|@
|
|
1044
|
+
nr -1 <|@ instruction v0|DWORD = MOVE rsi|DWORD moveKind: DWORD <|@ <|@
|
|
1045
|
+
nr -1 <|@ instruction v1|DWORD = MOVE rdx|DWORD moveKind: DWORD <|@ <|@
|
|
1046
|
+
nr -1 <|@ instruction v2|DWORD = MOVE rcx|DWORD moveKind: DWORD <|@ <|@
|
|
1047
|
+
nr -1 <|@ instruction v3|DWORD = MOVE r8|DWORD moveKind: DWORD <|@ <|@
|
|
1048
|
+
nr -1 <|@ instruction v4|QWORD[.] = HOTSPOTLOADOBJECTCONSTANT input: Object[Instance<java.lang.Class>] <|@ <|@
|
|
1049
|
+
nr -1 <|@ instruction AMD64HOTSPOTSTRATEGYSWITCH ~v0|DWORD - keyConstants: [int[0|0x0], int[1|0x1]] keyTargets: [B0 -> B1, B0 -> B2] defaultTarget: B0 -> B3 strategy: SequentialStrategy[avgEffort=1.6526315789473682] <|@ <|@
|
|
1050
|
+
end_IR
|
|
1051
|
+
end_block
|
|
1052
|
+
begin_block
|
|
1053
|
+
name "B3"
|
|
1054
|
+
from_bci -1
|
|
1055
|
+
to_bci -1
|
|
1056
|
+
predecessors "B0"
|
|
1057
|
+
successors
|
|
1058
|
+
xhandlers
|
|
1059
|
+
flags
|
|
1060
|
+
probability 4600308503579294019
|
|
1061
|
+
begin_IR
|
|
1062
|
+
LIR
|
|
1063
|
+
nr -1 <|@ instruction [] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
|
|
1064
|
+
nr -1 <|@ instruction MOV (x: [v4|QWORD[.] + 128], y: v3|DWORD) size: DWORD <|@ <|@
|
|
1065
|
+
nr -1 <|@ instruction MEMBAR barriers: 4 <|@ <|@
|
|
1066
|
+
nr -1 <|@ instruction rax|DWORD = MOVE v3|DWORD moveKind: DWORD <|@ <|@
|
|
1067
|
+
nr -1 <|@ instruction RETURN (savedRbp: v5|QWORD, value: rax|DWORD) isStub: false requiresReservedStackAccessCheck: false thread: r15 scratchForSafepointOnReturn: rcx config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@10e2187d8 <|@ <|@
|
|
1068
|
+
end_IR
|
|
1069
|
+
end_block
|
|
1070
|
+
begin_block
|
|
1071
|
+
name "B2"
|
|
1072
|
+
from_bci -1
|
|
1073
|
+
to_bci -1
|
|
1074
|
+
predecessors "B0"
|
|
1075
|
+
successors
|
|
1076
|
+
xhandlers
|
|
1077
|
+
flags
|
|
1078
|
+
probability 4599929253084357557
|
|
1079
|
+
begin_IR
|
|
1080
|
+
LIR
|
|
1081
|
+
nr -1 <|@ instruction [] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
|
|
1082
|
+
nr -1 <|@ instruction MOV (x: [v4|QWORD[.] + 128], y: v2|DWORD) size: DWORD <|@ <|@
|
|
1083
|
+
nr -1 <|@ instruction MEMBAR barriers: 4 <|@ <|@
|
|
1084
|
+
nr -1 <|@ instruction rax|DWORD = MOVE v2|DWORD moveKind: DWORD <|@ <|@
|
|
1085
|
+
nr -1 <|@ instruction RETURN (savedRbp: v5|QWORD, value: rax|DWORD) isStub: false requiresReservedStackAccessCheck: false thread: r15 scratchForSafepointOnReturn: rcx config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@10e2187d8 <|@ <|@
|
|
1086
|
+
end_IR
|
|
1087
|
+
end_block
|
|
1088
|
+
begin_block
|
|
1089
|
+
name "B1"
|
|
1090
|
+
from_bci -1
|
|
1091
|
+
to_bci -1
|
|
1092
|
+
predecessors "B0"
|
|
1093
|
+
successors
|
|
1094
|
+
xhandlers
|
|
1095
|
+
flags
|
|
1096
|
+
probability 4598791501599548168
|
|
1097
|
+
begin_IR
|
|
1098
|
+
LIR
|
|
1099
|
+
nr -1 <|@ instruction [] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
|
|
1100
|
+
nr -1 <|@ instruction MOV (x: [v4|QWORD[.] + 128], y: v1|DWORD) size: DWORD <|@ <|@
|
|
1101
|
+
nr -1 <|@ instruction MEMBAR barriers: 4 <|@ <|@
|
|
1102
|
+
nr -1 <|@ instruction rax|DWORD = MOVE v1|DWORD moveKind: DWORD <|@ <|@
|
|
1103
|
+
nr -1 <|@ instruction RETURN (savedRbp: v5|QWORD, value: rax|DWORD) isStub: false requiresReservedStackAccessCheck: false thread: r15 scratchForSafepointOnReturn: rcx config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@10e2187d8 <|@ <|@
|
|
1104
|
+
end_IR
|
|
1105
|
+
end_block
|
|
1106
|
+
end_cfg
|
|
1107
|
+
begin_bytecodes
|
|
1108
|
+
0: iload_0
|
|
1109
|
+
1: lookupswitch [2] {0: 28, 1: 38} default: 48
|
|
1110
|
+
28: iload_1
|
|
1111
|
+
29: putstatic #54 // intField:int
|
|
1112
|
+
32: iload_1
|
|
1113
|
+
33: istore 4
|
|
1114
|
+
35: goto 55
|
|
1115
|
+
38: iload_2
|
|
1116
|
+
39: putstatic #54 // intField:int
|
|
1117
|
+
42: iload_2
|
|
1118
|
+
43: istore 4
|
|
1119
|
+
45: goto 55
|
|
1120
|
+
48: iload_3
|
|
1121
|
+
49: putstatic #54 // intField:int
|
|
1122
|
+
52: iload_3
|
|
1123
|
+
53: istore 4
|
|
1124
|
+
55: iload 4
|
|
1125
|
+
57: ireturn
|
|
1126
|
+
<|@
|
|
1127
|
+
end_bytecodes
|
|
1128
|
+
begin_cfg
|
|
1129
|
+
name "After PreAllocationOptimizationStage"
|
|
1130
|
+
begin_block
|
|
1131
|
+
name "B0"
|
|
1132
|
+
from_bci -1
|
|
1133
|
+
to_bci -1
|
|
1134
|
+
predecessors
|
|
1135
|
+
successors "B1" "B2" "B3"
|
|
1136
|
+
xhandlers
|
|
1137
|
+
flags
|
|
1138
|
+
probability 4607182418800017408
|
|
1139
|
+
begin_IR
|
|
1140
|
+
LIR
|
|
1141
|
+
nr -1 <|@ instruction [rsi|DWORD, rdx|DWORD, rcx|DWORD, r8|DWORD, rbp|QWORD] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
|
|
1142
|
+
nr -1 <|@ instruction v5|QWORD = MOVE rbp|QWORD moveKind: QWORD <|@ <|@
|
|
1143
|
+
nr -1 <|@ instruction [] = HOTSPOTLOCKSTACK frameMapBuilder: org.graalvm.compiler.lir.amd64.AMD64FrameMapBuilder@136728e98 slotKind: QWORD <|@ <|@
|
|
1144
|
+
nr -1 <|@ instruction v0|DWORD = MOVE rsi|DWORD moveKind: DWORD <|@ <|@
|
|
1145
|
+
nr -1 <|@ instruction v1|DWORD = MOVE rdx|DWORD moveKind: DWORD <|@ <|@
|
|
1146
|
+
nr -1 <|@ instruction v2|DWORD = MOVE rcx|DWORD moveKind: DWORD <|@ <|@
|
|
1147
|
+
nr -1 <|@ instruction v3|DWORD = MOVE r8|DWORD moveKind: DWORD <|@ <|@
|
|
1148
|
+
nr -1 <|@ instruction v4|QWORD[.] = HOTSPOTLOADOBJECTCONSTANT input: Object[Instance<java.lang.Class>] <|@ <|@
|
|
1149
|
+
nr -1 <|@ instruction AMD64HOTSPOTSTRATEGYSWITCH ~v0|DWORD - keyConstants: [int[0|0x0], int[1|0x1]] keyTargets: [B0 -> B1, B0 -> B2] defaultTarget: B0 -> B3 strategy: SequentialStrategy[avgEffort=1.6526315789473682] <|@ <|@
|
|
1150
|
+
end_IR
|
|
1151
|
+
end_block
|
|
1152
|
+
begin_block
|
|
1153
|
+
name "B3"
|
|
1154
|
+
from_bci -1
|
|
1155
|
+
to_bci -1
|
|
1156
|
+
predecessors "B0"
|
|
1157
|
+
successors
|
|
1158
|
+
xhandlers
|
|
1159
|
+
flags
|
|
1160
|
+
probability 4600308503579294019
|
|
1161
|
+
begin_IR
|
|
1162
|
+
LIR
|
|
1163
|
+
nr -1 <|@ instruction [] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
|
|
1164
|
+
nr -1 <|@ instruction MOV (x: [v4|QWORD[.] + 128], y: v3|DWORD) size: DWORD <|@ <|@
|
|
1165
|
+
nr -1 <|@ instruction MEMBAR barriers: 4 <|@ <|@
|
|
1166
|
+
nr -1 <|@ instruction rax|DWORD = MOVE v3|DWORD moveKind: DWORD <|@ <|@
|
|
1167
|
+
nr -1 <|@ instruction RETURN (savedRbp: v5|QWORD, value: rax|DWORD) isStub: false requiresReservedStackAccessCheck: false thread: r15 scratchForSafepointOnReturn: rcx config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@10e2187d8 <|@ <|@
|
|
1168
|
+
end_IR
|
|
1169
|
+
end_block
|
|
1170
|
+
begin_block
|
|
1171
|
+
name "B2"
|
|
1172
|
+
from_bci -1
|
|
1173
|
+
to_bci -1
|
|
1174
|
+
predecessors "B0"
|
|
1175
|
+
successors
|
|
1176
|
+
xhandlers
|
|
1177
|
+
flags
|
|
1178
|
+
probability 4599929253084357557
|
|
1179
|
+
begin_IR
|
|
1180
|
+
LIR
|
|
1181
|
+
nr -1 <|@ instruction [] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
|
|
1182
|
+
nr -1 <|@ instruction MOV (x: [v4|QWORD[.] + 128], y: v2|DWORD) size: DWORD <|@ <|@
|
|
1183
|
+
nr -1 <|@ instruction MEMBAR barriers: 4 <|@ <|@
|
|
1184
|
+
nr -1 <|@ instruction rax|DWORD = MOVE v2|DWORD moveKind: DWORD <|@ <|@
|
|
1185
|
+
nr -1 <|@ instruction RETURN (savedRbp: v5|QWORD, value: rax|DWORD) isStub: false requiresReservedStackAccessCheck: false thread: r15 scratchForSafepointOnReturn: rcx config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@10e2187d8 <|@ <|@
|
|
1186
|
+
end_IR
|
|
1187
|
+
end_block
|
|
1188
|
+
begin_block
|
|
1189
|
+
name "B1"
|
|
1190
|
+
from_bci -1
|
|
1191
|
+
to_bci -1
|
|
1192
|
+
predecessors "B0"
|
|
1193
|
+
successors
|
|
1194
|
+
xhandlers
|
|
1195
|
+
flags
|
|
1196
|
+
probability 4598791501599548168
|
|
1197
|
+
begin_IR
|
|
1198
|
+
LIR
|
|
1199
|
+
nr -1 <|@ instruction [] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
|
|
1200
|
+
nr -1 <|@ instruction MOV (x: [v4|QWORD[.] + 128], y: v1|DWORD) size: DWORD <|@ <|@
|
|
1201
|
+
nr -1 <|@ instruction MEMBAR barriers: 4 <|@ <|@
|
|
1202
|
+
nr -1 <|@ instruction rax|DWORD = MOVE v1|DWORD moveKind: DWORD <|@ <|@
|
|
1203
|
+
nr -1 <|@ instruction RETURN (savedRbp: v5|QWORD, value: rax|DWORD) isStub: false requiresReservedStackAccessCheck: false thread: r15 scratchForSafepointOnReturn: rcx config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@10e2187d8 <|@ <|@
|
|
1204
|
+
end_IR
|
|
1205
|
+
end_block
|
|
1206
|
+
end_cfg
|
|
1207
|
+
begin_bytecodes
|
|
1208
|
+
0: iload_0
|
|
1209
|
+
1: lookupswitch [2] {0: 28, 1: 38} default: 48
|
|
1210
|
+
28: iload_1
|
|
1211
|
+
29: putstatic #54 // intField:int
|
|
1212
|
+
32: iload_1
|
|
1213
|
+
33: istore 4
|
|
1214
|
+
35: goto 55
|
|
1215
|
+
38: iload_2
|
|
1216
|
+
39: putstatic #54 // intField:int
|
|
1217
|
+
42: iload_2
|
|
1218
|
+
43: istore 4
|
|
1219
|
+
45: goto 55
|
|
1220
|
+
48: iload_3
|
|
1221
|
+
49: putstatic #54 // intField:int
|
|
1222
|
+
52: iload_3
|
|
1223
|
+
53: istore 4
|
|
1224
|
+
55: iload 4
|
|
1225
|
+
57: ireturn
|
|
1226
|
+
<|@
|
|
1227
|
+
end_bytecodes
|
|
1228
|
+
begin_cfg
|
|
1229
|
+
name "After MarkBasePointers"
|
|
1230
|
+
begin_block
|
|
1231
|
+
name "B0"
|
|
1232
|
+
from_bci -1
|
|
1233
|
+
to_bci -1
|
|
1234
|
+
predecessors
|
|
1235
|
+
successors "B1" "B2" "B3"
|
|
1236
|
+
xhandlers
|
|
1237
|
+
flags
|
|
1238
|
+
probability 4607182418800017408
|
|
1239
|
+
begin_IR
|
|
1240
|
+
LIR
|
|
1241
|
+
nr -1 <|@ instruction [rsi|DWORD, rdx|DWORD, rcx|DWORD, r8|DWORD, rbp|QWORD] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
|
|
1242
|
+
nr -1 <|@ instruction v5|QWORD = MOVE rbp|QWORD moveKind: QWORD <|@ <|@
|
|
1243
|
+
nr -1 <|@ instruction [] = HOTSPOTLOCKSTACK frameMapBuilder: org.graalvm.compiler.lir.amd64.AMD64FrameMapBuilder@136728e98 slotKind: QWORD <|@ <|@
|
|
1244
|
+
nr -1 <|@ instruction v0|DWORD = MOVE rsi|DWORD moveKind: DWORD <|@ <|@
|
|
1245
|
+
nr -1 <|@ instruction v1|DWORD = MOVE rdx|DWORD moveKind: DWORD <|@ <|@
|
|
1246
|
+
nr -1 <|@ instruction v2|DWORD = MOVE rcx|DWORD moveKind: DWORD <|@ <|@
|
|
1247
|
+
nr -1 <|@ instruction v3|DWORD = MOVE r8|DWORD moveKind: DWORD <|@ <|@
|
|
1248
|
+
nr -1 <|@ instruction v4|QWORD[.] = HOTSPOTLOADOBJECTCONSTANT input: Object[Instance<java.lang.Class>] <|@ <|@
|
|
1249
|
+
nr -1 <|@ instruction AMD64HOTSPOTSTRATEGYSWITCH ~v0|DWORD - keyConstants: [int[0|0x0], int[1|0x1]] keyTargets: [B0 -> B1, B0 -> B2] defaultTarget: B0 -> B3 strategy: SequentialStrategy[avgEffort=1.6526315789473682] <|@ <|@
|
|
1250
|
+
end_IR
|
|
1251
|
+
end_block
|
|
1252
|
+
begin_block
|
|
1253
|
+
name "B3"
|
|
1254
|
+
from_bci -1
|
|
1255
|
+
to_bci -1
|
|
1256
|
+
predecessors "B0"
|
|
1257
|
+
successors
|
|
1258
|
+
xhandlers
|
|
1259
|
+
flags
|
|
1260
|
+
probability 4600308503579294019
|
|
1261
|
+
begin_IR
|
|
1262
|
+
LIR
|
|
1263
|
+
nr -1 <|@ instruction [] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
|
|
1264
|
+
nr -1 <|@ instruction MOV (x: [v4|QWORD[.] + 128], y: v3|DWORD) size: DWORD <|@ <|@
|
|
1265
|
+
nr -1 <|@ instruction MEMBAR barriers: 4 <|@ <|@
|
|
1266
|
+
nr -1 <|@ instruction rax|DWORD = MOVE v3|DWORD moveKind: DWORD <|@ <|@
|
|
1267
|
+
nr -1 <|@ instruction RETURN (savedRbp: v5|QWORD, value: rax|DWORD) isStub: false requiresReservedStackAccessCheck: false thread: r15 scratchForSafepointOnReturn: rcx config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@10e2187d8 <|@ <|@
|
|
1268
|
+
end_IR
|
|
1269
|
+
end_block
|
|
1270
|
+
begin_block
|
|
1271
|
+
name "B2"
|
|
1272
|
+
from_bci -1
|
|
1273
|
+
to_bci -1
|
|
1274
|
+
predecessors "B0"
|
|
1275
|
+
successors
|
|
1276
|
+
xhandlers
|
|
1277
|
+
flags
|
|
1278
|
+
probability 4599929253084357557
|
|
1279
|
+
begin_IR
|
|
1280
|
+
LIR
|
|
1281
|
+
nr -1 <|@ instruction [] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
|
|
1282
|
+
nr -1 <|@ instruction MOV (x: [v4|QWORD[.] + 128], y: v2|DWORD) size: DWORD <|@ <|@
|
|
1283
|
+
nr -1 <|@ instruction MEMBAR barriers: 4 <|@ <|@
|
|
1284
|
+
nr -1 <|@ instruction rax|DWORD = MOVE v2|DWORD moveKind: DWORD <|@ <|@
|
|
1285
|
+
nr -1 <|@ instruction RETURN (savedRbp: v5|QWORD, value: rax|DWORD) isStub: false requiresReservedStackAccessCheck: false thread: r15 scratchForSafepointOnReturn: rcx config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@10e2187d8 <|@ <|@
|
|
1286
|
+
end_IR
|
|
1287
|
+
end_block
|
|
1288
|
+
begin_block
|
|
1289
|
+
name "B1"
|
|
1290
|
+
from_bci -1
|
|
1291
|
+
to_bci -1
|
|
1292
|
+
predecessors "B0"
|
|
1293
|
+
successors
|
|
1294
|
+
xhandlers
|
|
1295
|
+
flags
|
|
1296
|
+
probability 4598791501599548168
|
|
1297
|
+
begin_IR
|
|
1298
|
+
LIR
|
|
1299
|
+
nr -1 <|@ instruction [] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
|
|
1300
|
+
nr -1 <|@ instruction MOV (x: [v4|QWORD[.] + 128], y: v1|DWORD) size: DWORD <|@ <|@
|
|
1301
|
+
nr -1 <|@ instruction MEMBAR barriers: 4 <|@ <|@
|
|
1302
|
+
nr -1 <|@ instruction rax|DWORD = MOVE v1|DWORD moveKind: DWORD <|@ <|@
|
|
1303
|
+
nr -1 <|@ instruction RETURN (savedRbp: v5|QWORD, value: rax|DWORD) isStub: false requiresReservedStackAccessCheck: false thread: r15 scratchForSafepointOnReturn: rcx config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@10e2187d8 <|@ <|@
|
|
1304
|
+
end_IR
|
|
1305
|
+
end_block
|
|
1306
|
+
end_cfg
|
|
1307
|
+
begin_bytecodes
|
|
1308
|
+
0: iload_0
|
|
1309
|
+
1: lookupswitch [2] {0: 28, 1: 38} default: 48
|
|
1310
|
+
28: iload_1
|
|
1311
|
+
29: putstatic #54 // intField:int
|
|
1312
|
+
32: iload_1
|
|
1313
|
+
33: istore 4
|
|
1314
|
+
35: goto 55
|
|
1315
|
+
38: iload_2
|
|
1316
|
+
39: putstatic #54 // intField:int
|
|
1317
|
+
42: iload_2
|
|
1318
|
+
43: istore 4
|
|
1319
|
+
45: goto 55
|
|
1320
|
+
48: iload_3
|
|
1321
|
+
49: putstatic #54 // intField:int
|
|
1322
|
+
52: iload_3
|
|
1323
|
+
53: istore 4
|
|
1324
|
+
55: iload 4
|
|
1325
|
+
57: ireturn
|
|
1326
|
+
<|@
|
|
1327
|
+
end_bytecodes
|
|
1328
|
+
begin_cfg
|
|
1329
|
+
name "Before register allocation"
|
|
1330
|
+
begin_block
|
|
1331
|
+
name "B0"
|
|
1332
|
+
from_bci -1
|
|
1333
|
+
to_bci -1
|
|
1334
|
+
predecessors
|
|
1335
|
+
successors "B1" "B2" "B3"
|
|
1336
|
+
xhandlers
|
|
1337
|
+
flags
|
|
1338
|
+
probability 4607182418800017408
|
|
1339
|
+
begin_IR
|
|
1340
|
+
LIR
|
|
1341
|
+
nr 0 <|@ instruction [rsi|DWORD, rdx|DWORD, rcx|DWORD, r8|DWORD, rbp|QWORD] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
|
|
1342
|
+
nr 2 <|@ instruction v5|QWORD = MOVE rbp|QWORD moveKind: QWORD <|@ <|@
|
|
1343
|
+
nr 4 <|@ instruction [] = HOTSPOTLOCKSTACK frameMapBuilder: org.graalvm.compiler.lir.amd64.AMD64FrameMapBuilder@136728e98 slotKind: QWORD <|@ <|@
|
|
1344
|
+
nr 6 <|@ instruction v0|DWORD = MOVE rsi|DWORD moveKind: DWORD <|@ <|@
|
|
1345
|
+
nr 8 <|@ instruction v1|DWORD = MOVE rdx|DWORD moveKind: DWORD <|@ <|@
|
|
1346
|
+
nr 10 <|@ instruction v2|DWORD = MOVE rcx|DWORD moveKind: DWORD <|@ <|@
|
|
1347
|
+
nr 12 <|@ instruction v3|DWORD = MOVE r8|DWORD moveKind: DWORD <|@ <|@
|
|
1348
|
+
nr 14 <|@ instruction v4|QWORD[.] = HOTSPOTLOADOBJECTCONSTANT input: Object[Instance<java.lang.Class>] <|@ <|@
|
|
1349
|
+
nr 16 <|@ instruction AMD64HOTSPOTSTRATEGYSWITCH ~v0|DWORD - keyConstants: [int[0|0x0], int[1|0x1]] keyTargets: [B0 -> B1, B0 -> B2] defaultTarget: B0 -> B3 strategy: SequentialStrategy[avgEffort=1.6526315789473682] <|@ <|@
|
|
1350
|
+
end_IR
|
|
1351
|
+
end_block
|
|
1352
|
+
begin_block
|
|
1353
|
+
name "B3"
|
|
1354
|
+
from_bci -1
|
|
1355
|
+
to_bci -1
|
|
1356
|
+
predecessors "B0"
|
|
1357
|
+
successors
|
|
1358
|
+
xhandlers
|
|
1359
|
+
flags
|
|
1360
|
+
probability 4600308503579294019
|
|
1361
|
+
begin_IR
|
|
1362
|
+
LIR
|
|
1363
|
+
nr 18 <|@ instruction [] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
|
|
1364
|
+
nr 20 <|@ instruction MOV (x: [v4|QWORD[.] + 128], y: v3|DWORD) size: DWORD <|@ <|@
|
|
1365
|
+
nr 22 <|@ instruction MEMBAR barriers: 4 <|@ <|@
|
|
1366
|
+
nr 24 <|@ instruction rax|DWORD = MOVE v3|DWORD moveKind: DWORD <|@ <|@
|
|
1367
|
+
nr 26 <|@ instruction RETURN (savedRbp: v5|QWORD, value: rax|DWORD) isStub: false requiresReservedStackAccessCheck: false thread: r15 scratchForSafepointOnReturn: rcx config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@10e2187d8 <|@ <|@
|
|
1368
|
+
end_IR
|
|
1369
|
+
end_block
|
|
1370
|
+
begin_block
|
|
1371
|
+
name "B2"
|
|
1372
|
+
from_bci -1
|
|
1373
|
+
to_bci -1
|
|
1374
|
+
predecessors "B0"
|
|
1375
|
+
successors
|
|
1376
|
+
xhandlers
|
|
1377
|
+
flags
|
|
1378
|
+
probability 4599929253084357557
|
|
1379
|
+
begin_IR
|
|
1380
|
+
LIR
|
|
1381
|
+
nr 28 <|@ instruction [] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
|
|
1382
|
+
nr 30 <|@ instruction MOV (x: [v4|QWORD[.] + 128], y: v2|DWORD) size: DWORD <|@ <|@
|
|
1383
|
+
nr 32 <|@ instruction MEMBAR barriers: 4 <|@ <|@
|
|
1384
|
+
nr 34 <|@ instruction rax|DWORD = MOVE v2|DWORD moveKind: DWORD <|@ <|@
|
|
1385
|
+
nr 36 <|@ instruction RETURN (savedRbp: v5|QWORD, value: rax|DWORD) isStub: false requiresReservedStackAccessCheck: false thread: r15 scratchForSafepointOnReturn: rcx config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@10e2187d8 <|@ <|@
|
|
1386
|
+
end_IR
|
|
1387
|
+
end_block
|
|
1388
|
+
begin_block
|
|
1389
|
+
name "B1"
|
|
1390
|
+
from_bci -1
|
|
1391
|
+
to_bci -1
|
|
1392
|
+
predecessors "B0"
|
|
1393
|
+
successors
|
|
1394
|
+
xhandlers
|
|
1395
|
+
flags
|
|
1396
|
+
probability 4598791501599548168
|
|
1397
|
+
begin_IR
|
|
1398
|
+
LIR
|
|
1399
|
+
nr 38 <|@ instruction [] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
|
|
1400
|
+
nr 40 <|@ instruction MOV (x: [v4|QWORD[.] + 128], y: v1|DWORD) size: DWORD <|@ <|@
|
|
1401
|
+
nr 42 <|@ instruction MEMBAR barriers: 4 <|@ <|@
|
|
1402
|
+
nr 44 <|@ instruction rax|DWORD = MOVE v1|DWORD moveKind: DWORD <|@ <|@
|
|
1403
|
+
nr 46 <|@ instruction RETURN (savedRbp: v5|QWORD, value: rax|DWORD) isStub: false requiresReservedStackAccessCheck: false thread: r15 scratchForSafepointOnReturn: rcx config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@10e2187d8 <|@ <|@
|
|
1404
|
+
end_IR
|
|
1405
|
+
end_block
|
|
1406
|
+
end_cfg
|
|
1407
|
+
begin_bytecodes
|
|
1408
|
+
0: iload_0
|
|
1409
|
+
1: lookupswitch [2] {0: 28, 1: 38} default: 48
|
|
1410
|
+
28: iload_1
|
|
1411
|
+
29: putstatic #54 // intField:int
|
|
1412
|
+
32: iload_1
|
|
1413
|
+
33: istore 4
|
|
1414
|
+
35: goto 55
|
|
1415
|
+
38: iload_2
|
|
1416
|
+
39: putstatic #54 // intField:int
|
|
1417
|
+
42: iload_2
|
|
1418
|
+
43: istore 4
|
|
1419
|
+
45: goto 55
|
|
1420
|
+
48: iload_3
|
|
1421
|
+
49: putstatic #54 // intField:int
|
|
1422
|
+
52: iload_3
|
|
1423
|
+
53: istore 4
|
|
1424
|
+
55: iload 4
|
|
1425
|
+
57: ireturn
|
|
1426
|
+
<|@
|
|
1427
|
+
end_bytecodes
|
|
1428
|
+
begin_cfg
|
|
1429
|
+
name "After SSALinearScanLifetimeAnalysis"
|
|
1430
|
+
begin_block
|
|
1431
|
+
name "B0"
|
|
1432
|
+
from_bci -1
|
|
1433
|
+
to_bci -1
|
|
1434
|
+
predecessors
|
|
1435
|
+
successors "B1" "B2" "B3"
|
|
1436
|
+
xhandlers
|
|
1437
|
+
flags
|
|
1438
|
+
probability 4607182418800017408
|
|
1439
|
+
begin_IR
|
|
1440
|
+
LIR
|
|
1441
|
+
nr 0 <|@ instruction [rsi|DWORD, rdx|DWORD, rcx|DWORD, r8|DWORD, rbp|QWORD] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
|
|
1442
|
+
nr 2 <|@ instruction v5|QWORD = MOVE rbp|QWORD moveKind: QWORD <|@ <|@
|
|
1443
|
+
nr 4 <|@ instruction [] = HOTSPOTLOCKSTACK frameMapBuilder: org.graalvm.compiler.lir.amd64.AMD64FrameMapBuilder@136728e98 slotKind: QWORD <|@ <|@
|
|
1444
|
+
nr 6 <|@ instruction v0|DWORD = MOVE rsi|DWORD moveKind: DWORD <|@ <|@
|
|
1445
|
+
nr 8 <|@ instruction v1|DWORD = MOVE rdx|DWORD moveKind: DWORD <|@ <|@
|
|
1446
|
+
nr 10 <|@ instruction v2|DWORD = MOVE rcx|DWORD moveKind: DWORD <|@ <|@
|
|
1447
|
+
nr 12 <|@ instruction v3|DWORD = MOVE r8|DWORD moveKind: DWORD <|@ <|@
|
|
1448
|
+
nr 14 <|@ instruction v4|QWORD[.] = HOTSPOTLOADOBJECTCONSTANT input: Object[Instance<java.lang.Class>] <|@ <|@
|
|
1449
|
+
nr 16 <|@ instruction AMD64HOTSPOTSTRATEGYSWITCH ~v0|DWORD - keyConstants: [int[0|0x0], int[1|0x1]] keyTargets: [B0 -> B1, B0 -> B2] defaultTarget: B0 -> B3 strategy: SequentialStrategy[avgEffort=1.6526315789473682] <|@ <|@
|
|
1450
|
+
end_IR
|
|
1451
|
+
end_block
|
|
1452
|
+
begin_block
|
|
1453
|
+
name "B3"
|
|
1454
|
+
from_bci -1
|
|
1455
|
+
to_bci -1
|
|
1456
|
+
predecessors "B0"
|
|
1457
|
+
successors
|
|
1458
|
+
xhandlers
|
|
1459
|
+
flags
|
|
1460
|
+
probability 4600308503579294019
|
|
1461
|
+
begin_IR
|
|
1462
|
+
LIR
|
|
1463
|
+
nr 18 <|@ instruction [] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
|
|
1464
|
+
nr 20 <|@ instruction MOV (x: [v4|QWORD[.] + 128], y: v3|DWORD) size: DWORD <|@ <|@
|
|
1465
|
+
nr 22 <|@ instruction MEMBAR barriers: 4 <|@ <|@
|
|
1466
|
+
nr 24 <|@ instruction rax|DWORD = MOVE v3|DWORD moveKind: DWORD <|@ <|@
|
|
1467
|
+
nr 26 <|@ instruction RETURN (savedRbp: v5|QWORD, value: rax|DWORD) isStub: false requiresReservedStackAccessCheck: false thread: r15 scratchForSafepointOnReturn: rcx config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@10e2187d8 <|@ <|@
|
|
1468
|
+
end_IR
|
|
1469
|
+
end_block
|
|
1470
|
+
begin_block
|
|
1471
|
+
name "B2"
|
|
1472
|
+
from_bci -1
|
|
1473
|
+
to_bci -1
|
|
1474
|
+
predecessors "B0"
|
|
1475
|
+
successors
|
|
1476
|
+
xhandlers
|
|
1477
|
+
flags
|
|
1478
|
+
probability 4599929253084357557
|
|
1479
|
+
begin_IR
|
|
1480
|
+
LIR
|
|
1481
|
+
nr 28 <|@ instruction [] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
|
|
1482
|
+
nr 30 <|@ instruction MOV (x: [v4|QWORD[.] + 128], y: v2|DWORD) size: DWORD <|@ <|@
|
|
1483
|
+
nr 32 <|@ instruction MEMBAR barriers: 4 <|@ <|@
|
|
1484
|
+
nr 34 <|@ instruction rax|DWORD = MOVE v2|DWORD moveKind: DWORD <|@ <|@
|
|
1485
|
+
nr 36 <|@ instruction RETURN (savedRbp: v5|QWORD, value: rax|DWORD) isStub: false requiresReservedStackAccessCheck: false thread: r15 scratchForSafepointOnReturn: rcx config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@10e2187d8 <|@ <|@
|
|
1486
|
+
end_IR
|
|
1487
|
+
end_block
|
|
1488
|
+
begin_block
|
|
1489
|
+
name "B1"
|
|
1490
|
+
from_bci -1
|
|
1491
|
+
to_bci -1
|
|
1492
|
+
predecessors "B0"
|
|
1493
|
+
successors
|
|
1494
|
+
xhandlers
|
|
1495
|
+
flags
|
|
1496
|
+
probability 4598791501599548168
|
|
1497
|
+
begin_IR
|
|
1498
|
+
LIR
|
|
1499
|
+
nr 38 <|@ instruction [] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
|
|
1500
|
+
nr 40 <|@ instruction MOV (x: [v4|QWORD[.] + 128], y: v1|DWORD) size: DWORD <|@ <|@
|
|
1501
|
+
nr 42 <|@ instruction MEMBAR barriers: 4 <|@ <|@
|
|
1502
|
+
nr 44 <|@ instruction rax|DWORD = MOVE v1|DWORD moveKind: DWORD <|@ <|@
|
|
1503
|
+
nr 46 <|@ instruction RETURN (savedRbp: v5|QWORD, value: rax|DWORD) isStub: false requiresReservedStackAccessCheck: false thread: r15 scratchForSafepointOnReturn: rcx config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@10e2187d8 <|@ <|@
|
|
1504
|
+
end_IR
|
|
1505
|
+
end_block
|
|
1506
|
+
end_cfg
|
|
1507
|
+
begin_bytecodes
|
|
1508
|
+
0: iload_0
|
|
1509
|
+
1: lookupswitch [2] {0: 28, 1: 38} default: 48
|
|
1510
|
+
28: iload_1
|
|
1511
|
+
29: putstatic #54 // intField:int
|
|
1512
|
+
32: iload_1
|
|
1513
|
+
33: istore 4
|
|
1514
|
+
35: goto 55
|
|
1515
|
+
38: iload_2
|
|
1516
|
+
39: putstatic #54 // intField:int
|
|
1517
|
+
42: iload_2
|
|
1518
|
+
43: istore 4
|
|
1519
|
+
45: goto 55
|
|
1520
|
+
48: iload_3
|
|
1521
|
+
49: putstatic #54 // intField:int
|
|
1522
|
+
52: iload_3
|
|
1523
|
+
53: istore 4
|
|
1524
|
+
55: iload 4
|
|
1525
|
+
57: ireturn
|
|
1526
|
+
<|@
|
|
1527
|
+
end_bytecodes
|
|
1528
|
+
begin_intervals
|
|
1529
|
+
name "Before register allocation"
|
|
1530
|
+
rax|d fixed "[rax|d]" rax|d v3|d [0, 1[[24, 26[[34, 36[[44, 46[ "NoOptimization"
|
|
1531
|
+
rcx|d fixed "[rcx|d]" rcx|d -1 [0, 10[ "NoSpillStore"
|
|
1532
|
+
rdx|d fixed "[rdx|d]" rdx|d -1 [0, 8[ "NoSpillStore"
|
|
1533
|
+
rbp|q fixed "[rbp|q]" rbp|q -1 [0, 2[ "NoSpillStore"
|
|
1534
|
+
rsi|d fixed "[rsi|d]" rsi|d -1 [0, 6[ "NoSpillStore"
|
|
1535
|
+
r8|d fixed "[r8|d]" r8|d -1 [0, 12[ "NoSpillStore"
|
|
1536
|
+
v0|d DWORD "[v0|d]" v0|d rsi|d [6, 17[6 MustHaveRegister 16 MustHaveRegister "NoSpillStore"
|
|
1537
|
+
v1|d DWORD "[v1|d]" v1|d rdx|d [8, 18[[38, 44[8 MustHaveRegister 40 MustHaveRegister 44 ShouldHaveRegister "NoSpillStore"
|
|
1538
|
+
v2|d DWORD "[v2|d]" v2|d rcx|d [10, 18[[28, 34[10 MustHaveRegister 30 MustHaveRegister 34 ShouldHaveRegister "NoSpillStore"
|
|
1539
|
+
v3|d DWORD "[v3|d]" v3|d r8|d [12, 24[12 MustHaveRegister 20 MustHaveRegister 24 ShouldHaveRegister "NoSpillStore"
|
|
1540
|
+
v4|q QWORD "[v4|q]" v4|q -1 [14, 20[[28, 30[[38, 40[14 MustHaveRegister 20 MustHaveRegister 30 MustHaveRegister 40 MustHaveRegister "NoSpillStore"
|
|
1541
|
+
v5|q QWORD "[v5|q]" v5|q rbp|q [2, 26[[28, 36[[38, 46[2 MustHaveRegister 26 ShouldHaveRegister 36 ShouldHaveRegister 46 ShouldHaveRegister "NoSpillStore"
|
|
1542
|
+
end_intervals
|
|
1543
|
+
begin_intervals
|
|
1544
|
+
name "After register allocation"
|
|
1545
|
+
rax|d fixed "[rax|d]" rax|d v3|d [0, 1[[24, 26[[34, 36[[44, 46[ "NoOptimization"
|
|
1546
|
+
rcx|d fixed "[rcx|d]" rcx|d -1 [0, 10[ "NoSpillStore"
|
|
1547
|
+
rdx|d fixed "[rdx|d]" rdx|d -1 [0, 8[ "NoSpillStore"
|
|
1548
|
+
rbp|q fixed "[rbp|q]" rbp|q -1 [0, 2[ "NoSpillStore"
|
|
1549
|
+
rsi|d fixed "[rsi|d]" rsi|d -1 [0, 6[ "NoSpillStore"
|
|
1550
|
+
r8|d fixed "[r8|d]" r8|d -1 [0, 12[ "NoSpillStore"
|
|
1551
|
+
v0|d DWORD "[rsi|d]" v0|d rsi|d [6, 17[6 MustHaveRegister 16 MustHaveRegister "NoSpillStore"
|
|
1552
|
+
v1|d DWORD "[rdx|d]" v1|d rdx|d [8, 18[[38, 44[8 MustHaveRegister 40 MustHaveRegister 44 ShouldHaveRegister "NoSpillStore"
|
|
1553
|
+
v2|d DWORD "[rcx|d]" v2|d rcx|d [10, 18[[28, 34[10 MustHaveRegister 30 MustHaveRegister 34 ShouldHaveRegister "NoSpillStore"
|
|
1554
|
+
v3|d DWORD "[r8|d]" v3|d r8|d [12, 24[12 MustHaveRegister 20 MustHaveRegister 24 ShouldHaveRegister "NoSpillStore"
|
|
1555
|
+
v4|q QWORD "[r10|q]" v4|q -1 [14, 20[[28, 30[[38, 40[14 MustHaveRegister 20 MustHaveRegister 30 MustHaveRegister 40 MustHaveRegister "NoSpillStore"
|
|
1556
|
+
v5|q QWORD "[rbp|q]" v5|q rbp|q [2, 26[[28, 36[[38, 46[2 MustHaveRegister 26 ShouldHaveRegister 36 ShouldHaveRegister 46 ShouldHaveRegister "NoSpillStore"
|
|
1557
|
+
end_intervals
|
|
1558
|
+
begin_cfg
|
|
1559
|
+
name "After LinearScanRegisterAllocation"
|
|
1560
|
+
begin_block
|
|
1561
|
+
name "B0"
|
|
1562
|
+
from_bci -1
|
|
1563
|
+
to_bci -1
|
|
1564
|
+
predecessors
|
|
1565
|
+
successors "B1" "B2" "B3"
|
|
1566
|
+
xhandlers
|
|
1567
|
+
flags
|
|
1568
|
+
probability 4607182418800017408
|
|
1569
|
+
begin_IR
|
|
1570
|
+
LIR
|
|
1571
|
+
nr 0 <|@ instruction [rsi|DWORD, rdx|DWORD, rcx|DWORD, r8|DWORD, rbp|QWORD] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
|
|
1572
|
+
nr 2 <|@ instruction v5|QWORD = MOVE rbp|QWORD moveKind: QWORD <|@ <|@
|
|
1573
|
+
nr 4 <|@ instruction [] = HOTSPOTLOCKSTACK frameMapBuilder: org.graalvm.compiler.lir.amd64.AMD64FrameMapBuilder@136728e98 slotKind: QWORD <|@ <|@
|
|
1574
|
+
nr 6 <|@ instruction v0|DWORD = MOVE rsi|DWORD moveKind: DWORD <|@ <|@
|
|
1575
|
+
nr 8 <|@ instruction v1|DWORD = MOVE rdx|DWORD moveKind: DWORD <|@ <|@
|
|
1576
|
+
nr 10 <|@ instruction v2|DWORD = MOVE rcx|DWORD moveKind: DWORD <|@ <|@
|
|
1577
|
+
nr 12 <|@ instruction v3|DWORD = MOVE r8|DWORD moveKind: DWORD <|@ <|@
|
|
1578
|
+
nr 14 <|@ instruction v4|QWORD[.] = HOTSPOTLOADOBJECTCONSTANT input: Object[Instance<java.lang.Class>] <|@ <|@
|
|
1579
|
+
nr 16 <|@ instruction AMD64HOTSPOTSTRATEGYSWITCH ~v0|DWORD - keyConstants: [int[0|0x0], int[1|0x1]] keyTargets: [B0 -> B1, B0 -> B2] defaultTarget: B0 -> B3 strategy: SequentialStrategy[avgEffort=1.6526315789473682] <|@ <|@
|
|
1580
|
+
end_IR
|
|
1581
|
+
end_block
|
|
1582
|
+
begin_block
|
|
1583
|
+
name "B3"
|
|
1584
|
+
from_bci -1
|
|
1585
|
+
to_bci -1
|
|
1586
|
+
predecessors "B0"
|
|
1587
|
+
successors
|
|
1588
|
+
xhandlers
|
|
1589
|
+
flags
|
|
1590
|
+
probability 4600308503579294019
|
|
1591
|
+
begin_IR
|
|
1592
|
+
LIR
|
|
1593
|
+
nr 18 <|@ instruction [] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
|
|
1594
|
+
nr 20 <|@ instruction MOV (x: [v4|QWORD[.] + 128], y: v3|DWORD) size: DWORD <|@ <|@
|
|
1595
|
+
nr 22 <|@ instruction MEMBAR barriers: 4 <|@ <|@
|
|
1596
|
+
nr 24 <|@ instruction rax|DWORD = MOVE v3|DWORD moveKind: DWORD <|@ <|@
|
|
1597
|
+
nr 26 <|@ instruction RETURN (savedRbp: v5|QWORD, value: rax|DWORD) isStub: false requiresReservedStackAccessCheck: false thread: r15 scratchForSafepointOnReturn: rcx config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@10e2187d8 <|@ <|@
|
|
1598
|
+
end_IR
|
|
1599
|
+
end_block
|
|
1600
|
+
begin_block
|
|
1601
|
+
name "B2"
|
|
1602
|
+
from_bci -1
|
|
1603
|
+
to_bci -1
|
|
1604
|
+
predecessors "B0"
|
|
1605
|
+
successors
|
|
1606
|
+
xhandlers
|
|
1607
|
+
flags
|
|
1608
|
+
probability 4599929253084357557
|
|
1609
|
+
begin_IR
|
|
1610
|
+
LIR
|
|
1611
|
+
nr 28 <|@ instruction [] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
|
|
1612
|
+
nr 30 <|@ instruction MOV (x: [v4|QWORD[.] + 128], y: v2|DWORD) size: DWORD <|@ <|@
|
|
1613
|
+
nr 32 <|@ instruction MEMBAR barriers: 4 <|@ <|@
|
|
1614
|
+
nr 34 <|@ instruction rax|DWORD = MOVE v2|DWORD moveKind: DWORD <|@ <|@
|
|
1615
|
+
nr 36 <|@ instruction RETURN (savedRbp: v5|QWORD, value: rax|DWORD) isStub: false requiresReservedStackAccessCheck: false thread: r15 scratchForSafepointOnReturn: rcx config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@10e2187d8 <|@ <|@
|
|
1616
|
+
end_IR
|
|
1617
|
+
end_block
|
|
1618
|
+
begin_block
|
|
1619
|
+
name "B1"
|
|
1620
|
+
from_bci -1
|
|
1621
|
+
to_bci -1
|
|
1622
|
+
predecessors "B0"
|
|
1623
|
+
successors
|
|
1624
|
+
xhandlers
|
|
1625
|
+
flags
|
|
1626
|
+
probability 4598791501599548168
|
|
1627
|
+
begin_IR
|
|
1628
|
+
LIR
|
|
1629
|
+
nr 38 <|@ instruction [] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
|
|
1630
|
+
nr 40 <|@ instruction MOV (x: [v4|QWORD[.] + 128], y: v1|DWORD) size: DWORD <|@ <|@
|
|
1631
|
+
nr 42 <|@ instruction MEMBAR barriers: 4 <|@ <|@
|
|
1632
|
+
nr 44 <|@ instruction rax|DWORD = MOVE v1|DWORD moveKind: DWORD <|@ <|@
|
|
1633
|
+
nr 46 <|@ instruction RETURN (savedRbp: v5|QWORD, value: rax|DWORD) isStub: false requiresReservedStackAccessCheck: false thread: r15 scratchForSafepointOnReturn: rcx config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@10e2187d8 <|@ <|@
|
|
1634
|
+
end_IR
|
|
1635
|
+
end_block
|
|
1636
|
+
end_cfg
|
|
1637
|
+
begin_bytecodes
|
|
1638
|
+
0: iload_0
|
|
1639
|
+
1: lookupswitch [2] {0: 28, 1: 38} default: 48
|
|
1640
|
+
28: iload_1
|
|
1641
|
+
29: putstatic #54 // intField:int
|
|
1642
|
+
32: iload_1
|
|
1643
|
+
33: istore 4
|
|
1644
|
+
35: goto 55
|
|
1645
|
+
38: iload_2
|
|
1646
|
+
39: putstatic #54 // intField:int
|
|
1647
|
+
42: iload_2
|
|
1648
|
+
43: istore 4
|
|
1649
|
+
45: goto 55
|
|
1650
|
+
48: iload_3
|
|
1651
|
+
49: putstatic #54 // intField:int
|
|
1652
|
+
52: iload_3
|
|
1653
|
+
53: istore 4
|
|
1654
|
+
55: iload 4
|
|
1655
|
+
57: ireturn
|
|
1656
|
+
<|@
|
|
1657
|
+
end_bytecodes
|
|
1658
|
+
begin_intervals
|
|
1659
|
+
name "After optimize spill position"
|
|
1660
|
+
rax|d fixed "[rax|d]" rax|d v3|d [0, 1[[24, 26[[34, 36[[44, 46[ "NoOptimization"
|
|
1661
|
+
rcx|d fixed "[rcx|d]" rcx|d -1 [0, 10[ "NoSpillStore"
|
|
1662
|
+
rdx|d fixed "[rdx|d]" rdx|d -1 [0, 8[ "NoSpillStore"
|
|
1663
|
+
rbp|q fixed "[rbp|q]" rbp|q -1 [0, 2[ "NoSpillStore"
|
|
1664
|
+
rsi|d fixed "[rsi|d]" rsi|d -1 [0, 6[ "NoSpillStore"
|
|
1665
|
+
r8|d fixed "[r8|d]" r8|d -1 [0, 12[ "NoSpillStore"
|
|
1666
|
+
v0|d DWORD "[rsi|d]" v0|d rsi|d [6, 17[6 MustHaveRegister 16 MustHaveRegister "NoSpillStore"
|
|
1667
|
+
v1|d DWORD "[rdx|d]" v1|d rdx|d [8, 18[[38, 44[8 MustHaveRegister 40 MustHaveRegister 44 ShouldHaveRegister "NoSpillStore"
|
|
1668
|
+
v2|d DWORD "[rcx|d]" v2|d rcx|d [10, 18[[28, 34[10 MustHaveRegister 30 MustHaveRegister 34 ShouldHaveRegister "NoSpillStore"
|
|
1669
|
+
v3|d DWORD "[r8|d]" v3|d r8|d [12, 24[12 MustHaveRegister 20 MustHaveRegister 24 ShouldHaveRegister "NoSpillStore"
|
|
1670
|
+
v4|q QWORD "[r10|q]" v4|q -1 [14, 20[[28, 30[[38, 40[14 MustHaveRegister 20 MustHaveRegister 30 MustHaveRegister 40 MustHaveRegister "NoSpillStore"
|
|
1671
|
+
v5|q QWORD "[rbp|q]" v5|q rbp|q [2, 26[[28, 36[[38, 46[2 MustHaveRegister 26 ShouldHaveRegister 36 ShouldHaveRegister 46 ShouldHaveRegister "NoSpillStore"
|
|
1672
|
+
end_intervals
|
|
1673
|
+
begin_cfg
|
|
1674
|
+
name "After LinearScanOptimizeSpillPosition"
|
|
1675
|
+
begin_block
|
|
1676
|
+
name "B0"
|
|
1677
|
+
from_bci -1
|
|
1678
|
+
to_bci -1
|
|
1679
|
+
predecessors
|
|
1680
|
+
successors "B1" "B2" "B3"
|
|
1681
|
+
xhandlers
|
|
1682
|
+
flags
|
|
1683
|
+
probability 4607182418800017408
|
|
1684
|
+
begin_IR
|
|
1685
|
+
LIR
|
|
1686
|
+
nr 0 <|@ instruction [rsi|DWORD, rdx|DWORD, rcx|DWORD, r8|DWORD, rbp|QWORD] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
|
|
1687
|
+
nr 2 <|@ instruction v5|QWORD = MOVE rbp|QWORD moveKind: QWORD <|@ <|@
|
|
1688
|
+
nr 4 <|@ instruction [] = HOTSPOTLOCKSTACK frameMapBuilder: org.graalvm.compiler.lir.amd64.AMD64FrameMapBuilder@136728e98 slotKind: QWORD <|@ <|@
|
|
1689
|
+
nr 6 <|@ instruction v0|DWORD = MOVE rsi|DWORD moveKind: DWORD <|@ <|@
|
|
1690
|
+
nr 8 <|@ instruction v1|DWORD = MOVE rdx|DWORD moveKind: DWORD <|@ <|@
|
|
1691
|
+
nr 10 <|@ instruction v2|DWORD = MOVE rcx|DWORD moveKind: DWORD <|@ <|@
|
|
1692
|
+
nr 12 <|@ instruction v3|DWORD = MOVE r8|DWORD moveKind: DWORD <|@ <|@
|
|
1693
|
+
nr 14 <|@ instruction v4|QWORD[.] = HOTSPOTLOADOBJECTCONSTANT input: Object[Instance<java.lang.Class>] <|@ <|@
|
|
1694
|
+
nr 16 <|@ instruction AMD64HOTSPOTSTRATEGYSWITCH ~v0|DWORD - keyConstants: [int[0|0x0], int[1|0x1]] keyTargets: [B0 -> B1, B0 -> B2] defaultTarget: B0 -> B3 strategy: SequentialStrategy[avgEffort=1.6526315789473682] <|@ <|@
|
|
1695
|
+
end_IR
|
|
1696
|
+
end_block
|
|
1697
|
+
begin_block
|
|
1698
|
+
name "B3"
|
|
1699
|
+
from_bci -1
|
|
1700
|
+
to_bci -1
|
|
1701
|
+
predecessors "B0"
|
|
1702
|
+
successors
|
|
1703
|
+
xhandlers
|
|
1704
|
+
flags
|
|
1705
|
+
probability 4600308503579294019
|
|
1706
|
+
begin_IR
|
|
1707
|
+
LIR
|
|
1708
|
+
nr 18 <|@ instruction [] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
|
|
1709
|
+
nr 20 <|@ instruction MOV (x: [v4|QWORD[.] + 128], y: v3|DWORD) size: DWORD <|@ <|@
|
|
1710
|
+
nr 22 <|@ instruction MEMBAR barriers: 4 <|@ <|@
|
|
1711
|
+
nr 24 <|@ instruction rax|DWORD = MOVE v3|DWORD moveKind: DWORD <|@ <|@
|
|
1712
|
+
nr 26 <|@ instruction RETURN (savedRbp: v5|QWORD, value: rax|DWORD) isStub: false requiresReservedStackAccessCheck: false thread: r15 scratchForSafepointOnReturn: rcx config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@10e2187d8 <|@ <|@
|
|
1713
|
+
end_IR
|
|
1714
|
+
end_block
|
|
1715
|
+
begin_block
|
|
1716
|
+
name "B2"
|
|
1717
|
+
from_bci -1
|
|
1718
|
+
to_bci -1
|
|
1719
|
+
predecessors "B0"
|
|
1720
|
+
successors
|
|
1721
|
+
xhandlers
|
|
1722
|
+
flags
|
|
1723
|
+
probability 4599929253084357557
|
|
1724
|
+
begin_IR
|
|
1725
|
+
LIR
|
|
1726
|
+
nr 28 <|@ instruction [] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
|
|
1727
|
+
nr 30 <|@ instruction MOV (x: [v4|QWORD[.] + 128], y: v2|DWORD) size: DWORD <|@ <|@
|
|
1728
|
+
nr 32 <|@ instruction MEMBAR barriers: 4 <|@ <|@
|
|
1729
|
+
nr 34 <|@ instruction rax|DWORD = MOVE v2|DWORD moveKind: DWORD <|@ <|@
|
|
1730
|
+
nr 36 <|@ instruction RETURN (savedRbp: v5|QWORD, value: rax|DWORD) isStub: false requiresReservedStackAccessCheck: false thread: r15 scratchForSafepointOnReturn: rcx config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@10e2187d8 <|@ <|@
|
|
1731
|
+
end_IR
|
|
1732
|
+
end_block
|
|
1733
|
+
begin_block
|
|
1734
|
+
name "B1"
|
|
1735
|
+
from_bci -1
|
|
1736
|
+
to_bci -1
|
|
1737
|
+
predecessors "B0"
|
|
1738
|
+
successors
|
|
1739
|
+
xhandlers
|
|
1740
|
+
flags
|
|
1741
|
+
probability 4598791501599548168
|
|
1742
|
+
begin_IR
|
|
1743
|
+
LIR
|
|
1744
|
+
nr 38 <|@ instruction [] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
|
|
1745
|
+
nr 40 <|@ instruction MOV (x: [v4|QWORD[.] + 128], y: v1|DWORD) size: DWORD <|@ <|@
|
|
1746
|
+
nr 42 <|@ instruction MEMBAR barriers: 4 <|@ <|@
|
|
1747
|
+
nr 44 <|@ instruction rax|DWORD = MOVE v1|DWORD moveKind: DWORD <|@ <|@
|
|
1748
|
+
nr 46 <|@ instruction RETURN (savedRbp: v5|QWORD, value: rax|DWORD) isStub: false requiresReservedStackAccessCheck: false thread: r15 scratchForSafepointOnReturn: rcx config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@10e2187d8 <|@ <|@
|
|
1749
|
+
end_IR
|
|
1750
|
+
end_block
|
|
1751
|
+
end_cfg
|
|
1752
|
+
begin_bytecodes
|
|
1753
|
+
0: iload_0
|
|
1754
|
+
1: lookupswitch [2] {0: 28, 1: 38} default: 48
|
|
1755
|
+
28: iload_1
|
|
1756
|
+
29: putstatic #54 // intField:int
|
|
1757
|
+
32: iload_1
|
|
1758
|
+
33: istore 4
|
|
1759
|
+
35: goto 55
|
|
1760
|
+
38: iload_2
|
|
1761
|
+
39: putstatic #54 // intField:int
|
|
1762
|
+
42: iload_2
|
|
1763
|
+
43: istore 4
|
|
1764
|
+
45: goto 55
|
|
1765
|
+
48: iload_3
|
|
1766
|
+
49: putstatic #54 // intField:int
|
|
1767
|
+
52: iload_3
|
|
1768
|
+
53: istore 4
|
|
1769
|
+
55: iload 4
|
|
1770
|
+
57: ireturn
|
|
1771
|
+
<|@
|
|
1772
|
+
end_bytecodes
|
|
1773
|
+
begin_intervals
|
|
1774
|
+
name "After resolve data flow"
|
|
1775
|
+
rax|d fixed "[rax|d]" rax|d v3|d [0, 1[[24, 26[[34, 36[[44, 46[ "NoOptimization"
|
|
1776
|
+
rcx|d fixed "[rcx|d]" rcx|d -1 [0, 10[ "NoSpillStore"
|
|
1777
|
+
rdx|d fixed "[rdx|d]" rdx|d -1 [0, 8[ "NoSpillStore"
|
|
1778
|
+
rbp|q fixed "[rbp|q]" rbp|q -1 [0, 2[ "NoSpillStore"
|
|
1779
|
+
rsi|d fixed "[rsi|d]" rsi|d -1 [0, 6[ "NoSpillStore"
|
|
1780
|
+
r8|d fixed "[r8|d]" r8|d -1 [0, 12[ "NoSpillStore"
|
|
1781
|
+
v0|d DWORD "[rsi|d]" v0|d rsi|d [6, 17[6 MustHaveRegister 16 MustHaveRegister "NoSpillStore"
|
|
1782
|
+
v1|d DWORD "[rdx|d]" v1|d rdx|d [8, 18[[38, 44[8 MustHaveRegister 40 MustHaveRegister 44 ShouldHaveRegister "NoSpillStore"
|
|
1783
|
+
v2|d DWORD "[rcx|d]" v2|d rcx|d [10, 18[[28, 34[10 MustHaveRegister 30 MustHaveRegister 34 ShouldHaveRegister "NoSpillStore"
|
|
1784
|
+
v3|d DWORD "[r8|d]" v3|d r8|d [12, 24[12 MustHaveRegister 20 MustHaveRegister 24 ShouldHaveRegister "NoSpillStore"
|
|
1785
|
+
v4|q QWORD "[r10|q]" v4|q -1 [14, 20[[28, 30[[38, 40[14 MustHaveRegister 20 MustHaveRegister 30 MustHaveRegister 40 MustHaveRegister "NoSpillStore"
|
|
1786
|
+
v5|q QWORD "[rbp|q]" v5|q rbp|q [2, 26[[28, 36[[38, 46[2 MustHaveRegister 26 ShouldHaveRegister 36 ShouldHaveRegister 46 ShouldHaveRegister "NoSpillStore"
|
|
1787
|
+
end_intervals
|
|
1788
|
+
begin_cfg
|
|
1789
|
+
name "After SSALinearScanResolveDataFlow"
|
|
1790
|
+
begin_block
|
|
1791
|
+
name "B0"
|
|
1792
|
+
from_bci -1
|
|
1793
|
+
to_bci -1
|
|
1794
|
+
predecessors
|
|
1795
|
+
successors "B1" "B2" "B3"
|
|
1796
|
+
xhandlers
|
|
1797
|
+
flags
|
|
1798
|
+
probability 4607182418800017408
|
|
1799
|
+
begin_IR
|
|
1800
|
+
LIR
|
|
1801
|
+
nr 0 <|@ instruction [rsi|DWORD, rdx|DWORD, rcx|DWORD, r8|DWORD, rbp|QWORD] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
|
|
1802
|
+
nr 2 <|@ instruction v5|QWORD = MOVE rbp|QWORD moveKind: QWORD <|@ <|@
|
|
1803
|
+
nr 4 <|@ instruction [] = HOTSPOTLOCKSTACK frameMapBuilder: org.graalvm.compiler.lir.amd64.AMD64FrameMapBuilder@136728e98 slotKind: QWORD <|@ <|@
|
|
1804
|
+
nr 6 <|@ instruction v0|DWORD = MOVE rsi|DWORD moveKind: DWORD <|@ <|@
|
|
1805
|
+
nr 8 <|@ instruction v1|DWORD = MOVE rdx|DWORD moveKind: DWORD <|@ <|@
|
|
1806
|
+
nr 10 <|@ instruction v2|DWORD = MOVE rcx|DWORD moveKind: DWORD <|@ <|@
|
|
1807
|
+
nr 12 <|@ instruction v3|DWORD = MOVE r8|DWORD moveKind: DWORD <|@ <|@
|
|
1808
|
+
nr 14 <|@ instruction v4|QWORD[.] = HOTSPOTLOADOBJECTCONSTANT input: Object[Instance<java.lang.Class>] <|@ <|@
|
|
1809
|
+
nr 16 <|@ instruction AMD64HOTSPOTSTRATEGYSWITCH ~v0|DWORD - keyConstants: [int[0|0x0], int[1|0x1]] keyTargets: [B0 -> B1, B0 -> B2] defaultTarget: B0 -> B3 strategy: SequentialStrategy[avgEffort=1.6526315789473682] <|@ <|@
|
|
1810
|
+
end_IR
|
|
1811
|
+
end_block
|
|
1812
|
+
begin_block
|
|
1813
|
+
name "B3"
|
|
1814
|
+
from_bci -1
|
|
1815
|
+
to_bci -1
|
|
1816
|
+
predecessors "B0"
|
|
1817
|
+
successors
|
|
1818
|
+
xhandlers
|
|
1819
|
+
flags
|
|
1820
|
+
probability 4600308503579294019
|
|
1821
|
+
begin_IR
|
|
1822
|
+
LIR
|
|
1823
|
+
nr 18 <|@ instruction [] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
|
|
1824
|
+
nr 20 <|@ instruction MOV (x: [v4|QWORD[.] + 128], y: v3|DWORD) size: DWORD <|@ <|@
|
|
1825
|
+
nr 22 <|@ instruction MEMBAR barriers: 4 <|@ <|@
|
|
1826
|
+
nr 24 <|@ instruction rax|DWORD = MOVE v3|DWORD moveKind: DWORD <|@ <|@
|
|
1827
|
+
nr 26 <|@ instruction RETURN (savedRbp: v5|QWORD, value: rax|DWORD) isStub: false requiresReservedStackAccessCheck: false thread: r15 scratchForSafepointOnReturn: rcx config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@10e2187d8 <|@ <|@
|
|
1828
|
+
end_IR
|
|
1829
|
+
end_block
|
|
1830
|
+
begin_block
|
|
1831
|
+
name "B2"
|
|
1832
|
+
from_bci -1
|
|
1833
|
+
to_bci -1
|
|
1834
|
+
predecessors "B0"
|
|
1835
|
+
successors
|
|
1836
|
+
xhandlers
|
|
1837
|
+
flags
|
|
1838
|
+
probability 4599929253084357557
|
|
1839
|
+
begin_IR
|
|
1840
|
+
LIR
|
|
1841
|
+
nr 28 <|@ instruction [] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
|
|
1842
|
+
nr 30 <|@ instruction MOV (x: [v4|QWORD[.] + 128], y: v2|DWORD) size: DWORD <|@ <|@
|
|
1843
|
+
nr 32 <|@ instruction MEMBAR barriers: 4 <|@ <|@
|
|
1844
|
+
nr 34 <|@ instruction rax|DWORD = MOVE v2|DWORD moveKind: DWORD <|@ <|@
|
|
1845
|
+
nr 36 <|@ instruction RETURN (savedRbp: v5|QWORD, value: rax|DWORD) isStub: false requiresReservedStackAccessCheck: false thread: r15 scratchForSafepointOnReturn: rcx config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@10e2187d8 <|@ <|@
|
|
1846
|
+
end_IR
|
|
1847
|
+
end_block
|
|
1848
|
+
begin_block
|
|
1849
|
+
name "B1"
|
|
1850
|
+
from_bci -1
|
|
1851
|
+
to_bci -1
|
|
1852
|
+
predecessors "B0"
|
|
1853
|
+
successors
|
|
1854
|
+
xhandlers
|
|
1855
|
+
flags
|
|
1856
|
+
probability 4598791501599548168
|
|
1857
|
+
begin_IR
|
|
1858
|
+
LIR
|
|
1859
|
+
nr 38 <|@ instruction [] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
|
|
1860
|
+
nr 40 <|@ instruction MOV (x: [v4|QWORD[.] + 128], y: v1|DWORD) size: DWORD <|@ <|@
|
|
1861
|
+
nr 42 <|@ instruction MEMBAR barriers: 4 <|@ <|@
|
|
1862
|
+
nr 44 <|@ instruction rax|DWORD = MOVE v1|DWORD moveKind: DWORD <|@ <|@
|
|
1863
|
+
nr 46 <|@ instruction RETURN (savedRbp: v5|QWORD, value: rax|DWORD) isStub: false requiresReservedStackAccessCheck: false thread: r15 scratchForSafepointOnReturn: rcx config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@10e2187d8 <|@ <|@
|
|
1864
|
+
end_IR
|
|
1865
|
+
end_block
|
|
1866
|
+
end_cfg
|
|
1867
|
+
begin_bytecodes
|
|
1868
|
+
0: iload_0
|
|
1869
|
+
1: lookupswitch [2] {0: 28, 1: 38} default: 48
|
|
1870
|
+
28: iload_1
|
|
1871
|
+
29: putstatic #54 // intField:int
|
|
1872
|
+
32: iload_1
|
|
1873
|
+
33: istore 4
|
|
1874
|
+
35: goto 55
|
|
1875
|
+
38: iload_2
|
|
1876
|
+
39: putstatic #54 // intField:int
|
|
1877
|
+
42: iload_2
|
|
1878
|
+
43: istore 4
|
|
1879
|
+
45: goto 55
|
|
1880
|
+
48: iload_3
|
|
1881
|
+
49: putstatic #54 // intField:int
|
|
1882
|
+
52: iload_3
|
|
1883
|
+
53: istore 4
|
|
1884
|
+
55: iload 4
|
|
1885
|
+
57: ireturn
|
|
1886
|
+
<|@
|
|
1887
|
+
end_bytecodes
|
|
1888
|
+
begin_cfg
|
|
1889
|
+
name "After SSALinearScanEliminateSpillMove"
|
|
1890
|
+
begin_block
|
|
1891
|
+
name "B0"
|
|
1892
|
+
from_bci -1
|
|
1893
|
+
to_bci -1
|
|
1894
|
+
predecessors
|
|
1895
|
+
successors "B1" "B2" "B3"
|
|
1896
|
+
xhandlers
|
|
1897
|
+
flags
|
|
1898
|
+
probability 4607182418800017408
|
|
1899
|
+
begin_IR
|
|
1900
|
+
LIR
|
|
1901
|
+
nr 0 <|@ instruction [rsi|DWORD, rdx|DWORD, rcx|DWORD, r8|DWORD, rbp|QWORD] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
|
|
1902
|
+
nr 2 <|@ instruction v5|QWORD = MOVE rbp|QWORD moveKind: QWORD <|@ <|@
|
|
1903
|
+
nr 4 <|@ instruction [] = HOTSPOTLOCKSTACK frameMapBuilder: org.graalvm.compiler.lir.amd64.AMD64FrameMapBuilder@136728e98 slotKind: QWORD <|@ <|@
|
|
1904
|
+
nr 6 <|@ instruction v0|DWORD = MOVE rsi|DWORD moveKind: DWORD <|@ <|@
|
|
1905
|
+
nr 8 <|@ instruction v1|DWORD = MOVE rdx|DWORD moveKind: DWORD <|@ <|@
|
|
1906
|
+
nr 10 <|@ instruction v2|DWORD = MOVE rcx|DWORD moveKind: DWORD <|@ <|@
|
|
1907
|
+
nr 12 <|@ instruction v3|DWORD = MOVE r8|DWORD moveKind: DWORD <|@ <|@
|
|
1908
|
+
nr 14 <|@ instruction v4|QWORD[.] = HOTSPOTLOADOBJECTCONSTANT input: Object[Instance<java.lang.Class>] <|@ <|@
|
|
1909
|
+
nr 16 <|@ instruction AMD64HOTSPOTSTRATEGYSWITCH ~v0|DWORD - keyConstants: [int[0|0x0], int[1|0x1]] keyTargets: [B0 -> B1, B0 -> B2] defaultTarget: B0 -> B3 strategy: SequentialStrategy[avgEffort=1.6526315789473682] <|@ <|@
|
|
1910
|
+
end_IR
|
|
1911
|
+
end_block
|
|
1912
|
+
begin_block
|
|
1913
|
+
name "B3"
|
|
1914
|
+
from_bci -1
|
|
1915
|
+
to_bci -1
|
|
1916
|
+
predecessors "B0"
|
|
1917
|
+
successors
|
|
1918
|
+
xhandlers
|
|
1919
|
+
flags
|
|
1920
|
+
probability 4600308503579294019
|
|
1921
|
+
begin_IR
|
|
1922
|
+
LIR
|
|
1923
|
+
nr 18 <|@ instruction [] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
|
|
1924
|
+
nr 20 <|@ instruction MOV (x: [v4|QWORD[.] + 128], y: v3|DWORD) size: DWORD <|@ <|@
|
|
1925
|
+
nr 22 <|@ instruction MEMBAR barriers: 4 <|@ <|@
|
|
1926
|
+
nr 24 <|@ instruction rax|DWORD = MOVE v3|DWORD moveKind: DWORD <|@ <|@
|
|
1927
|
+
nr 26 <|@ instruction RETURN (savedRbp: v5|QWORD, value: rax|DWORD) isStub: false requiresReservedStackAccessCheck: false thread: r15 scratchForSafepointOnReturn: rcx config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@10e2187d8 <|@ <|@
|
|
1928
|
+
end_IR
|
|
1929
|
+
end_block
|
|
1930
|
+
begin_block
|
|
1931
|
+
name "B2"
|
|
1932
|
+
from_bci -1
|
|
1933
|
+
to_bci -1
|
|
1934
|
+
predecessors "B0"
|
|
1935
|
+
successors
|
|
1936
|
+
xhandlers
|
|
1937
|
+
flags
|
|
1938
|
+
probability 4599929253084357557
|
|
1939
|
+
begin_IR
|
|
1940
|
+
LIR
|
|
1941
|
+
nr 28 <|@ instruction [] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
|
|
1942
|
+
nr 30 <|@ instruction MOV (x: [v4|QWORD[.] + 128], y: v2|DWORD) size: DWORD <|@ <|@
|
|
1943
|
+
nr 32 <|@ instruction MEMBAR barriers: 4 <|@ <|@
|
|
1944
|
+
nr 34 <|@ instruction rax|DWORD = MOVE v2|DWORD moveKind: DWORD <|@ <|@
|
|
1945
|
+
nr 36 <|@ instruction RETURN (savedRbp: v5|QWORD, value: rax|DWORD) isStub: false requiresReservedStackAccessCheck: false thread: r15 scratchForSafepointOnReturn: rcx config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@10e2187d8 <|@ <|@
|
|
1946
|
+
end_IR
|
|
1947
|
+
end_block
|
|
1948
|
+
begin_block
|
|
1949
|
+
name "B1"
|
|
1950
|
+
from_bci -1
|
|
1951
|
+
to_bci -1
|
|
1952
|
+
predecessors "B0"
|
|
1953
|
+
successors
|
|
1954
|
+
xhandlers
|
|
1955
|
+
flags
|
|
1956
|
+
probability 4598791501599548168
|
|
1957
|
+
begin_IR
|
|
1958
|
+
LIR
|
|
1959
|
+
nr 38 <|@ instruction [] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
|
|
1960
|
+
nr 40 <|@ instruction MOV (x: [v4|QWORD[.] + 128], y: v1|DWORD) size: DWORD <|@ <|@
|
|
1961
|
+
nr 42 <|@ instruction MEMBAR barriers: 4 <|@ <|@
|
|
1962
|
+
nr 44 <|@ instruction rax|DWORD = MOVE v1|DWORD moveKind: DWORD <|@ <|@
|
|
1963
|
+
nr 46 <|@ instruction RETURN (savedRbp: v5|QWORD, value: rax|DWORD) isStub: false requiresReservedStackAccessCheck: false thread: r15 scratchForSafepointOnReturn: rcx config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@10e2187d8 <|@ <|@
|
|
1964
|
+
end_IR
|
|
1965
|
+
end_block
|
|
1966
|
+
end_cfg
|
|
1967
|
+
begin_bytecodes
|
|
1968
|
+
0: iload_0
|
|
1969
|
+
1: lookupswitch [2] {0: 28, 1: 38} default: 48
|
|
1970
|
+
28: iload_1
|
|
1971
|
+
29: putstatic #54 // intField:int
|
|
1972
|
+
32: iload_1
|
|
1973
|
+
33: istore 4
|
|
1974
|
+
35: goto 55
|
|
1975
|
+
38: iload_2
|
|
1976
|
+
39: putstatic #54 // intField:int
|
|
1977
|
+
42: iload_2
|
|
1978
|
+
43: istore 4
|
|
1979
|
+
45: goto 55
|
|
1980
|
+
48: iload_3
|
|
1981
|
+
49: putstatic #54 // intField:int
|
|
1982
|
+
52: iload_3
|
|
1983
|
+
53: istore 4
|
|
1984
|
+
55: iload 4
|
|
1985
|
+
57: ireturn
|
|
1986
|
+
<|@
|
|
1987
|
+
end_bytecodes
|
|
1988
|
+
begin_cfg
|
|
1989
|
+
name "After LinearScanAssignLocations"
|
|
1990
|
+
begin_block
|
|
1991
|
+
name "B0"
|
|
1992
|
+
from_bci -1
|
|
1993
|
+
to_bci -1
|
|
1994
|
+
predecessors
|
|
1995
|
+
successors "B1" "B2" "B3"
|
|
1996
|
+
xhandlers
|
|
1997
|
+
flags
|
|
1998
|
+
probability 4607182418800017408
|
|
1999
|
+
begin_IR
|
|
2000
|
+
LIR
|
|
2001
|
+
nr 0 <|@ instruction [rsi|DWORD, rdx|DWORD, rcx|DWORD, r8|DWORD, rbp|QWORD] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
|
|
2002
|
+
nr 4 <|@ instruction [] = HOTSPOTLOCKSTACK frameMapBuilder: org.graalvm.compiler.lir.amd64.AMD64FrameMapBuilder@136728e98 slotKind: QWORD <|@ <|@
|
|
2003
|
+
nr 14 <|@ instruction r10|QWORD[.] = HOTSPOTLOADOBJECTCONSTANT input: Object[Instance<java.lang.Class>] <|@ <|@
|
|
2004
|
+
nr 16 <|@ instruction AMD64HOTSPOTSTRATEGYSWITCH ~rsi|DWORD - keyConstants: [int[0|0x0], int[1|0x1]] keyTargets: [B0 -> B1, B0 -> B2] defaultTarget: B0 -> B3 strategy: SequentialStrategy[avgEffort=1.6526315789473682] <|@ <|@
|
|
2005
|
+
end_IR
|
|
2006
|
+
end_block
|
|
2007
|
+
begin_block
|
|
2008
|
+
name "B3"
|
|
2009
|
+
from_bci -1
|
|
2010
|
+
to_bci -1
|
|
2011
|
+
predecessors "B0"
|
|
2012
|
+
successors
|
|
2013
|
+
xhandlers
|
|
2014
|
+
flags
|
|
2015
|
+
probability 4600308503579294019
|
|
2016
|
+
begin_IR
|
|
2017
|
+
LIR
|
|
2018
|
+
nr 18 <|@ instruction [] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
|
|
2019
|
+
nr 20 <|@ instruction MOV (x: [r10|QWORD[.] + 128], y: r8|DWORD) size: DWORD <|@ <|@
|
|
2020
|
+
nr 22 <|@ instruction MEMBAR barriers: 4 <|@ <|@
|
|
2021
|
+
nr 24 <|@ instruction rax|DWORD = MOVE r8|DWORD moveKind: DWORD <|@ <|@
|
|
2022
|
+
nr 26 <|@ instruction RETURN (savedRbp: rbp|QWORD, value: rax|DWORD) isStub: false requiresReservedStackAccessCheck: false thread: r15 scratchForSafepointOnReturn: rcx config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@10e2187d8 <|@ <|@
|
|
2023
|
+
end_IR
|
|
2024
|
+
end_block
|
|
2025
|
+
begin_block
|
|
2026
|
+
name "B2"
|
|
2027
|
+
from_bci -1
|
|
2028
|
+
to_bci -1
|
|
2029
|
+
predecessors "B0"
|
|
2030
|
+
successors
|
|
2031
|
+
xhandlers
|
|
2032
|
+
flags
|
|
2033
|
+
probability 4599929253084357557
|
|
2034
|
+
begin_IR
|
|
2035
|
+
LIR
|
|
2036
|
+
nr 28 <|@ instruction [] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
|
|
2037
|
+
nr 30 <|@ instruction MOV (x: [r10|QWORD[.] + 128], y: rcx|DWORD) size: DWORD <|@ <|@
|
|
2038
|
+
nr 32 <|@ instruction MEMBAR barriers: 4 <|@ <|@
|
|
2039
|
+
nr 34 <|@ instruction rax|DWORD = MOVE rcx|DWORD moveKind: DWORD <|@ <|@
|
|
2040
|
+
nr 36 <|@ instruction RETURN (savedRbp: rbp|QWORD, value: rax|DWORD) isStub: false requiresReservedStackAccessCheck: false thread: r15 scratchForSafepointOnReturn: rcx config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@10e2187d8 <|@ <|@
|
|
2041
|
+
end_IR
|
|
2042
|
+
end_block
|
|
2043
|
+
begin_block
|
|
2044
|
+
name "B1"
|
|
2045
|
+
from_bci -1
|
|
2046
|
+
to_bci -1
|
|
2047
|
+
predecessors "B0"
|
|
2048
|
+
successors
|
|
2049
|
+
xhandlers
|
|
2050
|
+
flags
|
|
2051
|
+
probability 4598791501599548168
|
|
2052
|
+
begin_IR
|
|
2053
|
+
LIR
|
|
2054
|
+
nr 38 <|@ instruction [] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
|
|
2055
|
+
nr 40 <|@ instruction MOV (x: [r10|QWORD[.] + 128], y: rdx|DWORD) size: DWORD <|@ <|@
|
|
2056
|
+
nr 42 <|@ instruction MEMBAR barriers: 4 <|@ <|@
|
|
2057
|
+
nr 44 <|@ instruction rax|DWORD = MOVE rdx|DWORD moveKind: DWORD <|@ <|@
|
|
2058
|
+
nr 46 <|@ instruction RETURN (savedRbp: rbp|QWORD, value: rax|DWORD) isStub: false requiresReservedStackAccessCheck: false thread: r15 scratchForSafepointOnReturn: rcx config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@10e2187d8 <|@ <|@
|
|
2059
|
+
end_IR
|
|
2060
|
+
end_block
|
|
2061
|
+
end_cfg
|
|
2062
|
+
begin_bytecodes
|
|
2063
|
+
0: iload_0
|
|
2064
|
+
1: lookupswitch [2] {0: 28, 1: 38} default: 48
|
|
2065
|
+
28: iload_1
|
|
2066
|
+
29: putstatic #54 // intField:int
|
|
2067
|
+
32: iload_1
|
|
2068
|
+
33: istore 4
|
|
2069
|
+
35: goto 55
|
|
2070
|
+
38: iload_2
|
|
2071
|
+
39: putstatic #54 // intField:int
|
|
2072
|
+
42: iload_2
|
|
2073
|
+
43: istore 4
|
|
2074
|
+
45: goto 55
|
|
2075
|
+
48: iload_3
|
|
2076
|
+
49: putstatic #54 // intField:int
|
|
2077
|
+
52: iload_3
|
|
2078
|
+
53: istore 4
|
|
2079
|
+
55: iload 4
|
|
2080
|
+
57: ireturn
|
|
2081
|
+
<|@
|
|
2082
|
+
end_bytecodes
|
|
2083
|
+
begin_cfg
|
|
2084
|
+
name "After LinearScan"
|
|
2085
|
+
begin_block
|
|
2086
|
+
name "B0"
|
|
2087
|
+
from_bci -1
|
|
2088
|
+
to_bci -1
|
|
2089
|
+
predecessors
|
|
2090
|
+
successors "B1" "B2" "B3"
|
|
2091
|
+
xhandlers
|
|
2092
|
+
flags
|
|
2093
|
+
probability 4607182418800017408
|
|
2094
|
+
begin_IR
|
|
2095
|
+
LIR
|
|
2096
|
+
nr 0 <|@ instruction [rsi|DWORD, rdx|DWORD, rcx|DWORD, r8|DWORD, rbp|QWORD] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
|
|
2097
|
+
nr 4 <|@ instruction [] = HOTSPOTLOCKSTACK frameMapBuilder: org.graalvm.compiler.lir.amd64.AMD64FrameMapBuilder@136728e98 slotKind: QWORD <|@ <|@
|
|
2098
|
+
nr 14 <|@ instruction r10|QWORD[.] = HOTSPOTLOADOBJECTCONSTANT input: Object[Instance<java.lang.Class>] <|@ <|@
|
|
2099
|
+
nr 16 <|@ instruction AMD64HOTSPOTSTRATEGYSWITCH ~rsi|DWORD - keyConstants: [int[0|0x0], int[1|0x1]] keyTargets: [B0 -> B1, B0 -> B2] defaultTarget: B0 -> B3 strategy: SequentialStrategy[avgEffort=1.6526315789473682] <|@ <|@
|
|
2100
|
+
end_IR
|
|
2101
|
+
end_block
|
|
2102
|
+
begin_block
|
|
2103
|
+
name "B3"
|
|
2104
|
+
from_bci -1
|
|
2105
|
+
to_bci -1
|
|
2106
|
+
predecessors "B0"
|
|
2107
|
+
successors
|
|
2108
|
+
xhandlers
|
|
2109
|
+
flags
|
|
2110
|
+
probability 4600308503579294019
|
|
2111
|
+
begin_IR
|
|
2112
|
+
LIR
|
|
2113
|
+
nr 18 <|@ instruction [] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
|
|
2114
|
+
nr 20 <|@ instruction MOV (x: [r10|QWORD[.] + 128], y: r8|DWORD) size: DWORD <|@ <|@
|
|
2115
|
+
nr 22 <|@ instruction MEMBAR barriers: 4 <|@ <|@
|
|
2116
|
+
nr 24 <|@ instruction rax|DWORD = MOVE r8|DWORD moveKind: DWORD <|@ <|@
|
|
2117
|
+
nr 26 <|@ instruction RETURN (savedRbp: rbp|QWORD, value: rax|DWORD) isStub: false requiresReservedStackAccessCheck: false thread: r15 scratchForSafepointOnReturn: rcx config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@10e2187d8 <|@ <|@
|
|
2118
|
+
end_IR
|
|
2119
|
+
end_block
|
|
2120
|
+
begin_block
|
|
2121
|
+
name "B2"
|
|
2122
|
+
from_bci -1
|
|
2123
|
+
to_bci -1
|
|
2124
|
+
predecessors "B0"
|
|
2125
|
+
successors
|
|
2126
|
+
xhandlers
|
|
2127
|
+
flags
|
|
2128
|
+
probability 4599929253084357557
|
|
2129
|
+
begin_IR
|
|
2130
|
+
LIR
|
|
2131
|
+
nr 28 <|@ instruction [] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
|
|
2132
|
+
nr 30 <|@ instruction MOV (x: [r10|QWORD[.] + 128], y: rcx|DWORD) size: DWORD <|@ <|@
|
|
2133
|
+
nr 32 <|@ instruction MEMBAR barriers: 4 <|@ <|@
|
|
2134
|
+
nr 34 <|@ instruction rax|DWORD = MOVE rcx|DWORD moveKind: DWORD <|@ <|@
|
|
2135
|
+
nr 36 <|@ instruction RETURN (savedRbp: rbp|QWORD, value: rax|DWORD) isStub: false requiresReservedStackAccessCheck: false thread: r15 scratchForSafepointOnReturn: rcx config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@10e2187d8 <|@ <|@
|
|
2136
|
+
end_IR
|
|
2137
|
+
end_block
|
|
2138
|
+
begin_block
|
|
2139
|
+
name "B1"
|
|
2140
|
+
from_bci -1
|
|
2141
|
+
to_bci -1
|
|
2142
|
+
predecessors "B0"
|
|
2143
|
+
successors
|
|
2144
|
+
xhandlers
|
|
2145
|
+
flags
|
|
2146
|
+
probability 4598791501599548168
|
|
2147
|
+
begin_IR
|
|
2148
|
+
LIR
|
|
2149
|
+
nr 38 <|@ instruction [] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
|
|
2150
|
+
nr 40 <|@ instruction MOV (x: [r10|QWORD[.] + 128], y: rdx|DWORD) size: DWORD <|@ <|@
|
|
2151
|
+
nr 42 <|@ instruction MEMBAR barriers: 4 <|@ <|@
|
|
2152
|
+
nr 44 <|@ instruction rax|DWORD = MOVE rdx|DWORD moveKind: DWORD <|@ <|@
|
|
2153
|
+
nr 46 <|@ instruction RETURN (savedRbp: rbp|QWORD, value: rax|DWORD) isStub: false requiresReservedStackAccessCheck: false thread: r15 scratchForSafepointOnReturn: rcx config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@10e2187d8 <|@ <|@
|
|
2154
|
+
end_IR
|
|
2155
|
+
end_block
|
|
2156
|
+
end_cfg
|
|
2157
|
+
begin_bytecodes
|
|
2158
|
+
0: iload_0
|
|
2159
|
+
1: lookupswitch [2] {0: 28, 1: 38} default: 48
|
|
2160
|
+
28: iload_1
|
|
2161
|
+
29: putstatic #54 // intField:int
|
|
2162
|
+
32: iload_1
|
|
2163
|
+
33: istore 4
|
|
2164
|
+
35: goto 55
|
|
2165
|
+
38: iload_2
|
|
2166
|
+
39: putstatic #54 // intField:int
|
|
2167
|
+
42: iload_2
|
|
2168
|
+
43: istore 4
|
|
2169
|
+
45: goto 55
|
|
2170
|
+
48: iload_3
|
|
2171
|
+
49: putstatic #54 // intField:int
|
|
2172
|
+
52: iload_3
|
|
2173
|
+
53: istore 4
|
|
2174
|
+
55: iload 4
|
|
2175
|
+
57: ireturn
|
|
2176
|
+
<|@
|
|
2177
|
+
end_bytecodes
|
|
2178
|
+
begin_cfg
|
|
2179
|
+
name "After LSStackSlotAllocator"
|
|
2180
|
+
begin_block
|
|
2181
|
+
name "B0"
|
|
2182
|
+
from_bci -1
|
|
2183
|
+
to_bci -1
|
|
2184
|
+
predecessors
|
|
2185
|
+
successors "B1" "B2" "B3"
|
|
2186
|
+
xhandlers
|
|
2187
|
+
flags
|
|
2188
|
+
probability 4607182418800017408
|
|
2189
|
+
begin_IR
|
|
2190
|
+
LIR
|
|
2191
|
+
nr 0 <|@ instruction [rsi|DWORD, rdx|DWORD, rcx|DWORD, r8|DWORD, rbp|QWORD] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
|
|
2192
|
+
nr 4 <|@ instruction [] = HOTSPOTLOCKSTACK frameMapBuilder: org.graalvm.compiler.lir.amd64.AMD64FrameMapBuilder@136728e98 slotKind: QWORD <|@ <|@
|
|
2193
|
+
nr 14 <|@ instruction r10|QWORD[.] = HOTSPOTLOADOBJECTCONSTANT input: Object[Instance<java.lang.Class>] <|@ <|@
|
|
2194
|
+
nr 16 <|@ instruction AMD64HOTSPOTSTRATEGYSWITCH ~rsi|DWORD - keyConstants: [int[0|0x0], int[1|0x1]] keyTargets: [B0 -> B1, B0 -> B2] defaultTarget: B0 -> B3 strategy: SequentialStrategy[avgEffort=1.6526315789473682] <|@ <|@
|
|
2195
|
+
end_IR
|
|
2196
|
+
end_block
|
|
2197
|
+
begin_block
|
|
2198
|
+
name "B3"
|
|
2199
|
+
from_bci -1
|
|
2200
|
+
to_bci -1
|
|
2201
|
+
predecessors "B0"
|
|
2202
|
+
successors
|
|
2203
|
+
xhandlers
|
|
2204
|
+
flags
|
|
2205
|
+
probability 4600308503579294019
|
|
2206
|
+
begin_IR
|
|
2207
|
+
LIR
|
|
2208
|
+
nr 18 <|@ instruction [] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
|
|
2209
|
+
nr 20 <|@ instruction MOV (x: [r10|QWORD[.] + 128], y: r8|DWORD) size: DWORD <|@ <|@
|
|
2210
|
+
nr 22 <|@ instruction MEMBAR barriers: 4 <|@ <|@
|
|
2211
|
+
nr 24 <|@ instruction rax|DWORD = MOVE r8|DWORD moveKind: DWORD <|@ <|@
|
|
2212
|
+
nr 26 <|@ instruction RETURN (savedRbp: rbp|QWORD, value: rax|DWORD) isStub: false requiresReservedStackAccessCheck: false thread: r15 scratchForSafepointOnReturn: rcx config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@10e2187d8 <|@ <|@
|
|
2213
|
+
end_IR
|
|
2214
|
+
end_block
|
|
2215
|
+
begin_block
|
|
2216
|
+
name "B2"
|
|
2217
|
+
from_bci -1
|
|
2218
|
+
to_bci -1
|
|
2219
|
+
predecessors "B0"
|
|
2220
|
+
successors
|
|
2221
|
+
xhandlers
|
|
2222
|
+
flags
|
|
2223
|
+
probability 4599929253084357557
|
|
2224
|
+
begin_IR
|
|
2225
|
+
LIR
|
|
2226
|
+
nr 28 <|@ instruction [] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
|
|
2227
|
+
nr 30 <|@ instruction MOV (x: [r10|QWORD[.] + 128], y: rcx|DWORD) size: DWORD <|@ <|@
|
|
2228
|
+
nr 32 <|@ instruction MEMBAR barriers: 4 <|@ <|@
|
|
2229
|
+
nr 34 <|@ instruction rax|DWORD = MOVE rcx|DWORD moveKind: DWORD <|@ <|@
|
|
2230
|
+
nr 36 <|@ instruction RETURN (savedRbp: rbp|QWORD, value: rax|DWORD) isStub: false requiresReservedStackAccessCheck: false thread: r15 scratchForSafepointOnReturn: rcx config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@10e2187d8 <|@ <|@
|
|
2231
|
+
end_IR
|
|
2232
|
+
end_block
|
|
2233
|
+
begin_block
|
|
2234
|
+
name "B1"
|
|
2235
|
+
from_bci -1
|
|
2236
|
+
to_bci -1
|
|
2237
|
+
predecessors "B0"
|
|
2238
|
+
successors
|
|
2239
|
+
xhandlers
|
|
2240
|
+
flags
|
|
2241
|
+
probability 4598791501599548168
|
|
2242
|
+
begin_IR
|
|
2243
|
+
LIR
|
|
2244
|
+
nr 38 <|@ instruction [] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
|
|
2245
|
+
nr 40 <|@ instruction MOV (x: [r10|QWORD[.] + 128], y: rdx|DWORD) size: DWORD <|@ <|@
|
|
2246
|
+
nr 42 <|@ instruction MEMBAR barriers: 4 <|@ <|@
|
|
2247
|
+
nr 44 <|@ instruction rax|DWORD = MOVE rdx|DWORD moveKind: DWORD <|@ <|@
|
|
2248
|
+
nr 46 <|@ instruction RETURN (savedRbp: rbp|QWORD, value: rax|DWORD) isStub: false requiresReservedStackAccessCheck: false thread: r15 scratchForSafepointOnReturn: rcx config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@10e2187d8 <|@ <|@
|
|
2249
|
+
end_IR
|
|
2250
|
+
end_block
|
|
2251
|
+
end_cfg
|
|
2252
|
+
begin_bytecodes
|
|
2253
|
+
0: iload_0
|
|
2254
|
+
1: lookupswitch [2] {0: 28, 1: 38} default: 48
|
|
2255
|
+
28: iload_1
|
|
2256
|
+
29: putstatic #54 // intField:int
|
|
2257
|
+
32: iload_1
|
|
2258
|
+
33: istore 4
|
|
2259
|
+
35: goto 55
|
|
2260
|
+
38: iload_2
|
|
2261
|
+
39: putstatic #54 // intField:int
|
|
2262
|
+
42: iload_2
|
|
2263
|
+
43: istore 4
|
|
2264
|
+
45: goto 55
|
|
2265
|
+
48: iload_3
|
|
2266
|
+
49: putstatic #54 // intField:int
|
|
2267
|
+
52: iload_3
|
|
2268
|
+
53: istore 4
|
|
2269
|
+
55: iload 4
|
|
2270
|
+
57: ireturn
|
|
2271
|
+
<|@
|
|
2272
|
+
end_bytecodes
|
|
2273
|
+
begin_cfg
|
|
2274
|
+
name "After LocationMarker"
|
|
2275
|
+
begin_block
|
|
2276
|
+
name "B0"
|
|
2277
|
+
from_bci -1
|
|
2278
|
+
to_bci -1
|
|
2279
|
+
predecessors
|
|
2280
|
+
successors "B1" "B2" "B3"
|
|
2281
|
+
xhandlers
|
|
2282
|
+
flags
|
|
2283
|
+
probability 4607182418800017408
|
|
2284
|
+
begin_IR
|
|
2285
|
+
LIR
|
|
2286
|
+
nr 0 <|@ instruction [rsi|DWORD, rdx|DWORD, rcx|DWORD, r8|DWORD, rbp|QWORD] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
|
|
2287
|
+
nr 4 <|@ instruction [] = HOTSPOTLOCKSTACK frameMapBuilder: org.graalvm.compiler.lir.amd64.AMD64FrameMapBuilder@136728e98 slotKind: QWORD <|@ <|@
|
|
2288
|
+
nr 14 <|@ instruction r10|QWORD[.] = HOTSPOTLOADOBJECTCONSTANT input: Object[Instance<java.lang.Class>] <|@ <|@
|
|
2289
|
+
nr 16 <|@ instruction AMD64HOTSPOTSTRATEGYSWITCH ~rsi|DWORD - keyConstants: [int[0|0x0], int[1|0x1]] keyTargets: [B0 -> B1, B0 -> B2] defaultTarget: B0 -> B3 strategy: SequentialStrategy[avgEffort=1.6526315789473682] <|@ <|@
|
|
2290
|
+
end_IR
|
|
2291
|
+
end_block
|
|
2292
|
+
begin_block
|
|
2293
|
+
name "B3"
|
|
2294
|
+
from_bci -1
|
|
2295
|
+
to_bci -1
|
|
2296
|
+
predecessors "B0"
|
|
2297
|
+
successors
|
|
2298
|
+
xhandlers
|
|
2299
|
+
flags
|
|
2300
|
+
probability 4600308503579294019
|
|
2301
|
+
begin_IR
|
|
2302
|
+
LIR
|
|
2303
|
+
nr 18 <|@ instruction [] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
|
|
2304
|
+
nr 20 <|@ instruction MOV (x: [r10|QWORD[.] + 128], y: r8|DWORD) size: DWORD <|@ <|@
|
|
2305
|
+
nr 22 <|@ instruction MEMBAR barriers: 4 <|@ <|@
|
|
2306
|
+
nr 24 <|@ instruction rax|DWORD = MOVE r8|DWORD moveKind: DWORD <|@ <|@
|
|
2307
|
+
nr 26 <|@ instruction RETURN (savedRbp: rbp|QWORD, value: rax|DWORD) isStub: false requiresReservedStackAccessCheck: false thread: r15 scratchForSafepointOnReturn: rcx config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@10e2187d8 <|@ <|@
|
|
2308
|
+
end_IR
|
|
2309
|
+
end_block
|
|
2310
|
+
begin_block
|
|
2311
|
+
name "B2"
|
|
2312
|
+
from_bci -1
|
|
2313
|
+
to_bci -1
|
|
2314
|
+
predecessors "B0"
|
|
2315
|
+
successors
|
|
2316
|
+
xhandlers
|
|
2317
|
+
flags
|
|
2318
|
+
probability 4599929253084357557
|
|
2319
|
+
begin_IR
|
|
2320
|
+
LIR
|
|
2321
|
+
nr 28 <|@ instruction [] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
|
|
2322
|
+
nr 30 <|@ instruction MOV (x: [r10|QWORD[.] + 128], y: rcx|DWORD) size: DWORD <|@ <|@
|
|
2323
|
+
nr 32 <|@ instruction MEMBAR barriers: 4 <|@ <|@
|
|
2324
|
+
nr 34 <|@ instruction rax|DWORD = MOVE rcx|DWORD moveKind: DWORD <|@ <|@
|
|
2325
|
+
nr 36 <|@ instruction RETURN (savedRbp: rbp|QWORD, value: rax|DWORD) isStub: false requiresReservedStackAccessCheck: false thread: r15 scratchForSafepointOnReturn: rcx config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@10e2187d8 <|@ <|@
|
|
2326
|
+
end_IR
|
|
2327
|
+
end_block
|
|
2328
|
+
begin_block
|
|
2329
|
+
name "B1"
|
|
2330
|
+
from_bci -1
|
|
2331
|
+
to_bci -1
|
|
2332
|
+
predecessors "B0"
|
|
2333
|
+
successors
|
|
2334
|
+
xhandlers
|
|
2335
|
+
flags
|
|
2336
|
+
probability 4598791501599548168
|
|
2337
|
+
begin_IR
|
|
2338
|
+
LIR
|
|
2339
|
+
nr 38 <|@ instruction [] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
|
|
2340
|
+
nr 40 <|@ instruction MOV (x: [r10|QWORD[.] + 128], y: rdx|DWORD) size: DWORD <|@ <|@
|
|
2341
|
+
nr 42 <|@ instruction MEMBAR barriers: 4 <|@ <|@
|
|
2342
|
+
nr 44 <|@ instruction rax|DWORD = MOVE rdx|DWORD moveKind: DWORD <|@ <|@
|
|
2343
|
+
nr 46 <|@ instruction RETURN (savedRbp: rbp|QWORD, value: rax|DWORD) isStub: false requiresReservedStackAccessCheck: false thread: r15 scratchForSafepointOnReturn: rcx config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@10e2187d8 <|@ <|@
|
|
2344
|
+
end_IR
|
|
2345
|
+
end_block
|
|
2346
|
+
end_cfg
|
|
2347
|
+
begin_bytecodes
|
|
2348
|
+
0: iload_0
|
|
2349
|
+
1: lookupswitch [2] {0: 28, 1: 38} default: 48
|
|
2350
|
+
28: iload_1
|
|
2351
|
+
29: putstatic #54 // intField:int
|
|
2352
|
+
32: iload_1
|
|
2353
|
+
33: istore 4
|
|
2354
|
+
35: goto 55
|
|
2355
|
+
38: iload_2
|
|
2356
|
+
39: putstatic #54 // intField:int
|
|
2357
|
+
42: iload_2
|
|
2358
|
+
43: istore 4
|
|
2359
|
+
45: goto 55
|
|
2360
|
+
48: iload_3
|
|
2361
|
+
49: putstatic #54 // intField:int
|
|
2362
|
+
52: iload_3
|
|
2363
|
+
53: istore 4
|
|
2364
|
+
55: iload 4
|
|
2365
|
+
57: ireturn
|
|
2366
|
+
<|@
|
|
2367
|
+
end_bytecodes
|
|
2368
|
+
begin_cfg
|
|
2369
|
+
name "After AllocationStage"
|
|
2370
|
+
begin_block
|
|
2371
|
+
name "B0"
|
|
2372
|
+
from_bci -1
|
|
2373
|
+
to_bci -1
|
|
2374
|
+
predecessors
|
|
2375
|
+
successors "B1" "B2" "B3"
|
|
2376
|
+
xhandlers
|
|
2377
|
+
flags
|
|
2378
|
+
probability 4607182418800017408
|
|
2379
|
+
begin_IR
|
|
2380
|
+
LIR
|
|
2381
|
+
nr 0 <|@ instruction [rsi|DWORD, rdx|DWORD, rcx|DWORD, r8|DWORD, rbp|QWORD] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
|
|
2382
|
+
nr 4 <|@ instruction [] = HOTSPOTLOCKSTACK frameMapBuilder: org.graalvm.compiler.lir.amd64.AMD64FrameMapBuilder@136728e98 slotKind: QWORD <|@ <|@
|
|
2383
|
+
nr 14 <|@ instruction r10|QWORD[.] = HOTSPOTLOADOBJECTCONSTANT input: Object[Instance<java.lang.Class>] <|@ <|@
|
|
2384
|
+
nr 16 <|@ instruction AMD64HOTSPOTSTRATEGYSWITCH ~rsi|DWORD - keyConstants: [int[0|0x0], int[1|0x1]] keyTargets: [B0 -> B1, B0 -> B2] defaultTarget: B0 -> B3 strategy: SequentialStrategy[avgEffort=1.6526315789473682] <|@ <|@
|
|
2385
|
+
end_IR
|
|
2386
|
+
end_block
|
|
2387
|
+
begin_block
|
|
2388
|
+
name "B3"
|
|
2389
|
+
from_bci -1
|
|
2390
|
+
to_bci -1
|
|
2391
|
+
predecessors "B0"
|
|
2392
|
+
successors
|
|
2393
|
+
xhandlers
|
|
2394
|
+
flags
|
|
2395
|
+
probability 4600308503579294019
|
|
2396
|
+
begin_IR
|
|
2397
|
+
LIR
|
|
2398
|
+
nr 18 <|@ instruction [] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
|
|
2399
|
+
nr 20 <|@ instruction MOV (x: [r10|QWORD[.] + 128], y: r8|DWORD) size: DWORD <|@ <|@
|
|
2400
|
+
nr 22 <|@ instruction MEMBAR barriers: 4 <|@ <|@
|
|
2401
|
+
nr 24 <|@ instruction rax|DWORD = MOVE r8|DWORD moveKind: DWORD <|@ <|@
|
|
2402
|
+
nr 26 <|@ instruction RETURN (savedRbp: rbp|QWORD, value: rax|DWORD) isStub: false requiresReservedStackAccessCheck: false thread: r15 scratchForSafepointOnReturn: rcx config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@10e2187d8 <|@ <|@
|
|
2403
|
+
end_IR
|
|
2404
|
+
end_block
|
|
2405
|
+
begin_block
|
|
2406
|
+
name "B2"
|
|
2407
|
+
from_bci -1
|
|
2408
|
+
to_bci -1
|
|
2409
|
+
predecessors "B0"
|
|
2410
|
+
successors
|
|
2411
|
+
xhandlers
|
|
2412
|
+
flags
|
|
2413
|
+
probability 4599929253084357557
|
|
2414
|
+
begin_IR
|
|
2415
|
+
LIR
|
|
2416
|
+
nr 28 <|@ instruction [] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
|
|
2417
|
+
nr 30 <|@ instruction MOV (x: [r10|QWORD[.] + 128], y: rcx|DWORD) size: DWORD <|@ <|@
|
|
2418
|
+
nr 32 <|@ instruction MEMBAR barriers: 4 <|@ <|@
|
|
2419
|
+
nr 34 <|@ instruction rax|DWORD = MOVE rcx|DWORD moveKind: DWORD <|@ <|@
|
|
2420
|
+
nr 36 <|@ instruction RETURN (savedRbp: rbp|QWORD, value: rax|DWORD) isStub: false requiresReservedStackAccessCheck: false thread: r15 scratchForSafepointOnReturn: rcx config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@10e2187d8 <|@ <|@
|
|
2421
|
+
end_IR
|
|
2422
|
+
end_block
|
|
2423
|
+
begin_block
|
|
2424
|
+
name "B1"
|
|
2425
|
+
from_bci -1
|
|
2426
|
+
to_bci -1
|
|
2427
|
+
predecessors "B0"
|
|
2428
|
+
successors
|
|
2429
|
+
xhandlers
|
|
2430
|
+
flags
|
|
2431
|
+
probability 4598791501599548168
|
|
2432
|
+
begin_IR
|
|
2433
|
+
LIR
|
|
2434
|
+
nr 38 <|@ instruction [] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
|
|
2435
|
+
nr 40 <|@ instruction MOV (x: [r10|QWORD[.] + 128], y: rdx|DWORD) size: DWORD <|@ <|@
|
|
2436
|
+
nr 42 <|@ instruction MEMBAR barriers: 4 <|@ <|@
|
|
2437
|
+
nr 44 <|@ instruction rax|DWORD = MOVE rdx|DWORD moveKind: DWORD <|@ <|@
|
|
2438
|
+
nr 46 <|@ instruction RETURN (savedRbp: rbp|QWORD, value: rax|DWORD) isStub: false requiresReservedStackAccessCheck: false thread: r15 scratchForSafepointOnReturn: rcx config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@10e2187d8 <|@ <|@
|
|
2439
|
+
end_IR
|
|
2440
|
+
end_block
|
|
2441
|
+
end_cfg
|
|
2442
|
+
begin_bytecodes
|
|
2443
|
+
0: iload_0
|
|
2444
|
+
1: lookupswitch [2] {0: 28, 1: 38} default: 48
|
|
2445
|
+
28: iload_1
|
|
2446
|
+
29: putstatic #54 // intField:int
|
|
2447
|
+
32: iload_1
|
|
2448
|
+
33: istore 4
|
|
2449
|
+
35: goto 55
|
|
2450
|
+
38: iload_2
|
|
2451
|
+
39: putstatic #54 // intField:int
|
|
2452
|
+
42: iload_2
|
|
2453
|
+
43: istore 4
|
|
2454
|
+
45: goto 55
|
|
2455
|
+
48: iload_3
|
|
2456
|
+
49: putstatic #54 // intField:int
|
|
2457
|
+
52: iload_3
|
|
2458
|
+
53: istore 4
|
|
2459
|
+
55: iload 4
|
|
2460
|
+
57: ireturn
|
|
2461
|
+
<|@
|
|
2462
|
+
end_bytecodes
|
|
2463
|
+
begin_cfg
|
|
2464
|
+
name "After EdgeMoveOptimizer"
|
|
2465
|
+
begin_block
|
|
2466
|
+
name "B0"
|
|
2467
|
+
from_bci -1
|
|
2468
|
+
to_bci -1
|
|
2469
|
+
predecessors
|
|
2470
|
+
successors "B1" "B2" "B3"
|
|
2471
|
+
xhandlers
|
|
2472
|
+
flags
|
|
2473
|
+
probability 4607182418800017408
|
|
2474
|
+
begin_IR
|
|
2475
|
+
LIR
|
|
2476
|
+
nr 0 <|@ instruction [rsi|DWORD, rdx|DWORD, rcx|DWORD, r8|DWORD, rbp|QWORD] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
|
|
2477
|
+
nr 4 <|@ instruction [] = HOTSPOTLOCKSTACK frameMapBuilder: org.graalvm.compiler.lir.amd64.AMD64FrameMapBuilder@136728e98 slotKind: QWORD <|@ <|@
|
|
2478
|
+
nr 14 <|@ instruction r10|QWORD[.] = HOTSPOTLOADOBJECTCONSTANT input: Object[Instance<java.lang.Class>] <|@ <|@
|
|
2479
|
+
nr 16 <|@ instruction AMD64HOTSPOTSTRATEGYSWITCH ~rsi|DWORD - keyConstants: [int[0|0x0], int[1|0x1]] keyTargets: [B0 -> B1, B0 -> B2] defaultTarget: B0 -> B3 strategy: SequentialStrategy[avgEffort=1.6526315789473682] <|@ <|@
|
|
2480
|
+
end_IR
|
|
2481
|
+
end_block
|
|
2482
|
+
begin_block
|
|
2483
|
+
name "B3"
|
|
2484
|
+
from_bci -1
|
|
2485
|
+
to_bci -1
|
|
2486
|
+
predecessors "B0"
|
|
2487
|
+
successors
|
|
2488
|
+
xhandlers
|
|
2489
|
+
flags
|
|
2490
|
+
probability 4600308503579294019
|
|
2491
|
+
begin_IR
|
|
2492
|
+
LIR
|
|
2493
|
+
nr 18 <|@ instruction [] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
|
|
2494
|
+
nr 20 <|@ instruction MOV (x: [r10|QWORD[.] + 128], y: r8|DWORD) size: DWORD <|@ <|@
|
|
2495
|
+
nr 22 <|@ instruction MEMBAR barriers: 4 <|@ <|@
|
|
2496
|
+
nr 24 <|@ instruction rax|DWORD = MOVE r8|DWORD moveKind: DWORD <|@ <|@
|
|
2497
|
+
nr 26 <|@ instruction RETURN (savedRbp: rbp|QWORD, value: rax|DWORD) isStub: false requiresReservedStackAccessCheck: false thread: r15 scratchForSafepointOnReturn: rcx config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@10e2187d8 <|@ <|@
|
|
2498
|
+
end_IR
|
|
2499
|
+
end_block
|
|
2500
|
+
begin_block
|
|
2501
|
+
name "B2"
|
|
2502
|
+
from_bci -1
|
|
2503
|
+
to_bci -1
|
|
2504
|
+
predecessors "B0"
|
|
2505
|
+
successors
|
|
2506
|
+
xhandlers
|
|
2507
|
+
flags
|
|
2508
|
+
probability 4599929253084357557
|
|
2509
|
+
begin_IR
|
|
2510
|
+
LIR
|
|
2511
|
+
nr 28 <|@ instruction [] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
|
|
2512
|
+
nr 30 <|@ instruction MOV (x: [r10|QWORD[.] + 128], y: rcx|DWORD) size: DWORD <|@ <|@
|
|
2513
|
+
nr 32 <|@ instruction MEMBAR barriers: 4 <|@ <|@
|
|
2514
|
+
nr 34 <|@ instruction rax|DWORD = MOVE rcx|DWORD moveKind: DWORD <|@ <|@
|
|
2515
|
+
nr 36 <|@ instruction RETURN (savedRbp: rbp|QWORD, value: rax|DWORD) isStub: false requiresReservedStackAccessCheck: false thread: r15 scratchForSafepointOnReturn: rcx config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@10e2187d8 <|@ <|@
|
|
2516
|
+
end_IR
|
|
2517
|
+
end_block
|
|
2518
|
+
begin_block
|
|
2519
|
+
name "B1"
|
|
2520
|
+
from_bci -1
|
|
2521
|
+
to_bci -1
|
|
2522
|
+
predecessors "B0"
|
|
2523
|
+
successors
|
|
2524
|
+
xhandlers
|
|
2525
|
+
flags
|
|
2526
|
+
probability 4598791501599548168
|
|
2527
|
+
begin_IR
|
|
2528
|
+
LIR
|
|
2529
|
+
nr 38 <|@ instruction [] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
|
|
2530
|
+
nr 40 <|@ instruction MOV (x: [r10|QWORD[.] + 128], y: rdx|DWORD) size: DWORD <|@ <|@
|
|
2531
|
+
nr 42 <|@ instruction MEMBAR barriers: 4 <|@ <|@
|
|
2532
|
+
nr 44 <|@ instruction rax|DWORD = MOVE rdx|DWORD moveKind: DWORD <|@ <|@
|
|
2533
|
+
nr 46 <|@ instruction RETURN (savedRbp: rbp|QWORD, value: rax|DWORD) isStub: false requiresReservedStackAccessCheck: false thread: r15 scratchForSafepointOnReturn: rcx config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@10e2187d8 <|@ <|@
|
|
2534
|
+
end_IR
|
|
2535
|
+
end_block
|
|
2536
|
+
end_cfg
|
|
2537
|
+
begin_bytecodes
|
|
2538
|
+
0: iload_0
|
|
2539
|
+
1: lookupswitch [2] {0: 28, 1: 38} default: 48
|
|
2540
|
+
28: iload_1
|
|
2541
|
+
29: putstatic #54 // intField:int
|
|
2542
|
+
32: iload_1
|
|
2543
|
+
33: istore 4
|
|
2544
|
+
35: goto 55
|
|
2545
|
+
38: iload_2
|
|
2546
|
+
39: putstatic #54 // intField:int
|
|
2547
|
+
42: iload_2
|
|
2548
|
+
43: istore 4
|
|
2549
|
+
45: goto 55
|
|
2550
|
+
48: iload_3
|
|
2551
|
+
49: putstatic #54 // intField:int
|
|
2552
|
+
52: iload_3
|
|
2553
|
+
53: istore 4
|
|
2554
|
+
55: iload 4
|
|
2555
|
+
57: ireturn
|
|
2556
|
+
<|@
|
|
2557
|
+
end_bytecodes
|
|
2558
|
+
begin_cfg
|
|
2559
|
+
name "After ControlFlowOptimizer"
|
|
2560
|
+
begin_block
|
|
2561
|
+
name "B0"
|
|
2562
|
+
from_bci -1
|
|
2563
|
+
to_bci -1
|
|
2564
|
+
predecessors
|
|
2565
|
+
successors "B1" "B2" "B3"
|
|
2566
|
+
xhandlers
|
|
2567
|
+
flags
|
|
2568
|
+
probability 4607182418800017408
|
|
2569
|
+
begin_IR
|
|
2570
|
+
LIR
|
|
2571
|
+
nr 0 <|@ instruction [rsi|DWORD, rdx|DWORD, rcx|DWORD, r8|DWORD, rbp|QWORD] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
|
|
2572
|
+
nr 4 <|@ instruction [] = HOTSPOTLOCKSTACK frameMapBuilder: org.graalvm.compiler.lir.amd64.AMD64FrameMapBuilder@136728e98 slotKind: QWORD <|@ <|@
|
|
2573
|
+
nr 14 <|@ instruction r10|QWORD[.] = HOTSPOTLOADOBJECTCONSTANT input: Object[Instance<java.lang.Class>] <|@ <|@
|
|
2574
|
+
nr 16 <|@ instruction AMD64HOTSPOTSTRATEGYSWITCH ~rsi|DWORD - keyConstants: [int[0|0x0], int[1|0x1]] keyTargets: [B0 -> B1, B0 -> B2] defaultTarget: B0 -> B3 strategy: SequentialStrategy[avgEffort=1.6526315789473682] <|@ <|@
|
|
2575
|
+
end_IR
|
|
2576
|
+
end_block
|
|
2577
|
+
begin_block
|
|
2578
|
+
name "B3"
|
|
2579
|
+
from_bci -1
|
|
2580
|
+
to_bci -1
|
|
2581
|
+
predecessors "B0"
|
|
2582
|
+
successors
|
|
2583
|
+
xhandlers
|
|
2584
|
+
flags
|
|
2585
|
+
probability 4600308503579294019
|
|
2586
|
+
begin_IR
|
|
2587
|
+
LIR
|
|
2588
|
+
nr 18 <|@ instruction [] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
|
|
2589
|
+
nr 20 <|@ instruction MOV (x: [r10|QWORD[.] + 128], y: r8|DWORD) size: DWORD <|@ <|@
|
|
2590
|
+
nr 22 <|@ instruction MEMBAR barriers: 4 <|@ <|@
|
|
2591
|
+
nr 24 <|@ instruction rax|DWORD = MOVE r8|DWORD moveKind: DWORD <|@ <|@
|
|
2592
|
+
nr 26 <|@ instruction RETURN (savedRbp: rbp|QWORD, value: rax|DWORD) isStub: false requiresReservedStackAccessCheck: false thread: r15 scratchForSafepointOnReturn: rcx config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@10e2187d8 <|@ <|@
|
|
2593
|
+
end_IR
|
|
2594
|
+
end_block
|
|
2595
|
+
begin_block
|
|
2596
|
+
name "B2"
|
|
2597
|
+
from_bci -1
|
|
2598
|
+
to_bci -1
|
|
2599
|
+
predecessors "B0"
|
|
2600
|
+
successors
|
|
2601
|
+
xhandlers
|
|
2602
|
+
flags
|
|
2603
|
+
probability 4599929253084357557
|
|
2604
|
+
begin_IR
|
|
2605
|
+
LIR
|
|
2606
|
+
nr 28 <|@ instruction [] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
|
|
2607
|
+
nr 30 <|@ instruction MOV (x: [r10|QWORD[.] + 128], y: rcx|DWORD) size: DWORD <|@ <|@
|
|
2608
|
+
nr 32 <|@ instruction MEMBAR barriers: 4 <|@ <|@
|
|
2609
|
+
nr 34 <|@ instruction rax|DWORD = MOVE rcx|DWORD moveKind: DWORD <|@ <|@
|
|
2610
|
+
nr 36 <|@ instruction RETURN (savedRbp: rbp|QWORD, value: rax|DWORD) isStub: false requiresReservedStackAccessCheck: false thread: r15 scratchForSafepointOnReturn: rcx config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@10e2187d8 <|@ <|@
|
|
2611
|
+
end_IR
|
|
2612
|
+
end_block
|
|
2613
|
+
begin_block
|
|
2614
|
+
name "B1"
|
|
2615
|
+
from_bci -1
|
|
2616
|
+
to_bci -1
|
|
2617
|
+
predecessors "B0"
|
|
2618
|
+
successors
|
|
2619
|
+
xhandlers
|
|
2620
|
+
flags
|
|
2621
|
+
probability 4598791501599548168
|
|
2622
|
+
begin_IR
|
|
2623
|
+
LIR
|
|
2624
|
+
nr 38 <|@ instruction [] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
|
|
2625
|
+
nr 40 <|@ instruction MOV (x: [r10|QWORD[.] + 128], y: rdx|DWORD) size: DWORD <|@ <|@
|
|
2626
|
+
nr 42 <|@ instruction MEMBAR barriers: 4 <|@ <|@
|
|
2627
|
+
nr 44 <|@ instruction rax|DWORD = MOVE rdx|DWORD moveKind: DWORD <|@ <|@
|
|
2628
|
+
nr 46 <|@ instruction RETURN (savedRbp: rbp|QWORD, value: rax|DWORD) isStub: false requiresReservedStackAccessCheck: false thread: r15 scratchForSafepointOnReturn: rcx config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@10e2187d8 <|@ <|@
|
|
2629
|
+
end_IR
|
|
2630
|
+
end_block
|
|
2631
|
+
end_cfg
|
|
2632
|
+
begin_bytecodes
|
|
2633
|
+
0: iload_0
|
|
2634
|
+
1: lookupswitch [2] {0: 28, 1: 38} default: 48
|
|
2635
|
+
28: iload_1
|
|
2636
|
+
29: putstatic #54 // intField:int
|
|
2637
|
+
32: iload_1
|
|
2638
|
+
33: istore 4
|
|
2639
|
+
35: goto 55
|
|
2640
|
+
38: iload_2
|
|
2641
|
+
39: putstatic #54 // intField:int
|
|
2642
|
+
42: iload_2
|
|
2643
|
+
43: istore 4
|
|
2644
|
+
45: goto 55
|
|
2645
|
+
48: iload_3
|
|
2646
|
+
49: putstatic #54 // intField:int
|
|
2647
|
+
52: iload_3
|
|
2648
|
+
53: istore 4
|
|
2649
|
+
55: iload 4
|
|
2650
|
+
57: ireturn
|
|
2651
|
+
<|@
|
|
2652
|
+
end_bytecodes
|
|
2653
|
+
begin_cfg
|
|
2654
|
+
name "After RedundantMoveElimination"
|
|
2655
|
+
begin_block
|
|
2656
|
+
name "B0"
|
|
2657
|
+
from_bci -1
|
|
2658
|
+
to_bci -1
|
|
2659
|
+
predecessors
|
|
2660
|
+
successors "B1" "B2" "B3"
|
|
2661
|
+
xhandlers
|
|
2662
|
+
flags
|
|
2663
|
+
probability 4607182418800017408
|
|
2664
|
+
begin_IR
|
|
2665
|
+
LIR
|
|
2666
|
+
nr 0 <|@ instruction [rsi|DWORD, rdx|DWORD, rcx|DWORD, r8|DWORD, rbp|QWORD] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
|
|
2667
|
+
nr 4 <|@ instruction [] = HOTSPOTLOCKSTACK frameMapBuilder: org.graalvm.compiler.lir.amd64.AMD64FrameMapBuilder@136728e98 slotKind: QWORD <|@ <|@
|
|
2668
|
+
nr 14 <|@ instruction r10|QWORD[.] = HOTSPOTLOADOBJECTCONSTANT input: Object[Instance<java.lang.Class>] <|@ <|@
|
|
2669
|
+
nr 16 <|@ instruction AMD64HOTSPOTSTRATEGYSWITCH ~rsi|DWORD - keyConstants: [int[0|0x0], int[1|0x1]] keyTargets: [B0 -> B1, B0 -> B2] defaultTarget: B0 -> B3 strategy: SequentialStrategy[avgEffort=1.6526315789473682] <|@ <|@
|
|
2670
|
+
end_IR
|
|
2671
|
+
end_block
|
|
2672
|
+
begin_block
|
|
2673
|
+
name "B3"
|
|
2674
|
+
from_bci -1
|
|
2675
|
+
to_bci -1
|
|
2676
|
+
predecessors "B0"
|
|
2677
|
+
successors
|
|
2678
|
+
xhandlers
|
|
2679
|
+
flags
|
|
2680
|
+
probability 4600308503579294019
|
|
2681
|
+
begin_IR
|
|
2682
|
+
LIR
|
|
2683
|
+
nr 18 <|@ instruction [] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
|
|
2684
|
+
nr 20 <|@ instruction MOV (x: [r10|QWORD[.] + 128], y: r8|DWORD) size: DWORD <|@ <|@
|
|
2685
|
+
nr 22 <|@ instruction MEMBAR barriers: 4 <|@ <|@
|
|
2686
|
+
nr 24 <|@ instruction rax|DWORD = MOVE r8|DWORD moveKind: DWORD <|@ <|@
|
|
2687
|
+
nr 26 <|@ instruction RETURN (savedRbp: rbp|QWORD, value: rax|DWORD) isStub: false requiresReservedStackAccessCheck: false thread: r15 scratchForSafepointOnReturn: rcx config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@10e2187d8 <|@ <|@
|
|
2688
|
+
end_IR
|
|
2689
|
+
end_block
|
|
2690
|
+
begin_block
|
|
2691
|
+
name "B2"
|
|
2692
|
+
from_bci -1
|
|
2693
|
+
to_bci -1
|
|
2694
|
+
predecessors "B0"
|
|
2695
|
+
successors
|
|
2696
|
+
xhandlers
|
|
2697
|
+
flags
|
|
2698
|
+
probability 4599929253084357557
|
|
2699
|
+
begin_IR
|
|
2700
|
+
LIR
|
|
2701
|
+
nr 28 <|@ instruction [] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
|
|
2702
|
+
nr 30 <|@ instruction MOV (x: [r10|QWORD[.] + 128], y: rcx|DWORD) size: DWORD <|@ <|@
|
|
2703
|
+
nr 32 <|@ instruction MEMBAR barriers: 4 <|@ <|@
|
|
2704
|
+
nr 34 <|@ instruction rax|DWORD = MOVE rcx|DWORD moveKind: DWORD <|@ <|@
|
|
2705
|
+
nr 36 <|@ instruction RETURN (savedRbp: rbp|QWORD, value: rax|DWORD) isStub: false requiresReservedStackAccessCheck: false thread: r15 scratchForSafepointOnReturn: rcx config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@10e2187d8 <|@ <|@
|
|
2706
|
+
end_IR
|
|
2707
|
+
end_block
|
|
2708
|
+
begin_block
|
|
2709
|
+
name "B1"
|
|
2710
|
+
from_bci -1
|
|
2711
|
+
to_bci -1
|
|
2712
|
+
predecessors "B0"
|
|
2713
|
+
successors
|
|
2714
|
+
xhandlers
|
|
2715
|
+
flags
|
|
2716
|
+
probability 4598791501599548168
|
|
2717
|
+
begin_IR
|
|
2718
|
+
LIR
|
|
2719
|
+
nr 38 <|@ instruction [] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
|
|
2720
|
+
nr 40 <|@ instruction MOV (x: [r10|QWORD[.] + 128], y: rdx|DWORD) size: DWORD <|@ <|@
|
|
2721
|
+
nr 42 <|@ instruction MEMBAR barriers: 4 <|@ <|@
|
|
2722
|
+
nr 44 <|@ instruction rax|DWORD = MOVE rdx|DWORD moveKind: DWORD <|@ <|@
|
|
2723
|
+
nr 46 <|@ instruction RETURN (savedRbp: rbp|QWORD, value: rax|DWORD) isStub: false requiresReservedStackAccessCheck: false thread: r15 scratchForSafepointOnReturn: rcx config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@10e2187d8 <|@ <|@
|
|
2724
|
+
end_IR
|
|
2725
|
+
end_block
|
|
2726
|
+
end_cfg
|
|
2727
|
+
begin_bytecodes
|
|
2728
|
+
0: iload_0
|
|
2729
|
+
1: lookupswitch [2] {0: 28, 1: 38} default: 48
|
|
2730
|
+
28: iload_1
|
|
2731
|
+
29: putstatic #54 // intField:int
|
|
2732
|
+
32: iload_1
|
|
2733
|
+
33: istore 4
|
|
2734
|
+
35: goto 55
|
|
2735
|
+
38: iload_2
|
|
2736
|
+
39: putstatic #54 // intField:int
|
|
2737
|
+
42: iload_2
|
|
2738
|
+
43: istore 4
|
|
2739
|
+
45: goto 55
|
|
2740
|
+
48: iload_3
|
|
2741
|
+
49: putstatic #54 // intField:int
|
|
2742
|
+
52: iload_3
|
|
2743
|
+
53: istore 4
|
|
2744
|
+
55: iload 4
|
|
2745
|
+
57: ireturn
|
|
2746
|
+
<|@
|
|
2747
|
+
end_bytecodes
|
|
2748
|
+
begin_cfg
|
|
2749
|
+
name "After NullCheckOptimizer"
|
|
2750
|
+
begin_block
|
|
2751
|
+
name "B0"
|
|
2752
|
+
from_bci -1
|
|
2753
|
+
to_bci -1
|
|
2754
|
+
predecessors
|
|
2755
|
+
successors "B1" "B2" "B3"
|
|
2756
|
+
xhandlers
|
|
2757
|
+
flags
|
|
2758
|
+
probability 4607182418800017408
|
|
2759
|
+
begin_IR
|
|
2760
|
+
LIR
|
|
2761
|
+
nr 0 <|@ instruction [rsi|DWORD, rdx|DWORD, rcx|DWORD, r8|DWORD, rbp|QWORD] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
|
|
2762
|
+
nr 4 <|@ instruction [] = HOTSPOTLOCKSTACK frameMapBuilder: org.graalvm.compiler.lir.amd64.AMD64FrameMapBuilder@136728e98 slotKind: QWORD <|@ <|@
|
|
2763
|
+
nr 14 <|@ instruction r10|QWORD[.] = HOTSPOTLOADOBJECTCONSTANT input: Object[Instance<java.lang.Class>] <|@ <|@
|
|
2764
|
+
nr 16 <|@ instruction AMD64HOTSPOTSTRATEGYSWITCH ~rsi|DWORD - keyConstants: [int[0|0x0], int[1|0x1]] keyTargets: [B0 -> B1, B0 -> B2] defaultTarget: B0 -> B3 strategy: SequentialStrategy[avgEffort=1.6526315789473682] <|@ <|@
|
|
2765
|
+
end_IR
|
|
2766
|
+
end_block
|
|
2767
|
+
begin_block
|
|
2768
|
+
name "B3"
|
|
2769
|
+
from_bci -1
|
|
2770
|
+
to_bci -1
|
|
2771
|
+
predecessors "B0"
|
|
2772
|
+
successors
|
|
2773
|
+
xhandlers
|
|
2774
|
+
flags
|
|
2775
|
+
probability 4600308503579294019
|
|
2776
|
+
begin_IR
|
|
2777
|
+
LIR
|
|
2778
|
+
nr 18 <|@ instruction [] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
|
|
2779
|
+
nr 20 <|@ instruction MOV (x: [r10|QWORD[.] + 128], y: r8|DWORD) size: DWORD <|@ <|@
|
|
2780
|
+
nr 22 <|@ instruction MEMBAR barriers: 4 <|@ <|@
|
|
2781
|
+
nr 24 <|@ instruction rax|DWORD = MOVE r8|DWORD moveKind: DWORD <|@ <|@
|
|
2782
|
+
nr 26 <|@ instruction RETURN (savedRbp: rbp|QWORD, value: rax|DWORD) isStub: false requiresReservedStackAccessCheck: false thread: r15 scratchForSafepointOnReturn: rcx config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@10e2187d8 <|@ <|@
|
|
2783
|
+
end_IR
|
|
2784
|
+
end_block
|
|
2785
|
+
begin_block
|
|
2786
|
+
name "B2"
|
|
2787
|
+
from_bci -1
|
|
2788
|
+
to_bci -1
|
|
2789
|
+
predecessors "B0"
|
|
2790
|
+
successors
|
|
2791
|
+
xhandlers
|
|
2792
|
+
flags
|
|
2793
|
+
probability 4599929253084357557
|
|
2794
|
+
begin_IR
|
|
2795
|
+
LIR
|
|
2796
|
+
nr 28 <|@ instruction [] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
|
|
2797
|
+
nr 30 <|@ instruction MOV (x: [r10|QWORD[.] + 128], y: rcx|DWORD) size: DWORD <|@ <|@
|
|
2798
|
+
nr 32 <|@ instruction MEMBAR barriers: 4 <|@ <|@
|
|
2799
|
+
nr 34 <|@ instruction rax|DWORD = MOVE rcx|DWORD moveKind: DWORD <|@ <|@
|
|
2800
|
+
nr 36 <|@ instruction RETURN (savedRbp: rbp|QWORD, value: rax|DWORD) isStub: false requiresReservedStackAccessCheck: false thread: r15 scratchForSafepointOnReturn: rcx config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@10e2187d8 <|@ <|@
|
|
2801
|
+
end_IR
|
|
2802
|
+
end_block
|
|
2803
|
+
begin_block
|
|
2804
|
+
name "B1"
|
|
2805
|
+
from_bci -1
|
|
2806
|
+
to_bci -1
|
|
2807
|
+
predecessors "B0"
|
|
2808
|
+
successors
|
|
2809
|
+
xhandlers
|
|
2810
|
+
flags
|
|
2811
|
+
probability 4598791501599548168
|
|
2812
|
+
begin_IR
|
|
2813
|
+
LIR
|
|
2814
|
+
nr 38 <|@ instruction [] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
|
|
2815
|
+
nr 40 <|@ instruction MOV (x: [r10|QWORD[.] + 128], y: rdx|DWORD) size: DWORD <|@ <|@
|
|
2816
|
+
nr 42 <|@ instruction MEMBAR barriers: 4 <|@ <|@
|
|
2817
|
+
nr 44 <|@ instruction rax|DWORD = MOVE rdx|DWORD moveKind: DWORD <|@ <|@
|
|
2818
|
+
nr 46 <|@ instruction RETURN (savedRbp: rbp|QWORD, value: rax|DWORD) isStub: false requiresReservedStackAccessCheck: false thread: r15 scratchForSafepointOnReturn: rcx config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@10e2187d8 <|@ <|@
|
|
2819
|
+
end_IR
|
|
2820
|
+
end_block
|
|
2821
|
+
end_cfg
|
|
2822
|
+
begin_bytecodes
|
|
2823
|
+
0: iload_0
|
|
2824
|
+
1: lookupswitch [2] {0: 28, 1: 38} default: 48
|
|
2825
|
+
28: iload_1
|
|
2826
|
+
29: putstatic #54 // intField:int
|
|
2827
|
+
32: iload_1
|
|
2828
|
+
33: istore 4
|
|
2829
|
+
35: goto 55
|
|
2830
|
+
38: iload_2
|
|
2831
|
+
39: putstatic #54 // intField:int
|
|
2832
|
+
42: iload_2
|
|
2833
|
+
43: istore 4
|
|
2834
|
+
45: goto 55
|
|
2835
|
+
48: iload_3
|
|
2836
|
+
49: putstatic #54 // intField:int
|
|
2837
|
+
52: iload_3
|
|
2838
|
+
53: istore 4
|
|
2839
|
+
55: iload 4
|
|
2840
|
+
57: ireturn
|
|
2841
|
+
<|@
|
|
2842
|
+
end_bytecodes
|
|
2843
|
+
begin_cfg
|
|
2844
|
+
name "After StackMoveOptimization"
|
|
2845
|
+
begin_block
|
|
2846
|
+
name "B0"
|
|
2847
|
+
from_bci -1
|
|
2848
|
+
to_bci -1
|
|
2849
|
+
predecessors
|
|
2850
|
+
successors "B1" "B2" "B3"
|
|
2851
|
+
xhandlers
|
|
2852
|
+
flags
|
|
2853
|
+
probability 4607182418800017408
|
|
2854
|
+
begin_IR
|
|
2855
|
+
LIR
|
|
2856
|
+
nr 0 <|@ instruction [rsi|DWORD, rdx|DWORD, rcx|DWORD, r8|DWORD, rbp|QWORD] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
|
|
2857
|
+
nr 4 <|@ instruction [] = HOTSPOTLOCKSTACK frameMapBuilder: org.graalvm.compiler.lir.amd64.AMD64FrameMapBuilder@136728e98 slotKind: QWORD <|@ <|@
|
|
2858
|
+
nr 14 <|@ instruction r10|QWORD[.] = HOTSPOTLOADOBJECTCONSTANT input: Object[Instance<java.lang.Class>] <|@ <|@
|
|
2859
|
+
nr 16 <|@ instruction AMD64HOTSPOTSTRATEGYSWITCH ~rsi|DWORD - keyConstants: [int[0|0x0], int[1|0x1]] keyTargets: [B0 -> B1, B0 -> B2] defaultTarget: B0 -> B3 strategy: SequentialStrategy[avgEffort=1.6526315789473682] <|@ <|@
|
|
2860
|
+
end_IR
|
|
2861
|
+
end_block
|
|
2862
|
+
begin_block
|
|
2863
|
+
name "B3"
|
|
2864
|
+
from_bci -1
|
|
2865
|
+
to_bci -1
|
|
2866
|
+
predecessors "B0"
|
|
2867
|
+
successors
|
|
2868
|
+
xhandlers
|
|
2869
|
+
flags
|
|
2870
|
+
probability 4600308503579294019
|
|
2871
|
+
begin_IR
|
|
2872
|
+
LIR
|
|
2873
|
+
nr 18 <|@ instruction [] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
|
|
2874
|
+
nr 20 <|@ instruction MOV (x: [r10|QWORD[.] + 128], y: r8|DWORD) size: DWORD <|@ <|@
|
|
2875
|
+
nr 22 <|@ instruction MEMBAR barriers: 4 <|@ <|@
|
|
2876
|
+
nr 24 <|@ instruction rax|DWORD = MOVE r8|DWORD moveKind: DWORD <|@ <|@
|
|
2877
|
+
nr 26 <|@ instruction RETURN (savedRbp: rbp|QWORD, value: rax|DWORD) isStub: false requiresReservedStackAccessCheck: false thread: r15 scratchForSafepointOnReturn: rcx config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@10e2187d8 <|@ <|@
|
|
2878
|
+
end_IR
|
|
2879
|
+
end_block
|
|
2880
|
+
begin_block
|
|
2881
|
+
name "B2"
|
|
2882
|
+
from_bci -1
|
|
2883
|
+
to_bci -1
|
|
2884
|
+
predecessors "B0"
|
|
2885
|
+
successors
|
|
2886
|
+
xhandlers
|
|
2887
|
+
flags
|
|
2888
|
+
probability 4599929253084357557
|
|
2889
|
+
begin_IR
|
|
2890
|
+
LIR
|
|
2891
|
+
nr 28 <|@ instruction [] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
|
|
2892
|
+
nr 30 <|@ instruction MOV (x: [r10|QWORD[.] + 128], y: rcx|DWORD) size: DWORD <|@ <|@
|
|
2893
|
+
nr 32 <|@ instruction MEMBAR barriers: 4 <|@ <|@
|
|
2894
|
+
nr 34 <|@ instruction rax|DWORD = MOVE rcx|DWORD moveKind: DWORD <|@ <|@
|
|
2895
|
+
nr 36 <|@ instruction RETURN (savedRbp: rbp|QWORD, value: rax|DWORD) isStub: false requiresReservedStackAccessCheck: false thread: r15 scratchForSafepointOnReturn: rcx config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@10e2187d8 <|@ <|@
|
|
2896
|
+
end_IR
|
|
2897
|
+
end_block
|
|
2898
|
+
begin_block
|
|
2899
|
+
name "B1"
|
|
2900
|
+
from_bci -1
|
|
2901
|
+
to_bci -1
|
|
2902
|
+
predecessors "B0"
|
|
2903
|
+
successors
|
|
2904
|
+
xhandlers
|
|
2905
|
+
flags
|
|
2906
|
+
probability 4598791501599548168
|
|
2907
|
+
begin_IR
|
|
2908
|
+
LIR
|
|
2909
|
+
nr 38 <|@ instruction [] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
|
|
2910
|
+
nr 40 <|@ instruction MOV (x: [r10|QWORD[.] + 128], y: rdx|DWORD) size: DWORD <|@ <|@
|
|
2911
|
+
nr 42 <|@ instruction MEMBAR barriers: 4 <|@ <|@
|
|
2912
|
+
nr 44 <|@ instruction rax|DWORD = MOVE rdx|DWORD moveKind: DWORD <|@ <|@
|
|
2913
|
+
nr 46 <|@ instruction RETURN (savedRbp: rbp|QWORD, value: rax|DWORD) isStub: false requiresReservedStackAccessCheck: false thread: r15 scratchForSafepointOnReturn: rcx config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@10e2187d8 <|@ <|@
|
|
2914
|
+
end_IR
|
|
2915
|
+
end_block
|
|
2916
|
+
end_cfg
|
|
2917
|
+
begin_bytecodes
|
|
2918
|
+
0: iload_0
|
|
2919
|
+
1: lookupswitch [2] {0: 28, 1: 38} default: 48
|
|
2920
|
+
28: iload_1
|
|
2921
|
+
29: putstatic #54 // intField:int
|
|
2922
|
+
32: iload_1
|
|
2923
|
+
33: istore 4
|
|
2924
|
+
35: goto 55
|
|
2925
|
+
38: iload_2
|
|
2926
|
+
39: putstatic #54 // intField:int
|
|
2927
|
+
42: iload_2
|
|
2928
|
+
43: istore 4
|
|
2929
|
+
45: goto 55
|
|
2930
|
+
48: iload_3
|
|
2931
|
+
49: putstatic #54 // intField:int
|
|
2932
|
+
52: iload_3
|
|
2933
|
+
53: istore 4
|
|
2934
|
+
55: iload 4
|
|
2935
|
+
57: ireturn
|
|
2936
|
+
<|@
|
|
2937
|
+
end_bytecodes
|
|
2938
|
+
begin_cfg
|
|
2939
|
+
name "After PostAllocationOptimizationStage"
|
|
2940
|
+
begin_block
|
|
2941
|
+
name "B0"
|
|
2942
|
+
from_bci -1
|
|
2943
|
+
to_bci -1
|
|
2944
|
+
predecessors
|
|
2945
|
+
successors "B1" "B2" "B3"
|
|
2946
|
+
xhandlers
|
|
2947
|
+
flags
|
|
2948
|
+
probability 4607182418800017408
|
|
2949
|
+
begin_IR
|
|
2950
|
+
LIR
|
|
2951
|
+
nr 0 <|@ instruction [rsi|DWORD, rdx|DWORD, rcx|DWORD, r8|DWORD, rbp|QWORD] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
|
|
2952
|
+
nr 4 <|@ instruction [] = HOTSPOTLOCKSTACK frameMapBuilder: org.graalvm.compiler.lir.amd64.AMD64FrameMapBuilder@136728e98 slotKind: QWORD <|@ <|@
|
|
2953
|
+
nr 14 <|@ instruction r10|QWORD[.] = HOTSPOTLOADOBJECTCONSTANT input: Object[Instance<java.lang.Class>] <|@ <|@
|
|
2954
|
+
nr 16 <|@ instruction AMD64HOTSPOTSTRATEGYSWITCH ~rsi|DWORD - keyConstants: [int[0|0x0], int[1|0x1]] keyTargets: [B0 -> B1, B0 -> B2] defaultTarget: B0 -> B3 strategy: SequentialStrategy[avgEffort=1.6526315789473682] <|@ <|@
|
|
2955
|
+
end_IR
|
|
2956
|
+
end_block
|
|
2957
|
+
begin_block
|
|
2958
|
+
name "B3"
|
|
2959
|
+
from_bci -1
|
|
2960
|
+
to_bci -1
|
|
2961
|
+
predecessors "B0"
|
|
2962
|
+
successors
|
|
2963
|
+
xhandlers
|
|
2964
|
+
flags
|
|
2965
|
+
probability 4600308503579294019
|
|
2966
|
+
begin_IR
|
|
2967
|
+
LIR
|
|
2968
|
+
nr 18 <|@ instruction [] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
|
|
2969
|
+
nr 20 <|@ instruction MOV (x: [r10|QWORD[.] + 128], y: r8|DWORD) size: DWORD <|@ <|@
|
|
2970
|
+
nr 22 <|@ instruction MEMBAR barriers: 4 <|@ <|@
|
|
2971
|
+
nr 24 <|@ instruction rax|DWORD = MOVE r8|DWORD moveKind: DWORD <|@ <|@
|
|
2972
|
+
nr 26 <|@ instruction RETURN (savedRbp: rbp|QWORD, value: rax|DWORD) isStub: false requiresReservedStackAccessCheck: false thread: r15 scratchForSafepointOnReturn: rcx config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@10e2187d8 <|@ <|@
|
|
2973
|
+
end_IR
|
|
2974
|
+
end_block
|
|
2975
|
+
begin_block
|
|
2976
|
+
name "B2"
|
|
2977
|
+
from_bci -1
|
|
2978
|
+
to_bci -1
|
|
2979
|
+
predecessors "B0"
|
|
2980
|
+
successors
|
|
2981
|
+
xhandlers
|
|
2982
|
+
flags
|
|
2983
|
+
probability 4599929253084357557
|
|
2984
|
+
begin_IR
|
|
2985
|
+
LIR
|
|
2986
|
+
nr 28 <|@ instruction [] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
|
|
2987
|
+
nr 30 <|@ instruction MOV (x: [r10|QWORD[.] + 128], y: rcx|DWORD) size: DWORD <|@ <|@
|
|
2988
|
+
nr 32 <|@ instruction MEMBAR barriers: 4 <|@ <|@
|
|
2989
|
+
nr 34 <|@ instruction rax|DWORD = MOVE rcx|DWORD moveKind: DWORD <|@ <|@
|
|
2990
|
+
nr 36 <|@ instruction RETURN (savedRbp: rbp|QWORD, value: rax|DWORD) isStub: false requiresReservedStackAccessCheck: false thread: r15 scratchForSafepointOnReturn: rcx config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@10e2187d8 <|@ <|@
|
|
2991
|
+
end_IR
|
|
2992
|
+
end_block
|
|
2993
|
+
begin_block
|
|
2994
|
+
name "B1"
|
|
2995
|
+
from_bci -1
|
|
2996
|
+
to_bci -1
|
|
2997
|
+
predecessors "B0"
|
|
2998
|
+
successors
|
|
2999
|
+
xhandlers
|
|
3000
|
+
flags
|
|
3001
|
+
probability 4598791501599548168
|
|
3002
|
+
begin_IR
|
|
3003
|
+
LIR
|
|
3004
|
+
nr 38 <|@ instruction [] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
|
|
3005
|
+
nr 40 <|@ instruction MOV (x: [r10|QWORD[.] + 128], y: rdx|DWORD) size: DWORD <|@ <|@
|
|
3006
|
+
nr 42 <|@ instruction MEMBAR barriers: 4 <|@ <|@
|
|
3007
|
+
nr 44 <|@ instruction rax|DWORD = MOVE rdx|DWORD moveKind: DWORD <|@ <|@
|
|
3008
|
+
nr 46 <|@ instruction RETURN (savedRbp: rbp|QWORD, value: rax|DWORD) isStub: false requiresReservedStackAccessCheck: false thread: r15 scratchForSafepointOnReturn: rcx config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@10e2187d8 <|@ <|@
|
|
3009
|
+
end_IR
|
|
3010
|
+
end_block
|
|
3011
|
+
end_cfg
|
|
3012
|
+
begin_bytecodes
|
|
3013
|
+
0: iload_0
|
|
3014
|
+
1: lookupswitch [2] {0: 28, 1: 38} default: 48
|
|
3015
|
+
28: iload_1
|
|
3016
|
+
29: putstatic #54 // intField:int
|
|
3017
|
+
32: iload_1
|
|
3018
|
+
33: istore 4
|
|
3019
|
+
35: goto 55
|
|
3020
|
+
38: iload_2
|
|
3021
|
+
39: putstatic #54 // intField:int
|
|
3022
|
+
42: iload_2
|
|
3023
|
+
43: istore 4
|
|
3024
|
+
45: goto 55
|
|
3025
|
+
48: iload_3
|
|
3026
|
+
49: putstatic #54 // intField:int
|
|
3027
|
+
52: iload_3
|
|
3028
|
+
53: istore 4
|
|
3029
|
+
55: iload 4
|
|
3030
|
+
57: ireturn
|
|
3031
|
+
<|@
|
|
3032
|
+
end_bytecodes
|
|
3033
|
+
begin_cfg
|
|
3034
|
+
name "After code generation"
|
|
3035
|
+
end_cfg
|
|
3036
|
+
begin_nmethod
|
|
3037
|
+
<<<HexCodeFile
|
|
3038
|
+
Platform AMD64 64 <||@
|
|
3039
|
+
HexCode 0 0f1f44000049baaddeaddeaddeadde83fe010f842200000083fe000f843100000045898280000000f083042400418bc0850500000000c5f877c341898a80000000f0830424008bc1850500000000c5f877c341899280000000f0830424008bc2850500000000c5f877c3e80000000090e80000000090 <||@
|
|
3040
|
+
Comment 0 3 <||@
|
|
3041
|
+
Comment 0 1 <||@
|
|
3042
|
+
Comment 5 block B0 null <||@
|
|
3043
|
+
Comment 5 0 [rsi|DWORD, rdx|DWORD, rcx|DWORD, r8|DWORD, rbp|QWORD] = LABEL numbPhis: 0 align: false label: ? <||@
|
|
3044
|
+
Comment 5 4 [] = HOTSPOTLOCKSTACK frameMapBuilder: org.graalvm.compiler.lir.amd64.AMD64FrameMapBuilder@136728e98 slotKind: QWORD <||@
|
|
3045
|
+
Comment 5 14 r10|QWORD[.] = HOTSPOTLOADOBJECTCONSTANT input: Object[Instance<java.lang.Class>] <||@
|
|
3046
|
+
Comment 5 {Object[Instance<java.lang.Class>]} <||@
|
|
3047
|
+
Comment 15 16 AMD64HOTSPOTSTRATEGYSWITCH ~rsi|DWORD - keyConstants: [int[0|0x0], int[1|0x1]] keyTargets: [B0 -> B1, B0 -> B2] defaultTarget: B0 -> B3 strategy: SequentialStrategy[avgEffort=1.6526315789473682] <||@
|
|
3048
|
+
Comment 33 block B3 null <||@
|
|
3049
|
+
Comment 33 18 [] = LABEL numbPhis: 0 align: false label: ? <||@
|
|
3050
|
+
Comment 33 20 MOV (x: [r10|QWORD[.] + 128], y: r8|DWORD) size: DWORD <||@
|
|
3051
|
+
Comment 40 22 MEMBAR barriers: 4 <||@
|
|
3052
|
+
Comment 45 24 rax|DWORD = MOVE r8|DWORD moveKind: DWORD <||@
|
|
3053
|
+
Comment 48 26 RETURN (savedRbp: rbp|QWORD, value: rax|DWORD) isStub: false requiresReservedStackAccessCheck: false thread: r15 scratchForSafepointOnReturn: rcx config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@10e2187d8 <||@
|
|
3054
|
+
Comment 48 12 <||@
|
|
3055
|
+
Comment 58 block B2 null <||@
|
|
3056
|
+
Comment 58 28 [] = LABEL numbPhis: 0 align: false label: ? <||@
|
|
3057
|
+
Comment 58 30 MOV (x: [r10|QWORD[.] + 128], y: rcx|DWORD) size: DWORD <||@
|
|
3058
|
+
Comment 65 32 MEMBAR barriers: 4 <||@
|
|
3059
|
+
Comment 70 34 rax|DWORD = MOVE rcx|DWORD moveKind: DWORD <||@
|
|
3060
|
+
Comment 72 36 RETURN (savedRbp: rbp|QWORD, value: rax|DWORD) isStub: false requiresReservedStackAccessCheck: false thread: r15 scratchForSafepointOnReturn: rcx config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@10e2187d8 <||@
|
|
3061
|
+
Comment 72 12 <||@
|
|
3062
|
+
Comment 82 block B1 null <||@
|
|
3063
|
+
Comment 82 38 [] = LABEL numbPhis: 0 align: false label: ? <||@
|
|
3064
|
+
Comment 82 40 MOV (x: [r10|QWORD[.] + 128], y: rdx|DWORD) size: DWORD <||@
|
|
3065
|
+
Comment 89 42 MEMBAR barriers: 4 <||@
|
|
3066
|
+
Comment 94 44 rax|DWORD = MOVE rdx|DWORD moveKind: DWORD <||@
|
|
3067
|
+
Comment 96 46 RETURN (savedRbp: rbp|QWORD, value: rax|DWORD) isStub: false requiresReservedStackAccessCheck: false thread: r15 scratchForSafepointOnReturn: rcx config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@10e2187d8 <||@
|
|
3068
|
+
Comment 96 12 <||@
|
|
3069
|
+
Comment 106 {Stub<ExceptionHandlerStub.exceptionHandler>@0x110125b20: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} <||@
|
|
3070
|
+
Comment 106 4 <||@
|
|
3071
|
+
Comment 112 {Field[name=CompilerToVM::Data::SharedRuntime_deopt_blob_unpack, type=address, offset=0, address=0x105ebc128, value=4563296832]:0x10ffe6240} <||@
|
|
3072
|
+
Comment 112 5 <||@
|
|
3073
|
+
HexCodeFile>>> <|@
|
|
3074
|
+
end_nmethod
|
|
3075
|
+
begin_compilation
|
|
3076
|
+
name " HotSpotCompilation-350[JavaExamples.exampleIntSwitch(int, int, int, int)]"
|
|
3077
|
+
method "HotSpotCompilation-350[JavaExamples.exampleIntSwitch(int, int, int, int)]"
|
|
3078
|
+
date 1583697383700
|
|
3079
|
+
end_compilation
|
|
3080
|
+
begin_cfg
|
|
3081
|
+
name "After code installation"
|
|
3082
|
+
end_cfg
|
|
3083
|
+
begin_nmethod
|
|
3084
|
+
<<<HexCodeFile
|
|
3085
|
+
Platform AMD64 64 <||@
|
|
3086
|
+
HexCode 11012d260 0f1f44000049bab0275f150700000083fe010f842200000083fe000f843100000045898280000000f083042400418bc08505706db1f3c5f877c341898a80000000f0830424008bc18505586db1f3c5f877c341899280000000f0830424008bc28505406db1f3c5f877c3e85188ffff90e86b8febff90f4f4 <||@
|
|
3087
|
+
Comment 0 3 <||@
|
|
3088
|
+
Comment 0 1 <||@
|
|
3089
|
+
Comment 5 block B0 null <||@
|
|
3090
|
+
Comment 5 0 [rsi|DWORD, rdx|DWORD, rcx|DWORD, r8|DWORD, rbp|QWORD] = LABEL numbPhis: 0 align: false label: ? <||@
|
|
3091
|
+
Comment 5 4 [] = HOTSPOTLOCKSTACK frameMapBuilder: org.graalvm.compiler.lir.amd64.AMD64FrameMapBuilder@136728e98 slotKind: QWORD <||@
|
|
3092
|
+
Comment 5 14 r10|QWORD[.] = HOTSPOTLOADOBJECTCONSTANT input: Object[Instance<java.lang.Class>] <||@
|
|
3093
|
+
Comment 5 {Object[Instance<java.lang.Class>]} <||@
|
|
3094
|
+
Comment 15 16 AMD64HOTSPOTSTRATEGYSWITCH ~rsi|DWORD - keyConstants: [int[0|0x0], int[1|0x1]] keyTargets: [B0 -> B1, B0 -> B2] defaultTarget: B0 -> B3 strategy: SequentialStrategy[avgEffort=1.6526315789473682] <||@
|
|
3095
|
+
Comment 33 block B3 null <||@
|
|
3096
|
+
Comment 33 18 [] = LABEL numbPhis: 0 align: false label: ? <||@
|
|
3097
|
+
Comment 33 20 MOV (x: [r10|QWORD[.] + 128], y: r8|DWORD) size: DWORD <||@
|
|
3098
|
+
Comment 40 22 MEMBAR barriers: 4 <||@
|
|
3099
|
+
Comment 45 24 rax|DWORD = MOVE r8|DWORD moveKind: DWORD <||@
|
|
3100
|
+
Comment 48 26 RETURN (savedRbp: rbp|QWORD, value: rax|DWORD) isStub: false requiresReservedStackAccessCheck: false thread: r15 scratchForSafepointOnReturn: rcx config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@10e2187d8 <||@
|
|
3101
|
+
Comment 48 12 <||@
|
|
3102
|
+
Comment 58 block B2 null <||@
|
|
3103
|
+
Comment 58 28 [] = LABEL numbPhis: 0 align: false label: ? <||@
|
|
3104
|
+
Comment 58 30 MOV (x: [r10|QWORD[.] + 128], y: rcx|DWORD) size: DWORD <||@
|
|
3105
|
+
Comment 65 32 MEMBAR barriers: 4 <||@
|
|
3106
|
+
Comment 70 34 rax|DWORD = MOVE rcx|DWORD moveKind: DWORD <||@
|
|
3107
|
+
Comment 72 36 RETURN (savedRbp: rbp|QWORD, value: rax|DWORD) isStub: false requiresReservedStackAccessCheck: false thread: r15 scratchForSafepointOnReturn: rcx config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@10e2187d8 <||@
|
|
3108
|
+
Comment 72 12 <||@
|
|
3109
|
+
Comment 82 block B1 null <||@
|
|
3110
|
+
Comment 82 38 [] = LABEL numbPhis: 0 align: false label: ? <||@
|
|
3111
|
+
Comment 82 40 MOV (x: [r10|QWORD[.] + 128], y: rdx|DWORD) size: DWORD <||@
|
|
3112
|
+
Comment 89 42 MEMBAR barriers: 4 <||@
|
|
3113
|
+
Comment 94 44 rax|DWORD = MOVE rdx|DWORD moveKind: DWORD <||@
|
|
3114
|
+
Comment 96 46 RETURN (savedRbp: rbp|QWORD, value: rax|DWORD) isStub: false requiresReservedStackAccessCheck: false thread: r15 scratchForSafepointOnReturn: rcx config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@10e2187d8 <||@
|
|
3115
|
+
Comment 96 12 <||@
|
|
3116
|
+
Comment 106 {Stub<ExceptionHandlerStub.exceptionHandler>@0x110125b20: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} <||@
|
|
3117
|
+
Comment 106 4 <||@
|
|
3118
|
+
Comment 112 {Field[name=CompilerToVM::Data::SharedRuntime_deopt_blob_unpack, type=address, offset=0, address=0x105ebc128, value=4563296832]:0x10ffe6240} <||@
|
|
3119
|
+
Comment 112 5 <||@
|
|
3120
|
+
HexCodeFile>>> <|@
|
|
3121
|
+
end_nmethod
|