seafoam 0.3 → 0.8

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