seafoam 0.2 → 0.7

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 (134) hide show
  1. checksums.yaml +4 -4
  2. data/.github/workflows/workflows.yml +39 -0
  3. data/.rubocop.yml +4 -1
  4. data/README.md +107 -27
  5. data/bin/bgv2isabelle +16 -45
  6. data/bin/bgv2json +18 -36
  7. data/bin/cfg2asm +24 -0
  8. data/bin/seafoam +2 -2
  9. data/demos/box-unbox-stats +65 -0
  10. data/docs/bgv.md +16 -7
  11. data/docs/getting-graphs.md +12 -0
  12. data/docs/json.md +35 -0
  13. data/examples/fib-java.bgv.gz +0 -0
  14. data/examples/fib.js +1 -1
  15. data/examples/java/JavaExamples.java +1 -1
  16. data/examples/ruby/clamps.rb +20 -0
  17. data/examples/ruby/graal.patch +15 -0
  18. data/examples/ruby/ruby_examples.rb +278 -0
  19. data/lib/seafoam.rb +5 -1
  20. data/lib/seafoam/annotators/graal.rb +1 -1
  21. data/lib/seafoam/bgv/bgv_parser.rb +12 -2
  22. data/lib/seafoam/cfg/cfg_parser.rb +93 -0
  23. data/lib/seafoam/cfg/disassembler.rb +70 -0
  24. data/lib/seafoam/commands.rb +196 -36
  25. data/lib/seafoam/graal/source.rb +23 -0
  26. data/lib/seafoam/isabelle_writer.rb +46 -0
  27. data/lib/seafoam/json_writer.rb +58 -0
  28. data/lib/seafoam/version.rb +1 -1
  29. data/seafoam.gemspec +4 -2
  30. data/spec/seafoam/annotators/graal_spec.rb +7 -7
  31. data/spec/seafoam/bgv/bgv_parser_spec.rb +27 -14
  32. data/spec/seafoam/cfg/cfg_parser_spec.rb +21 -0
  33. data/spec/seafoam/cfg/disassembler_spec.rb +32 -0
  34. data/spec/seafoam/command_spec.rb +94 -30
  35. data/spec/seafoam/graphviz_writer_spec.rb +2 -2
  36. data/spec/seafoam/json_writer_spec.rb +14 -0
  37. data/spec/seafoam/spec_helpers.rb +5 -1
  38. data/spec/seafoam/spotlight_spec.rb +1 -1
  39. data/tools/render-all +2 -2
  40. metadata +34 -98
  41. data/.github/workflows/rubocop.yml +0 -10
  42. data/.github/workflows/specs.yml +0 -19
  43. data/examples/fib-java.bgv +0 -0
  44. data/examples/fib-js.bgv +0 -0
  45. data/examples/fib-ruby.bgv +0 -0
  46. data/examples/identity.bgv +0 -0
  47. data/examples/java/exampleArithOperator.bgv +0 -0
  48. data/examples/java/exampleArithOperator.cfg +0 -925
  49. data/examples/java/exampleArrayAllocation.bgv +0 -0
  50. data/examples/java/exampleArrayAllocation.cfg +0 -5268
  51. data/examples/java/exampleArrayRead.bgv +0 -0
  52. data/examples/java/exampleArrayRead.cfg +0 -2263
  53. data/examples/java/exampleArrayWrite.bgv +0 -0
  54. data/examples/java/exampleArrayWrite.cfg +0 -2315
  55. data/examples/java/exampleCatch.bgv +0 -0
  56. data/examples/java/exampleCatch.cfg +0 -4150
  57. data/examples/java/exampleCompareOperator.bgv +0 -0
  58. data/examples/java/exampleCompareOperator.cfg +0 -1109
  59. data/examples/java/exampleDoubleSynchronized.bgv +0 -0
  60. data/examples/java/exampleDoubleSynchronized.cfg +0 -26497
  61. data/examples/java/exampleExactArith.bgv +0 -0
  62. data/examples/java/exampleExactArith.cfg +0 -1888
  63. data/examples/java/exampleFieldRead.bgv +0 -0
  64. data/examples/java/exampleFieldRead.cfg +0 -1228
  65. data/examples/java/exampleFieldWrite.bgv +0 -0
  66. data/examples/java/exampleFieldWrite.cfg +0 -1102
  67. data/examples/java/exampleFor.bgv +0 -0
  68. data/examples/java/exampleFor.cfg +0 -3936
  69. data/examples/java/exampleFullEscape.bgv +0 -0
  70. data/examples/java/exampleFullEscape.cfg +0 -5893
  71. data/examples/java/exampleIf.bgv +0 -0
  72. data/examples/java/exampleIf.cfg +0 -2462
  73. data/examples/java/exampleIfNeverTaken.bgv +0 -0
  74. data/examples/java/exampleIfNeverTaken.cfg +0 -2476
  75. data/examples/java/exampleInstanceOfManyImpls.bgv +0 -0
  76. data/examples/java/exampleInstanceOfManyImpls.cfg +0 -6391
  77. data/examples/java/exampleInstanceOfOneImpl.bgv +0 -0
  78. data/examples/java/exampleInstanceOfOneImpl.cfg +0 -2604
  79. data/examples/java/exampleIntSwitch.bgv +0 -0
  80. data/examples/java/exampleIntSwitch.cfg +0 -3121
  81. data/examples/java/exampleInterfaceCallManyImpls.bgv +0 -0
  82. data/examples/java/exampleInterfaceCallManyImpls.cfg +0 -1358
  83. data/examples/java/exampleInterfaceCallOneImpl.bgv +0 -0
  84. data/examples/java/exampleInterfaceCallOneImpl.cfg +0 -3859
  85. data/examples/java/exampleLocalInstanceOf.bgv +0 -0
  86. data/examples/java/exampleLocalInstanceOf.cfg +0 -5276
  87. data/examples/java/exampleLocalSynchronized.bgv +0 -0
  88. data/examples/java/exampleLocalSynchronized.cfg +0 -1364
  89. data/examples/java/exampleLocalVariables.bgv +0 -0
  90. data/examples/java/exampleLocalVariables.cfg +0 -1195
  91. data/examples/java/exampleLocalVariablesState.bgv +0 -0
  92. data/examples/java/exampleLocalVariablesState.cfg +0 -1673
  93. data/examples/java/exampleNestedWhile.bgv +0 -0
  94. data/examples/java/exampleNestedWhile.cfg +0 -15499
  95. data/examples/java/exampleNestedWhileBreak.bgv +0 -0
  96. data/examples/java/exampleNestedWhileBreak.cfg +0 -11162
  97. data/examples/java/exampleNoEscape.bgv +0 -0
  98. data/examples/java/exampleNoEscape.cfg +0 -974
  99. data/examples/java/exampleObjectAllocation.bgv +0 -0
  100. data/examples/java/exampleObjectAllocation.cfg +0 -5287
  101. data/examples/java/examplePartialEscape.bgv +0 -0
  102. data/examples/java/examplePartialEscape.cfg +0 -7042
  103. data/examples/java/examplePhi.bgv +0 -0
  104. data/examples/java/examplePhi.cfg +0 -3227
  105. data/examples/java/exampleReducible.bgv +0 -0
  106. data/examples/java/exampleReducible.cfg +0 -5578
  107. data/examples/java/exampleSimpleCall.bgv +0 -0
  108. data/examples/java/exampleSimpleCall.cfg +0 -1435
  109. data/examples/java/exampleStamp.bgv +0 -0
  110. data/examples/java/exampleStamp.cfg +0 -913
  111. data/examples/java/exampleStaticCall.bgv +0 -0
  112. data/examples/java/exampleStaticCall.cfg +0 -1154
  113. data/examples/java/exampleStringSwitch.bgv +0 -0
  114. data/examples/java/exampleStringSwitch.cfg +0 -15377
  115. data/examples/java/exampleSynchronized.bgv +0 -0
  116. data/examples/java/exampleSynchronized.cfg +0 -26027
  117. data/examples/java/exampleThrow.bgv +0 -0
  118. data/examples/java/exampleThrow.cfg +0 -780
  119. data/examples/java/exampleThrowCatch.bgv +0 -0
  120. data/examples/java/exampleThrowCatch.cfg +0 -744
  121. data/examples/java/exampleUnsafeRead.bgv +0 -0
  122. data/examples/java/exampleUnsafeRead.cfg +0 -912
  123. data/examples/java/exampleUnsafeWrite.bgv +0 -0
  124. data/examples/java/exampleUnsafeWrite.cfg +0 -962
  125. data/examples/java/exampleWhile.bgv +0 -0
  126. data/examples/java/exampleWhile.cfg +0 -3936
  127. data/examples/java/exampleWhileBreak.bgv +0 -0
  128. data/examples/java/exampleWhileBreak.cfg +0 -5963
  129. data/examples/matmult-java.bgv +0 -0
  130. data/examples/matmult-ruby.bgv +0 -0
  131. data/examples/overflow.bgv +0 -0
  132. data/lib/seafoam/binary/binary_reader.rb +0 -21
  133. data/spec/seafoam/bgv/fixtures/not.bgv +0 -1
  134. data/spec/seafoam/bgv/fixtures/unsupported.bgv +0 -1
Binary file
@@ -1,3936 +0,0 @@
1
- begin_compilation
2
- name " HotSpotCompilation-354[JavaExamples.exampleFor(int)]"
3
- method "HotSpotCompilation-354[JavaExamples.exampleFor(int)]"
4
- date 1583848523262
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: v26
28
- === Usages ===
29
- === Predecessor ===
30
- - >@ <|@
31
- instruction <@StartNode|@org.graalvm.compiler.nodes.StartNode>@ stateAfter: - #next: v26 <|@ <|@
32
- f <@~|@floating>@ <|@
33
- tid i1 <|@
34
- d <@d|@=== Debug Properties ===
35
- index: 0
36
- stamp: i32
37
- uncheckedStamp: [null]
38
- === Inputs ===
39
- === Succesors ===
40
- === Usages ===
41
- i29 v37 v23 v38 v42
42
- === Predecessor ===
43
- - >@ <|@
44
- instruction <@Parameter|@org.graalvm.compiler.nodes.ParameterNode>@ <|@ <|@
45
- f <@~|@floating>@ <|@
46
- tid i9 <|@
47
- d <@d|@=== Debug Properties ===
48
- isDefaultStable: false
49
- nodeSourcePosition: at JavaExamples.exampleFor(JavaExamples.java:229) [bci: 3]
50
- rawvalue: 1
51
- stableDimension: 0
52
- stamp: i32 [1] ⇊0000000000000001 ⇈0000000000000001
53
- stampKind: i32
54
- value: int[1|0x1]
55
- === Inputs ===
56
- === Succesors ===
57
- === Usages ===
58
- v10 v23
59
- === Predecessor ===
60
- - >@ <|@
61
- instruction <@Constant|@org.graalvm.compiler.nodes.ConstantNode>@ <|@ <|@
62
- f <@~|@floating>@ <|@
63
- tid v23 <|@
64
- d <@d|@=== Debug Properties ===
65
- condition: LT
66
- nodeSourcePosition: at JavaExamples.exampleFor(JavaExamples.java:229) [bci: 3]
67
- op: org.graalvm.compiler.nodes.calc.IntegerLessThanNode$LessThanOp@12fdaa370
68
- stamp: void
69
- unorderedIsTrue: false
70
- === Inputs ===
71
- x: i1
72
- y: i9
73
- === Succesors ===
74
- === Usages ===
75
- v26
76
- === Predecessor ===
77
- - >@ <|@
78
- instruction <@<|@org.graalvm.compiler.nodes.calc.IntegerLessThanNode>@ x: i1 y: i9 <|@ <|@
79
- f <@*|@fixed>@ <|@
80
- tid v26 <|@
81
- d <@d|@=== Debug Properties ===
82
- nodeSourcePosition: at JavaExamples.exampleFor(JavaExamples.java:229) [bci: 3]
83
- stamp: void
84
- trueSuccessorProbability: 0.1824315833228609
85
- === Inputs ===
86
- condition: v23
87
- === Succesors ===
88
- trueSuccessor: v25
89
- falseSuccessor: v24
90
- === Usages ===
91
- === Predecessor ===
92
- v0 >@ <|@
93
- instruction <@If|@org.graalvm.compiler.nodes.IfNode>@ condition: v23 #trueSuccessor: v25 #falseSuccessor: v24 <|@ <|@
94
- end_IR
95
- end_block
96
- begin_block
97
- name "B1"
98
- from_bci -1
99
- to_bci -1
100
- predecessors "B0"
101
- successors
102
- xhandlers
103
- flags
104
- probability 4595740810775922992
105
- begin_IR
106
- HIR
107
- f <@#|@fixed with next>@ <|@
108
- tid v25 <|@
109
- d <@d|@=== Debug Properties ===
110
- nodeSourcePosition: at JavaExamples.exampleFor(JavaExamples.java:232) [bci: 16]
111
- stamp: void
112
- withSpeculationFence: false
113
- === Inputs ===
114
- === Succesors ===
115
- next: v38
116
- === Usages ===
117
- === Predecessor ===
118
- v26 >@ <|@
119
- instruction <@Begin|@org.graalvm.compiler.nodes.BeginNode>@ #next: v38 <|@ <|@
120
- f <@*|@fixed>@ <|@
121
- tid v38 <|@
122
- d <@d|@=== Debug Properties ===
123
- nodeSourcePosition: at JavaExamples.exampleFor(JavaExamples.java:232) [bci: 17]
124
- stamp: void
125
- === Inputs ===
126
- result: i1
127
- memoryMap: -
128
- === Succesors ===
129
- === Usages ===
130
- === Predecessor ===
131
- v25 >@ <|@
132
- instruction <@Return|@org.graalvm.compiler.nodes.ReturnNode>@ result: i1 memoryMap: - <|@ <|@
133
- end_IR
134
- end_block
135
- begin_block
136
- name "B2"
137
- from_bci -1
138
- to_bci -1
139
- predecessors "B0"
140
- successors "B3"
141
- xhandlers
142
- flags
143
- probability 4605539221178670516
144
- begin_IR
145
- HIR
146
- f <@#|@fixed with next>@ <|@
147
- tid v24 <|@
148
- d <@d|@=== Debug Properties ===
149
- nodeSourcePosition: at JavaExamples.exampleFor(JavaExamples.java:230) [bci: 6]
150
- stamp: void
151
- withSpeculationFence: false
152
- === Inputs ===
153
- === Succesors ===
154
- next: v46
155
- === Usages ===
156
- === Predecessor ===
157
- v26 >@ <|@
158
- instruction <@Begin|@org.graalvm.compiler.nodes.BeginNode>@ #next: v46 <|@ <|@
159
- f <@#|@fixed with next>@ <|@
160
- tid v46 <|@
161
- d <@d|@=== Debug Properties ===
162
- barriers: 10
163
- location: ANY_LOCATION
164
- stamp: void
165
- === Inputs ===
166
- === Succesors ===
167
- next: v42
168
- === Usages ===
169
- === Predecessor ===
170
- v24 >@ <|@
171
- instruction <@Membar|@org.graalvm.compiler.nodes.extended.MembarNode>@ #next: v42 <|@ <|@
172
- f <@~|@floating>@ <|@
173
- tid a39 <|@
174
- d <@d|@=== Debug Properties ===
175
- isDefaultStable: false
176
- nodeSourcePosition: at JavaExamples.exampleFor(JavaExamples.java:230) [bci: 7]
177
- rawvalue: Instance<java.lang.Class>
178
- stableDimension: 0
179
- stamp: a!# Ljava/lang/Class;
180
- stampKind: a -
181
- value: Object[Instance<java.lang.Class>]
182
- === Inputs ===
183
- === Succesors ===
184
- === Usages ===
185
- v45
186
- === Predecessor ===
187
- - >@ <|@
188
- instruction <@Constant|@org.graalvm.compiler.nodes.ConstantNode>@ <|@ <|@
189
- f <@~|@floating>@ <|@
190
- tid v45 <|@
191
- d <@d|@=== Debug Properties ===
192
- displacement: 128
193
- scale: Times1
194
- stamp: void*
195
- === Inputs ===
196
- base: a39
197
- index: -
198
- === Succesors ===
199
- === Usages ===
200
- v42 v43
201
- === Predecessor ===
202
- - >@ <|@
203
- instruction <@AMD64Address|@org.graalvm.compiler.core.amd64.AMD64AddressNode>@ base: a39 index: - <|@ <|@
204
- f <@#|@fixed with next>@ <|@
205
- tid v42 <|@
206
- d <@d|@=== Debug Properties ===
207
- barrierType: NONE
208
- location: JavaExamples.intField
209
- nodeSourcePosition: at JavaExamples.exampleFor(JavaExamples.java:230) [bci: 7]
210
- nullCheck: false
211
- stamp: void
212
- volatileAccess: true
213
- === Inputs ===
214
- stateBefore: -
215
- guard: -
216
- address: v45
217
- value: i1
218
- stateAfter: -
219
- lastLocationAccess: -
220
- === Succesors ===
221
- next: v47
222
- === Usages ===
223
- === Predecessor ===
224
- v46 >@ <|@
225
- instruction <@Write|@org.graalvm.compiler.nodes.memory.WriteNode>@ stateBefore: - guard: - address: v45 value: i1 stateAfter: - lastLocationAccess: - #next: v47 <|@ <|@
226
- f <@#|@fixed with next>@ <|@
227
- tid v47 <|@
228
- d <@d|@=== Debug Properties ===
229
- barriers: 12
230
- location: ANY_LOCATION
231
- stamp: void
232
- === Inputs ===
233
- === Succesors ===
234
- next: v4
235
- === Usages ===
236
- === Predecessor ===
237
- v42 >@ <|@
238
- instruction <@Membar|@org.graalvm.compiler.nodes.extended.MembarNode>@ #next: v4 <|@ <|@
239
- f <@~|@floating>@ <|@
240
- tid i18 <|@
241
- d <@d|@=== Debug Properties ===
242
- isDefaultStable: false
243
- nodeSourcePosition: at JavaExamples.exampleFor(JavaExamples.java:229) [bci: 10]
244
- rawvalue: -1
245
- stableDimension: 0
246
- stamp: i32 [-1] ⇊00000000ffffffff
247
- stampKind: i32
248
- value: int[-1|0xffffffffffffffff]
249
- === Inputs ===
250
- === Succesors ===
251
- === Usages ===
252
- i19 i29
253
- === Predecessor ===
254
- - >@ <|@
255
- instruction <@Constant|@org.graalvm.compiler.nodes.ConstantNode>@ <|@ <|@
256
- f <@~|@floating>@ <|@
257
- tid i29 <|@
258
- d <@d|@=== Debug Properties ===
259
- nodeSourcePosition: at JavaExamples.exampleFor(JavaExamples.java:229) [bci: 10]
260
- stamp: i32
261
- === Inputs ===
262
- x: i1
263
- y: i18
264
- === Succesors ===
265
- === Usages ===
266
- i36
267
- === Predecessor ===
268
- - >@ <|@
269
- instruction <@+|@org.graalvm.compiler.nodes.calc.AddNode>@ x: i1 y: i18 <|@ <|@
270
- f <@*|@fixed>@ <|@
271
- tid v4 <|@
272
- d <@d|@=== Debug Properties ===
273
- nodeSourcePosition: at JavaExamples.exampleFor(JavaExamples.java:229) [bci: 2]
274
- stamp: void
275
- === Inputs ===
276
- === Succesors ===
277
- === Usages ===
278
- v5
279
- === Predecessor ===
280
- v47 >@ <|@
281
- instruction <@EndNode|@org.graalvm.compiler.nodes.EndNode>@ <|@ <|@
282
- end_IR
283
- end_block
284
- begin_block
285
- name "B3"
286
- from_bci -1
287
- to_bci -1
288
- predecessors "B2" "B5"
289
- successors "B4" "B5"
290
- xhandlers
291
- flags "llh"
292
- loop_index 0
293
- loop_depth 1
294
- probability 4615432875006888783
295
- begin_IR
296
- HIR
297
- f <@~|@floating>@ <|@
298
- tid i36 <|@
299
- d <@d|@=== Debug Properties ===
300
- stamp: i32
301
- valueDescription: i32
302
- === Inputs ===
303
- merge: v5
304
- values: i29 i19
305
- === Succesors ===
306
- === Usages ===
307
- i19 v10 v43
308
- === Predecessor ===
309
- - >@ <|@
310
- instruction <@ValuePhi|@org.graalvm.compiler.nodes.ValuePhiNode>@ merge: v5 values: i29 i19 <|@ <|@
311
- f <@#|@fixed with next>@ <|@
312
- tid v5 <|@
313
- d <@d|@=== Debug Properties ===
314
- canEndsSafepoint: false
315
- inversionCount: 0
316
- loopFrequency: 4.481506994489193
317
- loopOrigFrequency: 1.0
318
- loopType: SIMPLE_LOOP
319
- nextEndIndex: 1
320
- nodeSourcePosition: at JavaExamples.exampleFor(JavaExamples.java:229) [bci: 2]
321
- osrLoop: false
322
- splits: 0
323
- stamp: void
324
- unrollFactor: 1
325
- unswitches: 0
326
- withSpeculationFence: false
327
- === Inputs ===
328
- stateAfter: -
329
- overflowGuard: -
330
- ends: v4
331
- === Succesors ===
332
- next: v15
333
- === Usages ===
334
- i36 v13 v20
335
- === Predecessor ===
336
- - >@ <|@
337
- instruction <@LoopBegin|@org.graalvm.compiler.nodes.LoopBeginNode>@ stateAfter: - overflowGuard: - ends: v4 #next: v15 <|@ <|@
338
- f <@~|@floating>@ <|@
339
- tid v10 <|@
340
- d <@d|@=== Debug Properties ===
341
- condition: LT
342
- nodeSourcePosition: at JavaExamples.exampleFor(JavaExamples.java:229) [bci: 3]
343
- op: org.graalvm.compiler.nodes.calc.IntegerLessThanNode$LessThanOp@12fdaa370
344
- stamp: void
345
- unorderedIsTrue: false
346
- === Inputs ===
347
- x: i36
348
- y: i9
349
- === Succesors ===
350
- === Usages ===
351
- v15
352
- === Predecessor ===
353
- - >@ <|@
354
- instruction <@<|@org.graalvm.compiler.nodes.calc.IntegerLessThanNode>@ x: i36 y: i9 <|@ <|@
355
- f <@*|@fixed>@ <|@
356
- tid v15 <|@
357
- d <@d|@=== Debug Properties ===
358
- nodeSourcePosition: at JavaExamples.exampleFor(JavaExamples.java:229) [bci: 3]
359
- stamp: void
360
- trueSuccessorProbability: 0.1824315833228609
361
- === Inputs ===
362
- condition: v10
363
- === Succesors ===
364
- trueSuccessor: v13
365
- falseSuccessor: v11
366
- === Usages ===
367
- === Predecessor ===
368
- v5 >@ <|@
369
- instruction <@If|@org.graalvm.compiler.nodes.IfNode>@ condition: v10 #trueSuccessor: v13 #falseSuccessor: v11 <|@ <|@
370
- end_IR
371
- end_block
372
- begin_block
373
- name "B4"
374
- from_bci -1
375
- to_bci -1
376
- predecessors "B3"
377
- successors
378
- xhandlers
379
- flags
380
- probability 4604195794701098297
381
- begin_IR
382
- HIR
383
- f <@#|@fixed with next>@ <|@
384
- tid v13 <|@
385
- d <@d|@=== Debug Properties ===
386
- nodeSourcePosition: at JavaExamples.exampleFor(JavaExamples.java:232) [bci: 16]
387
- stamp: void
388
- withSpeculationFence: false
389
- === Inputs ===
390
- stateAfter: -
391
- loopBegin: v5
392
- === Succesors ===
393
- next: v37
394
- === Usages ===
395
- === Predecessor ===
396
- v15 >@ <|@
397
- instruction <@LoopExit|@org.graalvm.compiler.nodes.LoopExitNode>@ stateAfter: - loopBegin: v5 #next: v37 <|@ <|@
398
- f <@*|@fixed>@ <|@
399
- tid v37 <|@
400
- d <@d|@=== Debug Properties ===
401
- nodeSourcePosition: at JavaExamples.exampleFor(JavaExamples.java:232) [bci: 17]
402
- stamp: void
403
- === Inputs ===
404
- result: i1
405
- memoryMap: -
406
- === Succesors ===
407
- === Usages ===
408
- === Predecessor ===
409
- v13 >@ <|@
410
- instruction <@Return|@org.graalvm.compiler.nodes.ReturnNode>@ result: i1 memoryMap: - <|@ <|@
411
- end_IR
412
- end_block
413
- begin_block
414
- name "B5"
415
- from_bci -1
416
- to_bci -1
417
- predecessors "B3"
418
- successors "B3"
419
- xhandlers
420
- flags "lle"
421
- loop_index 0
422
- loop_depth 1
423
- probability 4613927731217933313
424
- begin_IR
425
- HIR
426
- f <@#|@fixed with next>@ <|@
427
- tid v11 <|@
428
- d <@d|@=== Debug Properties ===
429
- nodeSourcePosition: at JavaExamples.exampleFor(JavaExamples.java:230) [bci: 6]
430
- stamp: void
431
- withSpeculationFence: false
432
- === Inputs ===
433
- === Succesors ===
434
- next: v48
435
- === Usages ===
436
- === Predecessor ===
437
- v15 >@ <|@
438
- instruction <@Begin|@org.graalvm.compiler.nodes.BeginNode>@ #next: v48 <|@ <|@
439
- f <@#|@fixed with next>@ <|@
440
- tid v48 <|@
441
- d <@d|@=== Debug Properties ===
442
- barriers: 10
443
- location: ANY_LOCATION
444
- stamp: void
445
- === Inputs ===
446
- === Succesors ===
447
- next: v43
448
- === Usages ===
449
- === Predecessor ===
450
- v11 >@ <|@
451
- instruction <@Membar|@org.graalvm.compiler.nodes.extended.MembarNode>@ #next: v43 <|@ <|@
452
- f <@#|@fixed with next>@ <|@
453
- tid v43 <|@
454
- d <@d|@=== Debug Properties ===
455
- barrierType: NONE
456
- location: JavaExamples.intField
457
- nodeSourcePosition: at JavaExamples.exampleFor(JavaExamples.java:230) [bci: 7]
458
- nullCheck: false
459
- stamp: void
460
- volatileAccess: true
461
- === Inputs ===
462
- stateBefore: -
463
- guard: -
464
- address: v45
465
- value: i36
466
- stateAfter: -
467
- lastLocationAccess: -
468
- === Succesors ===
469
- next: v49
470
- === Usages ===
471
- === Predecessor ===
472
- v48 >@ <|@
473
- instruction <@Write|@org.graalvm.compiler.nodes.memory.WriteNode>@ stateBefore: - guard: - address: v45 value: i36 stateAfter: - lastLocationAccess: - #next: v49 <|@ <|@
474
- f <@#|@fixed with next>@ <|@
475
- tid v49 <|@
476
- d <@d|@=== Debug Properties ===
477
- barriers: 12
478
- location: ANY_LOCATION
479
- stamp: void
480
- === Inputs ===
481
- === Succesors ===
482
- next: v20
483
- === Usages ===
484
- === Predecessor ===
485
- v43 >@ <|@
486
- instruction <@Membar|@org.graalvm.compiler.nodes.extended.MembarNode>@ #next: v20 <|@ <|@
487
- f <@~|@floating>@ <|@
488
- tid i19 <|@
489
- d <@d|@=== Debug Properties ===
490
- nodeSourcePosition: at JavaExamples.exampleFor(JavaExamples.java:229) [bci: 10]
491
- stamp: i32
492
- === Inputs ===
493
- x: i36
494
- y: i18
495
- === Succesors ===
496
- === Usages ===
497
- i36
498
- === Predecessor ===
499
- - >@ <|@
500
- instruction <@+|@org.graalvm.compiler.nodes.calc.AddNode>@ x: i36 y: i18 <|@ <|@
501
- f <@*|@fixed>@ <|@
502
- tid v20 <|@
503
- d <@d|@=== Debug Properties ===
504
- canSafepoint: false
505
- endIndex: 0
506
- nodeSourcePosition: at JavaExamples.exampleFor(JavaExamples.java:229) [bci: 2]
507
- stamp: void
508
- === Inputs ===
509
- loopBegin: v5
510
- === Succesors ===
511
- === Usages ===
512
- === Predecessor ===
513
- v49 >@ <|@
514
- instruction <@LoopEnd|@org.graalvm.compiler.nodes.LoopEndNode>@ loopBegin: v5 <|@ <|@
515
- end_IR
516
- end_block
517
- end_cfg
518
- begin_cfg
519
- name "After LIRGeneration"
520
- begin_block
521
- name "B0"
522
- from_bci -1
523
- to_bci -1
524
- predecessors
525
- successors "B1" "B2"
526
- xhandlers
527
- flags
528
- probability 4607182418800017408
529
- begin_IR
530
- LIR
531
- nr -1 <|@ instruction [rsi|DWORD, rbp|QWORD] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
532
- nr -1 <|@ instruction v5|QWORD = MOVE rbp|QWORD moveKind: QWORD <|@ <|@
533
- nr -1 <|@ instruction [] = HOTSPOTLOCKSTACK frameMapBuilder: org.graalvm.compiler.lir.amd64.AMD64FrameMapBuilder@134ff0250 slotKind: QWORD <|@ <|@
534
- nr -1 <|@ instruction v0|DWORD = MOVE rsi|DWORD moveKind: DWORD <|@ <|@
535
- nr -1 <|@ instruction CMP v0|DWORD y: 1 size: DWORD <|@ <|@
536
- nr -1 <|@ instruction BRANCH trueDestinationProbability: 0.1824315833228609 condition: < trueDestination: B0 -> B1 falseDestination: B0 -> B2 <|@ <|@
537
- end_IR
538
- end_block
539
- begin_block
540
- name "B2"
541
- from_bci -1
542
- to_bci -1
543
- predecessors "B0"
544
- successors "B3"
545
- xhandlers
546
- flags
547
- probability 4605539221178670516
548
- begin_IR
549
- LIR
550
- nr -1 <|@ instruction [] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
551
- nr -1 <|@ instruction v1|QWORD[.] = HOTSPOTLOADOBJECTCONSTANT input: Object[Instance<java.lang.Class>] <|@ <|@
552
- nr -1 <|@ instruction MOV (x: [v1|QWORD[.] + 128], y: v0|DWORD) size: DWORD <|@ <|@
553
- nr -1 <|@ instruction MEMBAR barriers: 4 <|@ <|@
554
- nr -1 <|@ instruction v2|DWORD = DEC v0|DWORD size: DWORD <|@ <|@
555
- nr -1 <|@ instruction JUMP ~[v2|DWORD] destination: B2 -> B3 <|@ <|@
556
- end_IR
557
- end_block
558
- begin_block
559
- name "B5"
560
- from_bci -1
561
- to_bci -1
562
- predecessors "B3"
563
- successors "B3"
564
- xhandlers
565
- flags "lle"
566
- loop_index 0
567
- loop_depth 1
568
- probability 4613927731217933313
569
- begin_IR
570
- LIR
571
- nr -1 <|@ instruction [] = LABEL numbPhis: 0 align: true label: ? <|@ <|@
572
- nr -1 <|@ instruction MOV (x: [v1|QWORD[.] + 128], y: v3|DWORD) size: DWORD <|@ <|@
573
- nr -1 <|@ instruction MEMBAR barriers: 4 <|@ <|@
574
- nr -1 <|@ instruction v4|DWORD = DEC v3|DWORD size: DWORD <|@ <|@
575
- nr -1 <|@ instruction JUMP ~[v4|DWORD] destination: B5 -> B3 <|@ <|@
576
- end_IR
577
- end_block
578
- begin_block
579
- name "B3"
580
- from_bci -1
581
- to_bci -1
582
- predecessors "B2" "B5"
583
- successors "B4" "B5"
584
- xhandlers
585
- flags "llh"
586
- loop_index 0
587
- loop_depth 1
588
- probability 4615432875006888783
589
- begin_IR
590
- LIR
591
- nr -1 <|@ instruction [v3|DWORD] = LABEL numbPhis: 1 align: false label: ? <|@ <|@
592
- nr -1 <|@ instruction CMP v3|DWORD y: 1 size: DWORD <|@ <|@
593
- nr -1 <|@ instruction BRANCH trueDestinationProbability: 0.1824315833228609 condition: < trueDestination: B3 -> B4 falseDestination: B3 -> B5 <|@ <|@
594
- end_IR
595
- end_block
596
- begin_block
597
- name "B4"
598
- from_bci -1
599
- to_bci -1
600
- predecessors "B3"
601
- successors
602
- xhandlers
603
- flags
604
- probability 4604195794701098297
605
- begin_IR
606
- LIR
607
- nr -1 <|@ instruction [] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
608
- nr -1 <|@ instruction rax|DWORD = MOVE v0|DWORD moveKind: DWORD <|@ <|@
609
- nr -1 <|@ instruction RETURN (savedRbp: v5|QWORD, value: rax|DWORD) isStub: false requiresReservedStackAccessCheck: false thread: r15 scratchForSafepointOnReturn: rcx config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@130e187d8 <|@ <|@
610
- end_IR
611
- end_block
612
- begin_block
613
- name "B1"
614
- from_bci -1
615
- to_bci -1
616
- predecessors "B0"
617
- successors
618
- xhandlers
619
- flags
620
- probability 4595740810775922992
621
- begin_IR
622
- LIR
623
- nr -1 <|@ instruction [] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
624
- nr -1 <|@ instruction rax|DWORD = MOVE v0|DWORD moveKind: DWORD <|@ <|@
625
- nr -1 <|@ instruction RETURN (savedRbp: v5|QWORD, value: rax|DWORD) isStub: false requiresReservedStackAccessCheck: false thread: r15 scratchForSafepointOnReturn: rcx config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@130e187d8 <|@ <|@
626
- end_IR
627
- end_block
628
- end_cfg
629
- begin_bytecodes
630
- 0: iload_0
631
- 1: istore_1
632
- 2: iload_1
633
- 3: ifle 16
634
- 6: iload_1
635
- 7: putstatic #59 // intField:int
636
- 10: iinc
637
- 13: goto 2
638
- 16: iload_0
639
- 17: ireturn
640
- <|@
641
- end_bytecodes
642
- begin_cfg
643
- name "After LIR generation"
644
- begin_block
645
- name "B0"
646
- from_bci -1
647
- to_bci -1
648
- predecessors
649
- successors "B1" "B2"
650
- xhandlers
651
- flags
652
- probability 4607182418800017408
653
- begin_IR
654
- HIR
655
- f <@#|@fixed with next>@ <|@
656
- tid v0 <|@
657
- d <@d|@=== Debug Properties ===
658
- stamp: void
659
- withSpeculationFence: false
660
- === Inputs ===
661
- stateAfter: -
662
- === Succesors ===
663
- next: v26
664
- === Usages ===
665
- === Predecessor ===
666
- - >@ <|@
667
- instruction <@StartNode|@org.graalvm.compiler.nodes.StartNode>@ stateAfter: - #next: v26 <|@ <|@
668
- f <@~|@floating>@ <|@
669
- tid i1 <|@
670
- result v0|DWORD <|@
671
- d <@d|@=== Debug Properties ===
672
- index: 0
673
- stamp: i32
674
- uncheckedStamp: [null]
675
- === Inputs ===
676
- === Succesors ===
677
- === Usages ===
678
- i29 v37 v23 v38 v42
679
- === Predecessor ===
680
- - >@ <|@
681
- instruction <@Parameter|@org.graalvm.compiler.nodes.ParameterNode>@ <|@ <|@
682
- f <@~|@floating>@ <|@
683
- tid i9 <|@
684
- result int[1|0x1] <|@
685
- d <@d|@=== Debug Properties ===
686
- isDefaultStable: false
687
- nodeSourcePosition: at JavaExamples.exampleFor(JavaExamples.java:229) [bci: 3]
688
- rawvalue: 1
689
- stableDimension: 0
690
- stamp: i32 [1] ⇊0000000000000001 ⇈0000000000000001
691
- stampKind: i32
692
- value: int[1|0x1]
693
- === Inputs ===
694
- === Succesors ===
695
- === Usages ===
696
- v10 v23
697
- === Predecessor ===
698
- - >@ <|@
699
- instruction <@Constant|@org.graalvm.compiler.nodes.ConstantNode>@ <|@ <|@
700
- f <@~|@floating>@ <|@
701
- tid v23 <|@
702
- d <@d|@=== Debug Properties ===
703
- condition: LT
704
- nodeSourcePosition: at JavaExamples.exampleFor(JavaExamples.java:229) [bci: 3]
705
- op: org.graalvm.compiler.nodes.calc.IntegerLessThanNode$LessThanOp@12fdaa370
706
- stamp: void
707
- unorderedIsTrue: false
708
- === Inputs ===
709
- x: i1
710
- y: i9
711
- === Succesors ===
712
- === Usages ===
713
- v26
714
- === Predecessor ===
715
- - >@ <|@
716
- instruction <@<|@org.graalvm.compiler.nodes.calc.IntegerLessThanNode>@ x: i1 y: i9 <|@ <|@
717
- f <@*|@fixed>@ <|@
718
- tid v26 <|@
719
- d <@d|@=== Debug Properties ===
720
- nodeSourcePosition: at JavaExamples.exampleFor(JavaExamples.java:229) [bci: 3]
721
- stamp: void
722
- trueSuccessorProbability: 0.1824315833228609
723
- === Inputs ===
724
- condition: v23
725
- === Succesors ===
726
- trueSuccessor: v25
727
- falseSuccessor: v24
728
- === Usages ===
729
- === Predecessor ===
730
- v0 >@ <|@
731
- instruction <@If|@org.graalvm.compiler.nodes.IfNode>@ condition: v23 #trueSuccessor: v25 #falseSuccessor: v24 <|@ <|@
732
- end_IR
733
- begin_IR
734
- LIR
735
- nr -1 <|@ instruction [rsi|DWORD, rbp|QWORD] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
736
- nr -1 <|@ instruction v5|QWORD = MOVE rbp|QWORD moveKind: QWORD <|@ <|@
737
- nr -1 <|@ instruction [] = HOTSPOTLOCKSTACK frameMapBuilder: org.graalvm.compiler.lir.amd64.AMD64FrameMapBuilder@134ff0250 slotKind: QWORD <|@ <|@
738
- nr -1 <|@ instruction v0|DWORD = MOVE rsi|DWORD moveKind: DWORD <|@ <|@
739
- nr -1 <|@ instruction CMP v0|DWORD y: 1 size: DWORD <|@ <|@
740
- nr -1 <|@ instruction BRANCH trueDestinationProbability: 0.1824315833228609 condition: < trueDestination: B0 -> B1 falseDestination: B0 -> B2 <|@ <|@
741
- end_IR
742
- end_block
743
- begin_block
744
- name "B1"
745
- from_bci -1
746
- to_bci -1
747
- predecessors "B0"
748
- successors
749
- xhandlers
750
- flags
751
- probability 4595740810775922992
752
- begin_IR
753
- HIR
754
- f <@#|@fixed with next>@ <|@
755
- tid v25 <|@
756
- d <@d|@=== Debug Properties ===
757
- nodeSourcePosition: at JavaExamples.exampleFor(JavaExamples.java:232) [bci: 16]
758
- stamp: void
759
- withSpeculationFence: false
760
- === Inputs ===
761
- === Succesors ===
762
- next: v38
763
- === Usages ===
764
- === Predecessor ===
765
- v26 >@ <|@
766
- instruction <@Begin|@org.graalvm.compiler.nodes.BeginNode>@ #next: v38 <|@ <|@
767
- f <@*|@fixed>@ <|@
768
- tid v38 <|@
769
- d <@d|@=== Debug Properties ===
770
- nodeSourcePosition: at JavaExamples.exampleFor(JavaExamples.java:232) [bci: 17]
771
- stamp: void
772
- === Inputs ===
773
- result: i1
774
- memoryMap: -
775
- === Succesors ===
776
- === Usages ===
777
- === Predecessor ===
778
- v25 >@ <|@
779
- instruction <@Return|@org.graalvm.compiler.nodes.ReturnNode>@ result: i1 memoryMap: - <|@ <|@
780
- end_IR
781
- begin_IR
782
- LIR
783
- nr -1 <|@ instruction [] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
784
- nr -1 <|@ instruction rax|DWORD = MOVE v0|DWORD moveKind: DWORD <|@ <|@
785
- nr -1 <|@ instruction RETURN (savedRbp: v5|QWORD, value: rax|DWORD) isStub: false requiresReservedStackAccessCheck: false thread: r15 scratchForSafepointOnReturn: rcx config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@130e187d8 <|@ <|@
786
- end_IR
787
- end_block
788
- begin_block
789
- name "B2"
790
- from_bci -1
791
- to_bci -1
792
- predecessors "B0"
793
- successors "B3"
794
- xhandlers
795
- flags
796
- probability 4605539221178670516
797
- begin_IR
798
- HIR
799
- f <@#|@fixed with next>@ <|@
800
- tid v24 <|@
801
- d <@d|@=== Debug Properties ===
802
- nodeSourcePosition: at JavaExamples.exampleFor(JavaExamples.java:230) [bci: 6]
803
- stamp: void
804
- withSpeculationFence: false
805
- === Inputs ===
806
- === Succesors ===
807
- next: v46
808
- === Usages ===
809
- === Predecessor ===
810
- v26 >@ <|@
811
- instruction <@Begin|@org.graalvm.compiler.nodes.BeginNode>@ #next: v46 <|@ <|@
812
- f <@#|@fixed with next>@ <|@
813
- tid v46 <|@
814
- d <@d|@=== Debug Properties ===
815
- barriers: 10
816
- location: ANY_LOCATION
817
- stamp: void
818
- === Inputs ===
819
- === Succesors ===
820
- next: v42
821
- === Usages ===
822
- === Predecessor ===
823
- v24 >@ <|@
824
- instruction <@Membar|@org.graalvm.compiler.nodes.extended.MembarNode>@ #next: v42 <|@ <|@
825
- f <@~|@floating>@ <|@
826
- tid a39 <|@
827
- result v1|QWORD[.] <|@
828
- d <@d|@=== Debug Properties ===
829
- isDefaultStable: false
830
- nodeSourcePosition: at JavaExamples.exampleFor(JavaExamples.java:230) [bci: 7]
831
- rawvalue: Instance<java.lang.Class>
832
- stableDimension: 0
833
- stamp: a!# Ljava/lang/Class;
834
- stampKind: a -
835
- value: Object[Instance<java.lang.Class>]
836
- === Inputs ===
837
- === Succesors ===
838
- === Usages ===
839
- v45
840
- === Predecessor ===
841
- - >@ <|@
842
- instruction <@Constant|@org.graalvm.compiler.nodes.ConstantNode>@ <|@ <|@
843
- f <@~|@floating>@ <|@
844
- tid v45 <|@
845
- result [v1|QWORD[.] + 128] <|@
846
- d <@d|@=== Debug Properties ===
847
- displacement: 128
848
- scale: Times1
849
- stamp: void*
850
- === Inputs ===
851
- base: a39
852
- index: -
853
- === Succesors ===
854
- === Usages ===
855
- v42 v43
856
- === Predecessor ===
857
- - >@ <|@
858
- instruction <@AMD64Address|@org.graalvm.compiler.core.amd64.AMD64AddressNode>@ base: a39 index: - <|@ <|@
859
- f <@#|@fixed with next>@ <|@
860
- tid v42 <|@
861
- d <@d|@=== Debug Properties ===
862
- barrierType: NONE
863
- location: JavaExamples.intField
864
- nodeSourcePosition: at JavaExamples.exampleFor(JavaExamples.java:230) [bci: 7]
865
- nullCheck: false
866
- stamp: void
867
- volatileAccess: true
868
- === Inputs ===
869
- stateBefore: -
870
- guard: -
871
- address: v45
872
- value: i1
873
- stateAfter: -
874
- lastLocationAccess: -
875
- === Succesors ===
876
- next: v47
877
- === Usages ===
878
- === Predecessor ===
879
- v46 >@ <|@
880
- instruction <@Write|@org.graalvm.compiler.nodes.memory.WriteNode>@ stateBefore: - guard: - address: v45 value: i1 stateAfter: - lastLocationAccess: - #next: v47 <|@ <|@
881
- f <@#|@fixed with next>@ <|@
882
- tid v47 <|@
883
- d <@d|@=== Debug Properties ===
884
- barriers: 12
885
- location: ANY_LOCATION
886
- stamp: void
887
- === Inputs ===
888
- === Succesors ===
889
- next: v4
890
- === Usages ===
891
- === Predecessor ===
892
- v42 >@ <|@
893
- instruction <@Membar|@org.graalvm.compiler.nodes.extended.MembarNode>@ #next: v4 <|@ <|@
894
- f <@~|@floating>@ <|@
895
- tid i18 <|@
896
- result int[-1|0xffffffffffffffff] <|@
897
- d <@d|@=== Debug Properties ===
898
- isDefaultStable: false
899
- nodeSourcePosition: at JavaExamples.exampleFor(JavaExamples.java:229) [bci: 10]
900
- rawvalue: -1
901
- stableDimension: 0
902
- stamp: i32 [-1] ⇊00000000ffffffff
903
- stampKind: i32
904
- value: int[-1|0xffffffffffffffff]
905
- === Inputs ===
906
- === Succesors ===
907
- === Usages ===
908
- i19 i29
909
- === Predecessor ===
910
- - >@ <|@
911
- instruction <@Constant|@org.graalvm.compiler.nodes.ConstantNode>@ <|@ <|@
912
- f <@~|@floating>@ <|@
913
- tid i29 <|@
914
- result v2|DWORD <|@
915
- d <@d|@=== Debug Properties ===
916
- nodeSourcePosition: at JavaExamples.exampleFor(JavaExamples.java:229) [bci: 10]
917
- stamp: i32
918
- === Inputs ===
919
- x: i1
920
- y: i18
921
- === Succesors ===
922
- === Usages ===
923
- i36
924
- === Predecessor ===
925
- - >@ <|@
926
- instruction <@+|@org.graalvm.compiler.nodes.calc.AddNode>@ x: i1 y: i18 <|@ <|@
927
- f <@*|@fixed>@ <|@
928
- tid v4 <|@
929
- d <@d|@=== Debug Properties ===
930
- nodeSourcePosition: at JavaExamples.exampleFor(JavaExamples.java:229) [bci: 2]
931
- stamp: void
932
- === Inputs ===
933
- === Succesors ===
934
- === Usages ===
935
- v5
936
- === Predecessor ===
937
- v47 >@ <|@
938
- instruction <@EndNode|@org.graalvm.compiler.nodes.EndNode>@ <|@ <|@
939
- end_IR
940
- begin_IR
941
- LIR
942
- nr -1 <|@ instruction [] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
943
- nr -1 <|@ instruction v1|QWORD[.] = HOTSPOTLOADOBJECTCONSTANT input: Object[Instance<java.lang.Class>] <|@ <|@
944
- nr -1 <|@ instruction MOV (x: [v1|QWORD[.] + 128], y: v0|DWORD) size: DWORD <|@ <|@
945
- nr -1 <|@ instruction MEMBAR barriers: 4 <|@ <|@
946
- nr -1 <|@ instruction v2|DWORD = DEC v0|DWORD size: DWORD <|@ <|@
947
- nr -1 <|@ instruction JUMP ~[v2|DWORD] destination: B2 -> B3 <|@ <|@
948
- end_IR
949
- end_block
950
- begin_block
951
- name "B3"
952
- from_bci -1
953
- to_bci -1
954
- predecessors "B2" "B5"
955
- successors "B4" "B5"
956
- xhandlers
957
- flags "llh"
958
- loop_index 0
959
- loop_depth 1
960
- probability 4615432875006888783
961
- begin_IR
962
- HIR
963
- f <@~|@floating>@ <|@
964
- tid i36 <|@
965
- result v3|DWORD <|@
966
- d <@d|@=== Debug Properties ===
967
- stamp: i32
968
- valueDescription: i32
969
- === Inputs ===
970
- merge: v5
971
- values: i29 i19
972
- === Succesors ===
973
- === Usages ===
974
- i19 v10 v43
975
- === Predecessor ===
976
- - >@ <|@
977
- instruction <@ValuePhi|@org.graalvm.compiler.nodes.ValuePhiNode>@ merge: v5 values: i29 i19 <|@ <|@
978
- f <@#|@fixed with next>@ <|@
979
- tid v5 <|@
980
- d <@d|@=== Debug Properties ===
981
- canEndsSafepoint: false
982
- inversionCount: 0
983
- loopFrequency: 4.481506994489193
984
- loopOrigFrequency: 1.0
985
- loopType: SIMPLE_LOOP
986
- nextEndIndex: 1
987
- nodeSourcePosition: at JavaExamples.exampleFor(JavaExamples.java:229) [bci: 2]
988
- osrLoop: false
989
- splits: 0
990
- stamp: void
991
- unrollFactor: 1
992
- unswitches: 0
993
- withSpeculationFence: false
994
- === Inputs ===
995
- stateAfter: -
996
- overflowGuard: -
997
- ends: v4
998
- === Succesors ===
999
- next: v15
1000
- === Usages ===
1001
- i36 v13 v20
1002
- === Predecessor ===
1003
- - >@ <|@
1004
- instruction <@LoopBegin|@org.graalvm.compiler.nodes.LoopBeginNode>@ stateAfter: - overflowGuard: - ends: v4 #next: v15 <|@ <|@
1005
- f <@~|@floating>@ <|@
1006
- tid v10 <|@
1007
- d <@d|@=== Debug Properties ===
1008
- condition: LT
1009
- nodeSourcePosition: at JavaExamples.exampleFor(JavaExamples.java:229) [bci: 3]
1010
- op: org.graalvm.compiler.nodes.calc.IntegerLessThanNode$LessThanOp@12fdaa370
1011
- stamp: void
1012
- unorderedIsTrue: false
1013
- === Inputs ===
1014
- x: i36
1015
- y: i9
1016
- === Succesors ===
1017
- === Usages ===
1018
- v15
1019
- === Predecessor ===
1020
- - >@ <|@
1021
- instruction <@<|@org.graalvm.compiler.nodes.calc.IntegerLessThanNode>@ x: i36 y: i9 <|@ <|@
1022
- f <@*|@fixed>@ <|@
1023
- tid v15 <|@
1024
- d <@d|@=== Debug Properties ===
1025
- nodeSourcePosition: at JavaExamples.exampleFor(JavaExamples.java:229) [bci: 3]
1026
- stamp: void
1027
- trueSuccessorProbability: 0.1824315833228609
1028
- === Inputs ===
1029
- condition: v10
1030
- === Succesors ===
1031
- trueSuccessor: v13
1032
- falseSuccessor: v11
1033
- === Usages ===
1034
- === Predecessor ===
1035
- v5 >@ <|@
1036
- instruction <@If|@org.graalvm.compiler.nodes.IfNode>@ condition: v10 #trueSuccessor: v13 #falseSuccessor: v11 <|@ <|@
1037
- end_IR
1038
- begin_IR
1039
- LIR
1040
- nr -1 <|@ instruction [v3|DWORD] = LABEL numbPhis: 1 align: false label: ? <|@ <|@
1041
- nr -1 <|@ instruction CMP v3|DWORD y: 1 size: DWORD <|@ <|@
1042
- nr -1 <|@ instruction BRANCH trueDestinationProbability: 0.1824315833228609 condition: < trueDestination: B3 -> B4 falseDestination: B3 -> B5 <|@ <|@
1043
- end_IR
1044
- end_block
1045
- begin_block
1046
- name "B4"
1047
- from_bci -1
1048
- to_bci -1
1049
- predecessors "B3"
1050
- successors
1051
- xhandlers
1052
- flags
1053
- probability 4604195794701098297
1054
- begin_IR
1055
- HIR
1056
- f <@#|@fixed with next>@ <|@
1057
- tid v13 <|@
1058
- d <@d|@=== Debug Properties ===
1059
- nodeSourcePosition: at JavaExamples.exampleFor(JavaExamples.java:232) [bci: 16]
1060
- stamp: void
1061
- withSpeculationFence: false
1062
- === Inputs ===
1063
- stateAfter: -
1064
- loopBegin: v5
1065
- === Succesors ===
1066
- next: v37
1067
- === Usages ===
1068
- === Predecessor ===
1069
- v15 >@ <|@
1070
- instruction <@LoopExit|@org.graalvm.compiler.nodes.LoopExitNode>@ stateAfter: - loopBegin: v5 #next: v37 <|@ <|@
1071
- f <@*|@fixed>@ <|@
1072
- tid v37 <|@
1073
- d <@d|@=== Debug Properties ===
1074
- nodeSourcePosition: at JavaExamples.exampleFor(JavaExamples.java:232) [bci: 17]
1075
- stamp: void
1076
- === Inputs ===
1077
- result: i1
1078
- memoryMap: -
1079
- === Succesors ===
1080
- === Usages ===
1081
- === Predecessor ===
1082
- v13 >@ <|@
1083
- instruction <@Return|@org.graalvm.compiler.nodes.ReturnNode>@ result: i1 memoryMap: - <|@ <|@
1084
- end_IR
1085
- begin_IR
1086
- LIR
1087
- nr -1 <|@ instruction [] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
1088
- nr -1 <|@ instruction rax|DWORD = MOVE v0|DWORD moveKind: DWORD <|@ <|@
1089
- nr -1 <|@ instruction RETURN (savedRbp: v5|QWORD, value: rax|DWORD) isStub: false requiresReservedStackAccessCheck: false thread: r15 scratchForSafepointOnReturn: rcx config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@130e187d8 <|@ <|@
1090
- end_IR
1091
- end_block
1092
- begin_block
1093
- name "B5"
1094
- from_bci -1
1095
- to_bci -1
1096
- predecessors "B3"
1097
- successors "B3"
1098
- xhandlers
1099
- flags "lle"
1100
- loop_index 0
1101
- loop_depth 1
1102
- probability 4613927731217933313
1103
- begin_IR
1104
- HIR
1105
- f <@#|@fixed with next>@ <|@
1106
- tid v11 <|@
1107
- d <@d|@=== Debug Properties ===
1108
- nodeSourcePosition: at JavaExamples.exampleFor(JavaExamples.java:230) [bci: 6]
1109
- stamp: void
1110
- withSpeculationFence: false
1111
- === Inputs ===
1112
- === Succesors ===
1113
- next: v48
1114
- === Usages ===
1115
- === Predecessor ===
1116
- v15 >@ <|@
1117
- instruction <@Begin|@org.graalvm.compiler.nodes.BeginNode>@ #next: v48 <|@ <|@
1118
- f <@#|@fixed with next>@ <|@
1119
- tid v48 <|@
1120
- d <@d|@=== Debug Properties ===
1121
- barriers: 10
1122
- location: ANY_LOCATION
1123
- stamp: void
1124
- === Inputs ===
1125
- === Succesors ===
1126
- next: v43
1127
- === Usages ===
1128
- === Predecessor ===
1129
- v11 >@ <|@
1130
- instruction <@Membar|@org.graalvm.compiler.nodes.extended.MembarNode>@ #next: v43 <|@ <|@
1131
- f <@#|@fixed with next>@ <|@
1132
- tid v43 <|@
1133
- d <@d|@=== Debug Properties ===
1134
- barrierType: NONE
1135
- location: JavaExamples.intField
1136
- nodeSourcePosition: at JavaExamples.exampleFor(JavaExamples.java:230) [bci: 7]
1137
- nullCheck: false
1138
- stamp: void
1139
- volatileAccess: true
1140
- === Inputs ===
1141
- stateBefore: -
1142
- guard: -
1143
- address: v45
1144
- value: i36
1145
- stateAfter: -
1146
- lastLocationAccess: -
1147
- === Succesors ===
1148
- next: v49
1149
- === Usages ===
1150
- === Predecessor ===
1151
- v48 >@ <|@
1152
- instruction <@Write|@org.graalvm.compiler.nodes.memory.WriteNode>@ stateBefore: - guard: - address: v45 value: i36 stateAfter: - lastLocationAccess: - #next: v49 <|@ <|@
1153
- f <@#|@fixed with next>@ <|@
1154
- tid v49 <|@
1155
- d <@d|@=== Debug Properties ===
1156
- barriers: 12
1157
- location: ANY_LOCATION
1158
- stamp: void
1159
- === Inputs ===
1160
- === Succesors ===
1161
- next: v20
1162
- === Usages ===
1163
- === Predecessor ===
1164
- v43 >@ <|@
1165
- instruction <@Membar|@org.graalvm.compiler.nodes.extended.MembarNode>@ #next: v20 <|@ <|@
1166
- f <@~|@floating>@ <|@
1167
- tid i19 <|@
1168
- result v4|DWORD <|@
1169
- d <@d|@=== Debug Properties ===
1170
- nodeSourcePosition: at JavaExamples.exampleFor(JavaExamples.java:229) [bci: 10]
1171
- stamp: i32
1172
- === Inputs ===
1173
- x: i36
1174
- y: i18
1175
- === Succesors ===
1176
- === Usages ===
1177
- i36
1178
- === Predecessor ===
1179
- - >@ <|@
1180
- instruction <@+|@org.graalvm.compiler.nodes.calc.AddNode>@ x: i36 y: i18 <|@ <|@
1181
- f <@*|@fixed>@ <|@
1182
- tid v20 <|@
1183
- d <@d|@=== Debug Properties ===
1184
- canSafepoint: false
1185
- endIndex: 0
1186
- nodeSourcePosition: at JavaExamples.exampleFor(JavaExamples.java:229) [bci: 2]
1187
- stamp: void
1188
- === Inputs ===
1189
- loopBegin: v5
1190
- === Succesors ===
1191
- === Usages ===
1192
- === Predecessor ===
1193
- v49 >@ <|@
1194
- instruction <@LoopEnd|@org.graalvm.compiler.nodes.LoopEndNode>@ loopBegin: v5 <|@ <|@
1195
- end_IR
1196
- begin_IR
1197
- LIR
1198
- nr -1 <|@ instruction [] = LABEL numbPhis: 0 align: true label: ? <|@ <|@
1199
- nr -1 <|@ instruction MOV (x: [v1|QWORD[.] + 128], y: v3|DWORD) size: DWORD <|@ <|@
1200
- nr -1 <|@ instruction MEMBAR barriers: 4 <|@ <|@
1201
- nr -1 <|@ instruction v4|DWORD = DEC v3|DWORD size: DWORD <|@ <|@
1202
- nr -1 <|@ instruction JUMP ~[v4|DWORD] destination: B5 -> B3 <|@ <|@
1203
- end_IR
1204
- end_block
1205
- end_cfg
1206
- begin_cfg
1207
- name "After ConstantLoadOptimization"
1208
- begin_block
1209
- name "B0"
1210
- from_bci -1
1211
- to_bci -1
1212
- predecessors
1213
- successors "B1" "B2"
1214
- xhandlers
1215
- flags
1216
- probability 4607182418800017408
1217
- begin_IR
1218
- LIR
1219
- nr -1 <|@ instruction [rsi|DWORD, rbp|QWORD] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
1220
- nr -1 <|@ instruction v5|QWORD = MOVE rbp|QWORD moveKind: QWORD <|@ <|@
1221
- nr -1 <|@ instruction [] = HOTSPOTLOCKSTACK frameMapBuilder: org.graalvm.compiler.lir.amd64.AMD64FrameMapBuilder@134ff0250 slotKind: QWORD <|@ <|@
1222
- nr -1 <|@ instruction v0|DWORD = MOVE rsi|DWORD moveKind: DWORD <|@ <|@
1223
- nr -1 <|@ instruction CMP v0|DWORD y: 1 size: DWORD <|@ <|@
1224
- nr -1 <|@ instruction BRANCH trueDestinationProbability: 0.1824315833228609 condition: < trueDestination: B0 -> B1 falseDestination: B0 -> B2 <|@ <|@
1225
- end_IR
1226
- end_block
1227
- begin_block
1228
- name "B2"
1229
- from_bci -1
1230
- to_bci -1
1231
- predecessors "B0"
1232
- successors "B3"
1233
- xhandlers
1234
- flags
1235
- probability 4605539221178670516
1236
- begin_IR
1237
- LIR
1238
- nr -1 <|@ instruction [] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
1239
- nr -1 <|@ instruction v1|QWORD[.] = HOTSPOTLOADOBJECTCONSTANT input: Object[Instance<java.lang.Class>] <|@ <|@
1240
- nr -1 <|@ instruction MOV (x: [v1|QWORD[.] + 128], y: v0|DWORD) size: DWORD <|@ <|@
1241
- nr -1 <|@ instruction MEMBAR barriers: 4 <|@ <|@
1242
- nr -1 <|@ instruction v2|DWORD = DEC v0|DWORD size: DWORD <|@ <|@
1243
- nr -1 <|@ instruction JUMP ~[v2|DWORD] destination: B2 -> B3 <|@ <|@
1244
- end_IR
1245
- end_block
1246
- begin_block
1247
- name "B5"
1248
- from_bci -1
1249
- to_bci -1
1250
- predecessors "B3"
1251
- successors "B3"
1252
- xhandlers
1253
- flags "lle"
1254
- loop_index 0
1255
- loop_depth 1
1256
- probability 4613927731217933313
1257
- begin_IR
1258
- LIR
1259
- nr -1 <|@ instruction [] = LABEL numbPhis: 0 align: true label: ? <|@ <|@
1260
- nr -1 <|@ instruction MOV (x: [v1|QWORD[.] + 128], y: v3|DWORD) size: DWORD <|@ <|@
1261
- nr -1 <|@ instruction MEMBAR barriers: 4 <|@ <|@
1262
- nr -1 <|@ instruction v4|DWORD = DEC v3|DWORD size: DWORD <|@ <|@
1263
- nr -1 <|@ instruction JUMP ~[v4|DWORD] destination: B5 -> B3 <|@ <|@
1264
- end_IR
1265
- end_block
1266
- begin_block
1267
- name "B3"
1268
- from_bci -1
1269
- to_bci -1
1270
- predecessors "B2" "B5"
1271
- successors "B4" "B5"
1272
- xhandlers
1273
- flags "llh"
1274
- loop_index 0
1275
- loop_depth 1
1276
- probability 4615432875006888783
1277
- begin_IR
1278
- LIR
1279
- nr -1 <|@ instruction [v3|DWORD] = LABEL numbPhis: 1 align: false label: ? <|@ <|@
1280
- nr -1 <|@ instruction CMP v3|DWORD y: 1 size: DWORD <|@ <|@
1281
- nr -1 <|@ instruction BRANCH trueDestinationProbability: 0.1824315833228609 condition: < trueDestination: B3 -> B4 falseDestination: B3 -> B5 <|@ <|@
1282
- end_IR
1283
- end_block
1284
- begin_block
1285
- name "B4"
1286
- from_bci -1
1287
- to_bci -1
1288
- predecessors "B3"
1289
- successors
1290
- xhandlers
1291
- flags
1292
- probability 4604195794701098297
1293
- begin_IR
1294
- LIR
1295
- nr -1 <|@ instruction [] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
1296
- nr -1 <|@ instruction rax|DWORD = MOVE v0|DWORD moveKind: DWORD <|@ <|@
1297
- nr -1 <|@ instruction RETURN (savedRbp: v5|QWORD, value: rax|DWORD) isStub: false requiresReservedStackAccessCheck: false thread: r15 scratchForSafepointOnReturn: rcx config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@130e187d8 <|@ <|@
1298
- end_IR
1299
- end_block
1300
- begin_block
1301
- name "B1"
1302
- from_bci -1
1303
- to_bci -1
1304
- predecessors "B0"
1305
- successors
1306
- xhandlers
1307
- flags
1308
- probability 4595740810775922992
1309
- begin_IR
1310
- LIR
1311
- nr -1 <|@ instruction [] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
1312
- nr -1 <|@ instruction rax|DWORD = MOVE v0|DWORD moveKind: DWORD <|@ <|@
1313
- nr -1 <|@ instruction RETURN (savedRbp: v5|QWORD, value: rax|DWORD) isStub: false requiresReservedStackAccessCheck: false thread: r15 scratchForSafepointOnReturn: rcx config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@130e187d8 <|@ <|@
1314
- end_IR
1315
- end_block
1316
- end_cfg
1317
- begin_bytecodes
1318
- 0: iload_0
1319
- 1: istore_1
1320
- 2: iload_1
1321
- 3: ifle 16
1322
- 6: iload_1
1323
- 7: putstatic #59 // intField:int
1324
- 10: iinc
1325
- 13: goto 2
1326
- 16: iload_0
1327
- 17: ireturn
1328
- <|@
1329
- end_bytecodes
1330
- begin_cfg
1331
- name "After SaveCalleeSaveRegisters"
1332
- begin_block
1333
- name "B0"
1334
- from_bci -1
1335
- to_bci -1
1336
- predecessors
1337
- successors "B1" "B2"
1338
- xhandlers
1339
- flags
1340
- probability 4607182418800017408
1341
- begin_IR
1342
- LIR
1343
- nr -1 <|@ instruction [rsi|DWORD, rbp|QWORD] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
1344
- nr -1 <|@ instruction v5|QWORD = MOVE rbp|QWORD moveKind: QWORD <|@ <|@
1345
- nr -1 <|@ instruction [] = HOTSPOTLOCKSTACK frameMapBuilder: org.graalvm.compiler.lir.amd64.AMD64FrameMapBuilder@134ff0250 slotKind: QWORD <|@ <|@
1346
- nr -1 <|@ instruction v0|DWORD = MOVE rsi|DWORD moveKind: DWORD <|@ <|@
1347
- nr -1 <|@ instruction CMP v0|DWORD y: 1 size: DWORD <|@ <|@
1348
- nr -1 <|@ instruction BRANCH trueDestinationProbability: 0.1824315833228609 condition: < trueDestination: B0 -> B1 falseDestination: B0 -> B2 <|@ <|@
1349
- end_IR
1350
- end_block
1351
- begin_block
1352
- name "B2"
1353
- from_bci -1
1354
- to_bci -1
1355
- predecessors "B0"
1356
- successors "B3"
1357
- xhandlers
1358
- flags
1359
- probability 4605539221178670516
1360
- begin_IR
1361
- LIR
1362
- nr -1 <|@ instruction [] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
1363
- nr -1 <|@ instruction v1|QWORD[.] = HOTSPOTLOADOBJECTCONSTANT input: Object[Instance<java.lang.Class>] <|@ <|@
1364
- nr -1 <|@ instruction MOV (x: [v1|QWORD[.] + 128], y: v0|DWORD) size: DWORD <|@ <|@
1365
- nr -1 <|@ instruction MEMBAR barriers: 4 <|@ <|@
1366
- nr -1 <|@ instruction v2|DWORD = DEC v0|DWORD size: DWORD <|@ <|@
1367
- nr -1 <|@ instruction JUMP ~[v2|DWORD] destination: B2 -> B3 <|@ <|@
1368
- end_IR
1369
- end_block
1370
- begin_block
1371
- name "B5"
1372
- from_bci -1
1373
- to_bci -1
1374
- predecessors "B3"
1375
- successors "B3"
1376
- xhandlers
1377
- flags "lle"
1378
- loop_index 0
1379
- loop_depth 1
1380
- probability 4613927731217933313
1381
- begin_IR
1382
- LIR
1383
- nr -1 <|@ instruction [] = LABEL numbPhis: 0 align: true label: ? <|@ <|@
1384
- nr -1 <|@ instruction MOV (x: [v1|QWORD[.] + 128], y: v3|DWORD) size: DWORD <|@ <|@
1385
- nr -1 <|@ instruction MEMBAR barriers: 4 <|@ <|@
1386
- nr -1 <|@ instruction v4|DWORD = DEC v3|DWORD size: DWORD <|@ <|@
1387
- nr -1 <|@ instruction JUMP ~[v4|DWORD] destination: B5 -> B3 <|@ <|@
1388
- end_IR
1389
- end_block
1390
- begin_block
1391
- name "B3"
1392
- from_bci -1
1393
- to_bci -1
1394
- predecessors "B2" "B5"
1395
- successors "B4" "B5"
1396
- xhandlers
1397
- flags "llh"
1398
- loop_index 0
1399
- loop_depth 1
1400
- probability 4615432875006888783
1401
- begin_IR
1402
- LIR
1403
- nr -1 <|@ instruction [v3|DWORD] = LABEL numbPhis: 1 align: false label: ? <|@ <|@
1404
- nr -1 <|@ instruction CMP v3|DWORD y: 1 size: DWORD <|@ <|@
1405
- nr -1 <|@ instruction BRANCH trueDestinationProbability: 0.1824315833228609 condition: < trueDestination: B3 -> B4 falseDestination: B3 -> B5 <|@ <|@
1406
- end_IR
1407
- end_block
1408
- begin_block
1409
- name "B4"
1410
- from_bci -1
1411
- to_bci -1
1412
- predecessors "B3"
1413
- successors
1414
- xhandlers
1415
- flags
1416
- probability 4604195794701098297
1417
- begin_IR
1418
- LIR
1419
- nr -1 <|@ instruction [] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
1420
- nr -1 <|@ instruction rax|DWORD = MOVE v0|DWORD moveKind: DWORD <|@ <|@
1421
- nr -1 <|@ instruction RETURN (savedRbp: v5|QWORD, value: rax|DWORD) isStub: false requiresReservedStackAccessCheck: false thread: r15 scratchForSafepointOnReturn: rcx config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@130e187d8 <|@ <|@
1422
- end_IR
1423
- end_block
1424
- begin_block
1425
- name "B1"
1426
- from_bci -1
1427
- to_bci -1
1428
- predecessors "B0"
1429
- successors
1430
- xhandlers
1431
- flags
1432
- probability 4595740810775922992
1433
- begin_IR
1434
- LIR
1435
- nr -1 <|@ instruction [] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
1436
- nr -1 <|@ instruction rax|DWORD = MOVE v0|DWORD moveKind: DWORD <|@ <|@
1437
- nr -1 <|@ instruction RETURN (savedRbp: v5|QWORD, value: rax|DWORD) isStub: false requiresReservedStackAccessCheck: false thread: r15 scratchForSafepointOnReturn: rcx config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@130e187d8 <|@ <|@
1438
- end_IR
1439
- end_block
1440
- end_cfg
1441
- begin_bytecodes
1442
- 0: iload_0
1443
- 1: istore_1
1444
- 2: iload_1
1445
- 3: ifle 16
1446
- 6: iload_1
1447
- 7: putstatic #59 // intField:int
1448
- 10: iinc
1449
- 13: goto 2
1450
- 16: iload_0
1451
- 17: ireturn
1452
- <|@
1453
- end_bytecodes
1454
- begin_cfg
1455
- name "After PreAllocationOptimizationStage"
1456
- begin_block
1457
- name "B0"
1458
- from_bci -1
1459
- to_bci -1
1460
- predecessors
1461
- successors "B1" "B2"
1462
- xhandlers
1463
- flags
1464
- probability 4607182418800017408
1465
- begin_IR
1466
- LIR
1467
- nr -1 <|@ instruction [rsi|DWORD, rbp|QWORD] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
1468
- nr -1 <|@ instruction v5|QWORD = MOVE rbp|QWORD moveKind: QWORD <|@ <|@
1469
- nr -1 <|@ instruction [] = HOTSPOTLOCKSTACK frameMapBuilder: org.graalvm.compiler.lir.amd64.AMD64FrameMapBuilder@134ff0250 slotKind: QWORD <|@ <|@
1470
- nr -1 <|@ instruction v0|DWORD = MOVE rsi|DWORD moveKind: DWORD <|@ <|@
1471
- nr -1 <|@ instruction CMP v0|DWORD y: 1 size: DWORD <|@ <|@
1472
- nr -1 <|@ instruction BRANCH trueDestinationProbability: 0.1824315833228609 condition: < trueDestination: B0 -> B1 falseDestination: B0 -> B2 <|@ <|@
1473
- end_IR
1474
- end_block
1475
- begin_block
1476
- name "B2"
1477
- from_bci -1
1478
- to_bci -1
1479
- predecessors "B0"
1480
- successors "B3"
1481
- xhandlers
1482
- flags
1483
- probability 4605539221178670516
1484
- begin_IR
1485
- LIR
1486
- nr -1 <|@ instruction [] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
1487
- nr -1 <|@ instruction v1|QWORD[.] = HOTSPOTLOADOBJECTCONSTANT input: Object[Instance<java.lang.Class>] <|@ <|@
1488
- nr -1 <|@ instruction MOV (x: [v1|QWORD[.] + 128], y: v0|DWORD) size: DWORD <|@ <|@
1489
- nr -1 <|@ instruction MEMBAR barriers: 4 <|@ <|@
1490
- nr -1 <|@ instruction v2|DWORD = DEC v0|DWORD size: DWORD <|@ <|@
1491
- nr -1 <|@ instruction JUMP ~[v2|DWORD] destination: B2 -> B3 <|@ <|@
1492
- end_IR
1493
- end_block
1494
- begin_block
1495
- name "B5"
1496
- from_bci -1
1497
- to_bci -1
1498
- predecessors "B3"
1499
- successors "B3"
1500
- xhandlers
1501
- flags "lle"
1502
- loop_index 0
1503
- loop_depth 1
1504
- probability 4613927731217933313
1505
- begin_IR
1506
- LIR
1507
- nr -1 <|@ instruction [] = LABEL numbPhis: 0 align: true label: ? <|@ <|@
1508
- nr -1 <|@ instruction MOV (x: [v1|QWORD[.] + 128], y: v3|DWORD) size: DWORD <|@ <|@
1509
- nr -1 <|@ instruction MEMBAR barriers: 4 <|@ <|@
1510
- nr -1 <|@ instruction v4|DWORD = DEC v3|DWORD size: DWORD <|@ <|@
1511
- nr -1 <|@ instruction JUMP ~[v4|DWORD] destination: B5 -> B3 <|@ <|@
1512
- end_IR
1513
- end_block
1514
- begin_block
1515
- name "B3"
1516
- from_bci -1
1517
- to_bci -1
1518
- predecessors "B2" "B5"
1519
- successors "B4" "B5"
1520
- xhandlers
1521
- flags "llh"
1522
- loop_index 0
1523
- loop_depth 1
1524
- probability 4615432875006888783
1525
- begin_IR
1526
- LIR
1527
- nr -1 <|@ instruction [v3|DWORD] = LABEL numbPhis: 1 align: false label: ? <|@ <|@
1528
- nr -1 <|@ instruction CMP v3|DWORD y: 1 size: DWORD <|@ <|@
1529
- nr -1 <|@ instruction BRANCH trueDestinationProbability: 0.1824315833228609 condition: < trueDestination: B3 -> B4 falseDestination: B3 -> B5 <|@ <|@
1530
- end_IR
1531
- end_block
1532
- begin_block
1533
- name "B4"
1534
- from_bci -1
1535
- to_bci -1
1536
- predecessors "B3"
1537
- successors
1538
- xhandlers
1539
- flags
1540
- probability 4604195794701098297
1541
- begin_IR
1542
- LIR
1543
- nr -1 <|@ instruction [] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
1544
- nr -1 <|@ instruction rax|DWORD = MOVE v0|DWORD moveKind: DWORD <|@ <|@
1545
- nr -1 <|@ instruction RETURN (savedRbp: v5|QWORD, value: rax|DWORD) isStub: false requiresReservedStackAccessCheck: false thread: r15 scratchForSafepointOnReturn: rcx config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@130e187d8 <|@ <|@
1546
- end_IR
1547
- end_block
1548
- begin_block
1549
- name "B1"
1550
- from_bci -1
1551
- to_bci -1
1552
- predecessors "B0"
1553
- successors
1554
- xhandlers
1555
- flags
1556
- probability 4595740810775922992
1557
- begin_IR
1558
- LIR
1559
- nr -1 <|@ instruction [] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
1560
- nr -1 <|@ instruction rax|DWORD = MOVE v0|DWORD moveKind: DWORD <|@ <|@
1561
- nr -1 <|@ instruction RETURN (savedRbp: v5|QWORD, value: rax|DWORD) isStub: false requiresReservedStackAccessCheck: false thread: r15 scratchForSafepointOnReturn: rcx config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@130e187d8 <|@ <|@
1562
- end_IR
1563
- end_block
1564
- end_cfg
1565
- begin_bytecodes
1566
- 0: iload_0
1567
- 1: istore_1
1568
- 2: iload_1
1569
- 3: ifle 16
1570
- 6: iload_1
1571
- 7: putstatic #59 // intField:int
1572
- 10: iinc
1573
- 13: goto 2
1574
- 16: iload_0
1575
- 17: ireturn
1576
- <|@
1577
- end_bytecodes
1578
- begin_cfg
1579
- name "After MarkBasePointers"
1580
- begin_block
1581
- name "B0"
1582
- from_bci -1
1583
- to_bci -1
1584
- predecessors
1585
- successors "B1" "B2"
1586
- xhandlers
1587
- flags
1588
- probability 4607182418800017408
1589
- begin_IR
1590
- LIR
1591
- nr -1 <|@ instruction [rsi|DWORD, rbp|QWORD] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
1592
- nr -1 <|@ instruction v5|QWORD = MOVE rbp|QWORD moveKind: QWORD <|@ <|@
1593
- nr -1 <|@ instruction [] = HOTSPOTLOCKSTACK frameMapBuilder: org.graalvm.compiler.lir.amd64.AMD64FrameMapBuilder@134ff0250 slotKind: QWORD <|@ <|@
1594
- nr -1 <|@ instruction v0|DWORD = MOVE rsi|DWORD moveKind: DWORD <|@ <|@
1595
- nr -1 <|@ instruction CMP v0|DWORD y: 1 size: DWORD <|@ <|@
1596
- nr -1 <|@ instruction BRANCH trueDestinationProbability: 0.1824315833228609 condition: < trueDestination: B0 -> B1 falseDestination: B0 -> B2 <|@ <|@
1597
- end_IR
1598
- end_block
1599
- begin_block
1600
- name "B2"
1601
- from_bci -1
1602
- to_bci -1
1603
- predecessors "B0"
1604
- successors "B3"
1605
- xhandlers
1606
- flags
1607
- probability 4605539221178670516
1608
- begin_IR
1609
- LIR
1610
- nr -1 <|@ instruction [] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
1611
- nr -1 <|@ instruction v1|QWORD[.] = HOTSPOTLOADOBJECTCONSTANT input: Object[Instance<java.lang.Class>] <|@ <|@
1612
- nr -1 <|@ instruction MOV (x: [v1|QWORD[.] + 128], y: v0|DWORD) size: DWORD <|@ <|@
1613
- nr -1 <|@ instruction MEMBAR barriers: 4 <|@ <|@
1614
- nr -1 <|@ instruction v2|DWORD = DEC v0|DWORD size: DWORD <|@ <|@
1615
- nr -1 <|@ instruction JUMP ~[v2|DWORD] destination: B2 -> B3 <|@ <|@
1616
- end_IR
1617
- end_block
1618
- begin_block
1619
- name "B5"
1620
- from_bci -1
1621
- to_bci -1
1622
- predecessors "B3"
1623
- successors "B3"
1624
- xhandlers
1625
- flags "lle"
1626
- loop_index 0
1627
- loop_depth 1
1628
- probability 4613927731217933313
1629
- begin_IR
1630
- LIR
1631
- nr -1 <|@ instruction [] = LABEL numbPhis: 0 align: true label: ? <|@ <|@
1632
- nr -1 <|@ instruction MOV (x: [v1|QWORD[.] + 128], y: v3|DWORD) size: DWORD <|@ <|@
1633
- nr -1 <|@ instruction MEMBAR barriers: 4 <|@ <|@
1634
- nr -1 <|@ instruction v4|DWORD = DEC v3|DWORD size: DWORD <|@ <|@
1635
- nr -1 <|@ instruction JUMP ~[v4|DWORD] destination: B5 -> B3 <|@ <|@
1636
- end_IR
1637
- end_block
1638
- begin_block
1639
- name "B3"
1640
- from_bci -1
1641
- to_bci -1
1642
- predecessors "B2" "B5"
1643
- successors "B4" "B5"
1644
- xhandlers
1645
- flags "llh"
1646
- loop_index 0
1647
- loop_depth 1
1648
- probability 4615432875006888783
1649
- begin_IR
1650
- LIR
1651
- nr -1 <|@ instruction [v3|DWORD] = LABEL numbPhis: 1 align: false label: ? <|@ <|@
1652
- nr -1 <|@ instruction CMP v3|DWORD y: 1 size: DWORD <|@ <|@
1653
- nr -1 <|@ instruction BRANCH trueDestinationProbability: 0.1824315833228609 condition: < trueDestination: B3 -> B4 falseDestination: B3 -> B5 <|@ <|@
1654
- end_IR
1655
- end_block
1656
- begin_block
1657
- name "B4"
1658
- from_bci -1
1659
- to_bci -1
1660
- predecessors "B3"
1661
- successors
1662
- xhandlers
1663
- flags
1664
- probability 4604195794701098297
1665
- begin_IR
1666
- LIR
1667
- nr -1 <|@ instruction [] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
1668
- nr -1 <|@ instruction rax|DWORD = MOVE v0|DWORD moveKind: DWORD <|@ <|@
1669
- nr -1 <|@ instruction RETURN (savedRbp: v5|QWORD, value: rax|DWORD) isStub: false requiresReservedStackAccessCheck: false thread: r15 scratchForSafepointOnReturn: rcx config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@130e187d8 <|@ <|@
1670
- end_IR
1671
- end_block
1672
- begin_block
1673
- name "B1"
1674
- from_bci -1
1675
- to_bci -1
1676
- predecessors "B0"
1677
- successors
1678
- xhandlers
1679
- flags
1680
- probability 4595740810775922992
1681
- begin_IR
1682
- LIR
1683
- nr -1 <|@ instruction [] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
1684
- nr -1 <|@ instruction rax|DWORD = MOVE v0|DWORD moveKind: DWORD <|@ <|@
1685
- nr -1 <|@ instruction RETURN (savedRbp: v5|QWORD, value: rax|DWORD) isStub: false requiresReservedStackAccessCheck: false thread: r15 scratchForSafepointOnReturn: rcx config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@130e187d8 <|@ <|@
1686
- end_IR
1687
- end_block
1688
- end_cfg
1689
- begin_bytecodes
1690
- 0: iload_0
1691
- 1: istore_1
1692
- 2: iload_1
1693
- 3: ifle 16
1694
- 6: iload_1
1695
- 7: putstatic #59 // intField:int
1696
- 10: iinc
1697
- 13: goto 2
1698
- 16: iload_0
1699
- 17: ireturn
1700
- <|@
1701
- end_bytecodes
1702
- begin_cfg
1703
- name "Before register allocation"
1704
- begin_block
1705
- name "B0"
1706
- from_bci -1
1707
- to_bci -1
1708
- predecessors
1709
- successors "B1" "B2"
1710
- xhandlers
1711
- flags
1712
- probability 4607182418800017408
1713
- begin_IR
1714
- LIR
1715
- nr 0 <|@ instruction [rsi|DWORD, rbp|QWORD] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
1716
- nr 2 <|@ instruction v5|QWORD = MOVE rbp|QWORD moveKind: QWORD <|@ <|@
1717
- nr 4 <|@ instruction [] = HOTSPOTLOCKSTACK frameMapBuilder: org.graalvm.compiler.lir.amd64.AMD64FrameMapBuilder@134ff0250 slotKind: QWORD <|@ <|@
1718
- nr 6 <|@ instruction v0|DWORD = MOVE rsi|DWORD moveKind: DWORD <|@ <|@
1719
- nr 8 <|@ instruction CMP v0|DWORD y: 1 size: DWORD <|@ <|@
1720
- nr 10 <|@ instruction BRANCH trueDestinationProbability: 0.1824315833228609 condition: < trueDestination: B0 -> B1 falseDestination: B0 -> B2 <|@ <|@
1721
- end_IR
1722
- end_block
1723
- begin_block
1724
- name "B2"
1725
- from_bci -1
1726
- to_bci -1
1727
- predecessors "B0"
1728
- successors "B3"
1729
- xhandlers
1730
- flags
1731
- probability 4605539221178670516
1732
- begin_IR
1733
- LIR
1734
- nr 12 <|@ instruction [] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
1735
- nr 14 <|@ instruction v1|QWORD[.] = HOTSPOTLOADOBJECTCONSTANT input: Object[Instance<java.lang.Class>] <|@ <|@
1736
- nr 16 <|@ instruction MOV (x: [v1|QWORD[.] + 128], y: v0|DWORD) size: DWORD <|@ <|@
1737
- nr 18 <|@ instruction MEMBAR barriers: 4 <|@ <|@
1738
- nr 20 <|@ instruction v2|DWORD = DEC v0|DWORD size: DWORD <|@ <|@
1739
- nr 22 <|@ instruction JUMP ~[v2|DWORD] destination: B2 -> B3 <|@ <|@
1740
- end_IR
1741
- end_block
1742
- begin_block
1743
- name "B5"
1744
- from_bci -1
1745
- to_bci -1
1746
- predecessors "B3"
1747
- successors "B3"
1748
- xhandlers
1749
- flags "lle"
1750
- loop_index 0
1751
- loop_depth 1
1752
- probability 4613927731217933313
1753
- begin_IR
1754
- LIR
1755
- nr 30 <|@ instruction [] = LABEL numbPhis: 0 align: true label: ? <|@ <|@
1756
- nr 32 <|@ instruction MOV (x: [v1|QWORD[.] + 128], y: v3|DWORD) size: DWORD <|@ <|@
1757
- nr 34 <|@ instruction MEMBAR barriers: 4 <|@ <|@
1758
- nr 36 <|@ instruction v4|DWORD = DEC v3|DWORD size: DWORD <|@ <|@
1759
- nr 38 <|@ instruction JUMP ~[v4|DWORD] destination: B5 -> B3 <|@ <|@
1760
- end_IR
1761
- end_block
1762
- begin_block
1763
- name "B3"
1764
- from_bci -1
1765
- to_bci -1
1766
- predecessors "B2" "B5"
1767
- successors "B4" "B5"
1768
- xhandlers
1769
- flags "llh"
1770
- loop_index 0
1771
- loop_depth 1
1772
- probability 4615432875006888783
1773
- begin_IR
1774
- LIR
1775
- nr 24 <|@ instruction [v3|DWORD] = LABEL numbPhis: 1 align: false label: ? <|@ <|@
1776
- nr 26 <|@ instruction CMP v3|DWORD y: 1 size: DWORD <|@ <|@
1777
- nr 28 <|@ instruction BRANCH trueDestinationProbability: 0.1824315833228609 condition: < trueDestination: B3 -> B4 falseDestination: B3 -> B5 <|@ <|@
1778
- end_IR
1779
- end_block
1780
- begin_block
1781
- name "B4"
1782
- from_bci -1
1783
- to_bci -1
1784
- predecessors "B3"
1785
- successors
1786
- xhandlers
1787
- flags
1788
- probability 4604195794701098297
1789
- begin_IR
1790
- LIR
1791
- nr 40 <|@ instruction [] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
1792
- nr 42 <|@ instruction rax|DWORD = MOVE v0|DWORD moveKind: DWORD <|@ <|@
1793
- nr 44 <|@ instruction RETURN (savedRbp: v5|QWORD, value: rax|DWORD) isStub: false requiresReservedStackAccessCheck: false thread: r15 scratchForSafepointOnReturn: rcx config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@130e187d8 <|@ <|@
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 4595740810775922992
1805
- begin_IR
1806
- LIR
1807
- nr 46 <|@ instruction [] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
1808
- nr 48 <|@ instruction rax|DWORD = MOVE v0|DWORD moveKind: DWORD <|@ <|@
1809
- nr 50 <|@ instruction RETURN (savedRbp: v5|QWORD, value: rax|DWORD) isStub: false requiresReservedStackAccessCheck: false thread: r15 scratchForSafepointOnReturn: rcx config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@130e187d8 <|@ <|@
1810
- end_IR
1811
- end_block
1812
- end_cfg
1813
- begin_bytecodes
1814
- 0: iload_0
1815
- 1: istore_1
1816
- 2: iload_1
1817
- 3: ifle 16
1818
- 6: iload_1
1819
- 7: putstatic #59 // intField:int
1820
- 10: iinc
1821
- 13: goto 2
1822
- 16: iload_0
1823
- 17: ireturn
1824
- <|@
1825
- end_bytecodes
1826
- begin_cfg
1827
- name "After SSALinearScanLifetimeAnalysis"
1828
- begin_block
1829
- name "B0"
1830
- from_bci -1
1831
- to_bci -1
1832
- predecessors
1833
- successors "B1" "B2"
1834
- xhandlers
1835
- flags
1836
- probability 4607182418800017408
1837
- begin_IR
1838
- LIR
1839
- nr 0 <|@ instruction [rsi|DWORD, rbp|QWORD] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
1840
- nr 2 <|@ instruction v5|QWORD = MOVE rbp|QWORD moveKind: QWORD <|@ <|@
1841
- nr 4 <|@ instruction [] = HOTSPOTLOCKSTACK frameMapBuilder: org.graalvm.compiler.lir.amd64.AMD64FrameMapBuilder@134ff0250 slotKind: QWORD <|@ <|@
1842
- nr 6 <|@ instruction v0|DWORD = MOVE rsi|DWORD moveKind: DWORD <|@ <|@
1843
- nr 8 <|@ instruction CMP v0|DWORD y: 1 size: DWORD <|@ <|@
1844
- nr 10 <|@ instruction BRANCH trueDestinationProbability: 0.1824315833228609 condition: < trueDestination: B0 -> B1 falseDestination: B0 -> B2 <|@ <|@
1845
- end_IR
1846
- end_block
1847
- begin_block
1848
- name "B2"
1849
- from_bci -1
1850
- to_bci -1
1851
- predecessors "B0"
1852
- successors "B3"
1853
- xhandlers
1854
- flags
1855
- probability 4605539221178670516
1856
- begin_IR
1857
- LIR
1858
- nr 12 <|@ instruction [] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
1859
- nr 14 <|@ instruction v1|QWORD[.] = HOTSPOTLOADOBJECTCONSTANT input: Object[Instance<java.lang.Class>] <|@ <|@
1860
- nr 16 <|@ instruction MOV (x: [v1|QWORD[.] + 128], y: v0|DWORD) size: DWORD <|@ <|@
1861
- nr 18 <|@ instruction MEMBAR barriers: 4 <|@ <|@
1862
- nr 20 <|@ instruction v2|DWORD = DEC v0|DWORD size: DWORD <|@ <|@
1863
- nr 22 <|@ instruction JUMP ~[v2|DWORD] destination: B2 -> B3 <|@ <|@
1864
- end_IR
1865
- end_block
1866
- begin_block
1867
- name "B5"
1868
- from_bci -1
1869
- to_bci -1
1870
- predecessors "B3"
1871
- successors "B3"
1872
- xhandlers
1873
- flags "lle"
1874
- loop_index 0
1875
- loop_depth 1
1876
- probability 4613927731217933313
1877
- begin_IR
1878
- LIR
1879
- nr 30 <|@ instruction [] = LABEL numbPhis: 0 align: true label: ? <|@ <|@
1880
- nr 32 <|@ instruction MOV (x: [v1|QWORD[.] + 128], y: v3|DWORD) size: DWORD <|@ <|@
1881
- nr 34 <|@ instruction MEMBAR barriers: 4 <|@ <|@
1882
- nr 36 <|@ instruction v4|DWORD = DEC v3|DWORD size: DWORD <|@ <|@
1883
- nr 38 <|@ instruction JUMP ~[v4|DWORD] destination: B5 -> B3 <|@ <|@
1884
- end_IR
1885
- end_block
1886
- begin_block
1887
- name "B3"
1888
- from_bci -1
1889
- to_bci -1
1890
- predecessors "B2" "B5"
1891
- successors "B4" "B5"
1892
- xhandlers
1893
- flags "llh"
1894
- loop_index 0
1895
- loop_depth 1
1896
- probability 4615432875006888783
1897
- begin_IR
1898
- LIR
1899
- nr 24 <|@ instruction [v3|DWORD] = LABEL numbPhis: 1 align: false label: ? <|@ <|@
1900
- nr 26 <|@ instruction CMP v3|DWORD y: 1 size: DWORD <|@ <|@
1901
- nr 28 <|@ instruction BRANCH trueDestinationProbability: 0.1824315833228609 condition: < trueDestination: B3 -> B4 falseDestination: B3 -> B5 <|@ <|@
1902
- end_IR
1903
- end_block
1904
- begin_block
1905
- name "B4"
1906
- from_bci -1
1907
- to_bci -1
1908
- predecessors "B3"
1909
- successors
1910
- xhandlers
1911
- flags
1912
- probability 4604195794701098297
1913
- begin_IR
1914
- LIR
1915
- nr 40 <|@ instruction [] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
1916
- nr 42 <|@ instruction rax|DWORD = MOVE v0|DWORD moveKind: DWORD <|@ <|@
1917
- nr 44 <|@ instruction RETURN (savedRbp: v5|QWORD, value: rax|DWORD) isStub: false requiresReservedStackAccessCheck: false thread: r15 scratchForSafepointOnReturn: rcx config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@130e187d8 <|@ <|@
1918
- end_IR
1919
- end_block
1920
- begin_block
1921
- name "B1"
1922
- from_bci -1
1923
- to_bci -1
1924
- predecessors "B0"
1925
- successors
1926
- xhandlers
1927
- flags
1928
- probability 4595740810775922992
1929
- begin_IR
1930
- LIR
1931
- nr 46 <|@ instruction [] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
1932
- nr 48 <|@ instruction rax|DWORD = MOVE v0|DWORD moveKind: DWORD <|@ <|@
1933
- nr 50 <|@ instruction RETURN (savedRbp: v5|QWORD, value: rax|DWORD) isStub: false requiresReservedStackAccessCheck: false thread: r15 scratchForSafepointOnReturn: rcx config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@130e187d8 <|@ <|@
1934
- end_IR
1935
- end_block
1936
- end_cfg
1937
- begin_bytecodes
1938
- 0: iload_0
1939
- 1: istore_1
1940
- 2: iload_1
1941
- 3: ifle 16
1942
- 6: iload_1
1943
- 7: putstatic #59 // intField:int
1944
- 10: iinc
1945
- 13: goto 2
1946
- 16: iload_0
1947
- 17: ireturn
1948
- <|@
1949
- end_bytecodes
1950
- begin_intervals
1951
- name "Before register allocation"
1952
- rax|d fixed "[rax|d]" rax|d v0|d [0, 1[[42, 44[[48, 50[ "NoOptimization"
1953
- rbp|q fixed "[rbp|q]" rbp|q -1 [0, 2[ "NoSpillStore"
1954
- rsi|d fixed "[rsi|d]" rsi|d -1 [0, 6[ "NoSpillStore"
1955
- v0|d DWORD "[v0|d]" v0|d rsi|d [6, 42[[46, 48[6 MustHaveRegister 8 ShouldHaveRegister 16 MustHaveRegister 20 ShouldHaveRegister 42 ShouldHaveRegister 48 ShouldHaveRegister "NoSpillStore"
1956
- v1|q QWORD "[v1|q]" v1|q -1 [14, 40[14 MustHaveRegister 16 MustHaveRegister 32 MustHaveRegister 39 LiveAtLoopEnd "NoSpillStore"
1957
- v2|d DWORD "[v2|d]" v2|d v0|d [20, 23[20 MustHaveRegister 22 ShouldHaveRegister "NoSpillStore"
1958
- v3|d DWORD "[v3|d]" v3|d v4|d [24, 36[26 ShouldHaveRegister 32 MustHaveRegister 36 ShouldHaveRegister "NoSpillStore"
1959
- v4|d DWORD "[v4|d]" v4|d v3|d [36, 39[36 MustHaveRegister 38 ShouldHaveRegister "NoSpillStore"
1960
- v5|q QWORD "[v5|q]" v5|q rbp|q [2, 44[[46, 50[2 MustHaveRegister 44 ShouldHaveRegister 50 ShouldHaveRegister "NoSpillStore"
1961
- end_intervals
1962
- begin_intervals
1963
- name "After register allocation"
1964
- rax|d fixed "[rax|d]" rax|d v0|d [0, 1[[42, 44[[48, 50[ "NoOptimization"
1965
- rbp|q fixed "[rbp|q]" rbp|q -1 [0, 2[ "NoSpillStore"
1966
- rsi|d fixed "[rsi|d]" rsi|d -1 [0, 6[ "NoSpillStore"
1967
- v0|d DWORD "[rsi|d]" v0|d rsi|d [6, 42[[46, 48[6 MustHaveRegister 8 ShouldHaveRegister 16 MustHaveRegister 20 ShouldHaveRegister 42 ShouldHaveRegister 48 ShouldHaveRegister "NoSpillStore"
1968
- v1|q QWORD "[rax|q]" v1|q -1 [14, 40[14 MustHaveRegister 16 MustHaveRegister 32 MustHaveRegister 39 LiveAtLoopEnd "NoSpillStore"
1969
- v2|d DWORD "[r10|d]" v2|d v0|d [20, 23[20 MustHaveRegister 22 ShouldHaveRegister "NoSpillStore"
1970
- v3|d DWORD "[r10|d]" v3|d v4|d [24, 36[26 ShouldHaveRegister 32 MustHaveRegister 36 ShouldHaveRegister "NoSpillStore"
1971
- v4|d DWORD "[r10|d]" v4|d v3|d [36, 39[36 MustHaveRegister 38 ShouldHaveRegister "NoSpillStore"
1972
- v5|q QWORD "[rbp|q]" v5|q rbp|q [2, 44[[46, 50[2 MustHaveRegister 44 ShouldHaveRegister 50 ShouldHaveRegister "NoSpillStore"
1973
- end_intervals
1974
- begin_cfg
1975
- name "After LinearScanRegisterAllocation"
1976
- begin_block
1977
- name "B0"
1978
- from_bci -1
1979
- to_bci -1
1980
- predecessors
1981
- successors "B1" "B2"
1982
- xhandlers
1983
- flags
1984
- probability 4607182418800017408
1985
- begin_IR
1986
- LIR
1987
- nr 0 <|@ instruction [rsi|DWORD, rbp|QWORD] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
1988
- nr 2 <|@ instruction v5|QWORD = MOVE rbp|QWORD moveKind: QWORD <|@ <|@
1989
- nr 4 <|@ instruction [] = HOTSPOTLOCKSTACK frameMapBuilder: org.graalvm.compiler.lir.amd64.AMD64FrameMapBuilder@134ff0250 slotKind: QWORD <|@ <|@
1990
- nr 6 <|@ instruction v0|DWORD = MOVE rsi|DWORD moveKind: DWORD <|@ <|@
1991
- nr 8 <|@ instruction CMP v0|DWORD y: 1 size: DWORD <|@ <|@
1992
- nr 10 <|@ instruction BRANCH trueDestinationProbability: 0.1824315833228609 condition: < trueDestination: B0 -> B1 falseDestination: B0 -> B2 <|@ <|@
1993
- end_IR
1994
- end_block
1995
- begin_block
1996
- name "B2"
1997
- from_bci -1
1998
- to_bci -1
1999
- predecessors "B0"
2000
- successors "B3"
2001
- xhandlers
2002
- flags
2003
- probability 4605539221178670516
2004
- begin_IR
2005
- LIR
2006
- nr 12 <|@ instruction [] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
2007
- nr 14 <|@ instruction v1|QWORD[.] = HOTSPOTLOADOBJECTCONSTANT input: Object[Instance<java.lang.Class>] <|@ <|@
2008
- nr 16 <|@ instruction MOV (x: [v1|QWORD[.] + 128], y: v0|DWORD) size: DWORD <|@ <|@
2009
- nr 18 <|@ instruction MEMBAR barriers: 4 <|@ <|@
2010
- nr 20 <|@ instruction v2|DWORD = DEC v0|DWORD size: DWORD <|@ <|@
2011
- nr 22 <|@ instruction JUMP ~[v2|DWORD] destination: B2 -> B3 <|@ <|@
2012
- end_IR
2013
- end_block
2014
- begin_block
2015
- name "B5"
2016
- from_bci -1
2017
- to_bci -1
2018
- predecessors "B3"
2019
- successors "B3"
2020
- xhandlers
2021
- flags "lle"
2022
- loop_index 0
2023
- loop_depth 1
2024
- probability 4613927731217933313
2025
- begin_IR
2026
- LIR
2027
- nr 30 <|@ instruction [] = LABEL numbPhis: 0 align: true label: ? <|@ <|@
2028
- nr 32 <|@ instruction MOV (x: [v1|QWORD[.] + 128], y: v3|DWORD) size: DWORD <|@ <|@
2029
- nr 34 <|@ instruction MEMBAR barriers: 4 <|@ <|@
2030
- nr 36 <|@ instruction v4|DWORD = DEC v3|DWORD size: DWORD <|@ <|@
2031
- nr 38 <|@ instruction JUMP ~[v4|DWORD] destination: B5 -> B3 <|@ <|@
2032
- end_IR
2033
- end_block
2034
- begin_block
2035
- name "B3"
2036
- from_bci -1
2037
- to_bci -1
2038
- predecessors "B2" "B5"
2039
- successors "B4" "B5"
2040
- xhandlers
2041
- flags "llh"
2042
- loop_index 0
2043
- loop_depth 1
2044
- probability 4615432875006888783
2045
- begin_IR
2046
- LIR
2047
- nr 24 <|@ instruction [v3|DWORD] = LABEL numbPhis: 1 align: false label: ? <|@ <|@
2048
- nr 26 <|@ instruction CMP v3|DWORD y: 1 size: DWORD <|@ <|@
2049
- nr 28 <|@ instruction BRANCH trueDestinationProbability: 0.1824315833228609 condition: < trueDestination: B3 -> B4 falseDestination: B3 -> B5 <|@ <|@
2050
- end_IR
2051
- end_block
2052
- begin_block
2053
- name "B4"
2054
- from_bci -1
2055
- to_bci -1
2056
- predecessors "B3"
2057
- successors
2058
- xhandlers
2059
- flags
2060
- probability 4604195794701098297
2061
- begin_IR
2062
- LIR
2063
- nr 40 <|@ instruction [] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
2064
- nr 42 <|@ instruction rax|DWORD = MOVE v0|DWORD moveKind: DWORD <|@ <|@
2065
- nr 44 <|@ instruction RETURN (savedRbp: v5|QWORD, value: rax|DWORD) isStub: false requiresReservedStackAccessCheck: false thread: r15 scratchForSafepointOnReturn: rcx config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@130e187d8 <|@ <|@
2066
- end_IR
2067
- end_block
2068
- begin_block
2069
- name "B1"
2070
- from_bci -1
2071
- to_bci -1
2072
- predecessors "B0"
2073
- successors
2074
- xhandlers
2075
- flags
2076
- probability 4595740810775922992
2077
- begin_IR
2078
- LIR
2079
- nr 46 <|@ instruction [] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
2080
- nr 48 <|@ instruction rax|DWORD = MOVE v0|DWORD moveKind: DWORD <|@ <|@
2081
- nr 50 <|@ instruction RETURN (savedRbp: v5|QWORD, value: rax|DWORD) isStub: false requiresReservedStackAccessCheck: false thread: r15 scratchForSafepointOnReturn: rcx config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@130e187d8 <|@ <|@
2082
- end_IR
2083
- end_block
2084
- end_cfg
2085
- begin_bytecodes
2086
- 0: iload_0
2087
- 1: istore_1
2088
- 2: iload_1
2089
- 3: ifle 16
2090
- 6: iload_1
2091
- 7: putstatic #59 // intField:int
2092
- 10: iinc
2093
- 13: goto 2
2094
- 16: iload_0
2095
- 17: ireturn
2096
- <|@
2097
- end_bytecodes
2098
- begin_intervals
2099
- name "After optimize spill position"
2100
- rax|d fixed "[rax|d]" rax|d v0|d [0, 1[[42, 44[[48, 50[ "NoOptimization"
2101
- rbp|q fixed "[rbp|q]" rbp|q -1 [0, 2[ "NoSpillStore"
2102
- rsi|d fixed "[rsi|d]" rsi|d -1 [0, 6[ "NoSpillStore"
2103
- v0|d DWORD "[rsi|d]" v0|d rsi|d [6, 42[[46, 48[6 MustHaveRegister 8 ShouldHaveRegister 16 MustHaveRegister 20 ShouldHaveRegister 42 ShouldHaveRegister 48 ShouldHaveRegister "NoSpillStore"
2104
- v1|q QWORD "[rax|q]" v1|q -1 [14, 40[14 MustHaveRegister 16 MustHaveRegister 32 MustHaveRegister 39 LiveAtLoopEnd "NoSpillStore"
2105
- v2|d DWORD "[r10|d]" v2|d v0|d [20, 23[20 MustHaveRegister 22 ShouldHaveRegister "NoSpillStore"
2106
- v3|d DWORD "[r10|d]" v3|d v4|d [24, 36[26 ShouldHaveRegister 32 MustHaveRegister 36 ShouldHaveRegister "NoSpillStore"
2107
- v4|d DWORD "[r10|d]" v4|d v3|d [36, 39[36 MustHaveRegister 38 ShouldHaveRegister "NoSpillStore"
2108
- v5|q QWORD "[rbp|q]" v5|q rbp|q [2, 44[[46, 50[2 MustHaveRegister 44 ShouldHaveRegister 50 ShouldHaveRegister "NoSpillStore"
2109
- end_intervals
2110
- begin_cfg
2111
- name "After LinearScanOptimizeSpillPosition"
2112
- begin_block
2113
- name "B0"
2114
- from_bci -1
2115
- to_bci -1
2116
- predecessors
2117
- successors "B1" "B2"
2118
- xhandlers
2119
- flags
2120
- probability 4607182418800017408
2121
- begin_IR
2122
- LIR
2123
- nr 0 <|@ instruction [rsi|DWORD, rbp|QWORD] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
2124
- nr 2 <|@ instruction v5|QWORD = MOVE rbp|QWORD moveKind: QWORD <|@ <|@
2125
- nr 4 <|@ instruction [] = HOTSPOTLOCKSTACK frameMapBuilder: org.graalvm.compiler.lir.amd64.AMD64FrameMapBuilder@134ff0250 slotKind: QWORD <|@ <|@
2126
- nr 6 <|@ instruction v0|DWORD = MOVE rsi|DWORD moveKind: DWORD <|@ <|@
2127
- nr 8 <|@ instruction CMP v0|DWORD y: 1 size: DWORD <|@ <|@
2128
- nr 10 <|@ instruction BRANCH trueDestinationProbability: 0.1824315833228609 condition: < trueDestination: B0 -> B1 falseDestination: B0 -> B2 <|@ <|@
2129
- end_IR
2130
- end_block
2131
- begin_block
2132
- name "B2"
2133
- from_bci -1
2134
- to_bci -1
2135
- predecessors "B0"
2136
- successors "B3"
2137
- xhandlers
2138
- flags
2139
- probability 4605539221178670516
2140
- begin_IR
2141
- LIR
2142
- nr 12 <|@ instruction [] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
2143
- nr 14 <|@ instruction v1|QWORD[.] = HOTSPOTLOADOBJECTCONSTANT input: Object[Instance<java.lang.Class>] <|@ <|@
2144
- nr 16 <|@ instruction MOV (x: [v1|QWORD[.] + 128], y: v0|DWORD) size: DWORD <|@ <|@
2145
- nr 18 <|@ instruction MEMBAR barriers: 4 <|@ <|@
2146
- nr 20 <|@ instruction v2|DWORD = DEC v0|DWORD size: DWORD <|@ <|@
2147
- nr 22 <|@ instruction JUMP ~[v2|DWORD] destination: B2 -> B3 <|@ <|@
2148
- end_IR
2149
- end_block
2150
- begin_block
2151
- name "B5"
2152
- from_bci -1
2153
- to_bci -1
2154
- predecessors "B3"
2155
- successors "B3"
2156
- xhandlers
2157
- flags "lle"
2158
- loop_index 0
2159
- loop_depth 1
2160
- probability 4613927731217933313
2161
- begin_IR
2162
- LIR
2163
- nr 30 <|@ instruction [] = LABEL numbPhis: 0 align: true label: ? <|@ <|@
2164
- nr 32 <|@ instruction MOV (x: [v1|QWORD[.] + 128], y: v3|DWORD) size: DWORD <|@ <|@
2165
- nr 34 <|@ instruction MEMBAR barriers: 4 <|@ <|@
2166
- nr 36 <|@ instruction v4|DWORD = DEC v3|DWORD size: DWORD <|@ <|@
2167
- nr 38 <|@ instruction JUMP ~[v4|DWORD] destination: B5 -> B3 <|@ <|@
2168
- end_IR
2169
- end_block
2170
- begin_block
2171
- name "B3"
2172
- from_bci -1
2173
- to_bci -1
2174
- predecessors "B2" "B5"
2175
- successors "B4" "B5"
2176
- xhandlers
2177
- flags "llh"
2178
- loop_index 0
2179
- loop_depth 1
2180
- probability 4615432875006888783
2181
- begin_IR
2182
- LIR
2183
- nr 24 <|@ instruction [v3|DWORD] = LABEL numbPhis: 1 align: false label: ? <|@ <|@
2184
- nr 26 <|@ instruction CMP v3|DWORD y: 1 size: DWORD <|@ <|@
2185
- nr 28 <|@ instruction BRANCH trueDestinationProbability: 0.1824315833228609 condition: < trueDestination: B3 -> B4 falseDestination: B3 -> B5 <|@ <|@
2186
- end_IR
2187
- end_block
2188
- begin_block
2189
- name "B4"
2190
- from_bci -1
2191
- to_bci -1
2192
- predecessors "B3"
2193
- successors
2194
- xhandlers
2195
- flags
2196
- probability 4604195794701098297
2197
- begin_IR
2198
- LIR
2199
- nr 40 <|@ instruction [] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
2200
- nr 42 <|@ instruction rax|DWORD = MOVE v0|DWORD moveKind: DWORD <|@ <|@
2201
- nr 44 <|@ instruction RETURN (savedRbp: v5|QWORD, value: rax|DWORD) isStub: false requiresReservedStackAccessCheck: false thread: r15 scratchForSafepointOnReturn: rcx config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@130e187d8 <|@ <|@
2202
- end_IR
2203
- end_block
2204
- begin_block
2205
- name "B1"
2206
- from_bci -1
2207
- to_bci -1
2208
- predecessors "B0"
2209
- successors
2210
- xhandlers
2211
- flags
2212
- probability 4595740810775922992
2213
- begin_IR
2214
- LIR
2215
- nr 46 <|@ instruction [] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
2216
- nr 48 <|@ instruction rax|DWORD = MOVE v0|DWORD moveKind: DWORD <|@ <|@
2217
- nr 50 <|@ instruction RETURN (savedRbp: v5|QWORD, value: rax|DWORD) isStub: false requiresReservedStackAccessCheck: false thread: r15 scratchForSafepointOnReturn: rcx config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@130e187d8 <|@ <|@
2218
- end_IR
2219
- end_block
2220
- end_cfg
2221
- begin_bytecodes
2222
- 0: iload_0
2223
- 1: istore_1
2224
- 2: iload_1
2225
- 3: ifle 16
2226
- 6: iload_1
2227
- 7: putstatic #59 // intField:int
2228
- 10: iinc
2229
- 13: goto 2
2230
- 16: iload_0
2231
- 17: ireturn
2232
- <|@
2233
- end_bytecodes
2234
- begin_intervals
2235
- name "After resolve data flow"
2236
- rax|d fixed "[rax|d]" rax|d v0|d [0, 1[[42, 44[[48, 50[ "NoOptimization"
2237
- rbp|q fixed "[rbp|q]" rbp|q -1 [0, 2[ "NoSpillStore"
2238
- rsi|d fixed "[rsi|d]" rsi|d -1 [0, 6[ "NoSpillStore"
2239
- v0|d DWORD "[rsi|d]" v0|d rsi|d [6, 42[[46, 48[6 MustHaveRegister 8 ShouldHaveRegister 16 MustHaveRegister 20 ShouldHaveRegister 42 ShouldHaveRegister 48 ShouldHaveRegister "NoSpillStore"
2240
- v1|q QWORD "[rax|q]" v1|q -1 [14, 40[14 MustHaveRegister 16 MustHaveRegister 32 MustHaveRegister 39 LiveAtLoopEnd "NoSpillStore"
2241
- v2|d DWORD "[r10|d]" v2|d v0|d [20, 23[20 MustHaveRegister 22 ShouldHaveRegister "NoSpillStore"
2242
- v3|d DWORD "[r10|d]" v3|d v4|d [24, 36[26 ShouldHaveRegister 32 MustHaveRegister 36 ShouldHaveRegister "NoSpillStore"
2243
- v4|d DWORD "[r10|d]" v4|d v3|d [36, 39[36 MustHaveRegister 38 ShouldHaveRegister "NoSpillStore"
2244
- v5|q QWORD "[rbp|q]" v5|q rbp|q [2, 44[[46, 50[2 MustHaveRegister 44 ShouldHaveRegister 50 ShouldHaveRegister "NoSpillStore"
2245
- end_intervals
2246
- begin_cfg
2247
- name "After SSALinearScanResolveDataFlow"
2248
- begin_block
2249
- name "B0"
2250
- from_bci -1
2251
- to_bci -1
2252
- predecessors
2253
- successors "B1" "B2"
2254
- xhandlers
2255
- flags
2256
- probability 4607182418800017408
2257
- begin_IR
2258
- LIR
2259
- nr 0 <|@ instruction [rsi|DWORD, rbp|QWORD] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
2260
- nr 2 <|@ instruction v5|QWORD = MOVE rbp|QWORD moveKind: QWORD <|@ <|@
2261
- nr 4 <|@ instruction [] = HOTSPOTLOCKSTACK frameMapBuilder: org.graalvm.compiler.lir.amd64.AMD64FrameMapBuilder@134ff0250 slotKind: QWORD <|@ <|@
2262
- nr 6 <|@ instruction v0|DWORD = MOVE rsi|DWORD moveKind: DWORD <|@ <|@
2263
- nr 8 <|@ instruction CMP v0|DWORD y: 1 size: DWORD <|@ <|@
2264
- nr 10 <|@ instruction BRANCH trueDestinationProbability: 0.1824315833228609 condition: < trueDestination: B0 -> B1 falseDestination: B0 -> B2 <|@ <|@
2265
- end_IR
2266
- end_block
2267
- begin_block
2268
- name "B2"
2269
- from_bci -1
2270
- to_bci -1
2271
- predecessors "B0"
2272
- successors "B3"
2273
- xhandlers
2274
- flags
2275
- probability 4605539221178670516
2276
- begin_IR
2277
- LIR
2278
- nr 12 <|@ instruction [] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
2279
- nr 14 <|@ instruction v1|QWORD[.] = HOTSPOTLOADOBJECTCONSTANT input: Object[Instance<java.lang.Class>] <|@ <|@
2280
- nr 16 <|@ instruction MOV (x: [v1|QWORD[.] + 128], y: v0|DWORD) size: DWORD <|@ <|@
2281
- nr 18 <|@ instruction MEMBAR barriers: 4 <|@ <|@
2282
- nr 20 <|@ instruction v2|DWORD = DEC v0|DWORD size: DWORD <|@ <|@
2283
- nr 22 <|@ instruction JUMP ~[] destination: B2 -> B3 <|@ <|@
2284
- end_IR
2285
- end_block
2286
- begin_block
2287
- name "B5"
2288
- from_bci -1
2289
- to_bci -1
2290
- predecessors "B3"
2291
- successors "B3"
2292
- xhandlers
2293
- flags "lle"
2294
- loop_index 0
2295
- loop_depth 1
2296
- probability 4613927731217933313
2297
- begin_IR
2298
- LIR
2299
- nr 30 <|@ instruction [] = LABEL numbPhis: 0 align: true label: ? <|@ <|@
2300
- nr 32 <|@ instruction MOV (x: [v1|QWORD[.] + 128], y: v3|DWORD) size: DWORD <|@ <|@
2301
- nr 34 <|@ instruction MEMBAR barriers: 4 <|@ <|@
2302
- nr 36 <|@ instruction v4|DWORD = DEC v3|DWORD size: DWORD <|@ <|@
2303
- nr 38 <|@ instruction JUMP ~[] destination: B5 -> B3 <|@ <|@
2304
- end_IR
2305
- end_block
2306
- begin_block
2307
- name "B3"
2308
- from_bci -1
2309
- to_bci -1
2310
- predecessors "B2" "B5"
2311
- successors "B4" "B5"
2312
- xhandlers
2313
- flags "llh"
2314
- loop_index 0
2315
- loop_depth 1
2316
- probability 4615432875006888783
2317
- begin_IR
2318
- LIR
2319
- nr 24 <|@ instruction [v3|DWORD] = LABEL numbPhis: 1 align: false label: ? <|@ <|@
2320
- nr 26 <|@ instruction CMP v3|DWORD y: 1 size: DWORD <|@ <|@
2321
- nr 28 <|@ instruction BRANCH trueDestinationProbability: 0.1824315833228609 condition: < trueDestination: B3 -> B4 falseDestination: B3 -> B5 <|@ <|@
2322
- end_IR
2323
- end_block
2324
- begin_block
2325
- name "B4"
2326
- from_bci -1
2327
- to_bci -1
2328
- predecessors "B3"
2329
- successors
2330
- xhandlers
2331
- flags
2332
- probability 4604195794701098297
2333
- begin_IR
2334
- LIR
2335
- nr 40 <|@ instruction [] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
2336
- nr 42 <|@ instruction rax|DWORD = MOVE v0|DWORD moveKind: DWORD <|@ <|@
2337
- nr 44 <|@ instruction RETURN (savedRbp: v5|QWORD, value: rax|DWORD) isStub: false requiresReservedStackAccessCheck: false thread: r15 scratchForSafepointOnReturn: rcx config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@130e187d8 <|@ <|@
2338
- end_IR
2339
- end_block
2340
- begin_block
2341
- name "B1"
2342
- from_bci -1
2343
- to_bci -1
2344
- predecessors "B0"
2345
- successors
2346
- xhandlers
2347
- flags
2348
- probability 4595740810775922992
2349
- begin_IR
2350
- LIR
2351
- nr 46 <|@ instruction [] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
2352
- nr 48 <|@ instruction rax|DWORD = MOVE v0|DWORD moveKind: DWORD <|@ <|@
2353
- nr 50 <|@ instruction RETURN (savedRbp: v5|QWORD, value: rax|DWORD) isStub: false requiresReservedStackAccessCheck: false thread: r15 scratchForSafepointOnReturn: rcx config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@130e187d8 <|@ <|@
2354
- end_IR
2355
- end_block
2356
- end_cfg
2357
- begin_bytecodes
2358
- 0: iload_0
2359
- 1: istore_1
2360
- 2: iload_1
2361
- 3: ifle 16
2362
- 6: iload_1
2363
- 7: putstatic #59 // intField:int
2364
- 10: iinc
2365
- 13: goto 2
2366
- 16: iload_0
2367
- 17: ireturn
2368
- <|@
2369
- end_bytecodes
2370
- begin_cfg
2371
- name "After SSALinearScanEliminateSpillMove"
2372
- begin_block
2373
- name "B0"
2374
- from_bci -1
2375
- to_bci -1
2376
- predecessors
2377
- successors "B1" "B2"
2378
- xhandlers
2379
- flags
2380
- probability 4607182418800017408
2381
- begin_IR
2382
- LIR
2383
- nr 0 <|@ instruction [rsi|DWORD, rbp|QWORD] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
2384
- nr 2 <|@ instruction v5|QWORD = MOVE rbp|QWORD moveKind: QWORD <|@ <|@
2385
- nr 4 <|@ instruction [] = HOTSPOTLOCKSTACK frameMapBuilder: org.graalvm.compiler.lir.amd64.AMD64FrameMapBuilder@134ff0250 slotKind: QWORD <|@ <|@
2386
- nr 6 <|@ instruction v0|DWORD = MOVE rsi|DWORD moveKind: DWORD <|@ <|@
2387
- nr 8 <|@ instruction CMP v0|DWORD y: 1 size: DWORD <|@ <|@
2388
- nr 10 <|@ instruction BRANCH trueDestinationProbability: 0.1824315833228609 condition: < trueDestination: B0 -> B1 falseDestination: B0 -> B2 <|@ <|@
2389
- end_IR
2390
- end_block
2391
- begin_block
2392
- name "B2"
2393
- from_bci -1
2394
- to_bci -1
2395
- predecessors "B0"
2396
- successors "B3"
2397
- xhandlers
2398
- flags
2399
- probability 4605539221178670516
2400
- begin_IR
2401
- LIR
2402
- nr 12 <|@ instruction [] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
2403
- nr 14 <|@ instruction v1|QWORD[.] = HOTSPOTLOADOBJECTCONSTANT input: Object[Instance<java.lang.Class>] <|@ <|@
2404
- nr 16 <|@ instruction MOV (x: [v1|QWORD[.] + 128], y: v0|DWORD) size: DWORD <|@ <|@
2405
- nr 18 <|@ instruction MEMBAR barriers: 4 <|@ <|@
2406
- nr 20 <|@ instruction v2|DWORD = DEC v0|DWORD size: DWORD <|@ <|@
2407
- nr 22 <|@ instruction JUMP ~[] destination: B2 -> B3 <|@ <|@
2408
- end_IR
2409
- end_block
2410
- begin_block
2411
- name "B5"
2412
- from_bci -1
2413
- to_bci -1
2414
- predecessors "B3"
2415
- successors "B3"
2416
- xhandlers
2417
- flags "lle"
2418
- loop_index 0
2419
- loop_depth 1
2420
- probability 4613927731217933313
2421
- begin_IR
2422
- LIR
2423
- nr 30 <|@ instruction [] = LABEL numbPhis: 0 align: true label: ? <|@ <|@
2424
- nr 32 <|@ instruction MOV (x: [v1|QWORD[.] + 128], y: v3|DWORD) size: DWORD <|@ <|@
2425
- nr 34 <|@ instruction MEMBAR barriers: 4 <|@ <|@
2426
- nr 36 <|@ instruction v4|DWORD = DEC v3|DWORD size: DWORD <|@ <|@
2427
- nr 38 <|@ instruction JUMP ~[] destination: B5 -> B3 <|@ <|@
2428
- end_IR
2429
- end_block
2430
- begin_block
2431
- name "B3"
2432
- from_bci -1
2433
- to_bci -1
2434
- predecessors "B2" "B5"
2435
- successors "B4" "B5"
2436
- xhandlers
2437
- flags "llh"
2438
- loop_index 0
2439
- loop_depth 1
2440
- probability 4615432875006888783
2441
- begin_IR
2442
- LIR
2443
- nr 24 <|@ instruction [] = LABEL numbPhis: 1 align: false label: ? <|@ <|@
2444
- nr 26 <|@ instruction CMP v3|DWORD y: 1 size: DWORD <|@ <|@
2445
- nr 28 <|@ instruction BRANCH trueDestinationProbability: 0.1824315833228609 condition: < trueDestination: B3 -> B4 falseDestination: B3 -> B5 <|@ <|@
2446
- end_IR
2447
- end_block
2448
- begin_block
2449
- name "B4"
2450
- from_bci -1
2451
- to_bci -1
2452
- predecessors "B3"
2453
- successors
2454
- xhandlers
2455
- flags
2456
- probability 4604195794701098297
2457
- begin_IR
2458
- LIR
2459
- nr 40 <|@ instruction [] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
2460
- nr 42 <|@ instruction rax|DWORD = MOVE v0|DWORD moveKind: DWORD <|@ <|@
2461
- nr 44 <|@ instruction RETURN (savedRbp: v5|QWORD, value: rax|DWORD) isStub: false requiresReservedStackAccessCheck: false thread: r15 scratchForSafepointOnReturn: rcx config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@130e187d8 <|@ <|@
2462
- end_IR
2463
- end_block
2464
- begin_block
2465
- name "B1"
2466
- from_bci -1
2467
- to_bci -1
2468
- predecessors "B0"
2469
- successors
2470
- xhandlers
2471
- flags
2472
- probability 4595740810775922992
2473
- begin_IR
2474
- LIR
2475
- nr 46 <|@ instruction [] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
2476
- nr 48 <|@ instruction rax|DWORD = MOVE v0|DWORD moveKind: DWORD <|@ <|@
2477
- nr 50 <|@ instruction RETURN (savedRbp: v5|QWORD, value: rax|DWORD) isStub: false requiresReservedStackAccessCheck: false thread: r15 scratchForSafepointOnReturn: rcx config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@130e187d8 <|@ <|@
2478
- end_IR
2479
- end_block
2480
- end_cfg
2481
- begin_bytecodes
2482
- 0: iload_0
2483
- 1: istore_1
2484
- 2: iload_1
2485
- 3: ifle 16
2486
- 6: iload_1
2487
- 7: putstatic #59 // intField:int
2488
- 10: iinc
2489
- 13: goto 2
2490
- 16: iload_0
2491
- 17: ireturn
2492
- <|@
2493
- end_bytecodes
2494
- begin_cfg
2495
- name "After LinearScanAssignLocations"
2496
- begin_block
2497
- name "B0"
2498
- from_bci -1
2499
- to_bci -1
2500
- predecessors
2501
- successors "B1" "B2"
2502
- xhandlers
2503
- flags
2504
- probability 4607182418800017408
2505
- begin_IR
2506
- LIR
2507
- nr 0 <|@ instruction [rsi|DWORD, rbp|QWORD] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
2508
- nr 4 <|@ instruction [] = HOTSPOTLOCKSTACK frameMapBuilder: org.graalvm.compiler.lir.amd64.AMD64FrameMapBuilder@134ff0250 slotKind: QWORD <|@ <|@
2509
- nr 8 <|@ instruction CMP rsi|DWORD y: 1 size: DWORD <|@ <|@
2510
- nr 10 <|@ instruction BRANCH trueDestinationProbability: 0.1824315833228609 condition: < trueDestination: B0 -> B1 falseDestination: B0 -> B2 <|@ <|@
2511
- end_IR
2512
- end_block
2513
- begin_block
2514
- name "B2"
2515
- from_bci -1
2516
- to_bci -1
2517
- predecessors "B0"
2518
- successors "B3"
2519
- xhandlers
2520
- flags
2521
- probability 4605539221178670516
2522
- begin_IR
2523
- LIR
2524
- nr 12 <|@ instruction [] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
2525
- nr 14 <|@ instruction rax|QWORD[.] = HOTSPOTLOADOBJECTCONSTANT input: Object[Instance<java.lang.Class>] <|@ <|@
2526
- nr 16 <|@ instruction MOV (x: [rax|QWORD[.] + 128], y: rsi|DWORD) size: DWORD <|@ <|@
2527
- nr 18 <|@ instruction MEMBAR barriers: 4 <|@ <|@
2528
- nr 20 <|@ instruction r10|DWORD = DEC rsi|DWORD size: DWORD <|@ <|@
2529
- nr 22 <|@ instruction JUMP ~[] destination: B2 -> B3 <|@ <|@
2530
- end_IR
2531
- end_block
2532
- begin_block
2533
- name "B5"
2534
- from_bci -1
2535
- to_bci -1
2536
- predecessors "B3"
2537
- successors "B3"
2538
- xhandlers
2539
- flags "lle"
2540
- loop_index 0
2541
- loop_depth 1
2542
- probability 4613927731217933313
2543
- begin_IR
2544
- LIR
2545
- nr 30 <|@ instruction [] = LABEL numbPhis: 0 align: true label: ? <|@ <|@
2546
- nr 32 <|@ instruction MOV (x: [rax|QWORD[.] + 128], y: r10|DWORD) size: DWORD <|@ <|@
2547
- nr 34 <|@ instruction MEMBAR barriers: 4 <|@ <|@
2548
- nr 36 <|@ instruction r10|DWORD = DEC r10|DWORD size: DWORD <|@ <|@
2549
- nr 38 <|@ instruction JUMP ~[] destination: B5 -> B3 <|@ <|@
2550
- end_IR
2551
- end_block
2552
- begin_block
2553
- name "B3"
2554
- from_bci -1
2555
- to_bci -1
2556
- predecessors "B2" "B5"
2557
- successors "B4" "B5"
2558
- xhandlers
2559
- flags "llh"
2560
- loop_index 0
2561
- loop_depth 1
2562
- probability 4615432875006888783
2563
- begin_IR
2564
- LIR
2565
- nr 24 <|@ instruction [] = LABEL numbPhis: 1 align: false label: ? <|@ <|@
2566
- nr 26 <|@ instruction CMP r10|DWORD y: 1 size: DWORD <|@ <|@
2567
- nr 28 <|@ instruction BRANCH trueDestinationProbability: 0.1824315833228609 condition: < trueDestination: B3 -> B4 falseDestination: B3 -> B5 <|@ <|@
2568
- end_IR
2569
- end_block
2570
- begin_block
2571
- name "B4"
2572
- from_bci -1
2573
- to_bci -1
2574
- predecessors "B3"
2575
- successors
2576
- xhandlers
2577
- flags
2578
- probability 4604195794701098297
2579
- begin_IR
2580
- LIR
2581
- nr 40 <|@ instruction [] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
2582
- nr 42 <|@ instruction rax|DWORD = MOVE rsi|DWORD moveKind: DWORD <|@ <|@
2583
- nr 44 <|@ instruction RETURN (savedRbp: rbp|QWORD, value: rax|DWORD) isStub: false requiresReservedStackAccessCheck: false thread: r15 scratchForSafepointOnReturn: rcx config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@130e187d8 <|@ <|@
2584
- end_IR
2585
- end_block
2586
- begin_block
2587
- name "B1"
2588
- from_bci -1
2589
- to_bci -1
2590
- predecessors "B0"
2591
- successors
2592
- xhandlers
2593
- flags
2594
- probability 4595740810775922992
2595
- begin_IR
2596
- LIR
2597
- nr 46 <|@ instruction [] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
2598
- nr 48 <|@ instruction rax|DWORD = MOVE rsi|DWORD moveKind: DWORD <|@ <|@
2599
- nr 50 <|@ instruction RETURN (savedRbp: rbp|QWORD, value: rax|DWORD) isStub: false requiresReservedStackAccessCheck: false thread: r15 scratchForSafepointOnReturn: rcx config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@130e187d8 <|@ <|@
2600
- end_IR
2601
- end_block
2602
- end_cfg
2603
- begin_bytecodes
2604
- 0: iload_0
2605
- 1: istore_1
2606
- 2: iload_1
2607
- 3: ifle 16
2608
- 6: iload_1
2609
- 7: putstatic #59 // intField:int
2610
- 10: iinc
2611
- 13: goto 2
2612
- 16: iload_0
2613
- 17: ireturn
2614
- <|@
2615
- end_bytecodes
2616
- begin_cfg
2617
- name "After LinearScan"
2618
- begin_block
2619
- name "B0"
2620
- from_bci -1
2621
- to_bci -1
2622
- predecessors
2623
- successors "B1" "B2"
2624
- xhandlers
2625
- flags
2626
- probability 4607182418800017408
2627
- begin_IR
2628
- LIR
2629
- nr 0 <|@ instruction [rsi|DWORD, rbp|QWORD] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
2630
- nr 4 <|@ instruction [] = HOTSPOTLOCKSTACK frameMapBuilder: org.graalvm.compiler.lir.amd64.AMD64FrameMapBuilder@134ff0250 slotKind: QWORD <|@ <|@
2631
- nr 8 <|@ instruction CMP rsi|DWORD y: 1 size: DWORD <|@ <|@
2632
- nr 10 <|@ instruction BRANCH trueDestinationProbability: 0.1824315833228609 condition: < trueDestination: B0 -> B1 falseDestination: B0 -> B2 <|@ <|@
2633
- end_IR
2634
- end_block
2635
- begin_block
2636
- name "B2"
2637
- from_bci -1
2638
- to_bci -1
2639
- predecessors "B0"
2640
- successors "B3"
2641
- xhandlers
2642
- flags
2643
- probability 4605539221178670516
2644
- begin_IR
2645
- LIR
2646
- nr 12 <|@ instruction [] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
2647
- nr 14 <|@ instruction rax|QWORD[.] = HOTSPOTLOADOBJECTCONSTANT input: Object[Instance<java.lang.Class>] <|@ <|@
2648
- nr 16 <|@ instruction MOV (x: [rax|QWORD[.] + 128], y: rsi|DWORD) size: DWORD <|@ <|@
2649
- nr 18 <|@ instruction MEMBAR barriers: 4 <|@ <|@
2650
- nr 20 <|@ instruction r10|DWORD = DEC rsi|DWORD size: DWORD <|@ <|@
2651
- nr 22 <|@ instruction JUMP ~[] destination: B2 -> B3 <|@ <|@
2652
- end_IR
2653
- end_block
2654
- begin_block
2655
- name "B5"
2656
- from_bci -1
2657
- to_bci -1
2658
- predecessors "B3"
2659
- successors "B3"
2660
- xhandlers
2661
- flags "lle"
2662
- loop_index 0
2663
- loop_depth 1
2664
- probability 4613927731217933313
2665
- begin_IR
2666
- LIR
2667
- nr 30 <|@ instruction [] = LABEL numbPhis: 0 align: true label: ? <|@ <|@
2668
- nr 32 <|@ instruction MOV (x: [rax|QWORD[.] + 128], y: r10|DWORD) size: DWORD <|@ <|@
2669
- nr 34 <|@ instruction MEMBAR barriers: 4 <|@ <|@
2670
- nr 36 <|@ instruction r10|DWORD = DEC r10|DWORD size: DWORD <|@ <|@
2671
- nr 38 <|@ instruction JUMP ~[] destination: B5 -> B3 <|@ <|@
2672
- end_IR
2673
- end_block
2674
- begin_block
2675
- name "B3"
2676
- from_bci -1
2677
- to_bci -1
2678
- predecessors "B2" "B5"
2679
- successors "B4" "B5"
2680
- xhandlers
2681
- flags "llh"
2682
- loop_index 0
2683
- loop_depth 1
2684
- probability 4615432875006888783
2685
- begin_IR
2686
- LIR
2687
- nr 24 <|@ instruction [] = LABEL numbPhis: 1 align: false label: ? <|@ <|@
2688
- nr 26 <|@ instruction CMP r10|DWORD y: 1 size: DWORD <|@ <|@
2689
- nr 28 <|@ instruction BRANCH trueDestinationProbability: 0.1824315833228609 condition: < trueDestination: B3 -> B4 falseDestination: B3 -> B5 <|@ <|@
2690
- end_IR
2691
- end_block
2692
- begin_block
2693
- name "B4"
2694
- from_bci -1
2695
- to_bci -1
2696
- predecessors "B3"
2697
- successors
2698
- xhandlers
2699
- flags
2700
- probability 4604195794701098297
2701
- begin_IR
2702
- LIR
2703
- nr 40 <|@ instruction [] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
2704
- nr 42 <|@ instruction rax|DWORD = MOVE rsi|DWORD moveKind: DWORD <|@ <|@
2705
- nr 44 <|@ instruction RETURN (savedRbp: rbp|QWORD, value: rax|DWORD) isStub: false requiresReservedStackAccessCheck: false thread: r15 scratchForSafepointOnReturn: rcx config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@130e187d8 <|@ <|@
2706
- end_IR
2707
- end_block
2708
- begin_block
2709
- name "B1"
2710
- from_bci -1
2711
- to_bci -1
2712
- predecessors "B0"
2713
- successors
2714
- xhandlers
2715
- flags
2716
- probability 4595740810775922992
2717
- begin_IR
2718
- LIR
2719
- nr 46 <|@ instruction [] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
2720
- nr 48 <|@ instruction rax|DWORD = MOVE rsi|DWORD moveKind: DWORD <|@ <|@
2721
- nr 50 <|@ instruction RETURN (savedRbp: rbp|QWORD, value: rax|DWORD) isStub: false requiresReservedStackAccessCheck: false thread: r15 scratchForSafepointOnReturn: rcx config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@130e187d8 <|@ <|@
2722
- end_IR
2723
- end_block
2724
- end_cfg
2725
- begin_bytecodes
2726
- 0: iload_0
2727
- 1: istore_1
2728
- 2: iload_1
2729
- 3: ifle 16
2730
- 6: iload_1
2731
- 7: putstatic #59 // intField:int
2732
- 10: iinc
2733
- 13: goto 2
2734
- 16: iload_0
2735
- 17: ireturn
2736
- <|@
2737
- end_bytecodes
2738
- begin_cfg
2739
- name "After LSStackSlotAllocator"
2740
- begin_block
2741
- name "B0"
2742
- from_bci -1
2743
- to_bci -1
2744
- predecessors
2745
- successors "B1" "B2"
2746
- xhandlers
2747
- flags
2748
- probability 4607182418800017408
2749
- begin_IR
2750
- LIR
2751
- nr 0 <|@ instruction [rsi|DWORD, rbp|QWORD] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
2752
- nr 4 <|@ instruction [] = HOTSPOTLOCKSTACK frameMapBuilder: org.graalvm.compiler.lir.amd64.AMD64FrameMapBuilder@134ff0250 slotKind: QWORD <|@ <|@
2753
- nr 8 <|@ instruction CMP rsi|DWORD y: 1 size: DWORD <|@ <|@
2754
- nr 10 <|@ instruction BRANCH trueDestinationProbability: 0.1824315833228609 condition: < trueDestination: B0 -> B1 falseDestination: B0 -> B2 <|@ <|@
2755
- end_IR
2756
- end_block
2757
- begin_block
2758
- name "B2"
2759
- from_bci -1
2760
- to_bci -1
2761
- predecessors "B0"
2762
- successors "B3"
2763
- xhandlers
2764
- flags
2765
- probability 4605539221178670516
2766
- begin_IR
2767
- LIR
2768
- nr 12 <|@ instruction [] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
2769
- nr 14 <|@ instruction rax|QWORD[.] = HOTSPOTLOADOBJECTCONSTANT input: Object[Instance<java.lang.Class>] <|@ <|@
2770
- nr 16 <|@ instruction MOV (x: [rax|QWORD[.] + 128], y: rsi|DWORD) size: DWORD <|@ <|@
2771
- nr 18 <|@ instruction MEMBAR barriers: 4 <|@ <|@
2772
- nr 20 <|@ instruction r10|DWORD = DEC rsi|DWORD size: DWORD <|@ <|@
2773
- nr 22 <|@ instruction JUMP ~[] destination: B2 -> B3 <|@ <|@
2774
- end_IR
2775
- end_block
2776
- begin_block
2777
- name "B5"
2778
- from_bci -1
2779
- to_bci -1
2780
- predecessors "B3"
2781
- successors "B3"
2782
- xhandlers
2783
- flags "lle"
2784
- loop_index 0
2785
- loop_depth 1
2786
- probability 4613927731217933313
2787
- begin_IR
2788
- LIR
2789
- nr 30 <|@ instruction [] = LABEL numbPhis: 0 align: true label: ? <|@ <|@
2790
- nr 32 <|@ instruction MOV (x: [rax|QWORD[.] + 128], y: r10|DWORD) size: DWORD <|@ <|@
2791
- nr 34 <|@ instruction MEMBAR barriers: 4 <|@ <|@
2792
- nr 36 <|@ instruction r10|DWORD = DEC r10|DWORD size: DWORD <|@ <|@
2793
- nr 38 <|@ instruction JUMP ~[] destination: B5 -> B3 <|@ <|@
2794
- end_IR
2795
- end_block
2796
- begin_block
2797
- name "B3"
2798
- from_bci -1
2799
- to_bci -1
2800
- predecessors "B2" "B5"
2801
- successors "B4" "B5"
2802
- xhandlers
2803
- flags "llh"
2804
- loop_index 0
2805
- loop_depth 1
2806
- probability 4615432875006888783
2807
- begin_IR
2808
- LIR
2809
- nr 24 <|@ instruction [] = LABEL numbPhis: 1 align: false label: ? <|@ <|@
2810
- nr 26 <|@ instruction CMP r10|DWORD y: 1 size: DWORD <|@ <|@
2811
- nr 28 <|@ instruction BRANCH trueDestinationProbability: 0.1824315833228609 condition: < trueDestination: B3 -> B4 falseDestination: B3 -> B5 <|@ <|@
2812
- end_IR
2813
- end_block
2814
- begin_block
2815
- name "B4"
2816
- from_bci -1
2817
- to_bci -1
2818
- predecessors "B3"
2819
- successors
2820
- xhandlers
2821
- flags
2822
- probability 4604195794701098297
2823
- begin_IR
2824
- LIR
2825
- nr 40 <|@ instruction [] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
2826
- nr 42 <|@ instruction rax|DWORD = MOVE rsi|DWORD moveKind: DWORD <|@ <|@
2827
- nr 44 <|@ instruction RETURN (savedRbp: rbp|QWORD, value: rax|DWORD) isStub: false requiresReservedStackAccessCheck: false thread: r15 scratchForSafepointOnReturn: rcx config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@130e187d8 <|@ <|@
2828
- end_IR
2829
- end_block
2830
- begin_block
2831
- name "B1"
2832
- from_bci -1
2833
- to_bci -1
2834
- predecessors "B0"
2835
- successors
2836
- xhandlers
2837
- flags
2838
- probability 4595740810775922992
2839
- begin_IR
2840
- LIR
2841
- nr 46 <|@ instruction [] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
2842
- nr 48 <|@ instruction rax|DWORD = MOVE rsi|DWORD moveKind: DWORD <|@ <|@
2843
- nr 50 <|@ instruction RETURN (savedRbp: rbp|QWORD, value: rax|DWORD) isStub: false requiresReservedStackAccessCheck: false thread: r15 scratchForSafepointOnReturn: rcx config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@130e187d8 <|@ <|@
2844
- end_IR
2845
- end_block
2846
- end_cfg
2847
- begin_bytecodes
2848
- 0: iload_0
2849
- 1: istore_1
2850
- 2: iload_1
2851
- 3: ifle 16
2852
- 6: iload_1
2853
- 7: putstatic #59 // intField:int
2854
- 10: iinc
2855
- 13: goto 2
2856
- 16: iload_0
2857
- 17: ireturn
2858
- <|@
2859
- end_bytecodes
2860
- begin_cfg
2861
- name "After LocationMarker"
2862
- begin_block
2863
- name "B0"
2864
- from_bci -1
2865
- to_bci -1
2866
- predecessors
2867
- successors "B1" "B2"
2868
- xhandlers
2869
- flags
2870
- probability 4607182418800017408
2871
- begin_IR
2872
- LIR
2873
- nr 0 <|@ instruction [rsi|DWORD, rbp|QWORD] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
2874
- nr 4 <|@ instruction [] = HOTSPOTLOCKSTACK frameMapBuilder: org.graalvm.compiler.lir.amd64.AMD64FrameMapBuilder@134ff0250 slotKind: QWORD <|@ <|@
2875
- nr 8 <|@ instruction CMP rsi|DWORD y: 1 size: DWORD <|@ <|@
2876
- nr 10 <|@ instruction BRANCH trueDestinationProbability: 0.1824315833228609 condition: < trueDestination: B0 -> B1 falseDestination: B0 -> B2 <|@ <|@
2877
- end_IR
2878
- end_block
2879
- begin_block
2880
- name "B2"
2881
- from_bci -1
2882
- to_bci -1
2883
- predecessors "B0"
2884
- successors "B3"
2885
- xhandlers
2886
- flags
2887
- probability 4605539221178670516
2888
- begin_IR
2889
- LIR
2890
- nr 12 <|@ instruction [] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
2891
- nr 14 <|@ instruction rax|QWORD[.] = HOTSPOTLOADOBJECTCONSTANT input: Object[Instance<java.lang.Class>] <|@ <|@
2892
- nr 16 <|@ instruction MOV (x: [rax|QWORD[.] + 128], y: rsi|DWORD) size: DWORD <|@ <|@
2893
- nr 18 <|@ instruction MEMBAR barriers: 4 <|@ <|@
2894
- nr 20 <|@ instruction r10|DWORD = DEC rsi|DWORD size: DWORD <|@ <|@
2895
- nr 22 <|@ instruction JUMP ~[] destination: B2 -> B3 <|@ <|@
2896
- end_IR
2897
- end_block
2898
- begin_block
2899
- name "B5"
2900
- from_bci -1
2901
- to_bci -1
2902
- predecessors "B3"
2903
- successors "B3"
2904
- xhandlers
2905
- flags "lle"
2906
- loop_index 0
2907
- loop_depth 1
2908
- probability 4613927731217933313
2909
- begin_IR
2910
- LIR
2911
- nr 30 <|@ instruction [] = LABEL numbPhis: 0 align: true label: ? <|@ <|@
2912
- nr 32 <|@ instruction MOV (x: [rax|QWORD[.] + 128], y: r10|DWORD) size: DWORD <|@ <|@
2913
- nr 34 <|@ instruction MEMBAR barriers: 4 <|@ <|@
2914
- nr 36 <|@ instruction r10|DWORD = DEC r10|DWORD size: DWORD <|@ <|@
2915
- nr 38 <|@ instruction JUMP ~[] destination: B5 -> B3 <|@ <|@
2916
- end_IR
2917
- end_block
2918
- begin_block
2919
- name "B3"
2920
- from_bci -1
2921
- to_bci -1
2922
- predecessors "B2" "B5"
2923
- successors "B4" "B5"
2924
- xhandlers
2925
- flags "llh"
2926
- loop_index 0
2927
- loop_depth 1
2928
- probability 4615432875006888783
2929
- begin_IR
2930
- LIR
2931
- nr 24 <|@ instruction [] = LABEL numbPhis: 1 align: false label: ? <|@ <|@
2932
- nr 26 <|@ instruction CMP r10|DWORD y: 1 size: DWORD <|@ <|@
2933
- nr 28 <|@ instruction BRANCH trueDestinationProbability: 0.1824315833228609 condition: < trueDestination: B3 -> B4 falseDestination: B3 -> B5 <|@ <|@
2934
- end_IR
2935
- end_block
2936
- begin_block
2937
- name "B4"
2938
- from_bci -1
2939
- to_bci -1
2940
- predecessors "B3"
2941
- successors
2942
- xhandlers
2943
- flags
2944
- probability 4604195794701098297
2945
- begin_IR
2946
- LIR
2947
- nr 40 <|@ instruction [] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
2948
- nr 42 <|@ instruction rax|DWORD = MOVE rsi|DWORD moveKind: DWORD <|@ <|@
2949
- nr 44 <|@ instruction RETURN (savedRbp: rbp|QWORD, value: rax|DWORD) isStub: false requiresReservedStackAccessCheck: false thread: r15 scratchForSafepointOnReturn: rcx config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@130e187d8 <|@ <|@
2950
- end_IR
2951
- end_block
2952
- begin_block
2953
- name "B1"
2954
- from_bci -1
2955
- to_bci -1
2956
- predecessors "B0"
2957
- successors
2958
- xhandlers
2959
- flags
2960
- probability 4595740810775922992
2961
- begin_IR
2962
- LIR
2963
- nr 46 <|@ instruction [] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
2964
- nr 48 <|@ instruction rax|DWORD = MOVE rsi|DWORD moveKind: DWORD <|@ <|@
2965
- nr 50 <|@ instruction RETURN (savedRbp: rbp|QWORD, value: rax|DWORD) isStub: false requiresReservedStackAccessCheck: false thread: r15 scratchForSafepointOnReturn: rcx config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@130e187d8 <|@ <|@
2966
- end_IR
2967
- end_block
2968
- end_cfg
2969
- begin_bytecodes
2970
- 0: iload_0
2971
- 1: istore_1
2972
- 2: iload_1
2973
- 3: ifle 16
2974
- 6: iload_1
2975
- 7: putstatic #59 // intField:int
2976
- 10: iinc
2977
- 13: goto 2
2978
- 16: iload_0
2979
- 17: ireturn
2980
- <|@
2981
- end_bytecodes
2982
- begin_cfg
2983
- name "After AllocationStage"
2984
- begin_block
2985
- name "B0"
2986
- from_bci -1
2987
- to_bci -1
2988
- predecessors
2989
- successors "B1" "B2"
2990
- xhandlers
2991
- flags
2992
- probability 4607182418800017408
2993
- begin_IR
2994
- LIR
2995
- nr 0 <|@ instruction [rsi|DWORD, rbp|QWORD] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
2996
- nr 4 <|@ instruction [] = HOTSPOTLOCKSTACK frameMapBuilder: org.graalvm.compiler.lir.amd64.AMD64FrameMapBuilder@134ff0250 slotKind: QWORD <|@ <|@
2997
- nr 8 <|@ instruction CMP rsi|DWORD y: 1 size: DWORD <|@ <|@
2998
- nr 10 <|@ instruction BRANCH trueDestinationProbability: 0.1824315833228609 condition: < trueDestination: B0 -> B1 falseDestination: B0 -> B2 <|@ <|@
2999
- end_IR
3000
- end_block
3001
- begin_block
3002
- name "B2"
3003
- from_bci -1
3004
- to_bci -1
3005
- predecessors "B0"
3006
- successors "B3"
3007
- xhandlers
3008
- flags
3009
- probability 4605539221178670516
3010
- begin_IR
3011
- LIR
3012
- nr 12 <|@ instruction [] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
3013
- nr 14 <|@ instruction rax|QWORD[.] = HOTSPOTLOADOBJECTCONSTANT input: Object[Instance<java.lang.Class>] <|@ <|@
3014
- nr 16 <|@ instruction MOV (x: [rax|QWORD[.] + 128], y: rsi|DWORD) size: DWORD <|@ <|@
3015
- nr 18 <|@ instruction MEMBAR barriers: 4 <|@ <|@
3016
- nr 20 <|@ instruction r10|DWORD = DEC rsi|DWORD size: DWORD <|@ <|@
3017
- nr 22 <|@ instruction JUMP ~[] destination: B2 -> B3 <|@ <|@
3018
- end_IR
3019
- end_block
3020
- begin_block
3021
- name "B5"
3022
- from_bci -1
3023
- to_bci -1
3024
- predecessors "B3"
3025
- successors "B3"
3026
- xhandlers
3027
- flags "lle"
3028
- loop_index 0
3029
- loop_depth 1
3030
- probability 4613927731217933313
3031
- begin_IR
3032
- LIR
3033
- nr 30 <|@ instruction [] = LABEL numbPhis: 0 align: true label: ? <|@ <|@
3034
- nr 32 <|@ instruction MOV (x: [rax|QWORD[.] + 128], y: r10|DWORD) size: DWORD <|@ <|@
3035
- nr 34 <|@ instruction MEMBAR barriers: 4 <|@ <|@
3036
- nr 36 <|@ instruction r10|DWORD = DEC r10|DWORD size: DWORD <|@ <|@
3037
- nr 38 <|@ instruction JUMP ~[] destination: B5 -> B3 <|@ <|@
3038
- end_IR
3039
- end_block
3040
- begin_block
3041
- name "B3"
3042
- from_bci -1
3043
- to_bci -1
3044
- predecessors "B2" "B5"
3045
- successors "B4" "B5"
3046
- xhandlers
3047
- flags "llh"
3048
- loop_index 0
3049
- loop_depth 1
3050
- probability 4615432875006888783
3051
- begin_IR
3052
- LIR
3053
- nr 24 <|@ instruction [] = LABEL numbPhis: 1 align: false label: ? <|@ <|@
3054
- nr 26 <|@ instruction CMP r10|DWORD y: 1 size: DWORD <|@ <|@
3055
- nr 28 <|@ instruction BRANCH trueDestinationProbability: 0.1824315833228609 condition: < trueDestination: B3 -> B4 falseDestination: B3 -> B5 <|@ <|@
3056
- end_IR
3057
- end_block
3058
- begin_block
3059
- name "B4"
3060
- from_bci -1
3061
- to_bci -1
3062
- predecessors "B3"
3063
- successors
3064
- xhandlers
3065
- flags
3066
- probability 4604195794701098297
3067
- begin_IR
3068
- LIR
3069
- nr 40 <|@ instruction [] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
3070
- nr 42 <|@ instruction rax|DWORD = MOVE rsi|DWORD moveKind: DWORD <|@ <|@
3071
- nr 44 <|@ instruction RETURN (savedRbp: rbp|QWORD, value: rax|DWORD) isStub: false requiresReservedStackAccessCheck: false thread: r15 scratchForSafepointOnReturn: rcx config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@130e187d8 <|@ <|@
3072
- end_IR
3073
- end_block
3074
- begin_block
3075
- name "B1"
3076
- from_bci -1
3077
- to_bci -1
3078
- predecessors "B0"
3079
- successors
3080
- xhandlers
3081
- flags
3082
- probability 4595740810775922992
3083
- begin_IR
3084
- LIR
3085
- nr 46 <|@ instruction [] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
3086
- nr 48 <|@ instruction rax|DWORD = MOVE rsi|DWORD moveKind: DWORD <|@ <|@
3087
- nr 50 <|@ instruction RETURN (savedRbp: rbp|QWORD, value: rax|DWORD) isStub: false requiresReservedStackAccessCheck: false thread: r15 scratchForSafepointOnReturn: rcx config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@130e187d8 <|@ <|@
3088
- end_IR
3089
- end_block
3090
- end_cfg
3091
- begin_bytecodes
3092
- 0: iload_0
3093
- 1: istore_1
3094
- 2: iload_1
3095
- 3: ifle 16
3096
- 6: iload_1
3097
- 7: putstatic #59 // intField:int
3098
- 10: iinc
3099
- 13: goto 2
3100
- 16: iload_0
3101
- 17: ireturn
3102
- <|@
3103
- end_bytecodes
3104
- begin_cfg
3105
- name "After EdgeMoveOptimizer"
3106
- begin_block
3107
- name "B0"
3108
- from_bci -1
3109
- to_bci -1
3110
- predecessors
3111
- successors "B1" "B2"
3112
- xhandlers
3113
- flags
3114
- probability 4607182418800017408
3115
- begin_IR
3116
- LIR
3117
- nr 0 <|@ instruction [rsi|DWORD, rbp|QWORD] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
3118
- nr 4 <|@ instruction [] = HOTSPOTLOCKSTACK frameMapBuilder: org.graalvm.compiler.lir.amd64.AMD64FrameMapBuilder@134ff0250 slotKind: QWORD <|@ <|@
3119
- nr 8 <|@ instruction CMP rsi|DWORD y: 1 size: DWORD <|@ <|@
3120
- nr 10 <|@ instruction BRANCH trueDestinationProbability: 0.1824315833228609 condition: < trueDestination: B0 -> B1 falseDestination: B0 -> B2 <|@ <|@
3121
- end_IR
3122
- end_block
3123
- begin_block
3124
- name "B2"
3125
- from_bci -1
3126
- to_bci -1
3127
- predecessors "B0"
3128
- successors "B3"
3129
- xhandlers
3130
- flags
3131
- probability 4605539221178670516
3132
- begin_IR
3133
- LIR
3134
- nr 12 <|@ instruction [] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
3135
- nr 14 <|@ instruction rax|QWORD[.] = HOTSPOTLOADOBJECTCONSTANT input: Object[Instance<java.lang.Class>] <|@ <|@
3136
- nr 16 <|@ instruction MOV (x: [rax|QWORD[.] + 128], y: rsi|DWORD) size: DWORD <|@ <|@
3137
- nr 18 <|@ instruction MEMBAR barriers: 4 <|@ <|@
3138
- nr 20 <|@ instruction r10|DWORD = DEC rsi|DWORD size: DWORD <|@ <|@
3139
- nr 22 <|@ instruction JUMP ~[] destination: B2 -> B3 <|@ <|@
3140
- end_IR
3141
- end_block
3142
- begin_block
3143
- name "B5"
3144
- from_bci -1
3145
- to_bci -1
3146
- predecessors "B3"
3147
- successors "B3"
3148
- xhandlers
3149
- flags "lle"
3150
- loop_index 0
3151
- loop_depth 1
3152
- probability 4613927731217933313
3153
- begin_IR
3154
- LIR
3155
- nr 30 <|@ instruction [] = LABEL numbPhis: 0 align: true label: ? <|@ <|@
3156
- nr 32 <|@ instruction MOV (x: [rax|QWORD[.] + 128], y: r10|DWORD) size: DWORD <|@ <|@
3157
- nr 34 <|@ instruction MEMBAR barriers: 4 <|@ <|@
3158
- nr 36 <|@ instruction r10|DWORD = DEC r10|DWORD size: DWORD <|@ <|@
3159
- nr 38 <|@ instruction JUMP ~[] destination: B5 -> B3 <|@ <|@
3160
- end_IR
3161
- end_block
3162
- begin_block
3163
- name "B3"
3164
- from_bci -1
3165
- to_bci -1
3166
- predecessors "B2" "B5"
3167
- successors "B4" "B5"
3168
- xhandlers
3169
- flags "llh"
3170
- loop_index 0
3171
- loop_depth 1
3172
- probability 4615432875006888783
3173
- begin_IR
3174
- LIR
3175
- nr 24 <|@ instruction [] = LABEL numbPhis: 1 align: false label: ? <|@ <|@
3176
- nr 26 <|@ instruction CMP r10|DWORD y: 1 size: DWORD <|@ <|@
3177
- nr 28 <|@ instruction BRANCH trueDestinationProbability: 0.1824315833228609 condition: < trueDestination: B3 -> B4 falseDestination: B3 -> B5 <|@ <|@
3178
- end_IR
3179
- end_block
3180
- begin_block
3181
- name "B4"
3182
- from_bci -1
3183
- to_bci -1
3184
- predecessors "B3"
3185
- successors
3186
- xhandlers
3187
- flags
3188
- probability 4604195794701098297
3189
- begin_IR
3190
- LIR
3191
- nr 40 <|@ instruction [] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
3192
- nr 42 <|@ instruction rax|DWORD = MOVE rsi|DWORD moveKind: DWORD <|@ <|@
3193
- nr 44 <|@ instruction RETURN (savedRbp: rbp|QWORD, value: rax|DWORD) isStub: false requiresReservedStackAccessCheck: false thread: r15 scratchForSafepointOnReturn: rcx config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@130e187d8 <|@ <|@
3194
- end_IR
3195
- end_block
3196
- begin_block
3197
- name "B1"
3198
- from_bci -1
3199
- to_bci -1
3200
- predecessors "B0"
3201
- successors
3202
- xhandlers
3203
- flags
3204
- probability 4595740810775922992
3205
- begin_IR
3206
- LIR
3207
- nr 46 <|@ instruction [] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
3208
- nr 48 <|@ instruction rax|DWORD = MOVE rsi|DWORD moveKind: DWORD <|@ <|@
3209
- nr 50 <|@ instruction RETURN (savedRbp: rbp|QWORD, value: rax|DWORD) isStub: false requiresReservedStackAccessCheck: false thread: r15 scratchForSafepointOnReturn: rcx config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@130e187d8 <|@ <|@
3210
- end_IR
3211
- end_block
3212
- end_cfg
3213
- begin_bytecodes
3214
- 0: iload_0
3215
- 1: istore_1
3216
- 2: iload_1
3217
- 3: ifle 16
3218
- 6: iload_1
3219
- 7: putstatic #59 // intField:int
3220
- 10: iinc
3221
- 13: goto 2
3222
- 16: iload_0
3223
- 17: ireturn
3224
- <|@
3225
- end_bytecodes
3226
- begin_cfg
3227
- name "After ControlFlowOptimizer"
3228
- begin_block
3229
- name "B0"
3230
- from_bci -1
3231
- to_bci -1
3232
- predecessors
3233
- successors "B1" "B2"
3234
- xhandlers
3235
- flags
3236
- probability 4607182418800017408
3237
- begin_IR
3238
- LIR
3239
- nr 0 <|@ instruction [rsi|DWORD, rbp|QWORD] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
3240
- nr 4 <|@ instruction [] = HOTSPOTLOCKSTACK frameMapBuilder: org.graalvm.compiler.lir.amd64.AMD64FrameMapBuilder@134ff0250 slotKind: QWORD <|@ <|@
3241
- nr 8 <|@ instruction CMP rsi|DWORD y: 1 size: DWORD <|@ <|@
3242
- nr 10 <|@ instruction BRANCH trueDestinationProbability: 0.1824315833228609 condition: < trueDestination: B0 -> B1 falseDestination: B0 -> B2 <|@ <|@
3243
- end_IR
3244
- end_block
3245
- begin_block
3246
- name "B2"
3247
- from_bci -1
3248
- to_bci -1
3249
- predecessors "B0"
3250
- successors "B3"
3251
- xhandlers
3252
- flags
3253
- probability 4605539221178670516
3254
- begin_IR
3255
- LIR
3256
- nr 12 <|@ instruction [] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
3257
- nr 14 <|@ instruction rax|QWORD[.] = HOTSPOTLOADOBJECTCONSTANT input: Object[Instance<java.lang.Class>] <|@ <|@
3258
- nr 16 <|@ instruction MOV (x: [rax|QWORD[.] + 128], y: rsi|DWORD) size: DWORD <|@ <|@
3259
- nr 18 <|@ instruction MEMBAR barriers: 4 <|@ <|@
3260
- nr 20 <|@ instruction r10|DWORD = DEC rsi|DWORD size: DWORD <|@ <|@
3261
- nr 22 <|@ instruction JUMP ~[] destination: B2 -> B3 <|@ <|@
3262
- end_IR
3263
- end_block
3264
- begin_block
3265
- name "B5"
3266
- from_bci -1
3267
- to_bci -1
3268
- predecessors "B3"
3269
- successors "B3"
3270
- xhandlers
3271
- flags "lle"
3272
- loop_index 0
3273
- loop_depth 1
3274
- probability 4613927731217933313
3275
- begin_IR
3276
- LIR
3277
- nr 30 <|@ instruction [] = LABEL numbPhis: 0 align: true label: ? <|@ <|@
3278
- nr 32 <|@ instruction MOV (x: [rax|QWORD[.] + 128], y: r10|DWORD) size: DWORD <|@ <|@
3279
- nr 34 <|@ instruction MEMBAR barriers: 4 <|@ <|@
3280
- nr 36 <|@ instruction r10|DWORD = DEC r10|DWORD size: DWORD <|@ <|@
3281
- nr 38 <|@ instruction JUMP ~[] destination: B5 -> B3 <|@ <|@
3282
- end_IR
3283
- end_block
3284
- begin_block
3285
- name "B3"
3286
- from_bci -1
3287
- to_bci -1
3288
- predecessors "B2" "B5"
3289
- successors "B4" "B5"
3290
- xhandlers
3291
- flags "llh"
3292
- loop_index 0
3293
- loop_depth 1
3294
- probability 4615432875006888783
3295
- begin_IR
3296
- LIR
3297
- nr 24 <|@ instruction [] = LABEL numbPhis: 1 align: false label: ? <|@ <|@
3298
- nr 26 <|@ instruction CMP r10|DWORD y: 1 size: DWORD <|@ <|@
3299
- nr 28 <|@ instruction BRANCH trueDestinationProbability: 0.1824315833228609 condition: < trueDestination: B3 -> B4 falseDestination: B3 -> B5 <|@ <|@
3300
- end_IR
3301
- end_block
3302
- begin_block
3303
- name "B4"
3304
- from_bci -1
3305
- to_bci -1
3306
- predecessors "B3"
3307
- successors
3308
- xhandlers
3309
- flags
3310
- probability 4604195794701098297
3311
- begin_IR
3312
- LIR
3313
- nr 40 <|@ instruction [] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
3314
- nr 42 <|@ instruction rax|DWORD = MOVE rsi|DWORD moveKind: DWORD <|@ <|@
3315
- nr 44 <|@ instruction RETURN (savedRbp: rbp|QWORD, value: rax|DWORD) isStub: false requiresReservedStackAccessCheck: false thread: r15 scratchForSafepointOnReturn: rcx config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@130e187d8 <|@ <|@
3316
- end_IR
3317
- end_block
3318
- begin_block
3319
- name "B1"
3320
- from_bci -1
3321
- to_bci -1
3322
- predecessors "B0"
3323
- successors
3324
- xhandlers
3325
- flags
3326
- probability 4595740810775922992
3327
- begin_IR
3328
- LIR
3329
- nr 46 <|@ instruction [] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
3330
- nr 48 <|@ instruction rax|DWORD = MOVE rsi|DWORD moveKind: DWORD <|@ <|@
3331
- nr 50 <|@ instruction RETURN (savedRbp: rbp|QWORD, value: rax|DWORD) isStub: false requiresReservedStackAccessCheck: false thread: r15 scratchForSafepointOnReturn: rcx config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@130e187d8 <|@ <|@
3332
- end_IR
3333
- end_block
3334
- end_cfg
3335
- begin_bytecodes
3336
- 0: iload_0
3337
- 1: istore_1
3338
- 2: iload_1
3339
- 3: ifle 16
3340
- 6: iload_1
3341
- 7: putstatic #59 // intField:int
3342
- 10: iinc
3343
- 13: goto 2
3344
- 16: iload_0
3345
- 17: ireturn
3346
- <|@
3347
- end_bytecodes
3348
- begin_cfg
3349
- name "After RedundantMoveElimination"
3350
- begin_block
3351
- name "B0"
3352
- from_bci -1
3353
- to_bci -1
3354
- predecessors
3355
- successors "B1" "B2"
3356
- xhandlers
3357
- flags
3358
- probability 4607182418800017408
3359
- begin_IR
3360
- LIR
3361
- nr 0 <|@ instruction [rsi|DWORD, rbp|QWORD] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
3362
- nr 4 <|@ instruction [] = HOTSPOTLOCKSTACK frameMapBuilder: org.graalvm.compiler.lir.amd64.AMD64FrameMapBuilder@134ff0250 slotKind: QWORD <|@ <|@
3363
- nr 8 <|@ instruction CMP rsi|DWORD y: 1 size: DWORD <|@ <|@
3364
- nr 10 <|@ instruction BRANCH trueDestinationProbability: 0.1824315833228609 condition: < trueDestination: B0 -> B1 falseDestination: B0 -> B2 <|@ <|@
3365
- end_IR
3366
- end_block
3367
- begin_block
3368
- name "B2"
3369
- from_bci -1
3370
- to_bci -1
3371
- predecessors "B0"
3372
- successors "B3"
3373
- xhandlers
3374
- flags
3375
- probability 4605539221178670516
3376
- begin_IR
3377
- LIR
3378
- nr 12 <|@ instruction [] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
3379
- nr 14 <|@ instruction rax|QWORD[.] = HOTSPOTLOADOBJECTCONSTANT input: Object[Instance<java.lang.Class>] <|@ <|@
3380
- nr 16 <|@ instruction MOV (x: [rax|QWORD[.] + 128], y: rsi|DWORD) size: DWORD <|@ <|@
3381
- nr 18 <|@ instruction MEMBAR barriers: 4 <|@ <|@
3382
- nr 20 <|@ instruction r10|DWORD = DEC rsi|DWORD size: DWORD <|@ <|@
3383
- nr 22 <|@ instruction JUMP ~[] destination: B2 -> B3 <|@ <|@
3384
- end_IR
3385
- end_block
3386
- begin_block
3387
- name "B5"
3388
- from_bci -1
3389
- to_bci -1
3390
- predecessors "B3"
3391
- successors "B3"
3392
- xhandlers
3393
- flags "lle"
3394
- loop_index 0
3395
- loop_depth 1
3396
- probability 4613927731217933313
3397
- begin_IR
3398
- LIR
3399
- nr 30 <|@ instruction [] = LABEL numbPhis: 0 align: true label: ? <|@ <|@
3400
- nr 32 <|@ instruction MOV (x: [rax|QWORD[.] + 128], y: r10|DWORD) size: DWORD <|@ <|@
3401
- nr 34 <|@ instruction MEMBAR barriers: 4 <|@ <|@
3402
- nr 36 <|@ instruction r10|DWORD = DEC r10|DWORD size: DWORD <|@ <|@
3403
- nr 38 <|@ instruction JUMP ~[] destination: B5 -> B3 <|@ <|@
3404
- end_IR
3405
- end_block
3406
- begin_block
3407
- name "B3"
3408
- from_bci -1
3409
- to_bci -1
3410
- predecessors "B2" "B5"
3411
- successors "B4" "B5"
3412
- xhandlers
3413
- flags "llh"
3414
- loop_index 0
3415
- loop_depth 1
3416
- probability 4615432875006888783
3417
- begin_IR
3418
- LIR
3419
- nr 24 <|@ instruction [] = LABEL numbPhis: 1 align: false label: ? <|@ <|@
3420
- nr 26 <|@ instruction CMP r10|DWORD y: 1 size: DWORD <|@ <|@
3421
- nr 28 <|@ instruction BRANCH trueDestinationProbability: 0.1824315833228609 condition: < trueDestination: B3 -> B4 falseDestination: B3 -> B5 <|@ <|@
3422
- end_IR
3423
- end_block
3424
- begin_block
3425
- name "B4"
3426
- from_bci -1
3427
- to_bci -1
3428
- predecessors "B3"
3429
- successors
3430
- xhandlers
3431
- flags
3432
- probability 4604195794701098297
3433
- begin_IR
3434
- LIR
3435
- nr 40 <|@ instruction [] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
3436
- nr 42 <|@ instruction rax|DWORD = MOVE rsi|DWORD moveKind: DWORD <|@ <|@
3437
- nr 44 <|@ instruction RETURN (savedRbp: rbp|QWORD, value: rax|DWORD) isStub: false requiresReservedStackAccessCheck: false thread: r15 scratchForSafepointOnReturn: rcx config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@130e187d8 <|@ <|@
3438
- end_IR
3439
- end_block
3440
- begin_block
3441
- name "B1"
3442
- from_bci -1
3443
- to_bci -1
3444
- predecessors "B0"
3445
- successors
3446
- xhandlers
3447
- flags
3448
- probability 4595740810775922992
3449
- begin_IR
3450
- LIR
3451
- nr 46 <|@ instruction [] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
3452
- nr 48 <|@ instruction rax|DWORD = MOVE rsi|DWORD moveKind: DWORD <|@ <|@
3453
- nr 50 <|@ instruction RETURN (savedRbp: rbp|QWORD, value: rax|DWORD) isStub: false requiresReservedStackAccessCheck: false thread: r15 scratchForSafepointOnReturn: rcx config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@130e187d8 <|@ <|@
3454
- end_IR
3455
- end_block
3456
- end_cfg
3457
- begin_bytecodes
3458
- 0: iload_0
3459
- 1: istore_1
3460
- 2: iload_1
3461
- 3: ifle 16
3462
- 6: iload_1
3463
- 7: putstatic #59 // intField:int
3464
- 10: iinc
3465
- 13: goto 2
3466
- 16: iload_0
3467
- 17: ireturn
3468
- <|@
3469
- end_bytecodes
3470
- begin_cfg
3471
- name "After NullCheckOptimizer"
3472
- begin_block
3473
- name "B0"
3474
- from_bci -1
3475
- to_bci -1
3476
- predecessors
3477
- successors "B1" "B2"
3478
- xhandlers
3479
- flags
3480
- probability 4607182418800017408
3481
- begin_IR
3482
- LIR
3483
- nr 0 <|@ instruction [rsi|DWORD, rbp|QWORD] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
3484
- nr 4 <|@ instruction [] = HOTSPOTLOCKSTACK frameMapBuilder: org.graalvm.compiler.lir.amd64.AMD64FrameMapBuilder@134ff0250 slotKind: QWORD <|@ <|@
3485
- nr 8 <|@ instruction CMP rsi|DWORD y: 1 size: DWORD <|@ <|@
3486
- nr 10 <|@ instruction BRANCH trueDestinationProbability: 0.1824315833228609 condition: < trueDestination: B0 -> B1 falseDestination: B0 -> B2 <|@ <|@
3487
- end_IR
3488
- end_block
3489
- begin_block
3490
- name "B2"
3491
- from_bci -1
3492
- to_bci -1
3493
- predecessors "B0"
3494
- successors "B3"
3495
- xhandlers
3496
- flags
3497
- probability 4605539221178670516
3498
- begin_IR
3499
- LIR
3500
- nr 12 <|@ instruction [] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
3501
- nr 14 <|@ instruction rax|QWORD[.] = HOTSPOTLOADOBJECTCONSTANT input: Object[Instance<java.lang.Class>] <|@ <|@
3502
- nr 16 <|@ instruction MOV (x: [rax|QWORD[.] + 128], y: rsi|DWORD) size: DWORD <|@ <|@
3503
- nr 18 <|@ instruction MEMBAR barriers: 4 <|@ <|@
3504
- nr 20 <|@ instruction r10|DWORD = DEC rsi|DWORD size: DWORD <|@ <|@
3505
- nr 22 <|@ instruction JUMP ~[] destination: B2 -> B3 <|@ <|@
3506
- end_IR
3507
- end_block
3508
- begin_block
3509
- name "B5"
3510
- from_bci -1
3511
- to_bci -1
3512
- predecessors "B3"
3513
- successors "B3"
3514
- xhandlers
3515
- flags "lle"
3516
- loop_index 0
3517
- loop_depth 1
3518
- probability 4613927731217933313
3519
- begin_IR
3520
- LIR
3521
- nr 30 <|@ instruction [] = LABEL numbPhis: 0 align: true label: ? <|@ <|@
3522
- nr 32 <|@ instruction MOV (x: [rax|QWORD[.] + 128], y: r10|DWORD) size: DWORD <|@ <|@
3523
- nr 34 <|@ instruction MEMBAR barriers: 4 <|@ <|@
3524
- nr 36 <|@ instruction r10|DWORD = DEC r10|DWORD size: DWORD <|@ <|@
3525
- nr 38 <|@ instruction JUMP ~[] destination: B5 -> B3 <|@ <|@
3526
- end_IR
3527
- end_block
3528
- begin_block
3529
- name "B3"
3530
- from_bci -1
3531
- to_bci -1
3532
- predecessors "B2" "B5"
3533
- successors "B4" "B5"
3534
- xhandlers
3535
- flags "llh"
3536
- loop_index 0
3537
- loop_depth 1
3538
- probability 4615432875006888783
3539
- begin_IR
3540
- LIR
3541
- nr 24 <|@ instruction [] = LABEL numbPhis: 1 align: false label: ? <|@ <|@
3542
- nr 26 <|@ instruction CMP r10|DWORD y: 1 size: DWORD <|@ <|@
3543
- nr 28 <|@ instruction BRANCH trueDestinationProbability: 0.1824315833228609 condition: < trueDestination: B3 -> B4 falseDestination: B3 -> B5 <|@ <|@
3544
- end_IR
3545
- end_block
3546
- begin_block
3547
- name "B4"
3548
- from_bci -1
3549
- to_bci -1
3550
- predecessors "B3"
3551
- successors
3552
- xhandlers
3553
- flags
3554
- probability 4604195794701098297
3555
- begin_IR
3556
- LIR
3557
- nr 40 <|@ instruction [] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
3558
- nr 42 <|@ instruction rax|DWORD = MOVE rsi|DWORD moveKind: DWORD <|@ <|@
3559
- nr 44 <|@ instruction RETURN (savedRbp: rbp|QWORD, value: rax|DWORD) isStub: false requiresReservedStackAccessCheck: false thread: r15 scratchForSafepointOnReturn: rcx config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@130e187d8 <|@ <|@
3560
- end_IR
3561
- end_block
3562
- begin_block
3563
- name "B1"
3564
- from_bci -1
3565
- to_bci -1
3566
- predecessors "B0"
3567
- successors
3568
- xhandlers
3569
- flags
3570
- probability 4595740810775922992
3571
- begin_IR
3572
- LIR
3573
- nr 46 <|@ instruction [] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
3574
- nr 48 <|@ instruction rax|DWORD = MOVE rsi|DWORD moveKind: DWORD <|@ <|@
3575
- nr 50 <|@ instruction RETURN (savedRbp: rbp|QWORD, value: rax|DWORD) isStub: false requiresReservedStackAccessCheck: false thread: r15 scratchForSafepointOnReturn: rcx config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@130e187d8 <|@ <|@
3576
- end_IR
3577
- end_block
3578
- end_cfg
3579
- begin_bytecodes
3580
- 0: iload_0
3581
- 1: istore_1
3582
- 2: iload_1
3583
- 3: ifle 16
3584
- 6: iload_1
3585
- 7: putstatic #59 // intField:int
3586
- 10: iinc
3587
- 13: goto 2
3588
- 16: iload_0
3589
- 17: ireturn
3590
- <|@
3591
- end_bytecodes
3592
- begin_cfg
3593
- name "After StackMoveOptimization"
3594
- begin_block
3595
- name "B0"
3596
- from_bci -1
3597
- to_bci -1
3598
- predecessors
3599
- successors "B1" "B2"
3600
- xhandlers
3601
- flags
3602
- probability 4607182418800017408
3603
- begin_IR
3604
- LIR
3605
- nr 0 <|@ instruction [rsi|DWORD, rbp|QWORD] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
3606
- nr 4 <|@ instruction [] = HOTSPOTLOCKSTACK frameMapBuilder: org.graalvm.compiler.lir.amd64.AMD64FrameMapBuilder@134ff0250 slotKind: QWORD <|@ <|@
3607
- nr 8 <|@ instruction CMP rsi|DWORD y: 1 size: DWORD <|@ <|@
3608
- nr 10 <|@ instruction BRANCH trueDestinationProbability: 0.1824315833228609 condition: < trueDestination: B0 -> B1 falseDestination: B0 -> B2 <|@ <|@
3609
- end_IR
3610
- end_block
3611
- begin_block
3612
- name "B2"
3613
- from_bci -1
3614
- to_bci -1
3615
- predecessors "B0"
3616
- successors "B3"
3617
- xhandlers
3618
- flags
3619
- probability 4605539221178670516
3620
- begin_IR
3621
- LIR
3622
- nr 12 <|@ instruction [] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
3623
- nr 14 <|@ instruction rax|QWORD[.] = HOTSPOTLOADOBJECTCONSTANT input: Object[Instance<java.lang.Class>] <|@ <|@
3624
- nr 16 <|@ instruction MOV (x: [rax|QWORD[.] + 128], y: rsi|DWORD) size: DWORD <|@ <|@
3625
- nr 18 <|@ instruction MEMBAR barriers: 4 <|@ <|@
3626
- nr 20 <|@ instruction r10|DWORD = DEC rsi|DWORD size: DWORD <|@ <|@
3627
- nr 22 <|@ instruction JUMP ~[] destination: B2 -> B3 <|@ <|@
3628
- end_IR
3629
- end_block
3630
- begin_block
3631
- name "B5"
3632
- from_bci -1
3633
- to_bci -1
3634
- predecessors "B3"
3635
- successors "B3"
3636
- xhandlers
3637
- flags "lle"
3638
- loop_index 0
3639
- loop_depth 1
3640
- probability 4613927731217933313
3641
- begin_IR
3642
- LIR
3643
- nr 30 <|@ instruction [] = LABEL numbPhis: 0 align: true label: ? <|@ <|@
3644
- nr 32 <|@ instruction MOV (x: [rax|QWORD[.] + 128], y: r10|DWORD) size: DWORD <|@ <|@
3645
- nr 34 <|@ instruction MEMBAR barriers: 4 <|@ <|@
3646
- nr 36 <|@ instruction r10|DWORD = DEC r10|DWORD size: DWORD <|@ <|@
3647
- nr 38 <|@ instruction JUMP ~[] destination: B5 -> B3 <|@ <|@
3648
- end_IR
3649
- end_block
3650
- begin_block
3651
- name "B3"
3652
- from_bci -1
3653
- to_bci -1
3654
- predecessors "B2" "B5"
3655
- successors "B4" "B5"
3656
- xhandlers
3657
- flags "llh"
3658
- loop_index 0
3659
- loop_depth 1
3660
- probability 4615432875006888783
3661
- begin_IR
3662
- LIR
3663
- nr 24 <|@ instruction [] = LABEL numbPhis: 1 align: false label: ? <|@ <|@
3664
- nr 26 <|@ instruction CMP r10|DWORD y: 1 size: DWORD <|@ <|@
3665
- nr 28 <|@ instruction BRANCH trueDestinationProbability: 0.1824315833228609 condition: < trueDestination: B3 -> B4 falseDestination: B3 -> B5 <|@ <|@
3666
- end_IR
3667
- end_block
3668
- begin_block
3669
- name "B4"
3670
- from_bci -1
3671
- to_bci -1
3672
- predecessors "B3"
3673
- successors
3674
- xhandlers
3675
- flags
3676
- probability 4604195794701098297
3677
- begin_IR
3678
- LIR
3679
- nr 40 <|@ instruction [] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
3680
- nr 42 <|@ instruction rax|DWORD = MOVE rsi|DWORD moveKind: DWORD <|@ <|@
3681
- nr 44 <|@ instruction RETURN (savedRbp: rbp|QWORD, value: rax|DWORD) isStub: false requiresReservedStackAccessCheck: false thread: r15 scratchForSafepointOnReturn: rcx config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@130e187d8 <|@ <|@
3682
- end_IR
3683
- end_block
3684
- begin_block
3685
- name "B1"
3686
- from_bci -1
3687
- to_bci -1
3688
- predecessors "B0"
3689
- successors
3690
- xhandlers
3691
- flags
3692
- probability 4595740810775922992
3693
- begin_IR
3694
- LIR
3695
- nr 46 <|@ instruction [] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
3696
- nr 48 <|@ instruction rax|DWORD = MOVE rsi|DWORD moveKind: DWORD <|@ <|@
3697
- nr 50 <|@ instruction RETURN (savedRbp: rbp|QWORD, value: rax|DWORD) isStub: false requiresReservedStackAccessCheck: false thread: r15 scratchForSafepointOnReturn: rcx config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@130e187d8 <|@ <|@
3698
- end_IR
3699
- end_block
3700
- end_cfg
3701
- begin_bytecodes
3702
- 0: iload_0
3703
- 1: istore_1
3704
- 2: iload_1
3705
- 3: ifle 16
3706
- 6: iload_1
3707
- 7: putstatic #59 // intField:int
3708
- 10: iinc
3709
- 13: goto 2
3710
- 16: iload_0
3711
- 17: ireturn
3712
- <|@
3713
- end_bytecodes
3714
- begin_cfg
3715
- name "After PostAllocationOptimizationStage"
3716
- begin_block
3717
- name "B0"
3718
- from_bci -1
3719
- to_bci -1
3720
- predecessors
3721
- successors "B1" "B2"
3722
- xhandlers
3723
- flags
3724
- probability 4607182418800017408
3725
- begin_IR
3726
- LIR
3727
- nr 0 <|@ instruction [rsi|DWORD, rbp|QWORD] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
3728
- nr 4 <|@ instruction [] = HOTSPOTLOCKSTACK frameMapBuilder: org.graalvm.compiler.lir.amd64.AMD64FrameMapBuilder@134ff0250 slotKind: QWORD <|@ <|@
3729
- nr 8 <|@ instruction CMP rsi|DWORD y: 1 size: DWORD <|@ <|@
3730
- nr 10 <|@ instruction BRANCH trueDestinationProbability: 0.1824315833228609 condition: < trueDestination: B0 -> B1 falseDestination: B0 -> B2 <|@ <|@
3731
- end_IR
3732
- end_block
3733
- begin_block
3734
- name "B2"
3735
- from_bci -1
3736
- to_bci -1
3737
- predecessors "B0"
3738
- successors "B3"
3739
- xhandlers
3740
- flags
3741
- probability 4605539221178670516
3742
- begin_IR
3743
- LIR
3744
- nr 12 <|@ instruction [] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
3745
- nr 14 <|@ instruction rax|QWORD[.] = HOTSPOTLOADOBJECTCONSTANT input: Object[Instance<java.lang.Class>] <|@ <|@
3746
- nr 16 <|@ instruction MOV (x: [rax|QWORD[.] + 128], y: rsi|DWORD) size: DWORD <|@ <|@
3747
- nr 18 <|@ instruction MEMBAR barriers: 4 <|@ <|@
3748
- nr 20 <|@ instruction r10|DWORD = DEC rsi|DWORD size: DWORD <|@ <|@
3749
- nr 22 <|@ instruction JUMP ~[] destination: B2 -> B3 <|@ <|@
3750
- end_IR
3751
- end_block
3752
- begin_block
3753
- name "B5"
3754
- from_bci -1
3755
- to_bci -1
3756
- predecessors "B3"
3757
- successors "B3"
3758
- xhandlers
3759
- flags "lle"
3760
- loop_index 0
3761
- loop_depth 1
3762
- probability 4613927731217933313
3763
- begin_IR
3764
- LIR
3765
- nr 30 <|@ instruction [] = LABEL numbPhis: 0 align: true label: ? <|@ <|@
3766
- nr 32 <|@ instruction MOV (x: [rax|QWORD[.] + 128], y: r10|DWORD) size: DWORD <|@ <|@
3767
- nr 34 <|@ instruction MEMBAR barriers: 4 <|@ <|@
3768
- nr 36 <|@ instruction r10|DWORD = DEC r10|DWORD size: DWORD <|@ <|@
3769
- nr 38 <|@ instruction JUMP ~[] destination: B5 -> B3 <|@ <|@
3770
- end_IR
3771
- end_block
3772
- begin_block
3773
- name "B3"
3774
- from_bci -1
3775
- to_bci -1
3776
- predecessors "B2" "B5"
3777
- successors "B4" "B5"
3778
- xhandlers
3779
- flags "llh"
3780
- loop_index 0
3781
- loop_depth 1
3782
- probability 4615432875006888783
3783
- begin_IR
3784
- LIR
3785
- nr 24 <|@ instruction [] = LABEL numbPhis: 1 align: false label: ? <|@ <|@
3786
- nr 26 <|@ instruction CMP r10|DWORD y: 1 size: DWORD <|@ <|@
3787
- nr 28 <|@ instruction BRANCH trueDestinationProbability: 0.1824315833228609 condition: < trueDestination: B3 -> B4 falseDestination: B3 -> B5 <|@ <|@
3788
- end_IR
3789
- end_block
3790
- begin_block
3791
- name "B4"
3792
- from_bci -1
3793
- to_bci -1
3794
- predecessors "B3"
3795
- successors
3796
- xhandlers
3797
- flags
3798
- probability 4604195794701098297
3799
- begin_IR
3800
- LIR
3801
- nr 40 <|@ instruction [] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
3802
- nr 42 <|@ instruction rax|DWORD = MOVE rsi|DWORD moveKind: DWORD <|@ <|@
3803
- nr 44 <|@ instruction RETURN (savedRbp: rbp|QWORD, value: rax|DWORD) isStub: false requiresReservedStackAccessCheck: false thread: r15 scratchForSafepointOnReturn: rcx config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@130e187d8 <|@ <|@
3804
- end_IR
3805
- end_block
3806
- begin_block
3807
- name "B1"
3808
- from_bci -1
3809
- to_bci -1
3810
- predecessors "B0"
3811
- successors
3812
- xhandlers
3813
- flags
3814
- probability 4595740810775922992
3815
- begin_IR
3816
- LIR
3817
- nr 46 <|@ instruction [] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
3818
- nr 48 <|@ instruction rax|DWORD = MOVE rsi|DWORD moveKind: DWORD <|@ <|@
3819
- nr 50 <|@ instruction RETURN (savedRbp: rbp|QWORD, value: rax|DWORD) isStub: false requiresReservedStackAccessCheck: false thread: r15 scratchForSafepointOnReturn: rcx config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@130e187d8 <|@ <|@
3820
- end_IR
3821
- end_block
3822
- end_cfg
3823
- begin_bytecodes
3824
- 0: iload_0
3825
- 1: istore_1
3826
- 2: iload_1
3827
- 3: ifle 16
3828
- 6: iload_1
3829
- 7: putstatic #59 // intField:int
3830
- 10: iinc
3831
- 13: goto 2
3832
- 16: iload_0
3833
- 17: ireturn
3834
- <|@
3835
- end_bytecodes
3836
- begin_cfg
3837
- name "After code generation"
3838
- end_cfg
3839
- begin_nmethod
3840
- <<<HexCodeFile
3841
- Platform AMD64 64 <||@
3842
- HexCode 0 0f1f44000083fe010f8c4300000048b8addeaddeaddeadde89b080000000f083042400448bd641ffcae911000000669044899080000000f08304240041ffca4183fa017deb8bc6850500000000c5f877c38bc6850500000000c5f877c3e80000000090e80000000090 <||@
3843
- Comment 0 3 <||@
3844
- Comment 0 1 <||@
3845
- Comment 5 block B0 null <||@
3846
- Comment 5 0 [rsi|DWORD, rbp|QWORD] = LABEL numbPhis: 0 align: false label: ? <||@
3847
- Comment 5 4 [] = HOTSPOTLOCKSTACK frameMapBuilder: org.graalvm.compiler.lir.amd64.AMD64FrameMapBuilder@134ff0250 slotKind: QWORD <||@
3848
- Comment 5 8 CMP rsi|DWORD y: 1 size: DWORD <||@
3849
- Comment 8 10 BRANCH trueDestinationProbability: 0.1824315833228609 condition: < trueDestination: B0 -> B1 falseDestination: B0 -> B2 <||@
3850
- Comment 14 block B2 null <||@
3851
- Comment 14 12 [] = LABEL numbPhis: 0 align: false label: ? <||@
3852
- Comment 14 14 rax|QWORD[.] = HOTSPOTLOADOBJECTCONSTANT input: Object[Instance<java.lang.Class>] <||@
3853
- Comment 14 {Object[Instance<java.lang.Class>]} <||@
3854
- Comment 24 16 MOV (x: [rax|QWORD[.] + 128], y: rsi|DWORD) size: DWORD <||@
3855
- Comment 30 18 MEMBAR barriers: 4 <||@
3856
- Comment 35 20 r10|DWORD = DEC rsi|DWORD size: DWORD <||@
3857
- Comment 41 22 JUMP ~[] destination: B2 -> B3 <||@
3858
- Comment 46 block B5 loop 0 depth 1 header:5|LoopBegin <||@
3859
- Comment 46 30 [] = LABEL numbPhis: 0 align: true label: ? <||@
3860
- Comment 48 32 MOV (x: [rax|QWORD[.] + 128], y: r10|DWORD) size: DWORD <||@
3861
- Comment 55 34 MEMBAR barriers: 4 <||@
3862
- Comment 60 36 r10|DWORD = DEC r10|DWORD size: DWORD <||@
3863
- Comment 63 38 JUMP ~[] destination: B5 -> B3 <||@
3864
- Comment 63 block B3 loop 0 depth 1 header:5|LoopBegin <||@
3865
- Comment 63 24 [] = LABEL numbPhis: 1 align: false label: ? <||@
3866
- Comment 63 26 CMP r10|DWORD y: 1 size: DWORD <||@
3867
- Comment 67 28 BRANCH trueDestinationProbability: 0.1824315833228609 condition: < trueDestination: B3 -> B4 falseDestination: B3 -> B5 <||@
3868
- Comment 69 block B4 null <||@
3869
- Comment 69 40 [] = LABEL numbPhis: 0 align: false label: ? <||@
3870
- Comment 69 42 rax|DWORD = MOVE rsi|DWORD moveKind: DWORD <||@
3871
- Comment 71 44 RETURN (savedRbp: rbp|QWORD, value: rax|DWORD) isStub: false requiresReservedStackAccessCheck: false thread: r15 scratchForSafepointOnReturn: rcx config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@130e187d8 <||@
3872
- Comment 71 12 <||@
3873
- Comment 81 block B1 null <||@
3874
- Comment 81 46 [] = LABEL numbPhis: 0 align: false label: ? <||@
3875
- Comment 81 48 rax|DWORD = MOVE rsi|DWORD moveKind: DWORD <||@
3876
- Comment 83 50 RETURN (savedRbp: rbp|QWORD, value: rax|DWORD) isStub: false requiresReservedStackAccessCheck: false thread: r15 scratchForSafepointOnReturn: rcx config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@130e187d8 <||@
3877
- Comment 83 12 <||@
3878
- Comment 93 {Stub<ExceptionHandlerStub.exceptionHandler>@0x10f2a6860: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} <||@
3879
- Comment 93 4 <||@
3880
- Comment 99 {Field[name=CompilerToVM::Data::SharedRuntime_deopt_blob_unpack, type=address, offset=0, address=0x1098bc128, value=4548076096]:0x10f162240} <||@
3881
- Comment 99 5 <||@
3882
- HexCodeFile>>> <|@
3883
- end_nmethod
3884
- begin_compilation
3885
- name " HotSpotCompilation-354[JavaExamples.exampleFor(int)]"
3886
- method "HotSpotCompilation-354[JavaExamples.exampleFor(int)]"
3887
- date 1583848523293
3888
- end_compilation
3889
- begin_cfg
3890
- name "After code installation"
3891
- end_cfg
3892
- begin_nmethod
3893
- <<<HexCodeFile
3894
- Platform AMD64 64 <||@
3895
- HexCode 10f2ab7a0 0f1f44000083fe010f8c4300000048b800295f150700000089b080000000f083042400448bd641ffcae911000000669044899080000000f08304240041ffca4183fa017deb8bc6850519a844f8c5f877c38bc685050da844f8c5f877c3e85eb0ffff90e8386aebff90f4f4f4f4f4f4f4 <||@
3896
- Comment 0 3 <||@
3897
- Comment 0 1 <||@
3898
- Comment 5 block B0 null <||@
3899
- Comment 5 0 [rsi|DWORD, rbp|QWORD] = LABEL numbPhis: 0 align: false label: ? <||@
3900
- Comment 5 4 [] = HOTSPOTLOCKSTACK frameMapBuilder: org.graalvm.compiler.lir.amd64.AMD64FrameMapBuilder@134ff0250 slotKind: QWORD <||@
3901
- Comment 5 8 CMP rsi|DWORD y: 1 size: DWORD <||@
3902
- Comment 8 10 BRANCH trueDestinationProbability: 0.1824315833228609 condition: < trueDestination: B0 -> B1 falseDestination: B0 -> B2 <||@
3903
- Comment 14 block B2 null <||@
3904
- Comment 14 12 [] = LABEL numbPhis: 0 align: false label: ? <||@
3905
- Comment 14 14 rax|QWORD[.] = HOTSPOTLOADOBJECTCONSTANT input: Object[Instance<java.lang.Class>] <||@
3906
- Comment 14 {Object[Instance<java.lang.Class>]} <||@
3907
- Comment 24 16 MOV (x: [rax|QWORD[.] + 128], y: rsi|DWORD) size: DWORD <||@
3908
- Comment 30 18 MEMBAR barriers: 4 <||@
3909
- Comment 35 20 r10|DWORD = DEC rsi|DWORD size: DWORD <||@
3910
- Comment 41 22 JUMP ~[] destination: B2 -> B3 <||@
3911
- Comment 46 block B5 loop 0 depth 1 header:5|LoopBegin <||@
3912
- Comment 46 30 [] = LABEL numbPhis: 0 align: true label: ? <||@
3913
- Comment 48 32 MOV (x: [rax|QWORD[.] + 128], y: r10|DWORD) size: DWORD <||@
3914
- Comment 55 34 MEMBAR barriers: 4 <||@
3915
- Comment 60 36 r10|DWORD = DEC r10|DWORD size: DWORD <||@
3916
- Comment 63 38 JUMP ~[] destination: B5 -> B3 <||@
3917
- Comment 63 block B3 loop 0 depth 1 header:5|LoopBegin <||@
3918
- Comment 63 24 [] = LABEL numbPhis: 1 align: false label: ? <||@
3919
- Comment 63 26 CMP r10|DWORD y: 1 size: DWORD <||@
3920
- Comment 67 28 BRANCH trueDestinationProbability: 0.1824315833228609 condition: < trueDestination: B3 -> B4 falseDestination: B3 -> B5 <||@
3921
- Comment 69 block B4 null <||@
3922
- Comment 69 40 [] = LABEL numbPhis: 0 align: false label: ? <||@
3923
- Comment 69 42 rax|DWORD = MOVE rsi|DWORD moveKind: DWORD <||@
3924
- Comment 71 44 RETURN (savedRbp: rbp|QWORD, value: rax|DWORD) isStub: false requiresReservedStackAccessCheck: false thread: r15 scratchForSafepointOnReturn: rcx config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@130e187d8 <||@
3925
- Comment 71 12 <||@
3926
- Comment 81 block B1 null <||@
3927
- Comment 81 46 [] = LABEL numbPhis: 0 align: false label: ? <||@
3928
- Comment 81 48 rax|DWORD = MOVE rsi|DWORD moveKind: DWORD <||@
3929
- Comment 83 50 RETURN (savedRbp: rbp|QWORD, value: rax|DWORD) isStub: false requiresReservedStackAccessCheck: false thread: r15 scratchForSafepointOnReturn: rcx config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@130e187d8 <||@
3930
- Comment 83 12 <||@
3931
- Comment 93 {Stub<ExceptionHandlerStub.exceptionHandler>@0x10f2a6860: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} <||@
3932
- Comment 93 4 <||@
3933
- Comment 99 {Field[name=CompilerToVM::Data::SharedRuntime_deopt_blob_unpack, type=address, offset=0, address=0x1098bc128, value=4548076096]:0x10f162240} <||@
3934
- Comment 99 5 <||@
3935
- HexCodeFile>>> <|@
3936
- end_nmethod