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.
Files changed (147) hide show
  1. checksums.yaml +7 -0
  2. data/.github/probots.yml +2 -0
  3. data/.github/workflows/rubocop.yml +10 -0
  4. data/.github/workflows/specs.yml +19 -0
  5. data/.gitignore +7 -0
  6. data/.rubocop.yml +34 -0
  7. data/.ruby-version +1 -0
  8. data/.seafoam/config +1 -0
  9. data/CODE_OF_CONDUCT.md +128 -0
  10. data/CONTRIBUTING.md +5 -0
  11. data/Gemfile +2 -0
  12. data/LICENSE.md +7 -0
  13. data/README.md +298 -0
  14. data/bin/bgv2isabelle +53 -0
  15. data/bin/bgv2json +42 -0
  16. data/bin/seafoam +24 -0
  17. data/docs/annotators.md +43 -0
  18. data/docs/bgv.md +284 -0
  19. data/docs/getting-graphs.md +47 -0
  20. data/examples/Fib.java +24 -0
  21. data/examples/MatMult.java +39 -0
  22. data/examples/fib-java.bgv +0 -0
  23. data/examples/fib-js.bgv +0 -0
  24. data/examples/fib-ruby.bgv +0 -0
  25. data/examples/fib.js +15 -0
  26. data/examples/fib.rb +15 -0
  27. data/examples/identity.bgv +0 -0
  28. data/examples/identity.rb +13 -0
  29. data/examples/java/Irreducible.j +35 -0
  30. data/examples/java/IrreducibleDecompiled.java +21 -0
  31. data/examples/java/JavaExamples.java +418 -0
  32. data/examples/java/exampleArithOperator.bgv +0 -0
  33. data/examples/java/exampleArithOperator.cfg +925 -0
  34. data/examples/java/exampleArrayAllocation.bgv +0 -0
  35. data/examples/java/exampleArrayAllocation.cfg +5268 -0
  36. data/examples/java/exampleArrayRead.bgv +0 -0
  37. data/examples/java/exampleArrayRead.cfg +2263 -0
  38. data/examples/java/exampleArrayWrite.bgv +0 -0
  39. data/examples/java/exampleArrayWrite.cfg +2315 -0
  40. data/examples/java/exampleCatch.bgv +0 -0
  41. data/examples/java/exampleCatch.cfg +4150 -0
  42. data/examples/java/exampleCompareOperator.bgv +0 -0
  43. data/examples/java/exampleCompareOperator.cfg +1109 -0
  44. data/examples/java/exampleDoubleSynchronized.bgv +0 -0
  45. data/examples/java/exampleDoubleSynchronized.cfg +26497 -0
  46. data/examples/java/exampleExactArith.bgv +0 -0
  47. data/examples/java/exampleExactArith.cfg +1888 -0
  48. data/examples/java/exampleFieldRead.bgv +0 -0
  49. data/examples/java/exampleFieldRead.cfg +1228 -0
  50. data/examples/java/exampleFieldWrite.bgv +0 -0
  51. data/examples/java/exampleFieldWrite.cfg +1102 -0
  52. data/examples/java/exampleFor.bgv +0 -0
  53. data/examples/java/exampleFor.cfg +3936 -0
  54. data/examples/java/exampleFullEscape.bgv +0 -0
  55. data/examples/java/exampleFullEscape.cfg +5893 -0
  56. data/examples/java/exampleIf.bgv +0 -0
  57. data/examples/java/exampleIf.cfg +2462 -0
  58. data/examples/java/exampleIfNeverTaken.bgv +0 -0
  59. data/examples/java/exampleIfNeverTaken.cfg +2476 -0
  60. data/examples/java/exampleInstanceOfManyImpls.bgv +0 -0
  61. data/examples/java/exampleInstanceOfManyImpls.cfg +6391 -0
  62. data/examples/java/exampleInstanceOfOneImpl.bgv +0 -0
  63. data/examples/java/exampleInstanceOfOneImpl.cfg +2604 -0
  64. data/examples/java/exampleIntSwitch.bgv +0 -0
  65. data/examples/java/exampleIntSwitch.cfg +3121 -0
  66. data/examples/java/exampleInterfaceCallManyImpls.bgv +0 -0
  67. data/examples/java/exampleInterfaceCallManyImpls.cfg +1358 -0
  68. data/examples/java/exampleInterfaceCallOneImpl.bgv +0 -0
  69. data/examples/java/exampleInterfaceCallOneImpl.cfg +3859 -0
  70. data/examples/java/exampleLocalInstanceOf.bgv +0 -0
  71. data/examples/java/exampleLocalInstanceOf.cfg +5276 -0
  72. data/examples/java/exampleLocalSynchronized.bgv +0 -0
  73. data/examples/java/exampleLocalSynchronized.cfg +1364 -0
  74. data/examples/java/exampleLocalVariables.bgv +0 -0
  75. data/examples/java/exampleLocalVariables.cfg +1195 -0
  76. data/examples/java/exampleLocalVariablesState.bgv +0 -0
  77. data/examples/java/exampleLocalVariablesState.cfg +1673 -0
  78. data/examples/java/exampleNestedWhile.bgv +0 -0
  79. data/examples/java/exampleNestedWhile.cfg +15499 -0
  80. data/examples/java/exampleNestedWhileBreak.bgv +0 -0
  81. data/examples/java/exampleNestedWhileBreak.cfg +11162 -0
  82. data/examples/java/exampleNoEscape.bgv +0 -0
  83. data/examples/java/exampleNoEscape.cfg +974 -0
  84. data/examples/java/exampleObjectAllocation.bgv +0 -0
  85. data/examples/java/exampleObjectAllocation.cfg +5287 -0
  86. data/examples/java/examplePartialEscape.bgv +0 -0
  87. data/examples/java/examplePartialEscape.cfg +7042 -0
  88. data/examples/java/examplePhi.bgv +0 -0
  89. data/examples/java/examplePhi.cfg +3227 -0
  90. data/examples/java/exampleReducible.bgv +0 -0
  91. data/examples/java/exampleReducible.cfg +5578 -0
  92. data/examples/java/exampleSimpleCall.bgv +0 -0
  93. data/examples/java/exampleSimpleCall.cfg +1435 -0
  94. data/examples/java/exampleStamp.bgv +0 -0
  95. data/examples/java/exampleStamp.cfg +913 -0
  96. data/examples/java/exampleStaticCall.bgv +0 -0
  97. data/examples/java/exampleStaticCall.cfg +1154 -0
  98. data/examples/java/exampleStringSwitch.bgv +0 -0
  99. data/examples/java/exampleStringSwitch.cfg +15377 -0
  100. data/examples/java/exampleSynchronized.bgv +0 -0
  101. data/examples/java/exampleSynchronized.cfg +26027 -0
  102. data/examples/java/exampleThrow.bgv +0 -0
  103. data/examples/java/exampleThrow.cfg +780 -0
  104. data/examples/java/exampleThrowCatch.bgv +0 -0
  105. data/examples/java/exampleThrowCatch.cfg +744 -0
  106. data/examples/java/exampleUnsafeRead.bgv +0 -0
  107. data/examples/java/exampleUnsafeRead.cfg +912 -0
  108. data/examples/java/exampleUnsafeWrite.bgv +0 -0
  109. data/examples/java/exampleUnsafeWrite.cfg +962 -0
  110. data/examples/java/exampleWhile.bgv +0 -0
  111. data/examples/java/exampleWhile.cfg +3936 -0
  112. data/examples/java/exampleWhileBreak.bgv +0 -0
  113. data/examples/java/exampleWhileBreak.cfg +5963 -0
  114. data/examples/matmult-java.bgv +0 -0
  115. data/examples/matmult-ruby.bgv +0 -0
  116. data/examples/matmult.rb +29 -0
  117. data/examples/overflow.bgv +0 -0
  118. data/examples/overflow.rb +13 -0
  119. data/lib/seafoam.rb +13 -0
  120. data/lib/seafoam/annotators.rb +54 -0
  121. data/lib/seafoam/annotators/fallback.rb +27 -0
  122. data/lib/seafoam/annotators/graal.rb +376 -0
  123. data/lib/seafoam/bgv/bgv_parser.rb +602 -0
  124. data/lib/seafoam/binary/binary_reader.rb +21 -0
  125. data/lib/seafoam/binary/io_binary_reader.rb +88 -0
  126. data/lib/seafoam/colors.rb +18 -0
  127. data/lib/seafoam/commands.rb +447 -0
  128. data/lib/seafoam/config.rb +34 -0
  129. data/lib/seafoam/graph.rb +91 -0
  130. data/lib/seafoam/graphviz_writer.rb +213 -0
  131. data/lib/seafoam/spotlight.rb +28 -0
  132. data/lib/seafoam/version.rb +5 -0
  133. data/seafoam.gemspec +20 -0
  134. data/spec/seafoam/annotators/fallback_spec.rb +69 -0
  135. data/spec/seafoam/annotators/graal_spec.rb +96 -0
  136. data/spec/seafoam/annotators_spec.rb +61 -0
  137. data/spec/seafoam/bgv/bgv_parser_spec.rb +144 -0
  138. data/spec/seafoam/bgv/fixtures/not.bgv +1 -0
  139. data/spec/seafoam/bgv/fixtures/unsupported.bgv +1 -0
  140. data/spec/seafoam/binary/io_binary_reader_spec.rb +176 -0
  141. data/spec/seafoam/command_spec.rb +252 -0
  142. data/spec/seafoam/graph_spec.rb +172 -0
  143. data/spec/seafoam/graphviz_writer_spec.rb +63 -0
  144. data/spec/seafoam/spec_helpers.rb +30 -0
  145. data/spec/seafoam/spotlight_spec.rb +38 -0
  146. data/tools/render-all +36 -0
  147. metadata +238 -0
@@ -0,0 +1,2476 @@
1
+ begin_compilation
2
+ name " HotSpotCompilation-355[JavaExamples.exampleIfNeverTaken(boolean, int, int)]"
3
+ method "HotSpotCompilation-355[JavaExamples.exampleIfNeverTaken(boolean, int, int)]"
4
+ date 1583364091938
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"
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: v19
28
+ === Usages ===
29
+ === Predecessor ===
30
+ - >@ <|@
31
+ instruction <@StartNode|@org.graalvm.compiler.nodes.StartNode>@ stateAfter: - #next: v19 <|@ <|@
32
+ f <@~|@floating>@ <|@
33
+ tid i3 <|@
34
+ d <@d|@=== Debug Properties ===
35
+ index: 2
36
+ stamp: i32
37
+ uncheckedStamp: [null]
38
+ === Inputs ===
39
+ === Succesors ===
40
+ === Usages ===
41
+ ?4 v15 v10
42
+ === Predecessor ===
43
+ - >@ <|@
44
+ instruction <@Parameter|@org.graalvm.compiler.nodes.ParameterNode>@ <|@ <|@
45
+ f <@~|@floating>@ <|@
46
+ tid i1 <|@
47
+ d <@d|@=== Debug Properties ===
48
+ index: 0
49
+ stamp: i32
50
+ uncheckedStamp: [null]
51
+ === Inputs ===
52
+ === Succesors ===
53
+ === Usages ===
54
+ ?4 v6
55
+ === Predecessor ===
56
+ - >@ <|@
57
+ instruction <@Parameter|@org.graalvm.compiler.nodes.ParameterNode>@ <|@ <|@
58
+ f <@~|@floating>@ <|@
59
+ tid i5 <|@
60
+ d <@d|@=== Debug Properties ===
61
+ isDefaultStable: false
62
+ nodeSourcePosition: at JavaExamples.exampleIfNeverTaken(JavaExamples.java:154) [bci: 1]
63
+ rawvalue: 0
64
+ stableDimension: 0
65
+ stamp: i32 [0] ⇈0000000000000000
66
+ stampKind: i32
67
+ value: int[0|0x0]
68
+ === Inputs ===
69
+ === Succesors ===
70
+ === Usages ===
71
+ v6
72
+ === Predecessor ===
73
+ - >@ <|@
74
+ instruction <@Constant|@org.graalvm.compiler.nodes.ConstantNode>@ <|@ <|@
75
+ f <@~|@floating>@ <|@
76
+ tid v6 <|@
77
+ d <@d|@=== Debug Properties ===
78
+ condition: EQ
79
+ nodeSourcePosition: at JavaExamples.exampleIfNeverTaken(JavaExamples.java:154) [bci: 1]
80
+ stamp: void
81
+ unorderedIsTrue: false
82
+ === Inputs ===
83
+ x: i1
84
+ y: i5
85
+ === Succesors ===
86
+ === Usages ===
87
+ v19
88
+ === Predecessor ===
89
+ - >@ <|@
90
+ instruction <@==|@org.graalvm.compiler.nodes.calc.IntegerEqualsNode>@ x: i1 y: i5 <|@ <|@
91
+ f <@*|@fixed>@ <|@
92
+ tid v19 <|@
93
+ d <@d|@=== Debug Properties ===
94
+ nodeSourcePosition: at JavaExamples.exampleIfNeverTaken(JavaExamples.java:154) [bci: 1]
95
+ stamp: void
96
+ trueSuccessorProbability: 1.0
97
+ === Inputs ===
98
+ condition: v6
99
+ === Succesors ===
100
+ trueSuccessor: v16
101
+ falseSuccessor: v18
102
+ === Usages ===
103
+ === Predecessor ===
104
+ v0 >@ <|@
105
+ instruction <@If|@org.graalvm.compiler.nodes.IfNode>@ condition: v6 #trueSuccessor: v16 #falseSuccessor: v18 <|@ <|@
106
+ end_IR
107
+ end_block
108
+ begin_block
109
+ name "B1"
110
+ from_bci -1
111
+ to_bci -1
112
+ predecessors "B0"
113
+ successors
114
+ xhandlers
115
+ flags
116
+ probability 4607182418800017408
117
+ begin_IR
118
+ HIR
119
+ f <@#|@fixed with next>@ <|@
120
+ tid v16 <|@
121
+ d <@d|@=== Debug Properties ===
122
+ nodeSourcePosition: at JavaExamples.exampleIfNeverTaken(JavaExamples.java:158) [bci: 13]
123
+ stamp: void
124
+ withSpeculationFence: false
125
+ === Inputs ===
126
+ === Succesors ===
127
+ next: v21
128
+ === Usages ===
129
+ === Predecessor ===
130
+ v19 >@ <|@
131
+ instruction <@Begin|@org.graalvm.compiler.nodes.BeginNode>@ #next: v21 <|@ <|@
132
+ f <@#|@fixed with next>@ <|@
133
+ tid v21 <|@
134
+ d <@d|@=== Debug Properties ===
135
+ barriers: 10
136
+ location: ANY_LOCATION
137
+ stamp: void
138
+ === Inputs ===
139
+ === Succesors ===
140
+ next: v15
141
+ === Usages ===
142
+ === Predecessor ===
143
+ v16 >@ <|@
144
+ instruction <@Membar|@org.graalvm.compiler.nodes.extended.MembarNode>@ #next: v15 <|@ <|@
145
+ f <@~|@floating>@ <|@
146
+ tid a12 <|@
147
+ d <@d|@=== Debug Properties ===
148
+ isDefaultStable: false
149
+ nodeSourcePosition: at JavaExamples.exampleIfNeverTaken(JavaExamples.java:158) [bci: 14]
150
+ rawvalue: Instance<java.lang.Class>
151
+ stableDimension: 0
152
+ stamp: a!# Ljava/lang/Class;
153
+ stampKind: a -
154
+ value: Object[Instance<java.lang.Class>]
155
+ === Inputs ===
156
+ === Succesors ===
157
+ === Usages ===
158
+ v20
159
+ === Predecessor ===
160
+ - >@ <|@
161
+ instruction <@Constant|@org.graalvm.compiler.nodes.ConstantNode>@ <|@ <|@
162
+ f <@~|@floating>@ <|@
163
+ tid v20 <|@
164
+ d <@d|@=== Debug Properties ===
165
+ displacement: 128
166
+ scale: Times1
167
+ stamp: void*
168
+ === Inputs ===
169
+ base: a12
170
+ index: -
171
+ === Succesors ===
172
+ === Usages ===
173
+ v15
174
+ === Predecessor ===
175
+ - >@ <|@
176
+ instruction <@AMD64Address|@org.graalvm.compiler.core.amd64.AMD64AddressNode>@ base: a12 index: - <|@ <|@
177
+ f <@#|@fixed with next>@ <|@
178
+ tid v15 <|@
179
+ d <@d|@=== Debug Properties ===
180
+ barrierType: NONE
181
+ location: JavaExamples.intField
182
+ nodeSourcePosition: at JavaExamples.exampleIfNeverTaken(JavaExamples.java:158) [bci: 14]
183
+ nullCheck: false
184
+ stamp: void
185
+ volatileAccess: true
186
+ === Inputs ===
187
+ stateBefore: -
188
+ guard: -
189
+ address: v20
190
+ value: i3
191
+ stateAfter: -
192
+ lastLocationAccess: -
193
+ === Succesors ===
194
+ next: v22
195
+ === Usages ===
196
+ === Predecessor ===
197
+ v21 >@ <|@
198
+ instruction <@Write|@org.graalvm.compiler.nodes.memory.WriteNode>@ stateBefore: - guard: - address: v20 value: i3 stateAfter: - lastLocationAccess: - #next: v22 <|@ <|@
199
+ f <@#|@fixed with next>@ <|@
200
+ tid v22 <|@
201
+ d <@d|@=== Debug Properties ===
202
+ barriers: 12
203
+ location: ANY_LOCATION
204
+ stamp: void
205
+ === Inputs ===
206
+ === Succesors ===
207
+ next: v10
208
+ === Usages ===
209
+ === Predecessor ===
210
+ v15 >@ <|@
211
+ instruction <@Membar|@org.graalvm.compiler.nodes.extended.MembarNode>@ #next: v10 <|@ <|@
212
+ f <@*|@fixed>@ <|@
213
+ tid v10 <|@
214
+ d <@d|@=== Debug Properties ===
215
+ nodeSourcePosition: at JavaExamples.exampleIfNeverTaken(JavaExamples.java:161) [bci: 20]
216
+ stamp: void
217
+ === Inputs ===
218
+ result: i3
219
+ memoryMap: -
220
+ === Succesors ===
221
+ === Usages ===
222
+ === Predecessor ===
223
+ v22 >@ <|@
224
+ instruction <@Return|@org.graalvm.compiler.nodes.ReturnNode>@ result: i3 memoryMap: - <|@ <|@
225
+ end_IR
226
+ end_block
227
+ begin_block
228
+ name "B2"
229
+ from_bci -1
230
+ to_bci -1
231
+ predecessors "B0"
232
+ successors
233
+ xhandlers
234
+ flags
235
+ probability 2355382605114769408
236
+ begin_IR
237
+ HIR
238
+ f <@#|@fixed with next>@ <|@
239
+ tid v18 <|@
240
+ d <@d|@=== Debug Properties ===
241
+ nodeSourcePosition: at JavaExamples.exampleIfNeverTaken(JavaExamples.java:154) [bci: 1]
242
+ stamp: void
243
+ withSpeculationFence: false
244
+ === Inputs ===
245
+ === Succesors ===
246
+ next: v17
247
+ === Usages ===
248
+ === Predecessor ===
249
+ v19 >@ <|@
250
+ instruction <@Begin|@org.graalvm.compiler.nodes.BeginNode>@ #next: v17 <|@ <|@
251
+ f <@~|@floating>@ <|@
252
+ tid i2 <|@
253
+ d <@d|@=== Debug Properties ===
254
+ index: 1
255
+ stamp: i32
256
+ uncheckedStamp: [null]
257
+ === Inputs ===
258
+ === Succesors ===
259
+ === Usages ===
260
+ ?4
261
+ === Predecessor ===
262
+ - >@ <|@
263
+ instruction <@Parameter|@org.graalvm.compiler.nodes.ParameterNode>@ <|@ <|@
264
+ tid ?4 <|@
265
+ d <@d|@=== Debug Properties ===
266
+ bci: 0
267
+ code: ResolvedJavaMethodBytecode<JavaExamples.exampleIfNeverTaken(boolean, int, int)>
268
+ duringCall: false
269
+ localsSize: 4
270
+ locksSize: 0
271
+ rethrowException: false
272
+ sourceFile: JavaExamples.java
273
+ sourceLine: 154
274
+ stackSize: 0
275
+ === Inputs ===
276
+ outerFrameState: -
277
+ values: i1 i2 i3 -
278
+ === Succesors ===
279
+ === Usages ===
280
+ v17
281
+ === Predecessor ===
282
+ - >@ <|@
283
+ instruction <@FrameState|@org.graalvm.compiler.nodes.FrameState>@ outerFrameState: - values: i1 i2 i3 - <|@ <|@
284
+ f <@*|@fixed>@ <|@
285
+ tid v17 <|@
286
+ d <@d|@=== Debug Properties ===
287
+ action: InvalidateReprofile
288
+ debugId: 11
289
+ nodeSourcePosition: at JavaExamples.exampleIfNeverTaken(JavaExamples.java:154) [bci: 1]
290
+ reason: UnreachedCode
291
+ speculation: jdk.vm.ci.meta.SpeculationLog$NoSpeculationReason@137006448
292
+ stamp: void
293
+ === Inputs ===
294
+ stateBefore: ?4
295
+ === Succesors ===
296
+ === Usages ===
297
+ === Predecessor ===
298
+ v18 >@ <|@
299
+ instruction <@Deopt|@org.graalvm.compiler.nodes.DeoptimizeNode>@ stateBefore: ?4 <|@ <|@
300
+ end_IR
301
+ end_block
302
+ end_cfg
303
+ begin_cfg
304
+ name "After LIRGeneration"
305
+ begin_block
306
+ name "B0"
307
+ from_bci -1
308
+ to_bci -1
309
+ predecessors
310
+ successors "B1" "B2"
311
+ xhandlers
312
+ flags
313
+ probability 4607182418800017408
314
+ begin_IR
315
+ LIR
316
+ nr -1 <|@ instruction [rsi|DWORD, rdx|DWORD, rcx|DWORD, rbp|QWORD] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
317
+ nr -1 <|@ instruction stack:16|QWORD = MOVE rbp|QWORD moveKind: QWORD <|@ <|@
318
+ nr -1 <|@ instruction [] = HOTSPOTLOCKSTACK frameMapBuilder: org.graalvm.compiler.lir.amd64.AMD64FrameMapBuilder@13a29b3a8 slotKind: QWORD <|@ <|@
319
+ nr -1 <|@ instruction v0|DWORD = MOVE rsi|DWORD moveKind: DWORD <|@ <|@
320
+ nr -1 <|@ instruction v1|DWORD = MOVE rdx|DWORD moveKind: DWORD <|@ <|@
321
+ nr -1 <|@ instruction v2|DWORD = MOVE rcx|DWORD moveKind: DWORD <|@ <|@
322
+ nr -1 <|@ instruction TEST (x: v0|DWORD, y: v0|DWORD) size: DWORD <|@ <|@
323
+ nr -1 <|@ instruction BRANCH trueDestinationProbability: 1.0 condition: = trueDestination: B0 -> B1 falseDestination: B0 -> B2 <|@ <|@
324
+ end_IR
325
+ end_block
326
+ begin_block
327
+ name "B1"
328
+ from_bci -1
329
+ to_bci -1
330
+ predecessors "B0"
331
+ successors
332
+ xhandlers
333
+ flags
334
+ probability 4607182418800017408
335
+ begin_IR
336
+ LIR
337
+ nr -1 <|@ instruction [] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
338
+ nr -1 <|@ instruction v3|QWORD[.] = HOTSPOTLOADOBJECTCONSTANT input: Object[Instance<java.lang.Class>] <|@ <|@
339
+ nr -1 <|@ instruction MOV (x: [v3|QWORD[.] + 128], y: v2|DWORD) size: DWORD <|@ <|@
340
+ nr -1 <|@ instruction MEMBAR barriers: 4 <|@ <|@
341
+ nr -1 <|@ instruction rax|DWORD = MOVE v2|DWORD moveKind: DWORD <|@ <|@
342
+ nr -1 <|@ instruction RETURN (savedRbp: stack:16|QWORD, value: rax|DWORD) isStub: false requiresReservedStackAccessCheck: false thread: r15 scratchForSafepointOnReturn: rcx config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@147e07170 <|@ <|@
343
+ end_IR
344
+ end_block
345
+ begin_block
346
+ name "B2"
347
+ from_bci -1
348
+ to_bci -1
349
+ predecessors "B0"
350
+ successors
351
+ xhandlers
352
+ flags
353
+ probability 2355382605114769408
354
+ begin_IR
355
+ LIR
356
+ nr -1 <|@ instruction [] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
357
+ nr -1 <|@ instruction MOV [r15|QWORD + 644] y: -2835 size: DWORD <|@ <|@
358
+ nr -1 <|@ instruction MOV [r15|QWORD + 656] y: 0 size: QWORD <|@ <|@
359
+ nr -1 <|@ st <@st|@JavaExamples.exampleIfNeverTaken(JavaExamples.java:154) [bci: 0]
360
+ locals: v0|DWORD v1|DWORD v2|DWORD -
361
+ >@ <|@ instruction DEOPT info [bci:0] <|@ <|@
362
+ end_IR
363
+ end_block
364
+ end_cfg
365
+ begin_bytecodes
366
+ 0: iload_0
367
+ 1: ifeq 13
368
+ 4: iload_1
369
+ 5: putstatic #54 // intField:int
370
+ 8: iload_1
371
+ 9: istore_3
372
+ 10: goto 19
373
+ 13: iload_2
374
+ 14: putstatic #54 // intField:int
375
+ 17: iload_2
376
+ 18: istore_3
377
+ 19: iload_3
378
+ 20: ireturn
379
+ <|@
380
+ end_bytecodes
381
+ begin_cfg
382
+ name "After LIR generation"
383
+ begin_block
384
+ name "B0"
385
+ from_bci -1
386
+ to_bci -1
387
+ predecessors
388
+ successors "B1" "B2"
389
+ xhandlers
390
+ flags
391
+ probability 4607182418800017408
392
+ begin_IR
393
+ HIR
394
+ f <@#|@fixed with next>@ <|@
395
+ tid v0 <|@
396
+ d <@d|@=== Debug Properties ===
397
+ stamp: void
398
+ withSpeculationFence: false
399
+ === Inputs ===
400
+ stateAfter: -
401
+ === Succesors ===
402
+ next: v19
403
+ === Usages ===
404
+ === Predecessor ===
405
+ - >@ <|@
406
+ instruction <@StartNode|@org.graalvm.compiler.nodes.StartNode>@ stateAfter: - #next: v19 <|@ <|@
407
+ f <@~|@floating>@ <|@
408
+ tid i3 <|@
409
+ result v2|DWORD <|@
410
+ d <@d|@=== Debug Properties ===
411
+ index: 2
412
+ stamp: i32
413
+ uncheckedStamp: [null]
414
+ === Inputs ===
415
+ === Succesors ===
416
+ === Usages ===
417
+ ?4 v15 v10
418
+ === Predecessor ===
419
+ - >@ <|@
420
+ instruction <@Parameter|@org.graalvm.compiler.nodes.ParameterNode>@ <|@ <|@
421
+ f <@~|@floating>@ <|@
422
+ tid i1 <|@
423
+ result v0|DWORD <|@
424
+ d <@d|@=== Debug Properties ===
425
+ index: 0
426
+ stamp: i32
427
+ uncheckedStamp: [null]
428
+ === Inputs ===
429
+ === Succesors ===
430
+ === Usages ===
431
+ ?4 v6
432
+ === Predecessor ===
433
+ - >@ <|@
434
+ instruction <@Parameter|@org.graalvm.compiler.nodes.ParameterNode>@ <|@ <|@
435
+ f <@~|@floating>@ <|@
436
+ tid i5 <|@
437
+ result int[0|0x0] <|@
438
+ d <@d|@=== Debug Properties ===
439
+ isDefaultStable: false
440
+ nodeSourcePosition: at JavaExamples.exampleIfNeverTaken(JavaExamples.java:154) [bci: 1]
441
+ rawvalue: 0
442
+ stableDimension: 0
443
+ stamp: i32 [0] ⇈0000000000000000
444
+ stampKind: i32
445
+ value: int[0|0x0]
446
+ === Inputs ===
447
+ === Succesors ===
448
+ === Usages ===
449
+ v6
450
+ === Predecessor ===
451
+ - >@ <|@
452
+ instruction <@Constant|@org.graalvm.compiler.nodes.ConstantNode>@ <|@ <|@
453
+ f <@~|@floating>@ <|@
454
+ tid v6 <|@
455
+ d <@d|@=== Debug Properties ===
456
+ condition: EQ
457
+ nodeSourcePosition: at JavaExamples.exampleIfNeverTaken(JavaExamples.java:154) [bci: 1]
458
+ stamp: void
459
+ unorderedIsTrue: false
460
+ === Inputs ===
461
+ x: i1
462
+ y: i5
463
+ === Succesors ===
464
+ === Usages ===
465
+ v19
466
+ === Predecessor ===
467
+ - >@ <|@
468
+ instruction <@==|@org.graalvm.compiler.nodes.calc.IntegerEqualsNode>@ x: i1 y: i5 <|@ <|@
469
+ f <@*|@fixed>@ <|@
470
+ tid v19 <|@
471
+ d <@d|@=== Debug Properties ===
472
+ nodeSourcePosition: at JavaExamples.exampleIfNeverTaken(JavaExamples.java:154) [bci: 1]
473
+ stamp: void
474
+ trueSuccessorProbability: 1.0
475
+ === Inputs ===
476
+ condition: v6
477
+ === Succesors ===
478
+ trueSuccessor: v16
479
+ falseSuccessor: v18
480
+ === Usages ===
481
+ === Predecessor ===
482
+ v0 >@ <|@
483
+ instruction <@If|@org.graalvm.compiler.nodes.IfNode>@ condition: v6 #trueSuccessor: v16 #falseSuccessor: v18 <|@ <|@
484
+ end_IR
485
+ begin_IR
486
+ LIR
487
+ nr -1 <|@ instruction [rsi|DWORD, rdx|DWORD, rcx|DWORD, rbp|QWORD] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
488
+ nr -1 <|@ instruction stack:16|QWORD = MOVE rbp|QWORD moveKind: QWORD <|@ <|@
489
+ nr -1 <|@ instruction [] = HOTSPOTLOCKSTACK frameMapBuilder: org.graalvm.compiler.lir.amd64.AMD64FrameMapBuilder@13a29b3a8 slotKind: QWORD <|@ <|@
490
+ nr -1 <|@ instruction v0|DWORD = MOVE rsi|DWORD moveKind: DWORD <|@ <|@
491
+ nr -1 <|@ instruction v1|DWORD = MOVE rdx|DWORD moveKind: DWORD <|@ <|@
492
+ nr -1 <|@ instruction v2|DWORD = MOVE rcx|DWORD moveKind: DWORD <|@ <|@
493
+ nr -1 <|@ instruction TEST (x: v0|DWORD, y: v0|DWORD) size: DWORD <|@ <|@
494
+ nr -1 <|@ instruction BRANCH trueDestinationProbability: 1.0 condition: = trueDestination: B0 -> B1 falseDestination: B0 -> B2 <|@ <|@
495
+ end_IR
496
+ end_block
497
+ begin_block
498
+ name "B1"
499
+ from_bci -1
500
+ to_bci -1
501
+ predecessors "B0"
502
+ successors
503
+ xhandlers
504
+ flags
505
+ probability 4607182418800017408
506
+ begin_IR
507
+ HIR
508
+ f <@#|@fixed with next>@ <|@
509
+ tid v16 <|@
510
+ d <@d|@=== Debug Properties ===
511
+ nodeSourcePosition: at JavaExamples.exampleIfNeverTaken(JavaExamples.java:158) [bci: 13]
512
+ stamp: void
513
+ withSpeculationFence: false
514
+ === Inputs ===
515
+ === Succesors ===
516
+ next: v21
517
+ === Usages ===
518
+ === Predecessor ===
519
+ v19 >@ <|@
520
+ instruction <@Begin|@org.graalvm.compiler.nodes.BeginNode>@ #next: v21 <|@ <|@
521
+ f <@#|@fixed with next>@ <|@
522
+ tid v21 <|@
523
+ d <@d|@=== Debug Properties ===
524
+ barriers: 10
525
+ location: ANY_LOCATION
526
+ stamp: void
527
+ === Inputs ===
528
+ === Succesors ===
529
+ next: v15
530
+ === Usages ===
531
+ === Predecessor ===
532
+ v16 >@ <|@
533
+ instruction <@Membar|@org.graalvm.compiler.nodes.extended.MembarNode>@ #next: v15 <|@ <|@
534
+ f <@~|@floating>@ <|@
535
+ tid a12 <|@
536
+ result v3|QWORD[.] <|@
537
+ d <@d|@=== Debug Properties ===
538
+ isDefaultStable: false
539
+ nodeSourcePosition: at JavaExamples.exampleIfNeverTaken(JavaExamples.java:158) [bci: 14]
540
+ rawvalue: Instance<java.lang.Class>
541
+ stableDimension: 0
542
+ stamp: a!# Ljava/lang/Class;
543
+ stampKind: a -
544
+ value: Object[Instance<java.lang.Class>]
545
+ === Inputs ===
546
+ === Succesors ===
547
+ === Usages ===
548
+ v20
549
+ === Predecessor ===
550
+ - >@ <|@
551
+ instruction <@Constant|@org.graalvm.compiler.nodes.ConstantNode>@ <|@ <|@
552
+ f <@~|@floating>@ <|@
553
+ tid v20 <|@
554
+ result [v3|QWORD[.] + 128] <|@
555
+ d <@d|@=== Debug Properties ===
556
+ displacement: 128
557
+ scale: Times1
558
+ stamp: void*
559
+ === Inputs ===
560
+ base: a12
561
+ index: -
562
+ === Succesors ===
563
+ === Usages ===
564
+ v15
565
+ === Predecessor ===
566
+ - >@ <|@
567
+ instruction <@AMD64Address|@org.graalvm.compiler.core.amd64.AMD64AddressNode>@ base: a12 index: - <|@ <|@
568
+ f <@#|@fixed with next>@ <|@
569
+ tid v15 <|@
570
+ d <@d|@=== Debug Properties ===
571
+ barrierType: NONE
572
+ location: JavaExamples.intField
573
+ nodeSourcePosition: at JavaExamples.exampleIfNeverTaken(JavaExamples.java:158) [bci: 14]
574
+ nullCheck: false
575
+ stamp: void
576
+ volatileAccess: true
577
+ === Inputs ===
578
+ stateBefore: -
579
+ guard: -
580
+ address: v20
581
+ value: i3
582
+ stateAfter: -
583
+ lastLocationAccess: -
584
+ === Succesors ===
585
+ next: v22
586
+ === Usages ===
587
+ === Predecessor ===
588
+ v21 >@ <|@
589
+ instruction <@Write|@org.graalvm.compiler.nodes.memory.WriteNode>@ stateBefore: - guard: - address: v20 value: i3 stateAfter: - lastLocationAccess: - #next: v22 <|@ <|@
590
+ f <@#|@fixed with next>@ <|@
591
+ tid v22 <|@
592
+ d <@d|@=== Debug Properties ===
593
+ barriers: 12
594
+ location: ANY_LOCATION
595
+ stamp: void
596
+ === Inputs ===
597
+ === Succesors ===
598
+ next: v10
599
+ === Usages ===
600
+ === Predecessor ===
601
+ v15 >@ <|@
602
+ instruction <@Membar|@org.graalvm.compiler.nodes.extended.MembarNode>@ #next: v10 <|@ <|@
603
+ f <@*|@fixed>@ <|@
604
+ tid v10 <|@
605
+ d <@d|@=== Debug Properties ===
606
+ nodeSourcePosition: at JavaExamples.exampleIfNeverTaken(JavaExamples.java:161) [bci: 20]
607
+ stamp: void
608
+ === Inputs ===
609
+ result: i3
610
+ memoryMap: -
611
+ === Succesors ===
612
+ === Usages ===
613
+ === Predecessor ===
614
+ v22 >@ <|@
615
+ instruction <@Return|@org.graalvm.compiler.nodes.ReturnNode>@ result: i3 memoryMap: - <|@ <|@
616
+ end_IR
617
+ begin_IR
618
+ LIR
619
+ nr -1 <|@ instruction [] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
620
+ nr -1 <|@ instruction v3|QWORD[.] = HOTSPOTLOADOBJECTCONSTANT input: Object[Instance<java.lang.Class>] <|@ <|@
621
+ nr -1 <|@ instruction MOV (x: [v3|QWORD[.] + 128], y: v2|DWORD) size: DWORD <|@ <|@
622
+ nr -1 <|@ instruction MEMBAR barriers: 4 <|@ <|@
623
+ nr -1 <|@ instruction rax|DWORD = MOVE v2|DWORD moveKind: DWORD <|@ <|@
624
+ nr -1 <|@ instruction RETURN (savedRbp: stack:16|QWORD, value: rax|DWORD) isStub: false requiresReservedStackAccessCheck: false thread: r15 scratchForSafepointOnReturn: rcx config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@147e07170 <|@ <|@
625
+ end_IR
626
+ end_block
627
+ begin_block
628
+ name "B2"
629
+ from_bci -1
630
+ to_bci -1
631
+ predecessors "B0"
632
+ successors
633
+ xhandlers
634
+ flags
635
+ probability 2355382605114769408
636
+ begin_IR
637
+ HIR
638
+ f <@#|@fixed with next>@ <|@
639
+ tid v18 <|@
640
+ d <@d|@=== Debug Properties ===
641
+ nodeSourcePosition: at JavaExamples.exampleIfNeverTaken(JavaExamples.java:154) [bci: 1]
642
+ stamp: void
643
+ withSpeculationFence: false
644
+ === Inputs ===
645
+ === Succesors ===
646
+ next: v17
647
+ === Usages ===
648
+ === Predecessor ===
649
+ v19 >@ <|@
650
+ instruction <@Begin|@org.graalvm.compiler.nodes.BeginNode>@ #next: v17 <|@ <|@
651
+ f <@~|@floating>@ <|@
652
+ tid i2 <|@
653
+ result v1|DWORD <|@
654
+ d <@d|@=== Debug Properties ===
655
+ index: 1
656
+ stamp: i32
657
+ uncheckedStamp: [null]
658
+ === Inputs ===
659
+ === Succesors ===
660
+ === Usages ===
661
+ ?4
662
+ === Predecessor ===
663
+ - >@ <|@
664
+ instruction <@Parameter|@org.graalvm.compiler.nodes.ParameterNode>@ <|@ <|@
665
+ tid ?4 <|@
666
+ d <@d|@=== Debug Properties ===
667
+ bci: 0
668
+ code: ResolvedJavaMethodBytecode<JavaExamples.exampleIfNeverTaken(boolean, int, int)>
669
+ duringCall: false
670
+ localsSize: 4
671
+ locksSize: 0
672
+ rethrowException: false
673
+ sourceFile: JavaExamples.java
674
+ sourceLine: 154
675
+ stackSize: 0
676
+ === Inputs ===
677
+ outerFrameState: -
678
+ values: i1 i2 i3 -
679
+ === Succesors ===
680
+ === Usages ===
681
+ v17
682
+ === Predecessor ===
683
+ - >@ <|@
684
+ instruction <@FrameState|@org.graalvm.compiler.nodes.FrameState>@ outerFrameState: - values: i1 i2 i3 - <|@ <|@
685
+ f <@*|@fixed>@ <|@
686
+ tid v17 <|@
687
+ d <@d|@=== Debug Properties ===
688
+ action: InvalidateReprofile
689
+ debugId: 11
690
+ nodeSourcePosition: at JavaExamples.exampleIfNeverTaken(JavaExamples.java:154) [bci: 1]
691
+ reason: UnreachedCode
692
+ speculation: jdk.vm.ci.meta.SpeculationLog$NoSpeculationReason@137006448
693
+ stamp: void
694
+ === Inputs ===
695
+ stateBefore: ?4
696
+ === Succesors ===
697
+ === Usages ===
698
+ === Predecessor ===
699
+ v18 >@ <|@
700
+ instruction <@Deopt|@org.graalvm.compiler.nodes.DeoptimizeNode>@ stateBefore: ?4 <|@ <|@
701
+ end_IR
702
+ begin_IR
703
+ LIR
704
+ nr -1 <|@ instruction [] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
705
+ nr -1 <|@ instruction MOV [r15|QWORD + 644] y: -2835 size: DWORD <|@ <|@
706
+ nr -1 <|@ instruction MOV [r15|QWORD + 656] y: 0 size: QWORD <|@ <|@
707
+ nr -1 <|@ st <@st|@JavaExamples.exampleIfNeverTaken(JavaExamples.java:154) [bci: 0]
708
+ locals: v0|DWORD v1|DWORD v2|DWORD -
709
+ >@ <|@ instruction DEOPT info [bci:0] <|@ <|@
710
+ end_IR
711
+ end_block
712
+ end_cfg
713
+ begin_cfg
714
+ name "After ConstantLoadOptimization"
715
+ begin_block
716
+ name "B0"
717
+ from_bci -1
718
+ to_bci -1
719
+ predecessors
720
+ successors "B1" "B2"
721
+ xhandlers
722
+ flags
723
+ probability 4607182418800017408
724
+ begin_IR
725
+ LIR
726
+ nr -1 <|@ instruction [rsi|DWORD, rdx|DWORD, rcx|DWORD, rbp|QWORD] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
727
+ nr -1 <|@ instruction stack:16|QWORD = MOVE rbp|QWORD moveKind: QWORD <|@ <|@
728
+ nr -1 <|@ instruction [] = HOTSPOTLOCKSTACK frameMapBuilder: org.graalvm.compiler.lir.amd64.AMD64FrameMapBuilder@13a29b3a8 slotKind: QWORD <|@ <|@
729
+ nr -1 <|@ instruction v0|DWORD = MOVE rsi|DWORD moveKind: DWORD <|@ <|@
730
+ nr -1 <|@ instruction v1|DWORD = MOVE rdx|DWORD moveKind: DWORD <|@ <|@
731
+ nr -1 <|@ instruction v2|DWORD = MOVE rcx|DWORD moveKind: DWORD <|@ <|@
732
+ nr -1 <|@ instruction TEST (x: v0|DWORD, y: v0|DWORD) size: DWORD <|@ <|@
733
+ nr -1 <|@ instruction BRANCH trueDestinationProbability: 1.0 condition: = trueDestination: B0 -> B1 falseDestination: B0 -> B2 <|@ <|@
734
+ end_IR
735
+ end_block
736
+ begin_block
737
+ name "B1"
738
+ from_bci -1
739
+ to_bci -1
740
+ predecessors "B0"
741
+ successors
742
+ xhandlers
743
+ flags
744
+ probability 4607182418800017408
745
+ begin_IR
746
+ LIR
747
+ nr -1 <|@ instruction [] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
748
+ nr -1 <|@ instruction v3|QWORD[.] = HOTSPOTLOADOBJECTCONSTANT input: Object[Instance<java.lang.Class>] <|@ <|@
749
+ nr -1 <|@ instruction MOV (x: [v3|QWORD[.] + 128], y: v2|DWORD) size: DWORD <|@ <|@
750
+ nr -1 <|@ instruction MEMBAR barriers: 4 <|@ <|@
751
+ nr -1 <|@ instruction rax|DWORD = MOVE v2|DWORD moveKind: DWORD <|@ <|@
752
+ nr -1 <|@ instruction RETURN (savedRbp: stack:16|QWORD, value: rax|DWORD) isStub: false requiresReservedStackAccessCheck: false thread: r15 scratchForSafepointOnReturn: rcx config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@147e07170 <|@ <|@
753
+ end_IR
754
+ end_block
755
+ begin_block
756
+ name "B2"
757
+ from_bci -1
758
+ to_bci -1
759
+ predecessors "B0"
760
+ successors
761
+ xhandlers
762
+ flags
763
+ probability 2355382605114769408
764
+ begin_IR
765
+ LIR
766
+ nr -1 <|@ instruction [] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
767
+ nr -1 <|@ instruction MOV [r15|QWORD + 644] y: -2835 size: DWORD <|@ <|@
768
+ nr -1 <|@ instruction MOV [r15|QWORD + 656] y: 0 size: QWORD <|@ <|@
769
+ nr -1 <|@ st <@st|@JavaExamples.exampleIfNeverTaken(JavaExamples.java:154) [bci: 0]
770
+ locals: v0|DWORD v1|DWORD v2|DWORD -
771
+ >@ <|@ instruction DEOPT info [bci:0] <|@ <|@
772
+ end_IR
773
+ end_block
774
+ end_cfg
775
+ begin_bytecodes
776
+ 0: iload_0
777
+ 1: ifeq 13
778
+ 4: iload_1
779
+ 5: putstatic #54 // intField:int
780
+ 8: iload_1
781
+ 9: istore_3
782
+ 10: goto 19
783
+ 13: iload_2
784
+ 14: putstatic #54 // intField:int
785
+ 17: iload_2
786
+ 18: istore_3
787
+ 19: iload_3
788
+ 20: ireturn
789
+ <|@
790
+ end_bytecodes
791
+ begin_cfg
792
+ name "After SaveCalleeSaveRegisters"
793
+ begin_block
794
+ name "B0"
795
+ from_bci -1
796
+ to_bci -1
797
+ predecessors
798
+ successors "B1" "B2"
799
+ xhandlers
800
+ flags
801
+ probability 4607182418800017408
802
+ begin_IR
803
+ LIR
804
+ nr -1 <|@ instruction [rsi|DWORD, rdx|DWORD, rcx|DWORD, rbp|QWORD] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
805
+ nr -1 <|@ instruction stack:16|QWORD = MOVE rbp|QWORD moveKind: QWORD <|@ <|@
806
+ nr -1 <|@ instruction [] = HOTSPOTLOCKSTACK frameMapBuilder: org.graalvm.compiler.lir.amd64.AMD64FrameMapBuilder@13a29b3a8 slotKind: QWORD <|@ <|@
807
+ nr -1 <|@ instruction v0|DWORD = MOVE rsi|DWORD moveKind: DWORD <|@ <|@
808
+ nr -1 <|@ instruction v1|DWORD = MOVE rdx|DWORD moveKind: DWORD <|@ <|@
809
+ nr -1 <|@ instruction v2|DWORD = MOVE rcx|DWORD moveKind: DWORD <|@ <|@
810
+ nr -1 <|@ instruction TEST (x: v0|DWORD, y: v0|DWORD) size: DWORD <|@ <|@
811
+ nr -1 <|@ instruction BRANCH trueDestinationProbability: 1.0 condition: = trueDestination: B0 -> B1 falseDestination: B0 -> B2 <|@ <|@
812
+ end_IR
813
+ end_block
814
+ begin_block
815
+ name "B1"
816
+ from_bci -1
817
+ to_bci -1
818
+ predecessors "B0"
819
+ successors
820
+ xhandlers
821
+ flags
822
+ probability 4607182418800017408
823
+ begin_IR
824
+ LIR
825
+ nr -1 <|@ instruction [] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
826
+ nr -1 <|@ instruction v3|QWORD[.] = HOTSPOTLOADOBJECTCONSTANT input: Object[Instance<java.lang.Class>] <|@ <|@
827
+ nr -1 <|@ instruction MOV (x: [v3|QWORD[.] + 128], y: v2|DWORD) size: DWORD <|@ <|@
828
+ nr -1 <|@ instruction MEMBAR barriers: 4 <|@ <|@
829
+ nr -1 <|@ instruction rax|DWORD = MOVE v2|DWORD moveKind: DWORD <|@ <|@
830
+ nr -1 <|@ instruction RETURN (savedRbp: stack:16|QWORD, value: rax|DWORD) isStub: false requiresReservedStackAccessCheck: false thread: r15 scratchForSafepointOnReturn: rcx config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@147e07170 <|@ <|@
831
+ end_IR
832
+ end_block
833
+ begin_block
834
+ name "B2"
835
+ from_bci -1
836
+ to_bci -1
837
+ predecessors "B0"
838
+ successors
839
+ xhandlers
840
+ flags
841
+ probability 2355382605114769408
842
+ begin_IR
843
+ LIR
844
+ nr -1 <|@ instruction [] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
845
+ nr -1 <|@ instruction MOV [r15|QWORD + 644] y: -2835 size: DWORD <|@ <|@
846
+ nr -1 <|@ instruction MOV [r15|QWORD + 656] y: 0 size: QWORD <|@ <|@
847
+ nr -1 <|@ st <@st|@JavaExamples.exampleIfNeverTaken(JavaExamples.java:154) [bci: 0]
848
+ locals: v0|DWORD v1|DWORD v2|DWORD -
849
+ >@ <|@ instruction DEOPT info [bci:0] <|@ <|@
850
+ end_IR
851
+ end_block
852
+ end_cfg
853
+ begin_bytecodes
854
+ 0: iload_0
855
+ 1: ifeq 13
856
+ 4: iload_1
857
+ 5: putstatic #54 // intField:int
858
+ 8: iload_1
859
+ 9: istore_3
860
+ 10: goto 19
861
+ 13: iload_2
862
+ 14: putstatic #54 // intField:int
863
+ 17: iload_2
864
+ 18: istore_3
865
+ 19: iload_3
866
+ 20: ireturn
867
+ <|@
868
+ end_bytecodes
869
+ begin_cfg
870
+ name "After PreAllocationOptimizationStage"
871
+ begin_block
872
+ name "B0"
873
+ from_bci -1
874
+ to_bci -1
875
+ predecessors
876
+ successors "B1" "B2"
877
+ xhandlers
878
+ flags
879
+ probability 4607182418800017408
880
+ begin_IR
881
+ LIR
882
+ nr -1 <|@ instruction [rsi|DWORD, rdx|DWORD, rcx|DWORD, rbp|QWORD] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
883
+ nr -1 <|@ instruction stack:16|QWORD = MOVE rbp|QWORD moveKind: QWORD <|@ <|@
884
+ nr -1 <|@ instruction [] = HOTSPOTLOCKSTACK frameMapBuilder: org.graalvm.compiler.lir.amd64.AMD64FrameMapBuilder@13a29b3a8 slotKind: QWORD <|@ <|@
885
+ nr -1 <|@ instruction v0|DWORD = MOVE rsi|DWORD moveKind: DWORD <|@ <|@
886
+ nr -1 <|@ instruction v1|DWORD = MOVE rdx|DWORD moveKind: DWORD <|@ <|@
887
+ nr -1 <|@ instruction v2|DWORD = MOVE rcx|DWORD moveKind: DWORD <|@ <|@
888
+ nr -1 <|@ instruction TEST (x: v0|DWORD, y: v0|DWORD) size: DWORD <|@ <|@
889
+ nr -1 <|@ instruction BRANCH trueDestinationProbability: 1.0 condition: = trueDestination: B0 -> B1 falseDestination: B0 -> B2 <|@ <|@
890
+ end_IR
891
+ end_block
892
+ begin_block
893
+ name "B1"
894
+ from_bci -1
895
+ to_bci -1
896
+ predecessors "B0"
897
+ successors
898
+ xhandlers
899
+ flags
900
+ probability 4607182418800017408
901
+ begin_IR
902
+ LIR
903
+ nr -1 <|@ instruction [] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
904
+ nr -1 <|@ instruction v3|QWORD[.] = HOTSPOTLOADOBJECTCONSTANT input: Object[Instance<java.lang.Class>] <|@ <|@
905
+ nr -1 <|@ instruction MOV (x: [v3|QWORD[.] + 128], y: v2|DWORD) size: DWORD <|@ <|@
906
+ nr -1 <|@ instruction MEMBAR barriers: 4 <|@ <|@
907
+ nr -1 <|@ instruction rax|DWORD = MOVE v2|DWORD moveKind: DWORD <|@ <|@
908
+ nr -1 <|@ instruction RETURN (savedRbp: stack:16|QWORD, value: rax|DWORD) isStub: false requiresReservedStackAccessCheck: false thread: r15 scratchForSafepointOnReturn: rcx config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@147e07170 <|@ <|@
909
+ end_IR
910
+ end_block
911
+ begin_block
912
+ name "B2"
913
+ from_bci -1
914
+ to_bci -1
915
+ predecessors "B0"
916
+ successors
917
+ xhandlers
918
+ flags
919
+ probability 2355382605114769408
920
+ begin_IR
921
+ LIR
922
+ nr -1 <|@ instruction [] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
923
+ nr -1 <|@ instruction MOV [r15|QWORD + 644] y: -2835 size: DWORD <|@ <|@
924
+ nr -1 <|@ instruction MOV [r15|QWORD + 656] y: 0 size: QWORD <|@ <|@
925
+ nr -1 <|@ st <@st|@JavaExamples.exampleIfNeverTaken(JavaExamples.java:154) [bci: 0]
926
+ locals: v0|DWORD v1|DWORD v2|DWORD -
927
+ >@ <|@ instruction DEOPT info [bci:0] <|@ <|@
928
+ end_IR
929
+ end_block
930
+ end_cfg
931
+ begin_bytecodes
932
+ 0: iload_0
933
+ 1: ifeq 13
934
+ 4: iload_1
935
+ 5: putstatic #54 // intField:int
936
+ 8: iload_1
937
+ 9: istore_3
938
+ 10: goto 19
939
+ 13: iload_2
940
+ 14: putstatic #54 // intField:int
941
+ 17: iload_2
942
+ 18: istore_3
943
+ 19: iload_3
944
+ 20: ireturn
945
+ <|@
946
+ end_bytecodes
947
+ begin_cfg
948
+ name "After MarkBasePointers"
949
+ begin_block
950
+ name "B0"
951
+ from_bci -1
952
+ to_bci -1
953
+ predecessors
954
+ successors "B1" "B2"
955
+ xhandlers
956
+ flags
957
+ probability 4607182418800017408
958
+ begin_IR
959
+ LIR
960
+ nr -1 <|@ instruction [rsi|DWORD, rdx|DWORD, rcx|DWORD, rbp|QWORD] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
961
+ nr -1 <|@ instruction stack:16|QWORD = MOVE rbp|QWORD moveKind: QWORD <|@ <|@
962
+ nr -1 <|@ instruction [] = HOTSPOTLOCKSTACK frameMapBuilder: org.graalvm.compiler.lir.amd64.AMD64FrameMapBuilder@13a29b3a8 slotKind: QWORD <|@ <|@
963
+ nr -1 <|@ instruction v0|DWORD = MOVE rsi|DWORD moveKind: DWORD <|@ <|@
964
+ nr -1 <|@ instruction v1|DWORD = MOVE rdx|DWORD moveKind: DWORD <|@ <|@
965
+ nr -1 <|@ instruction v2|DWORD = MOVE rcx|DWORD moveKind: DWORD <|@ <|@
966
+ nr -1 <|@ instruction TEST (x: v0|DWORD, y: v0|DWORD) size: DWORD <|@ <|@
967
+ nr -1 <|@ instruction BRANCH trueDestinationProbability: 1.0 condition: = trueDestination: B0 -> B1 falseDestination: B0 -> B2 <|@ <|@
968
+ end_IR
969
+ end_block
970
+ begin_block
971
+ name "B1"
972
+ from_bci -1
973
+ to_bci -1
974
+ predecessors "B0"
975
+ successors
976
+ xhandlers
977
+ flags
978
+ probability 4607182418800017408
979
+ begin_IR
980
+ LIR
981
+ nr -1 <|@ instruction [] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
982
+ nr -1 <|@ instruction v3|QWORD[.] = HOTSPOTLOADOBJECTCONSTANT input: Object[Instance<java.lang.Class>] <|@ <|@
983
+ nr -1 <|@ instruction MOV (x: [v3|QWORD[.] + 128], y: v2|DWORD) size: DWORD <|@ <|@
984
+ nr -1 <|@ instruction MEMBAR barriers: 4 <|@ <|@
985
+ nr -1 <|@ instruction rax|DWORD = MOVE v2|DWORD moveKind: DWORD <|@ <|@
986
+ nr -1 <|@ instruction RETURN (savedRbp: stack:16|QWORD, value: rax|DWORD) isStub: false requiresReservedStackAccessCheck: false thread: r15 scratchForSafepointOnReturn: rcx config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@147e07170 <|@ <|@
987
+ end_IR
988
+ end_block
989
+ begin_block
990
+ name "B2"
991
+ from_bci -1
992
+ to_bci -1
993
+ predecessors "B0"
994
+ successors
995
+ xhandlers
996
+ flags
997
+ probability 2355382605114769408
998
+ begin_IR
999
+ LIR
1000
+ nr -1 <|@ instruction [] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
1001
+ nr -1 <|@ instruction MOV [r15|QWORD + 644] y: -2835 size: DWORD <|@ <|@
1002
+ nr -1 <|@ instruction MOV [r15|QWORD + 656] y: 0 size: QWORD <|@ <|@
1003
+ nr -1 <|@ st <@st|@live-base-pointers: []
1004
+ JavaExamples.exampleIfNeverTaken(JavaExamples.java:154) [bci: 0]
1005
+ locals: v0|DWORD v1|DWORD v2|DWORD -
1006
+ >@ <|@ instruction DEOPT info [bci:0] <|@ <|@
1007
+ end_IR
1008
+ end_block
1009
+ end_cfg
1010
+ begin_bytecodes
1011
+ 0: iload_0
1012
+ 1: ifeq 13
1013
+ 4: iload_1
1014
+ 5: putstatic #54 // intField:int
1015
+ 8: iload_1
1016
+ 9: istore_3
1017
+ 10: goto 19
1018
+ 13: iload_2
1019
+ 14: putstatic #54 // intField:int
1020
+ 17: iload_2
1021
+ 18: istore_3
1022
+ 19: iload_3
1023
+ 20: ireturn
1024
+ <|@
1025
+ end_bytecodes
1026
+ begin_cfg
1027
+ name "Before register allocation"
1028
+ begin_block
1029
+ name "B0"
1030
+ from_bci -1
1031
+ to_bci -1
1032
+ predecessors
1033
+ successors "B1" "B2"
1034
+ xhandlers
1035
+ flags
1036
+ probability 4607182418800017408
1037
+ begin_IR
1038
+ LIR
1039
+ nr 0 <|@ instruction [rsi|DWORD, rdx|DWORD, rcx|DWORD, rbp|QWORD] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
1040
+ nr 2 <|@ instruction stack:16|QWORD = MOVE rbp|QWORD moveKind: QWORD <|@ <|@
1041
+ nr 4 <|@ instruction [] = HOTSPOTLOCKSTACK frameMapBuilder: org.graalvm.compiler.lir.amd64.AMD64FrameMapBuilder@13a29b3a8 slotKind: QWORD <|@ <|@
1042
+ nr 6 <|@ instruction v0|DWORD = MOVE rsi|DWORD moveKind: DWORD <|@ <|@
1043
+ nr 8 <|@ instruction v1|DWORD = MOVE rdx|DWORD moveKind: DWORD <|@ <|@
1044
+ nr 10 <|@ instruction v2|DWORD = MOVE rcx|DWORD moveKind: DWORD <|@ <|@
1045
+ nr 12 <|@ instruction TEST (x: v0|DWORD, y: v0|DWORD) size: DWORD <|@ <|@
1046
+ nr 14 <|@ instruction BRANCH trueDestinationProbability: 1.0 condition: = trueDestination: B0 -> B1 falseDestination: B0 -> B2 <|@ <|@
1047
+ end_IR
1048
+ end_block
1049
+ begin_block
1050
+ name "B1"
1051
+ from_bci -1
1052
+ to_bci -1
1053
+ predecessors "B0"
1054
+ successors
1055
+ xhandlers
1056
+ flags
1057
+ probability 4607182418800017408
1058
+ begin_IR
1059
+ LIR
1060
+ nr 16 <|@ instruction [] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
1061
+ nr 18 <|@ instruction v3|QWORD[.] = HOTSPOTLOADOBJECTCONSTANT input: Object[Instance<java.lang.Class>] <|@ <|@
1062
+ nr 20 <|@ instruction MOV (x: [v3|QWORD[.] + 128], y: v2|DWORD) size: DWORD <|@ <|@
1063
+ nr 22 <|@ instruction MEMBAR barriers: 4 <|@ <|@
1064
+ nr 24 <|@ instruction rax|DWORD = MOVE v2|DWORD moveKind: DWORD <|@ <|@
1065
+ nr 26 <|@ instruction RETURN (savedRbp: stack:16|QWORD, value: rax|DWORD) isStub: false requiresReservedStackAccessCheck: false thread: r15 scratchForSafepointOnReturn: rcx config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@147e07170 <|@ <|@
1066
+ end_IR
1067
+ end_block
1068
+ begin_block
1069
+ name "B2"
1070
+ from_bci -1
1071
+ to_bci -1
1072
+ predecessors "B0"
1073
+ successors
1074
+ xhandlers
1075
+ flags
1076
+ probability 2355382605114769408
1077
+ begin_IR
1078
+ LIR
1079
+ nr 28 <|@ instruction [] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
1080
+ nr 30 <|@ instruction MOV [r15|QWORD + 644] y: -2835 size: DWORD <|@ <|@
1081
+ nr 32 <|@ instruction MOV [r15|QWORD + 656] y: 0 size: QWORD <|@ <|@
1082
+ nr 34 <|@ st <@st|@live-base-pointers: []
1083
+ JavaExamples.exampleIfNeverTaken(JavaExamples.java:154) [bci: 0]
1084
+ locals: v0|DWORD v1|DWORD v2|DWORD -
1085
+ >@ <|@ instruction DEOPT info [bci:0] <|@ <|@
1086
+ end_IR
1087
+ end_block
1088
+ end_cfg
1089
+ begin_bytecodes
1090
+ 0: iload_0
1091
+ 1: ifeq 13
1092
+ 4: iload_1
1093
+ 5: putstatic #54 // intField:int
1094
+ 8: iload_1
1095
+ 9: istore_3
1096
+ 10: goto 19
1097
+ 13: iload_2
1098
+ 14: putstatic #54 // intField:int
1099
+ 17: iload_2
1100
+ 18: istore_3
1101
+ 19: iload_3
1102
+ 20: ireturn
1103
+ <|@
1104
+ end_bytecodes
1105
+ begin_cfg
1106
+ name "After SSALinearScanLifetimeAnalysis"
1107
+ begin_block
1108
+ name "B0"
1109
+ from_bci -1
1110
+ to_bci -1
1111
+ predecessors
1112
+ successors "B1" "B2"
1113
+ xhandlers
1114
+ flags
1115
+ probability 4607182418800017408
1116
+ begin_IR
1117
+ LIR
1118
+ nr 0 <|@ instruction [rsi|DWORD, rdx|DWORD, rcx|DWORD, rbp|QWORD] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
1119
+ nr 2 <|@ instruction stack:16|QWORD = MOVE rbp|QWORD moveKind: QWORD <|@ <|@
1120
+ nr 4 <|@ instruction [] = HOTSPOTLOCKSTACK frameMapBuilder: org.graalvm.compiler.lir.amd64.AMD64FrameMapBuilder@13a29b3a8 slotKind: QWORD <|@ <|@
1121
+ nr 6 <|@ instruction v0|DWORD = MOVE rsi|DWORD moveKind: DWORD <|@ <|@
1122
+ nr 8 <|@ instruction v1|DWORD = MOVE rdx|DWORD moveKind: DWORD <|@ <|@
1123
+ nr 10 <|@ instruction v2|DWORD = MOVE rcx|DWORD moveKind: DWORD <|@ <|@
1124
+ nr 12 <|@ instruction TEST (x: v0|DWORD, y: v0|DWORD) size: DWORD <|@ <|@
1125
+ nr 14 <|@ instruction BRANCH trueDestinationProbability: 1.0 condition: = trueDestination: B0 -> B1 falseDestination: B0 -> B2 <|@ <|@
1126
+ end_IR
1127
+ end_block
1128
+ begin_block
1129
+ name "B1"
1130
+ from_bci -1
1131
+ to_bci -1
1132
+ predecessors "B0"
1133
+ successors
1134
+ xhandlers
1135
+ flags
1136
+ probability 4607182418800017408
1137
+ begin_IR
1138
+ LIR
1139
+ nr 16 <|@ instruction [] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
1140
+ nr 18 <|@ instruction v3|QWORD[.] = HOTSPOTLOADOBJECTCONSTANT input: Object[Instance<java.lang.Class>] <|@ <|@
1141
+ nr 20 <|@ instruction MOV (x: [v3|QWORD[.] + 128], y: v2|DWORD) size: DWORD <|@ <|@
1142
+ nr 22 <|@ instruction MEMBAR barriers: 4 <|@ <|@
1143
+ nr 24 <|@ instruction rax|DWORD = MOVE v2|DWORD moveKind: DWORD <|@ <|@
1144
+ nr 26 <|@ instruction RETURN (savedRbp: stack:16|QWORD, value: rax|DWORD) isStub: false requiresReservedStackAccessCheck: false thread: r15 scratchForSafepointOnReturn: rcx config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@147e07170 <|@ <|@
1145
+ end_IR
1146
+ end_block
1147
+ begin_block
1148
+ name "B2"
1149
+ from_bci -1
1150
+ to_bci -1
1151
+ predecessors "B0"
1152
+ successors
1153
+ xhandlers
1154
+ flags
1155
+ probability 2355382605114769408
1156
+ begin_IR
1157
+ LIR
1158
+ nr 28 <|@ instruction [] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
1159
+ nr 30 <|@ instruction MOV [r15|QWORD + 644] y: -2835 size: DWORD <|@ <|@
1160
+ nr 32 <|@ instruction MOV [r15|QWORD + 656] y: 0 size: QWORD <|@ <|@
1161
+ nr 34 <|@ st <@st|@live-base-pointers: []
1162
+ JavaExamples.exampleIfNeverTaken(JavaExamples.java:154) [bci: 0]
1163
+ locals: v0|DWORD v1|DWORD v2|DWORD -
1164
+ >@ <|@ instruction DEOPT info [bci:0] <|@ <|@
1165
+ end_IR
1166
+ end_block
1167
+ end_cfg
1168
+ begin_bytecodes
1169
+ 0: iload_0
1170
+ 1: ifeq 13
1171
+ 4: iload_1
1172
+ 5: putstatic #54 // intField:int
1173
+ 8: iload_1
1174
+ 9: istore_3
1175
+ 10: goto 19
1176
+ 13: iload_2
1177
+ 14: putstatic #54 // intField:int
1178
+ 17: iload_2
1179
+ 18: istore_3
1180
+ 19: iload_3
1181
+ 20: ireturn
1182
+ <|@
1183
+ end_bytecodes
1184
+ begin_intervals
1185
+ name "Before register allocation"
1186
+ rax|d fixed "[rax|d]" rax|d v2|d [0, 1[[24, 26[ "NoSpillStore"
1187
+ rcx|d fixed "[rcx|d]" rcx|d -1 [0, 10[ "NoSpillStore"
1188
+ rdx|d fixed "[rdx|d]" rdx|d -1 [0, 8[ "NoSpillStore"
1189
+ rbp|q fixed "[rbp|q]" rbp|q -1 [0, 2[ "NoSpillStore"
1190
+ rsi|d fixed "[rsi|d]" rsi|d -1 [0, 6[ "NoSpillStore"
1191
+ v0|d DWORD "[v0|d]" v0|d rsi|d [6, 16[[28, 35[6 MustHaveRegister 12 MustHaveRegister "NoSpillStore"
1192
+ v1|d DWORD "[v1|d]" v1|d rdx|d [8, 16[[28, 35[8 MustHaveRegister "NoSpillStore"
1193
+ v2|d DWORD "[v2|d]" v2|d rcx|d [10, 24[[28, 35[10 MustHaveRegister 20 MustHaveRegister 24 ShouldHaveRegister "NoSpillStore"
1194
+ v3|q QWORD "[v3|q]" v3|q -1 [18, 20[18 MustHaveRegister 20 MustHaveRegister "NoSpillStore"
1195
+ end_intervals
1196
+ begin_intervals
1197
+ name "After register allocation"
1198
+ rax|d fixed "[rax|d]" rax|d v2|d [0, 1[[24, 26[ "NoSpillStore"
1199
+ rcx|d fixed "[rcx|d]" rcx|d -1 [0, 10[ "NoSpillStore"
1200
+ rdx|d fixed "[rdx|d]" rdx|d -1 [0, 8[ "NoSpillStore"
1201
+ rbp|q fixed "[rbp|q]" rbp|q -1 [0, 2[ "NoSpillStore"
1202
+ rsi|d fixed "[rsi|d]" rsi|d -1 [0, 6[ "NoSpillStore"
1203
+ v0|d DWORD "[rsi|d]" v0|d rsi|d [6, 16[[28, 35[6 MustHaveRegister 12 MustHaveRegister "NoSpillStore"
1204
+ v1|d DWORD "[rdx|d]" v1|d rdx|d [8, 16[[28, 35[8 MustHaveRegister "NoSpillStore"
1205
+ v2|d DWORD "[rcx|d]" v2|d rcx|d [10, 24[[28, 35[10 MustHaveRegister 20 MustHaveRegister 24 ShouldHaveRegister "NoSpillStore"
1206
+ v3|q QWORD "[rax|q]" v3|q -1 [18, 20[18 MustHaveRegister 20 MustHaveRegister "NoSpillStore"
1207
+ end_intervals
1208
+ begin_cfg
1209
+ name "After LinearScanRegisterAllocation"
1210
+ begin_block
1211
+ name "B0"
1212
+ from_bci -1
1213
+ to_bci -1
1214
+ predecessors
1215
+ successors "B1" "B2"
1216
+ xhandlers
1217
+ flags
1218
+ probability 4607182418800017408
1219
+ begin_IR
1220
+ LIR
1221
+ nr 0 <|@ instruction [rsi|DWORD, rdx|DWORD, rcx|DWORD, rbp|QWORD] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
1222
+ nr 2 <|@ instruction stack:16|QWORD = MOVE rbp|QWORD moveKind: QWORD <|@ <|@
1223
+ nr 4 <|@ instruction [] = HOTSPOTLOCKSTACK frameMapBuilder: org.graalvm.compiler.lir.amd64.AMD64FrameMapBuilder@13a29b3a8 slotKind: QWORD <|@ <|@
1224
+ nr 6 <|@ instruction v0|DWORD = MOVE rsi|DWORD moveKind: DWORD <|@ <|@
1225
+ nr 8 <|@ instruction v1|DWORD = MOVE rdx|DWORD moveKind: DWORD <|@ <|@
1226
+ nr 10 <|@ instruction v2|DWORD = MOVE rcx|DWORD moveKind: DWORD <|@ <|@
1227
+ nr 12 <|@ instruction TEST (x: v0|DWORD, y: v0|DWORD) size: DWORD <|@ <|@
1228
+ nr 14 <|@ instruction BRANCH trueDestinationProbability: 1.0 condition: = trueDestination: B0 -> B1 falseDestination: B0 -> B2 <|@ <|@
1229
+ end_IR
1230
+ end_block
1231
+ begin_block
1232
+ name "B1"
1233
+ from_bci -1
1234
+ to_bci -1
1235
+ predecessors "B0"
1236
+ successors
1237
+ xhandlers
1238
+ flags
1239
+ probability 4607182418800017408
1240
+ begin_IR
1241
+ LIR
1242
+ nr 16 <|@ instruction [] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
1243
+ nr 18 <|@ instruction v3|QWORD[.] = HOTSPOTLOADOBJECTCONSTANT input: Object[Instance<java.lang.Class>] <|@ <|@
1244
+ nr 20 <|@ instruction MOV (x: [v3|QWORD[.] + 128], y: v2|DWORD) size: DWORD <|@ <|@
1245
+ nr 22 <|@ instruction MEMBAR barriers: 4 <|@ <|@
1246
+ nr 24 <|@ instruction rax|DWORD = MOVE v2|DWORD moveKind: DWORD <|@ <|@
1247
+ nr 26 <|@ instruction RETURN (savedRbp: stack:16|QWORD, value: rax|DWORD) isStub: false requiresReservedStackAccessCheck: false thread: r15 scratchForSafepointOnReturn: rcx config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@147e07170 <|@ <|@
1248
+ end_IR
1249
+ end_block
1250
+ begin_block
1251
+ name "B2"
1252
+ from_bci -1
1253
+ to_bci -1
1254
+ predecessors "B0"
1255
+ successors
1256
+ xhandlers
1257
+ flags
1258
+ probability 2355382605114769408
1259
+ begin_IR
1260
+ LIR
1261
+ nr 28 <|@ instruction [] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
1262
+ nr 30 <|@ instruction MOV [r15|QWORD + 644] y: -2835 size: DWORD <|@ <|@
1263
+ nr 32 <|@ instruction MOV [r15|QWORD + 656] y: 0 size: QWORD <|@ <|@
1264
+ nr 34 <|@ st <@st|@live-base-pointers: []
1265
+ JavaExamples.exampleIfNeverTaken(JavaExamples.java:154) [bci: 0]
1266
+ locals: v0|DWORD v1|DWORD v2|DWORD -
1267
+ >@ <|@ instruction DEOPT info [bci:0] <|@ <|@
1268
+ end_IR
1269
+ end_block
1270
+ end_cfg
1271
+ begin_bytecodes
1272
+ 0: iload_0
1273
+ 1: ifeq 13
1274
+ 4: iload_1
1275
+ 5: putstatic #54 // intField:int
1276
+ 8: iload_1
1277
+ 9: istore_3
1278
+ 10: goto 19
1279
+ 13: iload_2
1280
+ 14: putstatic #54 // intField:int
1281
+ 17: iload_2
1282
+ 18: istore_3
1283
+ 19: iload_3
1284
+ 20: ireturn
1285
+ <|@
1286
+ end_bytecodes
1287
+ begin_intervals
1288
+ name "After optimize spill position"
1289
+ rax|d fixed "[rax|d]" rax|d v2|d [0, 1[[24, 26[ "NoSpillStore"
1290
+ rcx|d fixed "[rcx|d]" rcx|d -1 [0, 10[ "NoSpillStore"
1291
+ rdx|d fixed "[rdx|d]" rdx|d -1 [0, 8[ "NoSpillStore"
1292
+ rbp|q fixed "[rbp|q]" rbp|q -1 [0, 2[ "NoSpillStore"
1293
+ rsi|d fixed "[rsi|d]" rsi|d -1 [0, 6[ "NoSpillStore"
1294
+ v0|d DWORD "[rsi|d]" v0|d rsi|d [6, 16[[28, 35[6 MustHaveRegister 12 MustHaveRegister "NoSpillStore"
1295
+ v1|d DWORD "[rdx|d]" v1|d rdx|d [8, 16[[28, 35[8 MustHaveRegister "NoSpillStore"
1296
+ v2|d DWORD "[rcx|d]" v2|d rcx|d [10, 24[[28, 35[10 MustHaveRegister 20 MustHaveRegister 24 ShouldHaveRegister "NoSpillStore"
1297
+ v3|q QWORD "[rax|q]" v3|q -1 [18, 20[18 MustHaveRegister 20 MustHaveRegister "NoSpillStore"
1298
+ end_intervals
1299
+ begin_cfg
1300
+ name "After LinearScanOptimizeSpillPosition"
1301
+ begin_block
1302
+ name "B0"
1303
+ from_bci -1
1304
+ to_bci -1
1305
+ predecessors
1306
+ successors "B1" "B2"
1307
+ xhandlers
1308
+ flags
1309
+ probability 4607182418800017408
1310
+ begin_IR
1311
+ LIR
1312
+ nr 0 <|@ instruction [rsi|DWORD, rdx|DWORD, rcx|DWORD, rbp|QWORD] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
1313
+ nr 2 <|@ instruction stack:16|QWORD = MOVE rbp|QWORD moveKind: QWORD <|@ <|@
1314
+ nr 4 <|@ instruction [] = HOTSPOTLOCKSTACK frameMapBuilder: org.graalvm.compiler.lir.amd64.AMD64FrameMapBuilder@13a29b3a8 slotKind: QWORD <|@ <|@
1315
+ nr 6 <|@ instruction v0|DWORD = MOVE rsi|DWORD moveKind: DWORD <|@ <|@
1316
+ nr 8 <|@ instruction v1|DWORD = MOVE rdx|DWORD moveKind: DWORD <|@ <|@
1317
+ nr 10 <|@ instruction v2|DWORD = MOVE rcx|DWORD moveKind: DWORD <|@ <|@
1318
+ nr 12 <|@ instruction TEST (x: v0|DWORD, y: v0|DWORD) size: DWORD <|@ <|@
1319
+ nr 14 <|@ instruction BRANCH trueDestinationProbability: 1.0 condition: = trueDestination: B0 -> B1 falseDestination: B0 -> B2 <|@ <|@
1320
+ end_IR
1321
+ end_block
1322
+ begin_block
1323
+ name "B1"
1324
+ from_bci -1
1325
+ to_bci -1
1326
+ predecessors "B0"
1327
+ successors
1328
+ xhandlers
1329
+ flags
1330
+ probability 4607182418800017408
1331
+ begin_IR
1332
+ LIR
1333
+ nr 16 <|@ instruction [] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
1334
+ nr 18 <|@ instruction v3|QWORD[.] = HOTSPOTLOADOBJECTCONSTANT input: Object[Instance<java.lang.Class>] <|@ <|@
1335
+ nr 20 <|@ instruction MOV (x: [v3|QWORD[.] + 128], y: v2|DWORD) size: DWORD <|@ <|@
1336
+ nr 22 <|@ instruction MEMBAR barriers: 4 <|@ <|@
1337
+ nr 24 <|@ instruction rax|DWORD = MOVE v2|DWORD moveKind: DWORD <|@ <|@
1338
+ nr 26 <|@ instruction RETURN (savedRbp: stack:16|QWORD, value: rax|DWORD) isStub: false requiresReservedStackAccessCheck: false thread: r15 scratchForSafepointOnReturn: rcx config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@147e07170 <|@ <|@
1339
+ end_IR
1340
+ end_block
1341
+ begin_block
1342
+ name "B2"
1343
+ from_bci -1
1344
+ to_bci -1
1345
+ predecessors "B0"
1346
+ successors
1347
+ xhandlers
1348
+ flags
1349
+ probability 2355382605114769408
1350
+ begin_IR
1351
+ LIR
1352
+ nr 28 <|@ instruction [] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
1353
+ nr 30 <|@ instruction MOV [r15|QWORD + 644] y: -2835 size: DWORD <|@ <|@
1354
+ nr 32 <|@ instruction MOV [r15|QWORD + 656] y: 0 size: QWORD <|@ <|@
1355
+ nr 34 <|@ st <@st|@live-base-pointers: []
1356
+ JavaExamples.exampleIfNeverTaken(JavaExamples.java:154) [bci: 0]
1357
+ locals: v0|DWORD v1|DWORD v2|DWORD -
1358
+ >@ <|@ instruction DEOPT info [bci:0] <|@ <|@
1359
+ end_IR
1360
+ end_block
1361
+ end_cfg
1362
+ begin_bytecodes
1363
+ 0: iload_0
1364
+ 1: ifeq 13
1365
+ 4: iload_1
1366
+ 5: putstatic #54 // intField:int
1367
+ 8: iload_1
1368
+ 9: istore_3
1369
+ 10: goto 19
1370
+ 13: iload_2
1371
+ 14: putstatic #54 // intField:int
1372
+ 17: iload_2
1373
+ 18: istore_3
1374
+ 19: iload_3
1375
+ 20: ireturn
1376
+ <|@
1377
+ end_bytecodes
1378
+ begin_intervals
1379
+ name "After resolve data flow"
1380
+ rax|d fixed "[rax|d]" rax|d v2|d [0, 1[[24, 26[ "NoSpillStore"
1381
+ rcx|d fixed "[rcx|d]" rcx|d -1 [0, 10[ "NoSpillStore"
1382
+ rdx|d fixed "[rdx|d]" rdx|d -1 [0, 8[ "NoSpillStore"
1383
+ rbp|q fixed "[rbp|q]" rbp|q -1 [0, 2[ "NoSpillStore"
1384
+ rsi|d fixed "[rsi|d]" rsi|d -1 [0, 6[ "NoSpillStore"
1385
+ v0|d DWORD "[rsi|d]" v0|d rsi|d [6, 16[[28, 35[6 MustHaveRegister 12 MustHaveRegister "NoSpillStore"
1386
+ v1|d DWORD "[rdx|d]" v1|d rdx|d [8, 16[[28, 35[8 MustHaveRegister "NoSpillStore"
1387
+ v2|d DWORD "[rcx|d]" v2|d rcx|d [10, 24[[28, 35[10 MustHaveRegister 20 MustHaveRegister 24 ShouldHaveRegister "NoSpillStore"
1388
+ v3|q QWORD "[rax|q]" v3|q -1 [18, 20[18 MustHaveRegister 20 MustHaveRegister "NoSpillStore"
1389
+ end_intervals
1390
+ begin_cfg
1391
+ name "After SSALinearScanResolveDataFlow"
1392
+ begin_block
1393
+ name "B0"
1394
+ from_bci -1
1395
+ to_bci -1
1396
+ predecessors
1397
+ successors "B1" "B2"
1398
+ xhandlers
1399
+ flags
1400
+ probability 4607182418800017408
1401
+ begin_IR
1402
+ LIR
1403
+ nr 0 <|@ instruction [rsi|DWORD, rdx|DWORD, rcx|DWORD, rbp|QWORD] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
1404
+ nr 2 <|@ instruction stack:16|QWORD = MOVE rbp|QWORD moveKind: QWORD <|@ <|@
1405
+ nr 4 <|@ instruction [] = HOTSPOTLOCKSTACK frameMapBuilder: org.graalvm.compiler.lir.amd64.AMD64FrameMapBuilder@13a29b3a8 slotKind: QWORD <|@ <|@
1406
+ nr 6 <|@ instruction v0|DWORD = MOVE rsi|DWORD moveKind: DWORD <|@ <|@
1407
+ nr 8 <|@ instruction v1|DWORD = MOVE rdx|DWORD moveKind: DWORD <|@ <|@
1408
+ nr 10 <|@ instruction v2|DWORD = MOVE rcx|DWORD moveKind: DWORD <|@ <|@
1409
+ nr 12 <|@ instruction TEST (x: v0|DWORD, y: v0|DWORD) size: DWORD <|@ <|@
1410
+ nr 14 <|@ instruction BRANCH trueDestinationProbability: 1.0 condition: = trueDestination: B0 -> B1 falseDestination: B0 -> B2 <|@ <|@
1411
+ end_IR
1412
+ end_block
1413
+ begin_block
1414
+ name "B1"
1415
+ from_bci -1
1416
+ to_bci -1
1417
+ predecessors "B0"
1418
+ successors
1419
+ xhandlers
1420
+ flags
1421
+ probability 4607182418800017408
1422
+ begin_IR
1423
+ LIR
1424
+ nr 16 <|@ instruction [] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
1425
+ nr 18 <|@ instruction v3|QWORD[.] = HOTSPOTLOADOBJECTCONSTANT input: Object[Instance<java.lang.Class>] <|@ <|@
1426
+ nr 20 <|@ instruction MOV (x: [v3|QWORD[.] + 128], y: v2|DWORD) size: DWORD <|@ <|@
1427
+ nr 22 <|@ instruction MEMBAR barriers: 4 <|@ <|@
1428
+ nr 24 <|@ instruction rax|DWORD = MOVE v2|DWORD moveKind: DWORD <|@ <|@
1429
+ nr 26 <|@ instruction RETURN (savedRbp: stack:16|QWORD, value: rax|DWORD) isStub: false requiresReservedStackAccessCheck: false thread: r15 scratchForSafepointOnReturn: rcx config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@147e07170 <|@ <|@
1430
+ end_IR
1431
+ end_block
1432
+ begin_block
1433
+ name "B2"
1434
+ from_bci -1
1435
+ to_bci -1
1436
+ predecessors "B0"
1437
+ successors
1438
+ xhandlers
1439
+ flags
1440
+ probability 2355382605114769408
1441
+ begin_IR
1442
+ LIR
1443
+ nr 28 <|@ instruction [] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
1444
+ nr 30 <|@ instruction MOV [r15|QWORD + 644] y: -2835 size: DWORD <|@ <|@
1445
+ nr 32 <|@ instruction MOV [r15|QWORD + 656] y: 0 size: QWORD <|@ <|@
1446
+ nr 34 <|@ st <@st|@live-base-pointers: []
1447
+ JavaExamples.exampleIfNeverTaken(JavaExamples.java:154) [bci: 0]
1448
+ locals: v0|DWORD v1|DWORD v2|DWORD -
1449
+ >@ <|@ instruction DEOPT info [bci:0] <|@ <|@
1450
+ end_IR
1451
+ end_block
1452
+ end_cfg
1453
+ begin_bytecodes
1454
+ 0: iload_0
1455
+ 1: ifeq 13
1456
+ 4: iload_1
1457
+ 5: putstatic #54 // intField:int
1458
+ 8: iload_1
1459
+ 9: istore_3
1460
+ 10: goto 19
1461
+ 13: iload_2
1462
+ 14: putstatic #54 // intField:int
1463
+ 17: iload_2
1464
+ 18: istore_3
1465
+ 19: iload_3
1466
+ 20: ireturn
1467
+ <|@
1468
+ end_bytecodes
1469
+ begin_cfg
1470
+ name "After SSALinearScanEliminateSpillMove"
1471
+ begin_block
1472
+ name "B0"
1473
+ from_bci -1
1474
+ to_bci -1
1475
+ predecessors
1476
+ successors "B1" "B2"
1477
+ xhandlers
1478
+ flags
1479
+ probability 4607182418800017408
1480
+ begin_IR
1481
+ LIR
1482
+ nr 0 <|@ instruction [rsi|DWORD, rdx|DWORD, rcx|DWORD, rbp|QWORD] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
1483
+ nr 2 <|@ instruction stack:16|QWORD = MOVE rbp|QWORD moveKind: QWORD <|@ <|@
1484
+ nr 4 <|@ instruction [] = HOTSPOTLOCKSTACK frameMapBuilder: org.graalvm.compiler.lir.amd64.AMD64FrameMapBuilder@13a29b3a8 slotKind: QWORD <|@ <|@
1485
+ nr 6 <|@ instruction v0|DWORD = MOVE rsi|DWORD moveKind: DWORD <|@ <|@
1486
+ nr 8 <|@ instruction v1|DWORD = MOVE rdx|DWORD moveKind: DWORD <|@ <|@
1487
+ nr 10 <|@ instruction v2|DWORD = MOVE rcx|DWORD moveKind: DWORD <|@ <|@
1488
+ nr 12 <|@ instruction TEST (x: v0|DWORD, y: v0|DWORD) size: DWORD <|@ <|@
1489
+ nr 14 <|@ instruction BRANCH trueDestinationProbability: 1.0 condition: = trueDestination: B0 -> B1 falseDestination: B0 -> B2 <|@ <|@
1490
+ end_IR
1491
+ end_block
1492
+ begin_block
1493
+ name "B1"
1494
+ from_bci -1
1495
+ to_bci -1
1496
+ predecessors "B0"
1497
+ successors
1498
+ xhandlers
1499
+ flags
1500
+ probability 4607182418800017408
1501
+ begin_IR
1502
+ LIR
1503
+ nr 16 <|@ instruction [] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
1504
+ nr 18 <|@ instruction v3|QWORD[.] = HOTSPOTLOADOBJECTCONSTANT input: Object[Instance<java.lang.Class>] <|@ <|@
1505
+ nr 20 <|@ instruction MOV (x: [v3|QWORD[.] + 128], y: v2|DWORD) size: DWORD <|@ <|@
1506
+ nr 22 <|@ instruction MEMBAR barriers: 4 <|@ <|@
1507
+ nr 24 <|@ instruction rax|DWORD = MOVE v2|DWORD moveKind: DWORD <|@ <|@
1508
+ nr 26 <|@ instruction RETURN (savedRbp: stack:16|QWORD, value: rax|DWORD) isStub: false requiresReservedStackAccessCheck: false thread: r15 scratchForSafepointOnReturn: rcx config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@147e07170 <|@ <|@
1509
+ end_IR
1510
+ end_block
1511
+ begin_block
1512
+ name "B2"
1513
+ from_bci -1
1514
+ to_bci -1
1515
+ predecessors "B0"
1516
+ successors
1517
+ xhandlers
1518
+ flags
1519
+ probability 2355382605114769408
1520
+ begin_IR
1521
+ LIR
1522
+ nr 28 <|@ instruction [] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
1523
+ nr 30 <|@ instruction MOV [r15|QWORD + 644] y: -2835 size: DWORD <|@ <|@
1524
+ nr 32 <|@ instruction MOV [r15|QWORD + 656] y: 0 size: QWORD <|@ <|@
1525
+ nr 34 <|@ st <@st|@live-base-pointers: []
1526
+ JavaExamples.exampleIfNeverTaken(JavaExamples.java:154) [bci: 0]
1527
+ locals: v0|DWORD v1|DWORD v2|DWORD -
1528
+ >@ <|@ instruction DEOPT info [bci:0] <|@ <|@
1529
+ end_IR
1530
+ end_block
1531
+ end_cfg
1532
+ begin_bytecodes
1533
+ 0: iload_0
1534
+ 1: ifeq 13
1535
+ 4: iload_1
1536
+ 5: putstatic #54 // intField:int
1537
+ 8: iload_1
1538
+ 9: istore_3
1539
+ 10: goto 19
1540
+ 13: iload_2
1541
+ 14: putstatic #54 // intField:int
1542
+ 17: iload_2
1543
+ 18: istore_3
1544
+ 19: iload_3
1545
+ 20: ireturn
1546
+ <|@
1547
+ end_bytecodes
1548
+ begin_cfg
1549
+ name "After LinearScanAssignLocations"
1550
+ begin_block
1551
+ name "B0"
1552
+ from_bci -1
1553
+ to_bci -1
1554
+ predecessors
1555
+ successors "B1" "B2"
1556
+ xhandlers
1557
+ flags
1558
+ probability 4607182418800017408
1559
+ begin_IR
1560
+ LIR
1561
+ nr 0 <|@ instruction [rsi|DWORD, rdx|DWORD, rcx|DWORD, rbp|QWORD] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
1562
+ nr 2 <|@ instruction stack:16|QWORD = MOVE rbp|QWORD moveKind: QWORD <|@ <|@
1563
+ nr 4 <|@ instruction [] = HOTSPOTLOCKSTACK frameMapBuilder: org.graalvm.compiler.lir.amd64.AMD64FrameMapBuilder@13a29b3a8 slotKind: QWORD <|@ <|@
1564
+ nr 12 <|@ instruction TEST (x: rsi|DWORD, y: rsi|DWORD) size: DWORD <|@ <|@
1565
+ nr 14 <|@ instruction BRANCH trueDestinationProbability: 1.0 condition: = trueDestination: B0 -> B1 falseDestination: B0 -> B2 <|@ <|@
1566
+ end_IR
1567
+ end_block
1568
+ begin_block
1569
+ name "B1"
1570
+ from_bci -1
1571
+ to_bci -1
1572
+ predecessors "B0"
1573
+ successors
1574
+ xhandlers
1575
+ flags
1576
+ probability 4607182418800017408
1577
+ begin_IR
1578
+ LIR
1579
+ nr 16 <|@ instruction [] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
1580
+ nr 18 <|@ instruction rax|QWORD[.] = HOTSPOTLOADOBJECTCONSTANT input: Object[Instance<java.lang.Class>] <|@ <|@
1581
+ nr 20 <|@ instruction MOV (x: [rax|QWORD[.] + 128], y: rcx|DWORD) size: DWORD <|@ <|@
1582
+ nr 22 <|@ instruction MEMBAR barriers: 4 <|@ <|@
1583
+ nr 24 <|@ instruction rax|DWORD = MOVE rcx|DWORD moveKind: DWORD <|@ <|@
1584
+ nr 26 <|@ instruction RETURN (savedRbp: stack:16|QWORD, value: rax|DWORD) isStub: false requiresReservedStackAccessCheck: false thread: r15 scratchForSafepointOnReturn: rcx config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@147e07170 <|@ <|@
1585
+ end_IR
1586
+ end_block
1587
+ begin_block
1588
+ name "B2"
1589
+ from_bci -1
1590
+ to_bci -1
1591
+ predecessors "B0"
1592
+ successors
1593
+ xhandlers
1594
+ flags
1595
+ probability 2355382605114769408
1596
+ begin_IR
1597
+ LIR
1598
+ nr 28 <|@ instruction [] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
1599
+ nr 30 <|@ instruction MOV [r15|QWORD + 644] y: -2835 size: DWORD <|@ <|@
1600
+ nr 32 <|@ instruction MOV [r15|QWORD + 656] y: 0 size: QWORD <|@ <|@
1601
+ nr 34 <|@ st <@st|@live-base-pointers: []
1602
+ JavaExamples.exampleIfNeverTaken(JavaExamples.java:154) [bci: 0]
1603
+ locals: rsi|DWORD rdx|DWORD rcx|DWORD -
1604
+ >@ <|@ instruction DEOPT info [bci:0] <|@ <|@
1605
+ end_IR
1606
+ end_block
1607
+ end_cfg
1608
+ begin_bytecodes
1609
+ 0: iload_0
1610
+ 1: ifeq 13
1611
+ 4: iload_1
1612
+ 5: putstatic #54 // intField:int
1613
+ 8: iload_1
1614
+ 9: istore_3
1615
+ 10: goto 19
1616
+ 13: iload_2
1617
+ 14: putstatic #54 // intField:int
1618
+ 17: iload_2
1619
+ 18: istore_3
1620
+ 19: iload_3
1621
+ 20: ireturn
1622
+ <|@
1623
+ end_bytecodes
1624
+ begin_cfg
1625
+ name "After LinearScan"
1626
+ begin_block
1627
+ name "B0"
1628
+ from_bci -1
1629
+ to_bci -1
1630
+ predecessors
1631
+ successors "B1" "B2"
1632
+ xhandlers
1633
+ flags
1634
+ probability 4607182418800017408
1635
+ begin_IR
1636
+ LIR
1637
+ nr 0 <|@ instruction [rsi|DWORD, rdx|DWORD, rcx|DWORD, rbp|QWORD] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
1638
+ nr 2 <|@ instruction stack:16|QWORD = MOVE rbp|QWORD moveKind: QWORD <|@ <|@
1639
+ nr 4 <|@ instruction [] = HOTSPOTLOCKSTACK frameMapBuilder: org.graalvm.compiler.lir.amd64.AMD64FrameMapBuilder@13a29b3a8 slotKind: QWORD <|@ <|@
1640
+ nr 12 <|@ instruction TEST (x: rsi|DWORD, y: rsi|DWORD) size: DWORD <|@ <|@
1641
+ nr 14 <|@ instruction BRANCH trueDestinationProbability: 1.0 condition: = trueDestination: B0 -> B1 falseDestination: B0 -> B2 <|@ <|@
1642
+ end_IR
1643
+ end_block
1644
+ begin_block
1645
+ name "B1"
1646
+ from_bci -1
1647
+ to_bci -1
1648
+ predecessors "B0"
1649
+ successors
1650
+ xhandlers
1651
+ flags
1652
+ probability 4607182418800017408
1653
+ begin_IR
1654
+ LIR
1655
+ nr 16 <|@ instruction [] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
1656
+ nr 18 <|@ instruction rax|QWORD[.] = HOTSPOTLOADOBJECTCONSTANT input: Object[Instance<java.lang.Class>] <|@ <|@
1657
+ nr 20 <|@ instruction MOV (x: [rax|QWORD[.] + 128], y: rcx|DWORD) size: DWORD <|@ <|@
1658
+ nr 22 <|@ instruction MEMBAR barriers: 4 <|@ <|@
1659
+ nr 24 <|@ instruction rax|DWORD = MOVE rcx|DWORD moveKind: DWORD <|@ <|@
1660
+ nr 26 <|@ instruction RETURN (savedRbp: stack:16|QWORD, value: rax|DWORD) isStub: false requiresReservedStackAccessCheck: false thread: r15 scratchForSafepointOnReturn: rcx config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@147e07170 <|@ <|@
1661
+ end_IR
1662
+ end_block
1663
+ begin_block
1664
+ name "B2"
1665
+ from_bci -1
1666
+ to_bci -1
1667
+ predecessors "B0"
1668
+ successors
1669
+ xhandlers
1670
+ flags
1671
+ probability 2355382605114769408
1672
+ begin_IR
1673
+ LIR
1674
+ nr 28 <|@ instruction [] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
1675
+ nr 30 <|@ instruction MOV [r15|QWORD + 644] y: -2835 size: DWORD <|@ <|@
1676
+ nr 32 <|@ instruction MOV [r15|QWORD + 656] y: 0 size: QWORD <|@ <|@
1677
+ nr 34 <|@ st <@st|@live-base-pointers: []
1678
+ JavaExamples.exampleIfNeverTaken(JavaExamples.java:154) [bci: 0]
1679
+ locals: rsi|DWORD rdx|DWORD rcx|DWORD -
1680
+ >@ <|@ instruction DEOPT info [bci:0] <|@ <|@
1681
+ end_IR
1682
+ end_block
1683
+ end_cfg
1684
+ begin_bytecodes
1685
+ 0: iload_0
1686
+ 1: ifeq 13
1687
+ 4: iload_1
1688
+ 5: putstatic #54 // intField:int
1689
+ 8: iload_1
1690
+ 9: istore_3
1691
+ 10: goto 19
1692
+ 13: iload_2
1693
+ 14: putstatic #54 // intField:int
1694
+ 17: iload_2
1695
+ 18: istore_3
1696
+ 19: iload_3
1697
+ 20: ireturn
1698
+ <|@
1699
+ end_bytecodes
1700
+ begin_cfg
1701
+ name "After LSStackSlotAllocator"
1702
+ begin_block
1703
+ name "B0"
1704
+ from_bci -1
1705
+ to_bci -1
1706
+ predecessors
1707
+ successors "B1" "B2"
1708
+ xhandlers
1709
+ flags
1710
+ probability 4607182418800017408
1711
+ begin_IR
1712
+ LIR
1713
+ nr 0 <|@ instruction [rsi|DWORD, rdx|DWORD, rcx|DWORD, rbp|QWORD] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
1714
+ nr 2 <|@ instruction stack:16|QWORD = MOVE rbp|QWORD moveKind: QWORD <|@ <|@
1715
+ nr 4 <|@ instruction [] = HOTSPOTLOCKSTACK frameMapBuilder: org.graalvm.compiler.lir.amd64.AMD64FrameMapBuilder@13a29b3a8 slotKind: QWORD <|@ <|@
1716
+ nr 12 <|@ instruction TEST (x: rsi|DWORD, y: rsi|DWORD) size: DWORD <|@ <|@
1717
+ nr 14 <|@ instruction BRANCH trueDestinationProbability: 1.0 condition: = trueDestination: B0 -> B1 falseDestination: B0 -> B2 <|@ <|@
1718
+ end_IR
1719
+ end_block
1720
+ begin_block
1721
+ name "B1"
1722
+ from_bci -1
1723
+ to_bci -1
1724
+ predecessors "B0"
1725
+ successors
1726
+ xhandlers
1727
+ flags
1728
+ probability 4607182418800017408
1729
+ begin_IR
1730
+ LIR
1731
+ nr 16 <|@ instruction [] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
1732
+ nr 18 <|@ instruction rax|QWORD[.] = HOTSPOTLOADOBJECTCONSTANT input: Object[Instance<java.lang.Class>] <|@ <|@
1733
+ nr 20 <|@ instruction MOV (x: [rax|QWORD[.] + 128], y: rcx|DWORD) size: DWORD <|@ <|@
1734
+ nr 22 <|@ instruction MEMBAR barriers: 4 <|@ <|@
1735
+ nr 24 <|@ instruction rax|DWORD = MOVE rcx|DWORD moveKind: DWORD <|@ <|@
1736
+ nr 26 <|@ instruction RETURN (savedRbp: stack:16|QWORD, value: rax|DWORD) isStub: false requiresReservedStackAccessCheck: false thread: r15 scratchForSafepointOnReturn: rcx config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@147e07170 <|@ <|@
1737
+ end_IR
1738
+ end_block
1739
+ begin_block
1740
+ name "B2"
1741
+ from_bci -1
1742
+ to_bci -1
1743
+ predecessors "B0"
1744
+ successors
1745
+ xhandlers
1746
+ flags
1747
+ probability 2355382605114769408
1748
+ begin_IR
1749
+ LIR
1750
+ nr 28 <|@ instruction [] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
1751
+ nr 30 <|@ instruction MOV [r15|QWORD + 644] y: -2835 size: DWORD <|@ <|@
1752
+ nr 32 <|@ instruction MOV [r15|QWORD + 656] y: 0 size: QWORD <|@ <|@
1753
+ nr 34 <|@ st <@st|@live-base-pointers: []
1754
+ JavaExamples.exampleIfNeverTaken(JavaExamples.java:154) [bci: 0]
1755
+ locals: rsi|DWORD rdx|DWORD rcx|DWORD -
1756
+ >@ <|@ instruction DEOPT info [bci:0] <|@ <|@
1757
+ end_IR
1758
+ end_block
1759
+ end_cfg
1760
+ begin_bytecodes
1761
+ 0: iload_0
1762
+ 1: ifeq 13
1763
+ 4: iload_1
1764
+ 5: putstatic #54 // intField:int
1765
+ 8: iload_1
1766
+ 9: istore_3
1767
+ 10: goto 19
1768
+ 13: iload_2
1769
+ 14: putstatic #54 // intField:int
1770
+ 17: iload_2
1771
+ 18: istore_3
1772
+ 19: iload_3
1773
+ 20: ireturn
1774
+ <|@
1775
+ end_bytecodes
1776
+ begin_cfg
1777
+ name "After LocationMarker"
1778
+ begin_block
1779
+ name "B0"
1780
+ from_bci -1
1781
+ to_bci -1
1782
+ predecessors
1783
+ successors "B1" "B2"
1784
+ xhandlers
1785
+ flags
1786
+ probability 4607182418800017408
1787
+ begin_IR
1788
+ LIR
1789
+ nr 0 <|@ instruction [rsi|DWORD, rdx|DWORD, rcx|DWORD, rbp|QWORD] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
1790
+ nr 2 <|@ instruction stack:16|QWORD = MOVE rbp|QWORD moveKind: QWORD <|@ <|@
1791
+ nr 4 <|@ instruction [] = HOTSPOTLOCKSTACK frameMapBuilder: org.graalvm.compiler.lir.amd64.AMD64FrameMapBuilder@13a29b3a8 slotKind: QWORD <|@ <|@
1792
+ nr 12 <|@ instruction TEST (x: rsi|DWORD, y: rsi|DWORD) size: DWORD <|@ <|@
1793
+ nr 14 <|@ instruction BRANCH trueDestinationProbability: 1.0 condition: = trueDestination: B0 -> B1 falseDestination: B0 -> B2 <|@ <|@
1794
+ end_IR
1795
+ end_block
1796
+ begin_block
1797
+ name "B1"
1798
+ from_bci -1
1799
+ to_bci -1
1800
+ predecessors "B0"
1801
+ successors
1802
+ xhandlers
1803
+ flags
1804
+ probability 4607182418800017408
1805
+ begin_IR
1806
+ LIR
1807
+ nr 16 <|@ instruction [] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
1808
+ nr 18 <|@ instruction rax|QWORD[.] = HOTSPOTLOADOBJECTCONSTANT input: Object[Instance<java.lang.Class>] <|@ <|@
1809
+ nr 20 <|@ instruction MOV (x: [rax|QWORD[.] + 128], y: rcx|DWORD) size: DWORD <|@ <|@
1810
+ nr 22 <|@ instruction MEMBAR barriers: 4 <|@ <|@
1811
+ nr 24 <|@ instruction rax|DWORD = MOVE rcx|DWORD moveKind: DWORD <|@ <|@
1812
+ nr 26 <|@ instruction RETURN (savedRbp: stack:16|QWORD, value: rax|DWORD) isStub: false requiresReservedStackAccessCheck: false thread: r15 scratchForSafepointOnReturn: rcx config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@147e07170 <|@ <|@
1813
+ end_IR
1814
+ end_block
1815
+ begin_block
1816
+ name "B2"
1817
+ from_bci -1
1818
+ to_bci -1
1819
+ predecessors "B0"
1820
+ successors
1821
+ xhandlers
1822
+ flags
1823
+ probability 2355382605114769408
1824
+ begin_IR
1825
+ LIR
1826
+ nr 28 <|@ instruction [] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
1827
+ nr 30 <|@ instruction MOV [r15|QWORD + 644] y: -2835 size: DWORD <|@ <|@
1828
+ nr 32 <|@ instruction MOV [r15|QWORD + 656] y: 0 size: QWORD <|@ <|@
1829
+ nr 34 <|@ st <@st|@reference-map: []
1830
+ live-base-pointers: []
1831
+ JavaExamples.exampleIfNeverTaken(JavaExamples.java:154) [bci: 0]
1832
+ locals: rsi|DWORD rdx|DWORD rcx|DWORD -
1833
+ >@ <|@ instruction DEOPT info [bci:0] <|@ <|@
1834
+ end_IR
1835
+ end_block
1836
+ end_cfg
1837
+ begin_bytecodes
1838
+ 0: iload_0
1839
+ 1: ifeq 13
1840
+ 4: iload_1
1841
+ 5: putstatic #54 // intField:int
1842
+ 8: iload_1
1843
+ 9: istore_3
1844
+ 10: goto 19
1845
+ 13: iload_2
1846
+ 14: putstatic #54 // intField:int
1847
+ 17: iload_2
1848
+ 18: istore_3
1849
+ 19: iload_3
1850
+ 20: ireturn
1851
+ <|@
1852
+ end_bytecodes
1853
+ begin_cfg
1854
+ name "After AllocationStage"
1855
+ begin_block
1856
+ name "B0"
1857
+ from_bci -1
1858
+ to_bci -1
1859
+ predecessors
1860
+ successors "B1" "B2"
1861
+ xhandlers
1862
+ flags
1863
+ probability 4607182418800017408
1864
+ begin_IR
1865
+ LIR
1866
+ nr 0 <|@ instruction [rsi|DWORD, rdx|DWORD, rcx|DWORD, rbp|QWORD] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
1867
+ nr 2 <|@ instruction stack:16|QWORD = MOVE rbp|QWORD moveKind: QWORD <|@ <|@
1868
+ nr 4 <|@ instruction [] = HOTSPOTLOCKSTACK frameMapBuilder: org.graalvm.compiler.lir.amd64.AMD64FrameMapBuilder@13a29b3a8 slotKind: QWORD <|@ <|@
1869
+ nr 12 <|@ instruction TEST (x: rsi|DWORD, y: rsi|DWORD) size: DWORD <|@ <|@
1870
+ nr 14 <|@ instruction BRANCH trueDestinationProbability: 1.0 condition: = trueDestination: B0 -> B1 falseDestination: B0 -> B2 <|@ <|@
1871
+ end_IR
1872
+ end_block
1873
+ begin_block
1874
+ name "B1"
1875
+ from_bci -1
1876
+ to_bci -1
1877
+ predecessors "B0"
1878
+ successors
1879
+ xhandlers
1880
+ flags
1881
+ probability 4607182418800017408
1882
+ begin_IR
1883
+ LIR
1884
+ nr 16 <|@ instruction [] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
1885
+ nr 18 <|@ instruction rax|QWORD[.] = HOTSPOTLOADOBJECTCONSTANT input: Object[Instance<java.lang.Class>] <|@ <|@
1886
+ nr 20 <|@ instruction MOV (x: [rax|QWORD[.] + 128], y: rcx|DWORD) size: DWORD <|@ <|@
1887
+ nr 22 <|@ instruction MEMBAR barriers: 4 <|@ <|@
1888
+ nr 24 <|@ instruction rax|DWORD = MOVE rcx|DWORD moveKind: DWORD <|@ <|@
1889
+ nr 26 <|@ instruction RETURN (savedRbp: stack:16|QWORD, value: rax|DWORD) isStub: false requiresReservedStackAccessCheck: false thread: r15 scratchForSafepointOnReturn: rcx config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@147e07170 <|@ <|@
1890
+ end_IR
1891
+ end_block
1892
+ begin_block
1893
+ name "B2"
1894
+ from_bci -1
1895
+ to_bci -1
1896
+ predecessors "B0"
1897
+ successors
1898
+ xhandlers
1899
+ flags
1900
+ probability 2355382605114769408
1901
+ begin_IR
1902
+ LIR
1903
+ nr 28 <|@ instruction [] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
1904
+ nr 30 <|@ instruction MOV [r15|QWORD + 644] y: -2835 size: DWORD <|@ <|@
1905
+ nr 32 <|@ instruction MOV [r15|QWORD + 656] y: 0 size: QWORD <|@ <|@
1906
+ nr 34 <|@ st <@st|@reference-map: []
1907
+ live-base-pointers: []
1908
+ JavaExamples.exampleIfNeverTaken(JavaExamples.java:154) [bci: 0]
1909
+ locals: rsi|DWORD rdx|DWORD rcx|DWORD -
1910
+ >@ <|@ instruction DEOPT info [bci:0] <|@ <|@
1911
+ end_IR
1912
+ end_block
1913
+ end_cfg
1914
+ begin_bytecodes
1915
+ 0: iload_0
1916
+ 1: ifeq 13
1917
+ 4: iload_1
1918
+ 5: putstatic #54 // intField:int
1919
+ 8: iload_1
1920
+ 9: istore_3
1921
+ 10: goto 19
1922
+ 13: iload_2
1923
+ 14: putstatic #54 // intField:int
1924
+ 17: iload_2
1925
+ 18: istore_3
1926
+ 19: iload_3
1927
+ 20: ireturn
1928
+ <|@
1929
+ end_bytecodes
1930
+ begin_cfg
1931
+ name "After EdgeMoveOptimizer"
1932
+ begin_block
1933
+ name "B0"
1934
+ from_bci -1
1935
+ to_bci -1
1936
+ predecessors
1937
+ successors "B1" "B2"
1938
+ xhandlers
1939
+ flags
1940
+ probability 4607182418800017408
1941
+ begin_IR
1942
+ LIR
1943
+ nr 0 <|@ instruction [rsi|DWORD, rdx|DWORD, rcx|DWORD, rbp|QWORD] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
1944
+ nr 2 <|@ instruction stack:16|QWORD = MOVE rbp|QWORD moveKind: QWORD <|@ <|@
1945
+ nr 4 <|@ instruction [] = HOTSPOTLOCKSTACK frameMapBuilder: org.graalvm.compiler.lir.amd64.AMD64FrameMapBuilder@13a29b3a8 slotKind: QWORD <|@ <|@
1946
+ nr 12 <|@ instruction TEST (x: rsi|DWORD, y: rsi|DWORD) size: DWORD <|@ <|@
1947
+ nr 14 <|@ instruction BRANCH trueDestinationProbability: 1.0 condition: = trueDestination: B0 -> B1 falseDestination: B0 -> B2 <|@ <|@
1948
+ end_IR
1949
+ end_block
1950
+ begin_block
1951
+ name "B1"
1952
+ from_bci -1
1953
+ to_bci -1
1954
+ predecessors "B0"
1955
+ successors
1956
+ xhandlers
1957
+ flags
1958
+ probability 4607182418800017408
1959
+ begin_IR
1960
+ LIR
1961
+ nr 16 <|@ instruction [] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
1962
+ nr 18 <|@ instruction rax|QWORD[.] = HOTSPOTLOADOBJECTCONSTANT input: Object[Instance<java.lang.Class>] <|@ <|@
1963
+ nr 20 <|@ instruction MOV (x: [rax|QWORD[.] + 128], y: rcx|DWORD) size: DWORD <|@ <|@
1964
+ nr 22 <|@ instruction MEMBAR barriers: 4 <|@ <|@
1965
+ nr 24 <|@ instruction rax|DWORD = MOVE rcx|DWORD moveKind: DWORD <|@ <|@
1966
+ nr 26 <|@ instruction RETURN (savedRbp: stack:16|QWORD, value: rax|DWORD) isStub: false requiresReservedStackAccessCheck: false thread: r15 scratchForSafepointOnReturn: rcx config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@147e07170 <|@ <|@
1967
+ end_IR
1968
+ end_block
1969
+ begin_block
1970
+ name "B2"
1971
+ from_bci -1
1972
+ to_bci -1
1973
+ predecessors "B0"
1974
+ successors
1975
+ xhandlers
1976
+ flags
1977
+ probability 2355382605114769408
1978
+ begin_IR
1979
+ LIR
1980
+ nr 28 <|@ instruction [] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
1981
+ nr 30 <|@ instruction MOV [r15|QWORD + 644] y: -2835 size: DWORD <|@ <|@
1982
+ nr 32 <|@ instruction MOV [r15|QWORD + 656] y: 0 size: QWORD <|@ <|@
1983
+ nr 34 <|@ st <@st|@reference-map: []
1984
+ live-base-pointers: []
1985
+ JavaExamples.exampleIfNeverTaken(JavaExamples.java:154) [bci: 0]
1986
+ locals: rsi|DWORD rdx|DWORD rcx|DWORD -
1987
+ >@ <|@ instruction DEOPT info [bci:0] <|@ <|@
1988
+ end_IR
1989
+ end_block
1990
+ end_cfg
1991
+ begin_bytecodes
1992
+ 0: iload_0
1993
+ 1: ifeq 13
1994
+ 4: iload_1
1995
+ 5: putstatic #54 // intField:int
1996
+ 8: iload_1
1997
+ 9: istore_3
1998
+ 10: goto 19
1999
+ 13: iload_2
2000
+ 14: putstatic #54 // intField:int
2001
+ 17: iload_2
2002
+ 18: istore_3
2003
+ 19: iload_3
2004
+ 20: ireturn
2005
+ <|@
2006
+ end_bytecodes
2007
+ begin_cfg
2008
+ name "After ControlFlowOptimizer"
2009
+ begin_block
2010
+ name "B0"
2011
+ from_bci -1
2012
+ to_bci -1
2013
+ predecessors
2014
+ successors "B1" "B2"
2015
+ xhandlers
2016
+ flags
2017
+ probability 4607182418800017408
2018
+ begin_IR
2019
+ LIR
2020
+ nr 0 <|@ instruction [rsi|DWORD, rdx|DWORD, rcx|DWORD, rbp|QWORD] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
2021
+ nr 2 <|@ instruction stack:16|QWORD = MOVE rbp|QWORD moveKind: QWORD <|@ <|@
2022
+ nr 4 <|@ instruction [] = HOTSPOTLOCKSTACK frameMapBuilder: org.graalvm.compiler.lir.amd64.AMD64FrameMapBuilder@13a29b3a8 slotKind: QWORD <|@ <|@
2023
+ nr 12 <|@ instruction TEST (x: rsi|DWORD, y: rsi|DWORD) size: DWORD <|@ <|@
2024
+ nr 14 <|@ instruction BRANCH trueDestinationProbability: 1.0 condition: = trueDestination: B0 -> B1 falseDestination: B0 -> B2 <|@ <|@
2025
+ end_IR
2026
+ end_block
2027
+ begin_block
2028
+ name "B1"
2029
+ from_bci -1
2030
+ to_bci -1
2031
+ predecessors "B0"
2032
+ successors
2033
+ xhandlers
2034
+ flags
2035
+ probability 4607182418800017408
2036
+ begin_IR
2037
+ LIR
2038
+ nr 16 <|@ instruction [] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
2039
+ nr 18 <|@ instruction rax|QWORD[.] = HOTSPOTLOADOBJECTCONSTANT input: Object[Instance<java.lang.Class>] <|@ <|@
2040
+ nr 20 <|@ instruction MOV (x: [rax|QWORD[.] + 128], y: rcx|DWORD) size: DWORD <|@ <|@
2041
+ nr 22 <|@ instruction MEMBAR barriers: 4 <|@ <|@
2042
+ nr 24 <|@ instruction rax|DWORD = MOVE rcx|DWORD moveKind: DWORD <|@ <|@
2043
+ nr 26 <|@ instruction RETURN (savedRbp: stack:16|QWORD, value: rax|DWORD) isStub: false requiresReservedStackAccessCheck: false thread: r15 scratchForSafepointOnReturn: rcx config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@147e07170 <|@ <|@
2044
+ end_IR
2045
+ end_block
2046
+ begin_block
2047
+ name "B2"
2048
+ from_bci -1
2049
+ to_bci -1
2050
+ predecessors "B0"
2051
+ successors
2052
+ xhandlers
2053
+ flags
2054
+ probability 2355382605114769408
2055
+ begin_IR
2056
+ LIR
2057
+ nr 28 <|@ instruction [] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
2058
+ nr 30 <|@ instruction MOV [r15|QWORD + 644] y: -2835 size: DWORD <|@ <|@
2059
+ nr 32 <|@ instruction MOV [r15|QWORD + 656] y: 0 size: QWORD <|@ <|@
2060
+ nr 34 <|@ st <@st|@reference-map: []
2061
+ live-base-pointers: []
2062
+ JavaExamples.exampleIfNeverTaken(JavaExamples.java:154) [bci: 0]
2063
+ locals: rsi|DWORD rdx|DWORD rcx|DWORD -
2064
+ >@ <|@ instruction DEOPT info [bci:0] <|@ <|@
2065
+ end_IR
2066
+ end_block
2067
+ end_cfg
2068
+ begin_bytecodes
2069
+ 0: iload_0
2070
+ 1: ifeq 13
2071
+ 4: iload_1
2072
+ 5: putstatic #54 // intField:int
2073
+ 8: iload_1
2074
+ 9: istore_3
2075
+ 10: goto 19
2076
+ 13: iload_2
2077
+ 14: putstatic #54 // intField:int
2078
+ 17: iload_2
2079
+ 18: istore_3
2080
+ 19: iload_3
2081
+ 20: ireturn
2082
+ <|@
2083
+ end_bytecodes
2084
+ begin_cfg
2085
+ name "After RedundantMoveElimination"
2086
+ begin_block
2087
+ name "B0"
2088
+ from_bci -1
2089
+ to_bci -1
2090
+ predecessors
2091
+ successors "B1" "B2"
2092
+ xhandlers
2093
+ flags
2094
+ probability 4607182418800017408
2095
+ begin_IR
2096
+ LIR
2097
+ nr 0 <|@ instruction [rsi|DWORD, rdx|DWORD, rcx|DWORD, rbp|QWORD] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
2098
+ nr 2 <|@ instruction stack:16|QWORD = MOVE rbp|QWORD moveKind: QWORD <|@ <|@
2099
+ nr 4 <|@ instruction [] = HOTSPOTLOCKSTACK frameMapBuilder: org.graalvm.compiler.lir.amd64.AMD64FrameMapBuilder@13a29b3a8 slotKind: QWORD <|@ <|@
2100
+ nr 12 <|@ instruction TEST (x: rsi|DWORD, y: rsi|DWORD) size: DWORD <|@ <|@
2101
+ nr 14 <|@ instruction BRANCH trueDestinationProbability: 1.0 condition: = trueDestination: B0 -> B1 falseDestination: B0 -> B2 <|@ <|@
2102
+ end_IR
2103
+ end_block
2104
+ begin_block
2105
+ name "B1"
2106
+ from_bci -1
2107
+ to_bci -1
2108
+ predecessors "B0"
2109
+ successors
2110
+ xhandlers
2111
+ flags
2112
+ probability 4607182418800017408
2113
+ begin_IR
2114
+ LIR
2115
+ nr 16 <|@ instruction [] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
2116
+ nr 18 <|@ instruction rax|QWORD[.] = HOTSPOTLOADOBJECTCONSTANT input: Object[Instance<java.lang.Class>] <|@ <|@
2117
+ nr 20 <|@ instruction MOV (x: [rax|QWORD[.] + 128], y: rcx|DWORD) size: DWORD <|@ <|@
2118
+ nr 22 <|@ instruction MEMBAR barriers: 4 <|@ <|@
2119
+ nr 24 <|@ instruction rax|DWORD = MOVE rcx|DWORD moveKind: DWORD <|@ <|@
2120
+ nr 26 <|@ instruction RETURN (savedRbp: stack:16|QWORD, value: rax|DWORD) isStub: false requiresReservedStackAccessCheck: false thread: r15 scratchForSafepointOnReturn: rcx config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@147e07170 <|@ <|@
2121
+ end_IR
2122
+ end_block
2123
+ begin_block
2124
+ name "B2"
2125
+ from_bci -1
2126
+ to_bci -1
2127
+ predecessors "B0"
2128
+ successors
2129
+ xhandlers
2130
+ flags
2131
+ probability 2355382605114769408
2132
+ begin_IR
2133
+ LIR
2134
+ nr 28 <|@ instruction [] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
2135
+ nr 30 <|@ instruction MOV [r15|QWORD + 644] y: -2835 size: DWORD <|@ <|@
2136
+ nr 32 <|@ instruction MOV [r15|QWORD + 656] y: 0 size: QWORD <|@ <|@
2137
+ nr 34 <|@ st <@st|@reference-map: []
2138
+ live-base-pointers: []
2139
+ JavaExamples.exampleIfNeverTaken(JavaExamples.java:154) [bci: 0]
2140
+ locals: rsi|DWORD rdx|DWORD rcx|DWORD -
2141
+ >@ <|@ instruction DEOPT info [bci:0] <|@ <|@
2142
+ end_IR
2143
+ end_block
2144
+ end_cfg
2145
+ begin_bytecodes
2146
+ 0: iload_0
2147
+ 1: ifeq 13
2148
+ 4: iload_1
2149
+ 5: putstatic #54 // intField:int
2150
+ 8: iload_1
2151
+ 9: istore_3
2152
+ 10: goto 19
2153
+ 13: iload_2
2154
+ 14: putstatic #54 // intField:int
2155
+ 17: iload_2
2156
+ 18: istore_3
2157
+ 19: iload_3
2158
+ 20: ireturn
2159
+ <|@
2160
+ end_bytecodes
2161
+ begin_cfg
2162
+ name "After NullCheckOptimizer"
2163
+ begin_block
2164
+ name "B0"
2165
+ from_bci -1
2166
+ to_bci -1
2167
+ predecessors
2168
+ successors "B1" "B2"
2169
+ xhandlers
2170
+ flags
2171
+ probability 4607182418800017408
2172
+ begin_IR
2173
+ LIR
2174
+ nr 0 <|@ instruction [rsi|DWORD, rdx|DWORD, rcx|DWORD, rbp|QWORD] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
2175
+ nr 2 <|@ instruction stack:16|QWORD = MOVE rbp|QWORD moveKind: QWORD <|@ <|@
2176
+ nr 4 <|@ instruction [] = HOTSPOTLOCKSTACK frameMapBuilder: org.graalvm.compiler.lir.amd64.AMD64FrameMapBuilder@13a29b3a8 slotKind: QWORD <|@ <|@
2177
+ nr 12 <|@ instruction TEST (x: rsi|DWORD, y: rsi|DWORD) size: DWORD <|@ <|@
2178
+ nr 14 <|@ instruction BRANCH trueDestinationProbability: 1.0 condition: = trueDestination: B0 -> B1 falseDestination: B0 -> B2 <|@ <|@
2179
+ end_IR
2180
+ end_block
2181
+ begin_block
2182
+ name "B1"
2183
+ from_bci -1
2184
+ to_bci -1
2185
+ predecessors "B0"
2186
+ successors
2187
+ xhandlers
2188
+ flags
2189
+ probability 4607182418800017408
2190
+ begin_IR
2191
+ LIR
2192
+ nr 16 <|@ instruction [] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
2193
+ nr 18 <|@ instruction rax|QWORD[.] = HOTSPOTLOADOBJECTCONSTANT input: Object[Instance<java.lang.Class>] <|@ <|@
2194
+ nr 20 <|@ instruction MOV (x: [rax|QWORD[.] + 128], y: rcx|DWORD) size: DWORD <|@ <|@
2195
+ nr 22 <|@ instruction MEMBAR barriers: 4 <|@ <|@
2196
+ nr 24 <|@ instruction rax|DWORD = MOVE rcx|DWORD moveKind: DWORD <|@ <|@
2197
+ nr 26 <|@ instruction RETURN (savedRbp: stack:16|QWORD, value: rax|DWORD) isStub: false requiresReservedStackAccessCheck: false thread: r15 scratchForSafepointOnReturn: rcx config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@147e07170 <|@ <|@
2198
+ end_IR
2199
+ end_block
2200
+ begin_block
2201
+ name "B2"
2202
+ from_bci -1
2203
+ to_bci -1
2204
+ predecessors "B0"
2205
+ successors
2206
+ xhandlers
2207
+ flags
2208
+ probability 2355382605114769408
2209
+ begin_IR
2210
+ LIR
2211
+ nr 28 <|@ instruction [] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
2212
+ nr 30 <|@ instruction MOV [r15|QWORD + 644] y: -2835 size: DWORD <|@ <|@
2213
+ nr 32 <|@ instruction MOV [r15|QWORD + 656] y: 0 size: QWORD <|@ <|@
2214
+ nr 34 <|@ st <@st|@reference-map: []
2215
+ live-base-pointers: []
2216
+ JavaExamples.exampleIfNeverTaken(JavaExamples.java:154) [bci: 0]
2217
+ locals: rsi|DWORD rdx|DWORD rcx|DWORD -
2218
+ >@ <|@ instruction DEOPT info [bci:0] <|@ <|@
2219
+ end_IR
2220
+ end_block
2221
+ end_cfg
2222
+ begin_bytecodes
2223
+ 0: iload_0
2224
+ 1: ifeq 13
2225
+ 4: iload_1
2226
+ 5: putstatic #54 // intField:int
2227
+ 8: iload_1
2228
+ 9: istore_3
2229
+ 10: goto 19
2230
+ 13: iload_2
2231
+ 14: putstatic #54 // intField:int
2232
+ 17: iload_2
2233
+ 18: istore_3
2234
+ 19: iload_3
2235
+ 20: ireturn
2236
+ <|@
2237
+ end_bytecodes
2238
+ begin_cfg
2239
+ name "After StackMoveOptimization"
2240
+ begin_block
2241
+ name "B0"
2242
+ from_bci -1
2243
+ to_bci -1
2244
+ predecessors
2245
+ successors "B1" "B2"
2246
+ xhandlers
2247
+ flags
2248
+ probability 4607182418800017408
2249
+ begin_IR
2250
+ LIR
2251
+ nr 0 <|@ instruction [rsi|DWORD, rdx|DWORD, rcx|DWORD, rbp|QWORD] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
2252
+ nr 2 <|@ instruction stack:16|QWORD = MOVE rbp|QWORD moveKind: QWORD <|@ <|@
2253
+ nr 4 <|@ instruction [] = HOTSPOTLOCKSTACK frameMapBuilder: org.graalvm.compiler.lir.amd64.AMD64FrameMapBuilder@13a29b3a8 slotKind: QWORD <|@ <|@
2254
+ nr 12 <|@ instruction TEST (x: rsi|DWORD, y: rsi|DWORD) size: DWORD <|@ <|@
2255
+ nr 14 <|@ instruction BRANCH trueDestinationProbability: 1.0 condition: = trueDestination: B0 -> B1 falseDestination: B0 -> B2 <|@ <|@
2256
+ end_IR
2257
+ end_block
2258
+ begin_block
2259
+ name "B1"
2260
+ from_bci -1
2261
+ to_bci -1
2262
+ predecessors "B0"
2263
+ successors
2264
+ xhandlers
2265
+ flags
2266
+ probability 4607182418800017408
2267
+ begin_IR
2268
+ LIR
2269
+ nr 16 <|@ instruction [] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
2270
+ nr 18 <|@ instruction rax|QWORD[.] = HOTSPOTLOADOBJECTCONSTANT input: Object[Instance<java.lang.Class>] <|@ <|@
2271
+ nr 20 <|@ instruction MOV (x: [rax|QWORD[.] + 128], y: rcx|DWORD) size: DWORD <|@ <|@
2272
+ nr 22 <|@ instruction MEMBAR barriers: 4 <|@ <|@
2273
+ nr 24 <|@ instruction rax|DWORD = MOVE rcx|DWORD moveKind: DWORD <|@ <|@
2274
+ nr 26 <|@ instruction RETURN (savedRbp: stack:16|QWORD, value: rax|DWORD) isStub: false requiresReservedStackAccessCheck: false thread: r15 scratchForSafepointOnReturn: rcx config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@147e07170 <|@ <|@
2275
+ end_IR
2276
+ end_block
2277
+ begin_block
2278
+ name "B2"
2279
+ from_bci -1
2280
+ to_bci -1
2281
+ predecessors "B0"
2282
+ successors
2283
+ xhandlers
2284
+ flags
2285
+ probability 2355382605114769408
2286
+ begin_IR
2287
+ LIR
2288
+ nr 28 <|@ instruction [] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
2289
+ nr 30 <|@ instruction MOV [r15|QWORD + 644] y: -2835 size: DWORD <|@ <|@
2290
+ nr 32 <|@ instruction MOV [r15|QWORD + 656] y: 0 size: QWORD <|@ <|@
2291
+ nr 34 <|@ st <@st|@reference-map: []
2292
+ live-base-pointers: []
2293
+ JavaExamples.exampleIfNeverTaken(JavaExamples.java:154) [bci: 0]
2294
+ locals: rsi|DWORD rdx|DWORD rcx|DWORD -
2295
+ >@ <|@ instruction DEOPT info [bci:0] <|@ <|@
2296
+ end_IR
2297
+ end_block
2298
+ end_cfg
2299
+ begin_bytecodes
2300
+ 0: iload_0
2301
+ 1: ifeq 13
2302
+ 4: iload_1
2303
+ 5: putstatic #54 // intField:int
2304
+ 8: iload_1
2305
+ 9: istore_3
2306
+ 10: goto 19
2307
+ 13: iload_2
2308
+ 14: putstatic #54 // intField:int
2309
+ 17: iload_2
2310
+ 18: istore_3
2311
+ 19: iload_3
2312
+ 20: ireturn
2313
+ <|@
2314
+ end_bytecodes
2315
+ begin_cfg
2316
+ name "After PostAllocationOptimizationStage"
2317
+ begin_block
2318
+ name "B0"
2319
+ from_bci -1
2320
+ to_bci -1
2321
+ predecessors
2322
+ successors "B1" "B2"
2323
+ xhandlers
2324
+ flags
2325
+ probability 4607182418800017408
2326
+ begin_IR
2327
+ LIR
2328
+ nr 0 <|@ instruction [rsi|DWORD, rdx|DWORD, rcx|DWORD, rbp|QWORD] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
2329
+ nr 2 <|@ instruction stack:16|QWORD = MOVE rbp|QWORD moveKind: QWORD <|@ <|@
2330
+ nr 4 <|@ instruction [] = HOTSPOTLOCKSTACK frameMapBuilder: org.graalvm.compiler.lir.amd64.AMD64FrameMapBuilder@13a29b3a8 slotKind: QWORD <|@ <|@
2331
+ nr 12 <|@ instruction TEST (x: rsi|DWORD, y: rsi|DWORD) size: DWORD <|@ <|@
2332
+ nr 14 <|@ instruction BRANCH trueDestinationProbability: 1.0 condition: = trueDestination: B0 -> B1 falseDestination: B0 -> B2 <|@ <|@
2333
+ end_IR
2334
+ end_block
2335
+ begin_block
2336
+ name "B1"
2337
+ from_bci -1
2338
+ to_bci -1
2339
+ predecessors "B0"
2340
+ successors
2341
+ xhandlers
2342
+ flags
2343
+ probability 4607182418800017408
2344
+ begin_IR
2345
+ LIR
2346
+ nr 16 <|@ instruction [] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
2347
+ nr 18 <|@ instruction rax|QWORD[.] = HOTSPOTLOADOBJECTCONSTANT input: Object[Instance<java.lang.Class>] <|@ <|@
2348
+ nr 20 <|@ instruction MOV (x: [rax|QWORD[.] + 128], y: rcx|DWORD) size: DWORD <|@ <|@
2349
+ nr 22 <|@ instruction MEMBAR barriers: 4 <|@ <|@
2350
+ nr 24 <|@ instruction rax|DWORD = MOVE rcx|DWORD moveKind: DWORD <|@ <|@
2351
+ nr 26 <|@ instruction RETURN (savedRbp: stack:16|QWORD, value: rax|DWORD) isStub: false requiresReservedStackAccessCheck: false thread: r15 scratchForSafepointOnReturn: rcx config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@147e07170 <|@ <|@
2352
+ end_IR
2353
+ end_block
2354
+ begin_block
2355
+ name "B2"
2356
+ from_bci -1
2357
+ to_bci -1
2358
+ predecessors "B0"
2359
+ successors
2360
+ xhandlers
2361
+ flags
2362
+ probability 2355382605114769408
2363
+ begin_IR
2364
+ LIR
2365
+ nr 28 <|@ instruction [] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
2366
+ nr 30 <|@ instruction MOV [r15|QWORD + 644] y: -2835 size: DWORD <|@ <|@
2367
+ nr 32 <|@ instruction MOV [r15|QWORD + 656] y: 0 size: QWORD <|@ <|@
2368
+ nr 34 <|@ st <@st|@reference-map: []
2369
+ live-base-pointers: []
2370
+ JavaExamples.exampleIfNeverTaken(JavaExamples.java:154) [bci: 0]
2371
+ locals: rsi|DWORD rdx|DWORD rcx|DWORD -
2372
+ >@ <|@ instruction DEOPT info [bci:0] <|@ <|@
2373
+ end_IR
2374
+ end_block
2375
+ end_cfg
2376
+ begin_bytecodes
2377
+ 0: iload_0
2378
+ 1: ifeq 13
2379
+ 4: iload_1
2380
+ 5: putstatic #54 // intField:int
2381
+ 8: iload_1
2382
+ 9: istore_3
2383
+ 10: goto 19
2384
+ 13: iload_2
2385
+ 14: putstatic #54 // intField:int
2386
+ 17: iload_2
2387
+ 18: istore_3
2388
+ 19: iload_3
2389
+ 20: ireturn
2390
+ <|@
2391
+ end_bytecodes
2392
+ begin_cfg
2393
+ name "After code generation"
2394
+ end_cfg
2395
+ begin_nmethod
2396
+ <<<HexCodeFile
2397
+ Platform AMD64 64 <||@
2398
+ HexCode 0 89842400c0feff4883ec1848896c241085f60f852a00000048b8addeaddeaddeadde898880000000f0830424008bc1488b6c24104883c418850500000000c5f877c341c78784020000edf4ffff49c7879002000000000000e80000000090e80000000090e80000000090 <||@
2399
+ Comment 0 [stack overflow check] <||@
2400
+ Comment 0 3 <||@
2401
+ Comment 0 1 <||@
2402
+ Comment 11 block B0 null <||@
2403
+ Comment 11 0 [rsi|DWORD, rdx|DWORD, rcx|DWORD, rbp|QWORD] = LABEL numbPhis: 0 align: false label: ? <||@
2404
+ Comment 11 2 stack:16|QWORD = MOVE rbp|QWORD moveKind: QWORD <||@
2405
+ Comment 16 4 [] = HOTSPOTLOCKSTACK frameMapBuilder: org.graalvm.compiler.lir.amd64.AMD64FrameMapBuilder@13a29b3a8 slotKind: QWORD <||@
2406
+ Comment 16 12 TEST (x: rsi|DWORD, y: rsi|DWORD) size: DWORD <||@
2407
+ Comment 18 14 BRANCH trueDestinationProbability: 1.0 condition: = trueDestination: B0 -> B1 falseDestination: B0 -> B2 <||@
2408
+ Comment 24 block B1 null <||@
2409
+ Comment 24 16 [] = LABEL numbPhis: 0 align: false label: ? <||@
2410
+ Comment 24 18 rax|QWORD[.] = HOTSPOTLOADOBJECTCONSTANT input: Object[Instance<java.lang.Class>] <||@
2411
+ Comment 24 {Object[Instance<java.lang.Class>]} <||@
2412
+ Comment 34 20 MOV (x: [rax|QWORD[.] + 128], y: rcx|DWORD) size: DWORD <||@
2413
+ Comment 40 22 MEMBAR barriers: 4 <||@
2414
+ Comment 45 24 rax|DWORD = MOVE rcx|DWORD moveKind: DWORD <||@
2415
+ Comment 47 26 RETURN (savedRbp: stack:16|QWORD, value: rax|DWORD) isStub: false requiresReservedStackAccessCheck: false thread: r15 scratchForSafepointOnReturn: rcx config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@147e07170 <||@
2416
+ Comment 56 12 <||@
2417
+ Comment 66 block B2 null <||@
2418
+ Comment 66 28 [] = LABEL numbPhis: 0 align: false label: ? <||@
2419
+ Comment 66 30 MOV [r15|QWORD + 644] y: -2835 size: DWORD <||@
2420
+ Comment 77 32 MOV [r15|QWORD + 656] y: 0 size: QWORD <||@
2421
+ Comment 88 34 DEOPT info [bci:0] <||@
2422
+ Comment 88 {Field[name=CompilerToVM::Data::SharedRuntime_deopt_blob_uncommon_trap, type=address, offset=0, address=0x1108bc130, value=4610474814]:0x112ce433e} <||@
2423
+ Comment 93 []at JavaExamples.exampleIfNeverTaken(JavaExamples.java:154) [bci: 0, duringCall: false, rethrow: false]
2424
+ |0 |1 |2 |3
2425
+ locals: |rsi|DWORD |rdx|DWORD |rcx|DWORD |- <||@
2426
+ Comment 94 {Stub<ExceptionHandlerStub.exceptionHandler>@0x112e24320: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} <||@
2427
+ Comment 94 4 <||@
2428
+ Comment 100 {Field[name=CompilerToVM::Data::SharedRuntime_deopt_blob_unpack, type=address, offset=0, address=0x1108bc128, value=4610474560]:0x112ce4240} <||@
2429
+ Comment 100 5 <||@
2430
+ HexCodeFile>>> <|@
2431
+ end_nmethod
2432
+ begin_compilation
2433
+ name " HotSpotCompilation-355[JavaExamples.exampleIfNeverTaken(boolean, int, int)]"
2434
+ method "HotSpotCompilation-355[JavaExamples.exampleIfNeverTaken(boolean, int, int)]"
2435
+ date 1583364091969
2436
+ end_compilation
2437
+ begin_cfg
2438
+ name "After code installation"
2439
+ end_cfg
2440
+ begin_nmethod
2441
+ <<<HexCodeFile
2442
+ Platform AMD64 64 <||@
2443
+ HexCode 112e367a0 89842400c0feff4883ec1848896c241085f60f852a00000048b8b0275f1507000000898880000000f0830424008bc1488b6c24104883c4188505284893fbc5f877c341c78784020000edf4ffff49c7879002000000000000e841dbeaff90e81ddbfeff90e837daeaff90f4f4f4f4f4f4 <||@
2444
+ Comment 0 [stack overflow check] <||@
2445
+ Comment 0 3 <||@
2446
+ Comment 0 1 <||@
2447
+ Comment 11 block B0 null <||@
2448
+ Comment 11 0 [rsi|DWORD, rdx|DWORD, rcx|DWORD, rbp|QWORD] = LABEL numbPhis: 0 align: false label: ? <||@
2449
+ Comment 11 2 stack:16|QWORD = MOVE rbp|QWORD moveKind: QWORD <||@
2450
+ Comment 16 4 [] = HOTSPOTLOCKSTACK frameMapBuilder: org.graalvm.compiler.lir.amd64.AMD64FrameMapBuilder@13a29b3a8 slotKind: QWORD <||@
2451
+ Comment 16 12 TEST (x: rsi|DWORD, y: rsi|DWORD) size: DWORD <||@
2452
+ Comment 18 14 BRANCH trueDestinationProbability: 1.0 condition: = trueDestination: B0 -> B1 falseDestination: B0 -> B2 <||@
2453
+ Comment 24 block B1 null <||@
2454
+ Comment 24 16 [] = LABEL numbPhis: 0 align: false label: ? <||@
2455
+ Comment 24 18 rax|QWORD[.] = HOTSPOTLOADOBJECTCONSTANT input: Object[Instance<java.lang.Class>] <||@
2456
+ Comment 24 {Object[Instance<java.lang.Class>]} <||@
2457
+ Comment 34 20 MOV (x: [rax|QWORD[.] + 128], y: rcx|DWORD) size: DWORD <||@
2458
+ Comment 40 22 MEMBAR barriers: 4 <||@
2459
+ Comment 45 24 rax|DWORD = MOVE rcx|DWORD moveKind: DWORD <||@
2460
+ Comment 47 26 RETURN (savedRbp: stack:16|QWORD, value: rax|DWORD) isStub: false requiresReservedStackAccessCheck: false thread: r15 scratchForSafepointOnReturn: rcx config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@147e07170 <||@
2461
+ Comment 56 12 <||@
2462
+ Comment 66 block B2 null <||@
2463
+ Comment 66 28 [] = LABEL numbPhis: 0 align: false label: ? <||@
2464
+ Comment 66 30 MOV [r15|QWORD + 644] y: -2835 size: DWORD <||@
2465
+ Comment 77 32 MOV [r15|QWORD + 656] y: 0 size: QWORD <||@
2466
+ Comment 88 34 DEOPT info [bci:0] <||@
2467
+ Comment 88 {Field[name=CompilerToVM::Data::SharedRuntime_deopt_blob_uncommon_trap, type=address, offset=0, address=0x1108bc130, value=4610474814]:0x112ce433e} <||@
2468
+ Comment 93 []at JavaExamples.exampleIfNeverTaken(JavaExamples.java:154) [bci: 0, duringCall: false, rethrow: false]
2469
+ |0 |1 |2 |3
2470
+ locals: |rsi|DWORD |rdx|DWORD |rcx|DWORD |- <||@
2471
+ Comment 94 {Stub<ExceptionHandlerStub.exceptionHandler>@0x112e24320: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} <||@
2472
+ Comment 94 4 <||@
2473
+ Comment 100 {Field[name=CompilerToVM::Data::SharedRuntime_deopt_blob_unpack, type=address, offset=0, address=0x1108bc128, value=4610474560]:0x112ce4240} <||@
2474
+ Comment 100 5 <||@
2475
+ HexCodeFile>>> <|@
2476
+ end_nmethod