seafoam 0.4 → 0.5

Sign up to get free protection for your applications and to get access to all the features.
Files changed (128) hide show
  1. checksums.yaml +4 -4
  2. data/.github/workflows/workflows.yml +39 -0
  3. data/.rubocop.yml +1 -1
  4. data/README.md +75 -2
  5. data/bin/bgv2isabelle +16 -45
  6. data/bin/bgv2json +18 -36
  7. data/bin/cfg2asm +24 -0
  8. data/bin/seafoam +1 -1
  9. data/demos/box-unbox-stats +65 -0
  10. data/docs/getting-graphs.md +4 -0
  11. data/examples/fib-java.bgv.gz +0 -0
  12. data/examples/fib.js +1 -1
  13. data/examples/java/JavaExamples.java +1 -1
  14. data/examples/ruby/clamps.rb +20 -0
  15. data/examples/ruby/graal.patch +15 -0
  16. data/examples/ruby/ruby_examples.rb +278 -0
  17. data/lib/seafoam.rb +5 -0
  18. data/lib/seafoam/annotators/graal.rb +1 -1
  19. data/lib/seafoam/cfg/cfg_parser.rb +93 -0
  20. data/lib/seafoam/cfg/disassembler.rb +70 -0
  21. data/lib/seafoam/commands.rb +185 -29
  22. data/lib/seafoam/graal/source.rb +23 -0
  23. data/lib/seafoam/isabelle_writer.rb +46 -0
  24. data/lib/seafoam/json_writer.rb +58 -0
  25. data/lib/seafoam/version.rb +1 -1
  26. data/seafoam.gemspec +2 -1
  27. data/spec/seafoam/annotators/graal_spec.rb +7 -7
  28. data/spec/seafoam/bgv/bgv_parser_spec.rb +2 -2
  29. data/spec/seafoam/cfg/cfg_parser_spec.rb +21 -0
  30. data/spec/seafoam/cfg/disassembler_spec.rb +32 -0
  31. data/spec/seafoam/command_spec.rb +78 -30
  32. data/spec/seafoam/json_writer_spec.rb +14 -0
  33. data/spec/seafoam/spec_helpers.rb +4 -0
  34. data/tools/render-all +2 -2
  35. metadata +36 -102
  36. data/.github/workflows/rubocop.yml +0 -10
  37. data/.github/workflows/specs.yml +0 -19
  38. data/examples/fib-java.bgv +0 -0
  39. data/examples/fib-js.bgv +0 -0
  40. data/examples/fib-ruby.bgv +0 -0
  41. data/examples/identity.bgv +0 -0
  42. data/examples/java/exampleArithOperator.bgv +0 -0
  43. data/examples/java/exampleArithOperator.cfg +0 -925
  44. data/examples/java/exampleArrayAllocation.bgv +0 -0
  45. data/examples/java/exampleArrayAllocation.cfg +0 -5268
  46. data/examples/java/exampleArrayRead.bgv +0 -0
  47. data/examples/java/exampleArrayRead.cfg +0 -2263
  48. data/examples/java/exampleArrayWrite.bgv +0 -0
  49. data/examples/java/exampleArrayWrite.cfg +0 -2315
  50. data/examples/java/exampleCatch.bgv +0 -0
  51. data/examples/java/exampleCatch.cfg +0 -4150
  52. data/examples/java/exampleCompareOperator.bgv +0 -0
  53. data/examples/java/exampleCompareOperator.cfg +0 -1109
  54. data/examples/java/exampleDoubleSynchronized.bgv +0 -0
  55. data/examples/java/exampleDoubleSynchronized.cfg +0 -26497
  56. data/examples/java/exampleExactArith.bgv +0 -0
  57. data/examples/java/exampleExactArith.cfg +0 -1888
  58. data/examples/java/exampleFieldRead.bgv +0 -0
  59. data/examples/java/exampleFieldRead.cfg +0 -1228
  60. data/examples/java/exampleFieldWrite.bgv +0 -0
  61. data/examples/java/exampleFieldWrite.cfg +0 -1102
  62. data/examples/java/exampleFor.bgv +0 -0
  63. data/examples/java/exampleFor.cfg +0 -3936
  64. data/examples/java/exampleFullEscape.bgv +0 -0
  65. data/examples/java/exampleFullEscape.cfg +0 -5893
  66. data/examples/java/exampleIf.bgv +0 -0
  67. data/examples/java/exampleIf.cfg +0 -2462
  68. data/examples/java/exampleIfNeverTaken.bgv +0 -0
  69. data/examples/java/exampleIfNeverTaken.cfg +0 -2476
  70. data/examples/java/exampleInstanceOfManyImpls.bgv +0 -0
  71. data/examples/java/exampleInstanceOfManyImpls.cfg +0 -6391
  72. data/examples/java/exampleInstanceOfOneImpl.bgv +0 -0
  73. data/examples/java/exampleInstanceOfOneImpl.cfg +0 -2604
  74. data/examples/java/exampleIntSwitch.bgv +0 -0
  75. data/examples/java/exampleIntSwitch.cfg +0 -3121
  76. data/examples/java/exampleInterfaceCallManyImpls.bgv +0 -0
  77. data/examples/java/exampleInterfaceCallManyImpls.cfg +0 -1358
  78. data/examples/java/exampleInterfaceCallOneImpl.bgv +0 -0
  79. data/examples/java/exampleInterfaceCallOneImpl.cfg +0 -3859
  80. data/examples/java/exampleLocalInstanceOf.bgv +0 -0
  81. data/examples/java/exampleLocalInstanceOf.cfg +0 -5276
  82. data/examples/java/exampleLocalSynchronized.bgv +0 -0
  83. data/examples/java/exampleLocalSynchronized.cfg +0 -1364
  84. data/examples/java/exampleLocalVariables.bgv +0 -0
  85. data/examples/java/exampleLocalVariables.cfg +0 -1195
  86. data/examples/java/exampleLocalVariablesState.bgv +0 -0
  87. data/examples/java/exampleLocalVariablesState.cfg +0 -1673
  88. data/examples/java/exampleNestedWhile.bgv +0 -0
  89. data/examples/java/exampleNestedWhile.cfg +0 -15499
  90. data/examples/java/exampleNestedWhileBreak.bgv +0 -0
  91. data/examples/java/exampleNestedWhileBreak.cfg +0 -11162
  92. data/examples/java/exampleNoEscape.bgv +0 -0
  93. data/examples/java/exampleNoEscape.cfg +0 -974
  94. data/examples/java/exampleObjectAllocation.bgv +0 -0
  95. data/examples/java/exampleObjectAllocation.cfg +0 -5287
  96. data/examples/java/examplePartialEscape.bgv +0 -0
  97. data/examples/java/examplePartialEscape.cfg +0 -7042
  98. data/examples/java/examplePhi.bgv +0 -0
  99. data/examples/java/examplePhi.cfg +0 -3227
  100. data/examples/java/exampleReducible.bgv +0 -0
  101. data/examples/java/exampleReducible.cfg +0 -5578
  102. data/examples/java/exampleSimpleCall.bgv +0 -0
  103. data/examples/java/exampleSimpleCall.cfg +0 -1435
  104. data/examples/java/exampleStamp.bgv +0 -0
  105. data/examples/java/exampleStamp.cfg +0 -913
  106. data/examples/java/exampleStaticCall.bgv +0 -0
  107. data/examples/java/exampleStaticCall.cfg +0 -1154
  108. data/examples/java/exampleStringSwitch.bgv +0 -0
  109. data/examples/java/exampleStringSwitch.cfg +0 -15377
  110. data/examples/java/exampleSynchronized.bgv +0 -0
  111. data/examples/java/exampleSynchronized.cfg +0 -26027
  112. data/examples/java/exampleThrow.bgv +0 -0
  113. data/examples/java/exampleThrow.cfg +0 -780
  114. data/examples/java/exampleThrowCatch.bgv +0 -0
  115. data/examples/java/exampleThrowCatch.cfg +0 -744
  116. data/examples/java/exampleUnsafeRead.bgv +0 -0
  117. data/examples/java/exampleUnsafeRead.cfg +0 -912
  118. data/examples/java/exampleUnsafeWrite.bgv +0 -0
  119. data/examples/java/exampleUnsafeWrite.cfg +0 -962
  120. data/examples/java/exampleWhile.bgv +0 -0
  121. data/examples/java/exampleWhile.cfg +0 -3936
  122. data/examples/java/exampleWhileBreak.bgv +0 -0
  123. data/examples/java/exampleWhileBreak.cfg +0 -5963
  124. data/examples/matmult-java.bgv +0 -0
  125. data/examples/matmult-ruby.bgv +0 -0
  126. data/examples/overflow.bgv +0 -0
  127. data/spec/seafoam/bgv/fixtures/not.bgv +0 -1
  128. data/spec/seafoam/bgv/fixtures/unsupported.bgv +0 -1
Binary file
@@ -1,3936 +0,0 @@
1
- begin_compilation
2
- name " HotSpotCompilation-337[JavaExamples.exampleWhile(int)]"
3
- method "HotSpotCompilation-337[JavaExamples.exampleWhile(int)]"
4
- date 1583364091101
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.exampleWhile(JavaExamples.java:204) [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.exampleWhile(JavaExamples.java:204) [bci: 3]
67
- op: org.graalvm.compiler.nodes.calc.IntegerLessThanNode$LessThanOp@136e38370
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.exampleWhile(JavaExamples.java:204) [bci: 3]
83
- stamp: void
84
- trueSuccessorProbability: 0.1814664768787182
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 4595706039151745280
105
- begin_IR
106
- HIR
107
- f <@#|@fixed with next>@ <|@
108
- tid v25 <|@
109
- d <@d|@=== Debug Properties ===
110
- nodeSourcePosition: at JavaExamples.exampleWhile(JavaExamples.java:208) [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.exampleWhile(JavaExamples.java:208) [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 4605547914084714944
144
- begin_IR
145
- HIR
146
- f <@#|@fixed with next>@ <|@
147
- tid v24 <|@
148
- d <@d|@=== Debug Properties ===
149
- nodeSourcePosition: at JavaExamples.exampleWhile(JavaExamples.java:205) [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.exampleWhile(JavaExamples.java:205) [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.exampleWhile(JavaExamples.java:205) [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.exampleWhile(JavaExamples.java:206) [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.exampleWhile(JavaExamples.java:206) [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.exampleWhile(JavaExamples.java:204) [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 4615496347824353082
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.510659694288013
317
- loopOrigFrequency: 1.0
318
- loopType: SIMPLE_LOOP
319
- nextEndIndex: 1
320
- nodeSourcePosition: at JavaExamples.exampleWhile(JavaExamples.java:204) [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.exampleWhile(JavaExamples.java:204) [bci: 3]
343
- op: org.graalvm.compiler.nodes.calc.IntegerLessThanNode$LessThanOp@136e38370
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.exampleWhile(JavaExamples.java:204) [bci: 3]
359
- stamp: void
360
- trueSuccessorProbability: 0.1814664768787182
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 4604210017181540071
381
- begin_IR
382
- HIR
383
- f <@#|@fixed with next>@ <|@
384
- tid v13 <|@
385
- d <@d|@=== Debug Properties ===
386
- nodeSourcePosition: at JavaExamples.exampleWhile(JavaExamples.java:208) [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.exampleWhile(JavaExamples.java:208) [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 4613987648415287168
424
- begin_IR
425
- HIR
426
- f <@#|@fixed with next>@ <|@
427
- tid v11 <|@
428
- d <@d|@=== Debug Properties ===
429
- nodeSourcePosition: at JavaExamples.exampleWhile(JavaExamples.java:205) [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.exampleWhile(JavaExamples.java:205) [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.exampleWhile(JavaExamples.java:206) [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.exampleWhile(JavaExamples.java:204) [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@13aff0d10 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.1814664768787182 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 4605547914084714944
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 4613987648415287168
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 4615496347824353082
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.1814664768787182 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 4604210017181540071
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@137f187d8 <|@ <|@
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 4595706039151745280
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@137f187d8 <|@ <|@
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 #54 // 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.exampleWhile(JavaExamples.java:204) [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.exampleWhile(JavaExamples.java:204) [bci: 3]
705
- op: org.graalvm.compiler.nodes.calc.IntegerLessThanNode$LessThanOp@136e38370
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.exampleWhile(JavaExamples.java:204) [bci: 3]
721
- stamp: void
722
- trueSuccessorProbability: 0.1814664768787182
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@13aff0d10 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.1814664768787182 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 4595706039151745280
752
- begin_IR
753
- HIR
754
- f <@#|@fixed with next>@ <|@
755
- tid v25 <|@
756
- d <@d|@=== Debug Properties ===
757
- nodeSourcePosition: at JavaExamples.exampleWhile(JavaExamples.java:208) [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.exampleWhile(JavaExamples.java:208) [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@137f187d8 <|@ <|@
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 4605547914084714944
797
- begin_IR
798
- HIR
799
- f <@#|@fixed with next>@ <|@
800
- tid v24 <|@
801
- d <@d|@=== Debug Properties ===
802
- nodeSourcePosition: at JavaExamples.exampleWhile(JavaExamples.java:205) [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.exampleWhile(JavaExamples.java:205) [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.exampleWhile(JavaExamples.java:205) [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.exampleWhile(JavaExamples.java:206) [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.exampleWhile(JavaExamples.java:206) [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.exampleWhile(JavaExamples.java:204) [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 4615496347824353082
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.510659694288013
984
- loopOrigFrequency: 1.0
985
- loopType: SIMPLE_LOOP
986
- nextEndIndex: 1
987
- nodeSourcePosition: at JavaExamples.exampleWhile(JavaExamples.java:204) [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.exampleWhile(JavaExamples.java:204) [bci: 3]
1010
- op: org.graalvm.compiler.nodes.calc.IntegerLessThanNode$LessThanOp@136e38370
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.exampleWhile(JavaExamples.java:204) [bci: 3]
1026
- stamp: void
1027
- trueSuccessorProbability: 0.1814664768787182
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.1814664768787182 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 4604210017181540071
1054
- begin_IR
1055
- HIR
1056
- f <@#|@fixed with next>@ <|@
1057
- tid v13 <|@
1058
- d <@d|@=== Debug Properties ===
1059
- nodeSourcePosition: at JavaExamples.exampleWhile(JavaExamples.java:208) [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.exampleWhile(JavaExamples.java:208) [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@137f187d8 <|@ <|@
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 4613987648415287168
1103
- begin_IR
1104
- HIR
1105
- f <@#|@fixed with next>@ <|@
1106
- tid v11 <|@
1107
- d <@d|@=== Debug Properties ===
1108
- nodeSourcePosition: at JavaExamples.exampleWhile(JavaExamples.java:205) [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.exampleWhile(JavaExamples.java:205) [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.exampleWhile(JavaExamples.java:206) [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.exampleWhile(JavaExamples.java:204) [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@13aff0d10 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.1814664768787182 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 4605547914084714944
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 4613987648415287168
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 4615496347824353082
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.1814664768787182 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 4604210017181540071
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@137f187d8 <|@ <|@
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 4595706039151745280
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@137f187d8 <|@ <|@
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 #54 // 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@13aff0d10 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.1814664768787182 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 4605547914084714944
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 4613987648415287168
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 4615496347824353082
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.1814664768787182 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 4604210017181540071
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@137f187d8 <|@ <|@
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 4595706039151745280
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@137f187d8 <|@ <|@
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 #54 // 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@13aff0d10 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.1814664768787182 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 4605547914084714944
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 4613987648415287168
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 4615496347824353082
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.1814664768787182 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 4604210017181540071
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@137f187d8 <|@ <|@
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 4595706039151745280
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@137f187d8 <|@ <|@
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 #54 // 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@13aff0d10 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.1814664768787182 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 4605547914084714944
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 4613987648415287168
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 4615496347824353082
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.1814664768787182 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 4604210017181540071
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@137f187d8 <|@ <|@
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 4595706039151745280
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@137f187d8 <|@ <|@
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 #54 // 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@13aff0d10 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.1814664768787182 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 4605547914084714944
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 4613987648415287168
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 4615496347824353082
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.1814664768787182 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 4604210017181540071
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@137f187d8 <|@ <|@
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 4595706039151745280
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@137f187d8 <|@ <|@
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 #54 // 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@13aff0d10 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.1814664768787182 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 4605547914084714944
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 4613987648415287168
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 4615496347824353082
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.1814664768787182 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 4604210017181540071
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@137f187d8 <|@ <|@
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 4595706039151745280
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@137f187d8 <|@ <|@
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 #54 // 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@13aff0d10 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.1814664768787182 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 4605547914084714944
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 4613987648415287168
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 4615496347824353082
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.1814664768787182 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 4604210017181540071
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@137f187d8 <|@ <|@
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 4595706039151745280
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@137f187d8 <|@ <|@
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 #54 // 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@13aff0d10 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.1814664768787182 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 4605547914084714944
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 4613987648415287168
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 4615496347824353082
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.1814664768787182 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 4604210017181540071
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@137f187d8 <|@ <|@
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 4595706039151745280
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@137f187d8 <|@ <|@
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 #54 // 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@13aff0d10 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.1814664768787182 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 4605547914084714944
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 4613987648415287168
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 4615496347824353082
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.1814664768787182 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 4604210017181540071
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@137f187d8 <|@ <|@
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 4595706039151745280
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@137f187d8 <|@ <|@
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 #54 // 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@13aff0d10 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.1814664768787182 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 4605547914084714944
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 4613987648415287168
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 4615496347824353082
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.1814664768787182 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 4604210017181540071
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@137f187d8 <|@ <|@
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 4595706039151745280
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@137f187d8 <|@ <|@
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 #54 // 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@13aff0d10 slotKind: QWORD <|@ <|@
2509
- nr 8 <|@ instruction CMP rsi|DWORD y: 1 size: DWORD <|@ <|@
2510
- nr 10 <|@ instruction BRANCH trueDestinationProbability: 0.1814664768787182 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 4605547914084714944
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 4613987648415287168
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 4615496347824353082
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.1814664768787182 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 4604210017181540071
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@137f187d8 <|@ <|@
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 4595706039151745280
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@137f187d8 <|@ <|@
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 #54 // 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@13aff0d10 slotKind: QWORD <|@ <|@
2631
- nr 8 <|@ instruction CMP rsi|DWORD y: 1 size: DWORD <|@ <|@
2632
- nr 10 <|@ instruction BRANCH trueDestinationProbability: 0.1814664768787182 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 4605547914084714944
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 4613987648415287168
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 4615496347824353082
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.1814664768787182 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 4604210017181540071
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@137f187d8 <|@ <|@
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 4595706039151745280
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@137f187d8 <|@ <|@
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 #54 // 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@13aff0d10 slotKind: QWORD <|@ <|@
2753
- nr 8 <|@ instruction CMP rsi|DWORD y: 1 size: DWORD <|@ <|@
2754
- nr 10 <|@ instruction BRANCH trueDestinationProbability: 0.1814664768787182 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 4605547914084714944
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 4613987648415287168
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 4615496347824353082
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.1814664768787182 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 4604210017181540071
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@137f187d8 <|@ <|@
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 4595706039151745280
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@137f187d8 <|@ <|@
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 #54 // 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@13aff0d10 slotKind: QWORD <|@ <|@
2875
- nr 8 <|@ instruction CMP rsi|DWORD y: 1 size: DWORD <|@ <|@
2876
- nr 10 <|@ instruction BRANCH trueDestinationProbability: 0.1814664768787182 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 4605547914084714944
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 4613987648415287168
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 4615496347824353082
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.1814664768787182 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 4604210017181540071
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@137f187d8 <|@ <|@
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 4595706039151745280
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@137f187d8 <|@ <|@
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 #54 // 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@13aff0d10 slotKind: QWORD <|@ <|@
2997
- nr 8 <|@ instruction CMP rsi|DWORD y: 1 size: DWORD <|@ <|@
2998
- nr 10 <|@ instruction BRANCH trueDestinationProbability: 0.1814664768787182 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 4605547914084714944
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 4613987648415287168
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 4615496347824353082
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.1814664768787182 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 4604210017181540071
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@137f187d8 <|@ <|@
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 4595706039151745280
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@137f187d8 <|@ <|@
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 #54 // 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@13aff0d10 slotKind: QWORD <|@ <|@
3119
- nr 8 <|@ instruction CMP rsi|DWORD y: 1 size: DWORD <|@ <|@
3120
- nr 10 <|@ instruction BRANCH trueDestinationProbability: 0.1814664768787182 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 4605547914084714944
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 4613987648415287168
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 4615496347824353082
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.1814664768787182 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 4604210017181540071
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@137f187d8 <|@ <|@
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 4595706039151745280
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@137f187d8 <|@ <|@
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 #54 // 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@13aff0d10 slotKind: QWORD <|@ <|@
3241
- nr 8 <|@ instruction CMP rsi|DWORD y: 1 size: DWORD <|@ <|@
3242
- nr 10 <|@ instruction BRANCH trueDestinationProbability: 0.1814664768787182 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 4605547914084714944
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 4613987648415287168
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 4615496347824353082
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.1814664768787182 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 4604210017181540071
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@137f187d8 <|@ <|@
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 4595706039151745280
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@137f187d8 <|@ <|@
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 #54 // 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@13aff0d10 slotKind: QWORD <|@ <|@
3363
- nr 8 <|@ instruction CMP rsi|DWORD y: 1 size: DWORD <|@ <|@
3364
- nr 10 <|@ instruction BRANCH trueDestinationProbability: 0.1814664768787182 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 4605547914084714944
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 4613987648415287168
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 4615496347824353082
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.1814664768787182 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 4604210017181540071
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@137f187d8 <|@ <|@
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 4595706039151745280
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@137f187d8 <|@ <|@
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 #54 // 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@13aff0d10 slotKind: QWORD <|@ <|@
3485
- nr 8 <|@ instruction CMP rsi|DWORD y: 1 size: DWORD <|@ <|@
3486
- nr 10 <|@ instruction BRANCH trueDestinationProbability: 0.1814664768787182 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 4605547914084714944
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 4613987648415287168
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 4615496347824353082
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.1814664768787182 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 4604210017181540071
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@137f187d8 <|@ <|@
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 4595706039151745280
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@137f187d8 <|@ <|@
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 #54 // 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@13aff0d10 slotKind: QWORD <|@ <|@
3607
- nr 8 <|@ instruction CMP rsi|DWORD y: 1 size: DWORD <|@ <|@
3608
- nr 10 <|@ instruction BRANCH trueDestinationProbability: 0.1814664768787182 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 4605547914084714944
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 4613987648415287168
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 4615496347824353082
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.1814664768787182 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 4604210017181540071
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@137f187d8 <|@ <|@
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 4595706039151745280
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@137f187d8 <|@ <|@
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 #54 // 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@13aff0d10 slotKind: QWORD <|@ <|@
3729
- nr 8 <|@ instruction CMP rsi|DWORD y: 1 size: DWORD <|@ <|@
3730
- nr 10 <|@ instruction BRANCH trueDestinationProbability: 0.1814664768787182 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 4605547914084714944
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 4613987648415287168
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 4615496347824353082
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.1814664768787182 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 4604210017181540071
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@137f187d8 <|@ <|@
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 4595706039151745280
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@137f187d8 <|@ <|@
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 #54 // 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@13aff0d10 slotKind: QWORD <||@
3848
- Comment 5 8 CMP rsi|DWORD y: 1 size: DWORD <||@
3849
- Comment 8 10 BRANCH trueDestinationProbability: 0.1814664768787182 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.1814664768787182 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@137f187d8 <||@
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@137f187d8 <||@
3877
- Comment 83 12 <||@
3878
- Comment 93 {Stub<ExceptionHandlerStub.exceptionHandler>@0x112e24320:CallingConvention[rax|QWORD[.], rdx|QWORD]:CallingConvention[rax|QWORD[.], rdx|QWORD]; temps=rdi|ILLEGAL,xmm14|ILLEGAL,xmm15|ILLEGAL,xmm12|ILLEGAL,xmm13|ILLEGAL,xmm10|ILLEGAL,xmm11|ILLEGAL,xmm7|ILLEGAL,xmm8|ILLEGAL,xmm9|ILLEGAL,xmm0|ILLEGAL,xmm1|ILLEGAL,xmm2|ILLEGAL,xmm3|ILLEGAL,xmm4|ILLEGAL,xmm5|ILLEGAL,xmm6|ILLEGAL,rax|ILLEGAL,rcx|ILLEGAL,rdx|ILLEGAL,rsi|ILLEGAL,r8|ILLEGAL,r9|ILLEGAL,r10|ILLEGAL,r11|ILLEGAL} <||@
3879
- Comment 93 4 <||@
3880
- Comment 99 {Field[name=CompilerToVM::Data::SharedRuntime_deopt_blob_unpack, type=address, offset=0, address=0x1108bc128, value=4610474560]:0x112ce4240} <||@
3881
- Comment 99 5 <||@
3882
- HexCodeFile>>> <|@
3883
- end_nmethod
3884
- begin_compilation
3885
- name " HotSpotCompilation-337[JavaExamples.exampleWhile(int)]"
3886
- method "HotSpotCompilation-337[JavaExamples.exampleWhile(int)]"
3887
- date 1583364091132
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 112e28ee0 0f1f44000083fe010f8c4300000048b8b0275f150700000089b080000000f083042400448bd641ffcae911000000669044899080000000f08304240041ffca4183fa017deb8bc68505d92094fbc5f877c38bc68505cd2094fbc5f877c3e8deb3ffff90e8f8b2ebff90f4f4f4f4f4f4f4 <||@
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@13aff0d10 slotKind: QWORD <||@
3901
- Comment 5 8 CMP rsi|DWORD y: 1 size: DWORD <||@
3902
- Comment 8 10 BRANCH trueDestinationProbability: 0.1814664768787182 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.1814664768787182 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@137f187d8 <||@
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@137f187d8 <||@
3930
- Comment 83 12 <||@
3931
- Comment 93 {Stub<ExceptionHandlerStub.exceptionHandler>@0x112e24320:CallingConvention[rax|QWORD[.], rdx|QWORD]:CallingConvention[rax|QWORD[.], rdx|QWORD]; temps=rdi|ILLEGAL,xmm14|ILLEGAL,xmm15|ILLEGAL,xmm12|ILLEGAL,xmm13|ILLEGAL,xmm10|ILLEGAL,xmm11|ILLEGAL,xmm7|ILLEGAL,xmm8|ILLEGAL,xmm9|ILLEGAL,xmm0|ILLEGAL,xmm1|ILLEGAL,xmm2|ILLEGAL,xmm3|ILLEGAL,xmm4|ILLEGAL,xmm5|ILLEGAL,xmm6|ILLEGAL,rax|ILLEGAL,rcx|ILLEGAL,rdx|ILLEGAL,rsi|ILLEGAL,r8|ILLEGAL,r9|ILLEGAL,r10|ILLEGAL,r11|ILLEGAL} <||@
3932
- Comment 93 4 <||@
3933
- Comment 99 {Field[name=CompilerToVM::Data::SharedRuntime_deopt_blob_unpack, type=address, offset=0, address=0x1108bc128, value=4610474560]:0x112ce4240} <||@
3934
- Comment 99 5 <||@
3935
- HexCodeFile>>> <|@
3936
- end_nmethod