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
Binary file
@@ -1,913 +0,0 @@
1
- begin_compilation
2
- name " HotSpotCompilation-124[JavaExamples.exampleStamp(int)]"
3
- method "HotSpotCompilation-124[JavaExamples.exampleStamp(int)]"
4
- date 1583796302242
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
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: v5
28
- === Usages ===
29
- === Predecessor ===
30
- - >@ <|@
31
- instruction <@StartNode|@org.graalvm.compiler.nodes.StartNode>@ stateAfter: - #next: v5 <|@ <|@
32
- f <@~|@floating>@ <|@
33
- tid i1 <|@
34
- d <@d|@=== Debug Properties ===
35
- index: 0
36
- stamp: i32
37
- uncheckedStamp: [null]
38
- === Inputs ===
39
- === Succesors ===
40
- === Usages ===
41
- i4
42
- === Predecessor ===
43
- - >@ <|@
44
- instruction <@Parameter|@org.graalvm.compiler.nodes.ParameterNode>@ <|@ <|@
45
- f <@~|@floating>@ <|@
46
- tid i3 <|@
47
- d <@d|@=== Debug Properties ===
48
- isDefaultStable: false
49
- nodeSourcePosition: at JavaExamples.exampleStamp(JavaExamples.java:114) [bci: 1]
50
- rawvalue: 4660
51
- stableDimension: 0
52
- stamp: i32 [4660] ⇊0000000000001234 ⇈0000000000001234
53
- stampKind: i32
54
- value: int[4660|0x1234]
55
- === Inputs ===
56
- === Succesors ===
57
- === Usages ===
58
- i4
59
- === Predecessor ===
60
- - >@ <|@
61
- instruction <@Constant|@org.graalvm.compiler.nodes.ConstantNode>@ <|@ <|@
62
- f <@~|@floating>@ <|@
63
- tid i4 <|@
64
- d <@d|@=== Debug Properties ===
65
- nodeSourcePosition: at JavaExamples.exampleStamp(JavaExamples.java:114) [bci: 4]
66
- stamp: i32 [0 - 4660] ⇈0000000000001234
67
- === Inputs ===
68
- x: i1
69
- y: i3
70
- === Succesors ===
71
- === Usages ===
72
- v5
73
- === Predecessor ===
74
- - >@ <|@
75
- instruction <@&|@org.graalvm.compiler.nodes.calc.AndNode>@ x: i1 y: i3 <|@ <|@
76
- f <@*|@fixed>@ <|@
77
- tid v5 <|@
78
- d <@d|@=== Debug Properties ===
79
- nodeSourcePosition: at JavaExamples.exampleStamp(JavaExamples.java:114) [bci: 5]
80
- stamp: void
81
- === Inputs ===
82
- result: i4
83
- memoryMap: -
84
- === Succesors ===
85
- === Usages ===
86
- === Predecessor ===
87
- v0 >@ <|@
88
- instruction <@Return|@org.graalvm.compiler.nodes.ReturnNode>@ result: i4 memoryMap: - <|@ <|@
89
- end_IR
90
- end_block
91
- end_cfg
92
- begin_cfg
93
- name "After LIRGeneration"
94
- begin_block
95
- name "B0"
96
- from_bci -1
97
- to_bci -1
98
- predecessors
99
- successors
100
- xhandlers
101
- flags
102
- probability 4607182418800017408
103
- begin_IR
104
- LIR
105
- nr -1 <|@ instruction [rsi|DWORD, rbp|QWORD] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
106
- nr -1 <|@ instruction v2|QWORD = MOVE rbp|QWORD moveKind: QWORD <|@ <|@
107
- nr -1 <|@ instruction [] = HOTSPOTLOCKSTACK frameMapBuilder: org.graalvm.compiler.lir.amd64.AMD64FrameMapBuilder@13fa82c50 slotKind: QWORD <|@ <|@
108
- nr -1 <|@ instruction v0|DWORD = MOVE rsi|DWORD moveKind: DWORD <|@ <|@
109
- nr -1 <|@ instruction v1|DWORD = AND v0|DWORD y: 4660 size: DWORD <|@ <|@
110
- nr -1 <|@ instruction rax|DWORD = MOVE v1|DWORD moveKind: DWORD <|@ <|@
111
- nr -1 <|@ instruction RETURN (savedRbp: v2|QWORD, value: rax|DWORD) isStub: false requiresReservedStackAccessCheck: false thread: r15 scratchForSafepointOnReturn: rcx config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@112a022d8 <|@ <|@
112
- end_IR
113
- end_block
114
- end_cfg
115
- begin_bytecodes
116
- 0: iload_0
117
- 1: sipush 4660
118
- 4: iand
119
- 5: ireturn
120
- <|@
121
- end_bytecodes
122
- begin_cfg
123
- name "After LIR generation"
124
- begin_block
125
- name "B0"
126
- from_bci -1
127
- to_bci -1
128
- predecessors
129
- successors
130
- xhandlers
131
- flags
132
- probability 4607182418800017408
133
- begin_IR
134
- HIR
135
- f <@#|@fixed with next>@ <|@
136
- tid v0 <|@
137
- d <@d|@=== Debug Properties ===
138
- stamp: void
139
- withSpeculationFence: false
140
- === Inputs ===
141
- stateAfter: -
142
- === Succesors ===
143
- next: v5
144
- === Usages ===
145
- === Predecessor ===
146
- - >@ <|@
147
- instruction <@StartNode|@org.graalvm.compiler.nodes.StartNode>@ stateAfter: - #next: v5 <|@ <|@
148
- f <@~|@floating>@ <|@
149
- tid i1 <|@
150
- result v0|DWORD <|@
151
- d <@d|@=== Debug Properties ===
152
- index: 0
153
- stamp: i32
154
- uncheckedStamp: [null]
155
- === Inputs ===
156
- === Succesors ===
157
- === Usages ===
158
- i4
159
- === Predecessor ===
160
- - >@ <|@
161
- instruction <@Parameter|@org.graalvm.compiler.nodes.ParameterNode>@ <|@ <|@
162
- f <@~|@floating>@ <|@
163
- tid i3 <|@
164
- result int[4660|0x1234] <|@
165
- d <@d|@=== Debug Properties ===
166
- isDefaultStable: false
167
- nodeSourcePosition: at JavaExamples.exampleStamp(JavaExamples.java:114) [bci: 1]
168
- rawvalue: 4660
169
- stableDimension: 0
170
- stamp: i32 [4660] ⇊0000000000001234 ⇈0000000000001234
171
- stampKind: i32
172
- value: int[4660|0x1234]
173
- === Inputs ===
174
- === Succesors ===
175
- === Usages ===
176
- i4
177
- === Predecessor ===
178
- - >@ <|@
179
- instruction <@Constant|@org.graalvm.compiler.nodes.ConstantNode>@ <|@ <|@
180
- f <@~|@floating>@ <|@
181
- tid i4 <|@
182
- result v1|DWORD <|@
183
- d <@d|@=== Debug Properties ===
184
- nodeSourcePosition: at JavaExamples.exampleStamp(JavaExamples.java:114) [bci: 4]
185
- stamp: i32 [0 - 4660] ⇈0000000000001234
186
- === Inputs ===
187
- x: i1
188
- y: i3
189
- === Succesors ===
190
- === Usages ===
191
- v5
192
- === Predecessor ===
193
- - >@ <|@
194
- instruction <@&|@org.graalvm.compiler.nodes.calc.AndNode>@ x: i1 y: i3 <|@ <|@
195
- f <@*|@fixed>@ <|@
196
- tid v5 <|@
197
- d <@d|@=== Debug Properties ===
198
- nodeSourcePosition: at JavaExamples.exampleStamp(JavaExamples.java:114) [bci: 5]
199
- stamp: void
200
- === Inputs ===
201
- result: i4
202
- memoryMap: -
203
- === Succesors ===
204
- === Usages ===
205
- === Predecessor ===
206
- v0 >@ <|@
207
- instruction <@Return|@org.graalvm.compiler.nodes.ReturnNode>@ result: i4 memoryMap: - <|@ <|@
208
- end_IR
209
- begin_IR
210
- LIR
211
- nr -1 <|@ instruction [rsi|DWORD, rbp|QWORD] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
212
- nr -1 <|@ instruction v2|QWORD = MOVE rbp|QWORD moveKind: QWORD <|@ <|@
213
- nr -1 <|@ instruction [] = HOTSPOTLOCKSTACK frameMapBuilder: org.graalvm.compiler.lir.amd64.AMD64FrameMapBuilder@13fa82c50 slotKind: QWORD <|@ <|@
214
- nr -1 <|@ instruction v0|DWORD = MOVE rsi|DWORD moveKind: DWORD <|@ <|@
215
- nr -1 <|@ instruction v1|DWORD = AND v0|DWORD y: 4660 size: DWORD <|@ <|@
216
- nr -1 <|@ instruction rax|DWORD = MOVE v1|DWORD moveKind: DWORD <|@ <|@
217
- nr -1 <|@ instruction RETURN (savedRbp: v2|QWORD, value: rax|DWORD) isStub: false requiresReservedStackAccessCheck: false thread: r15 scratchForSafepointOnReturn: rcx config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@112a022d8 <|@ <|@
218
- end_IR
219
- end_block
220
- end_cfg
221
- begin_cfg
222
- name "After ConstantLoadOptimization"
223
- begin_block
224
- name "B0"
225
- from_bci -1
226
- to_bci -1
227
- predecessors
228
- successors
229
- xhandlers
230
- flags
231
- probability 4607182418800017408
232
- begin_IR
233
- LIR
234
- nr -1 <|@ instruction [rsi|DWORD, rbp|QWORD] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
235
- nr -1 <|@ instruction v2|QWORD = MOVE rbp|QWORD moveKind: QWORD <|@ <|@
236
- nr -1 <|@ instruction [] = HOTSPOTLOCKSTACK frameMapBuilder: org.graalvm.compiler.lir.amd64.AMD64FrameMapBuilder@13fa82c50 slotKind: QWORD <|@ <|@
237
- nr -1 <|@ instruction v0|DWORD = MOVE rsi|DWORD moveKind: DWORD <|@ <|@
238
- nr -1 <|@ instruction v1|DWORD = AND v0|DWORD y: 4660 size: DWORD <|@ <|@
239
- nr -1 <|@ instruction rax|DWORD = MOVE v1|DWORD moveKind: DWORD <|@ <|@
240
- nr -1 <|@ instruction RETURN (savedRbp: v2|QWORD, value: rax|DWORD) isStub: false requiresReservedStackAccessCheck: false thread: r15 scratchForSafepointOnReturn: rcx config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@112a022d8 <|@ <|@
241
- end_IR
242
- end_block
243
- end_cfg
244
- begin_bytecodes
245
- 0: iload_0
246
- 1: sipush 4660
247
- 4: iand
248
- 5: ireturn
249
- <|@
250
- end_bytecodes
251
- begin_cfg
252
- name "After SaveCalleeSaveRegisters"
253
- begin_block
254
- name "B0"
255
- from_bci -1
256
- to_bci -1
257
- predecessors
258
- successors
259
- xhandlers
260
- flags
261
- probability 4607182418800017408
262
- begin_IR
263
- LIR
264
- nr -1 <|@ instruction [rsi|DWORD, rbp|QWORD] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
265
- nr -1 <|@ instruction v2|QWORD = MOVE rbp|QWORD moveKind: QWORD <|@ <|@
266
- nr -1 <|@ instruction [] = HOTSPOTLOCKSTACK frameMapBuilder: org.graalvm.compiler.lir.amd64.AMD64FrameMapBuilder@13fa82c50 slotKind: QWORD <|@ <|@
267
- nr -1 <|@ instruction v0|DWORD = MOVE rsi|DWORD moveKind: DWORD <|@ <|@
268
- nr -1 <|@ instruction v1|DWORD = AND v0|DWORD y: 4660 size: DWORD <|@ <|@
269
- nr -1 <|@ instruction rax|DWORD = MOVE v1|DWORD moveKind: DWORD <|@ <|@
270
- nr -1 <|@ instruction RETURN (savedRbp: v2|QWORD, value: rax|DWORD) isStub: false requiresReservedStackAccessCheck: false thread: r15 scratchForSafepointOnReturn: rcx config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@112a022d8 <|@ <|@
271
- end_IR
272
- end_block
273
- end_cfg
274
- begin_bytecodes
275
- 0: iload_0
276
- 1: sipush 4660
277
- 4: iand
278
- 5: ireturn
279
- <|@
280
- end_bytecodes
281
- begin_cfg
282
- name "After PreAllocationOptimizationStage"
283
- begin_block
284
- name "B0"
285
- from_bci -1
286
- to_bci -1
287
- predecessors
288
- successors
289
- xhandlers
290
- flags
291
- probability 4607182418800017408
292
- begin_IR
293
- LIR
294
- nr -1 <|@ instruction [rsi|DWORD, rbp|QWORD] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
295
- nr -1 <|@ instruction v2|QWORD = MOVE rbp|QWORD moveKind: QWORD <|@ <|@
296
- nr -1 <|@ instruction [] = HOTSPOTLOCKSTACK frameMapBuilder: org.graalvm.compiler.lir.amd64.AMD64FrameMapBuilder@13fa82c50 slotKind: QWORD <|@ <|@
297
- nr -1 <|@ instruction v0|DWORD = MOVE rsi|DWORD moveKind: DWORD <|@ <|@
298
- nr -1 <|@ instruction v1|DWORD = AND v0|DWORD y: 4660 size: DWORD <|@ <|@
299
- nr -1 <|@ instruction rax|DWORD = MOVE v1|DWORD moveKind: DWORD <|@ <|@
300
- nr -1 <|@ instruction RETURN (savedRbp: v2|QWORD, value: rax|DWORD) isStub: false requiresReservedStackAccessCheck: false thread: r15 scratchForSafepointOnReturn: rcx config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@112a022d8 <|@ <|@
301
- end_IR
302
- end_block
303
- end_cfg
304
- begin_bytecodes
305
- 0: iload_0
306
- 1: sipush 4660
307
- 4: iand
308
- 5: ireturn
309
- <|@
310
- end_bytecodes
311
- begin_cfg
312
- name "After MarkBasePointers"
313
- begin_block
314
- name "B0"
315
- from_bci -1
316
- to_bci -1
317
- predecessors
318
- successors
319
- xhandlers
320
- flags
321
- probability 4607182418800017408
322
- begin_IR
323
- LIR
324
- nr -1 <|@ instruction [rsi|DWORD, rbp|QWORD] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
325
- nr -1 <|@ instruction v2|QWORD = MOVE rbp|QWORD moveKind: QWORD <|@ <|@
326
- nr -1 <|@ instruction [] = HOTSPOTLOCKSTACK frameMapBuilder: org.graalvm.compiler.lir.amd64.AMD64FrameMapBuilder@13fa82c50 slotKind: QWORD <|@ <|@
327
- nr -1 <|@ instruction v0|DWORD = MOVE rsi|DWORD moveKind: DWORD <|@ <|@
328
- nr -1 <|@ instruction v1|DWORD = AND v0|DWORD y: 4660 size: DWORD <|@ <|@
329
- nr -1 <|@ instruction rax|DWORD = MOVE v1|DWORD moveKind: DWORD <|@ <|@
330
- nr -1 <|@ instruction RETURN (savedRbp: v2|QWORD, value: rax|DWORD) isStub: false requiresReservedStackAccessCheck: false thread: r15 scratchForSafepointOnReturn: rcx config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@112a022d8 <|@ <|@
331
- end_IR
332
- end_block
333
- end_cfg
334
- begin_bytecodes
335
- 0: iload_0
336
- 1: sipush 4660
337
- 4: iand
338
- 5: ireturn
339
- <|@
340
- end_bytecodes
341
- begin_cfg
342
- name "Before register allocation"
343
- begin_block
344
- name "B0"
345
- from_bci -1
346
- to_bci -1
347
- predecessors
348
- successors
349
- xhandlers
350
- flags
351
- probability 4607182418800017408
352
- begin_IR
353
- LIR
354
- nr 0 <|@ instruction [rsi|DWORD, rbp|QWORD] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
355
- nr 2 <|@ instruction v2|QWORD = MOVE rbp|QWORD moveKind: QWORD <|@ <|@
356
- nr 4 <|@ instruction [] = HOTSPOTLOCKSTACK frameMapBuilder: org.graalvm.compiler.lir.amd64.AMD64FrameMapBuilder@13fa82c50 slotKind: QWORD <|@ <|@
357
- nr 6 <|@ instruction v0|DWORD = MOVE rsi|DWORD moveKind: DWORD <|@ <|@
358
- nr 8 <|@ instruction v1|DWORD = AND v0|DWORD y: 4660 size: DWORD <|@ <|@
359
- nr 10 <|@ instruction rax|DWORD = MOVE v1|DWORD moveKind: DWORD <|@ <|@
360
- nr 12 <|@ instruction RETURN (savedRbp: v2|QWORD, value: rax|DWORD) isStub: false requiresReservedStackAccessCheck: false thread: r15 scratchForSafepointOnReturn: rcx config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@112a022d8 <|@ <|@
361
- end_IR
362
- end_block
363
- end_cfg
364
- begin_bytecodes
365
- 0: iload_0
366
- 1: sipush 4660
367
- 4: iand
368
- 5: ireturn
369
- <|@
370
- end_bytecodes
371
- begin_cfg
372
- name "After SSALinearScanLifetimeAnalysis"
373
- begin_block
374
- name "B0"
375
- from_bci -1
376
- to_bci -1
377
- predecessors
378
- successors
379
- xhandlers
380
- flags
381
- probability 4607182418800017408
382
- begin_IR
383
- LIR
384
- nr 0 <|@ instruction [rsi|DWORD, rbp|QWORD] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
385
- nr 2 <|@ instruction v2|QWORD = MOVE rbp|QWORD moveKind: QWORD <|@ <|@
386
- nr 4 <|@ instruction [] = HOTSPOTLOCKSTACK frameMapBuilder: org.graalvm.compiler.lir.amd64.AMD64FrameMapBuilder@13fa82c50 slotKind: QWORD <|@ <|@
387
- nr 6 <|@ instruction v0|DWORD = MOVE rsi|DWORD moveKind: DWORD <|@ <|@
388
- nr 8 <|@ instruction v1|DWORD = AND v0|DWORD y: 4660 size: DWORD <|@ <|@
389
- nr 10 <|@ instruction rax|DWORD = MOVE v1|DWORD moveKind: DWORD <|@ <|@
390
- nr 12 <|@ instruction RETURN (savedRbp: v2|QWORD, value: rax|DWORD) isStub: false requiresReservedStackAccessCheck: false thread: r15 scratchForSafepointOnReturn: rcx config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@112a022d8 <|@ <|@
391
- end_IR
392
- end_block
393
- end_cfg
394
- begin_bytecodes
395
- 0: iload_0
396
- 1: sipush 4660
397
- 4: iand
398
- 5: ireturn
399
- <|@
400
- end_bytecodes
401
- begin_intervals
402
- name "Before register allocation"
403
- rax|d fixed "[rax|d]" rax|d v1|d [0, 1[[10, 12[ "NoSpillStore"
404
- rbp|q fixed "[rbp|q]" rbp|q -1 [0, 2[ "NoSpillStore"
405
- rsi|d fixed "[rsi|d]" rsi|d -1 [0, 6[ "NoSpillStore"
406
- v0|d DWORD "[v0|d]" v0|d rsi|d [6, 8[6 MustHaveRegister 8 MustHaveRegister "NoSpillStore"
407
- v1|d DWORD "[v1|d]" v1|d v0|d [8, 10[8 MustHaveRegister 10 ShouldHaveRegister "NoSpillStore"
408
- v2|q QWORD "[v2|q]" v2|q rbp|q [2, 12[2 MustHaveRegister 12 ShouldHaveRegister "NoSpillStore"
409
- end_intervals
410
- begin_intervals
411
- name "After register allocation"
412
- rax|d fixed "[rax|d]" rax|d v1|d [0, 1[[10, 12[ "NoSpillStore"
413
- rbp|q fixed "[rbp|q]" rbp|q -1 [0, 2[ "NoSpillStore"
414
- rsi|d fixed "[rsi|d]" rsi|d -1 [0, 6[ "NoSpillStore"
415
- v0|d DWORD "[rsi|d]" v0|d rsi|d [6, 8[6 MustHaveRegister 8 MustHaveRegister "NoSpillStore"
416
- v1|d DWORD "[rsi|d]" v1|d v0|d [8, 10[8 MustHaveRegister 10 ShouldHaveRegister "NoSpillStore"
417
- v2|q QWORD "[rbp|q]" v2|q rbp|q [2, 12[2 MustHaveRegister 12 ShouldHaveRegister "NoSpillStore"
418
- end_intervals
419
- begin_cfg
420
- name "After LinearScanRegisterAllocation"
421
- begin_block
422
- name "B0"
423
- from_bci -1
424
- to_bci -1
425
- predecessors
426
- successors
427
- xhandlers
428
- flags
429
- probability 4607182418800017408
430
- begin_IR
431
- LIR
432
- nr 0 <|@ instruction [rsi|DWORD, rbp|QWORD] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
433
- nr 2 <|@ instruction v2|QWORD = MOVE rbp|QWORD moveKind: QWORD <|@ <|@
434
- nr 4 <|@ instruction [] = HOTSPOTLOCKSTACK frameMapBuilder: org.graalvm.compiler.lir.amd64.AMD64FrameMapBuilder@13fa82c50 slotKind: QWORD <|@ <|@
435
- nr 6 <|@ instruction v0|DWORD = MOVE rsi|DWORD moveKind: DWORD <|@ <|@
436
- nr 8 <|@ instruction v1|DWORD = AND v0|DWORD y: 4660 size: DWORD <|@ <|@
437
- nr 10 <|@ instruction rax|DWORD = MOVE v1|DWORD moveKind: DWORD <|@ <|@
438
- nr 12 <|@ instruction RETURN (savedRbp: v2|QWORD, value: rax|DWORD) isStub: false requiresReservedStackAccessCheck: false thread: r15 scratchForSafepointOnReturn: rcx config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@112a022d8 <|@ <|@
439
- end_IR
440
- end_block
441
- end_cfg
442
- begin_bytecodes
443
- 0: iload_0
444
- 1: sipush 4660
445
- 4: iand
446
- 5: ireturn
447
- <|@
448
- end_bytecodes
449
- begin_intervals
450
- name "After optimize spill position"
451
- rax|d fixed "[rax|d]" rax|d v1|d [0, 1[[10, 12[ "NoSpillStore"
452
- rbp|q fixed "[rbp|q]" rbp|q -1 [0, 2[ "NoSpillStore"
453
- rsi|d fixed "[rsi|d]" rsi|d -1 [0, 6[ "NoSpillStore"
454
- v0|d DWORD "[rsi|d]" v0|d rsi|d [6, 8[6 MustHaveRegister 8 MustHaveRegister "NoSpillStore"
455
- v1|d DWORD "[rsi|d]" v1|d v0|d [8, 10[8 MustHaveRegister 10 ShouldHaveRegister "NoSpillStore"
456
- v2|q QWORD "[rbp|q]" v2|q rbp|q [2, 12[2 MustHaveRegister 12 ShouldHaveRegister "NoSpillStore"
457
- end_intervals
458
- begin_cfg
459
- name "After LinearScanOptimizeSpillPosition"
460
- begin_block
461
- name "B0"
462
- from_bci -1
463
- to_bci -1
464
- predecessors
465
- successors
466
- xhandlers
467
- flags
468
- probability 4607182418800017408
469
- begin_IR
470
- LIR
471
- nr 0 <|@ instruction [rsi|DWORD, rbp|QWORD] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
472
- nr 2 <|@ instruction v2|QWORD = MOVE rbp|QWORD moveKind: QWORD <|@ <|@
473
- nr 4 <|@ instruction [] = HOTSPOTLOCKSTACK frameMapBuilder: org.graalvm.compiler.lir.amd64.AMD64FrameMapBuilder@13fa82c50 slotKind: QWORD <|@ <|@
474
- nr 6 <|@ instruction v0|DWORD = MOVE rsi|DWORD moveKind: DWORD <|@ <|@
475
- nr 8 <|@ instruction v1|DWORD = AND v0|DWORD y: 4660 size: DWORD <|@ <|@
476
- nr 10 <|@ instruction rax|DWORD = MOVE v1|DWORD moveKind: DWORD <|@ <|@
477
- nr 12 <|@ instruction RETURN (savedRbp: v2|QWORD, value: rax|DWORD) isStub: false requiresReservedStackAccessCheck: false thread: r15 scratchForSafepointOnReturn: rcx config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@112a022d8 <|@ <|@
478
- end_IR
479
- end_block
480
- end_cfg
481
- begin_bytecodes
482
- 0: iload_0
483
- 1: sipush 4660
484
- 4: iand
485
- 5: ireturn
486
- <|@
487
- end_bytecodes
488
- begin_intervals
489
- name "After resolve data flow"
490
- rax|d fixed "[rax|d]" rax|d v1|d [0, 1[[10, 12[ "NoSpillStore"
491
- rbp|q fixed "[rbp|q]" rbp|q -1 [0, 2[ "NoSpillStore"
492
- rsi|d fixed "[rsi|d]" rsi|d -1 [0, 6[ "NoSpillStore"
493
- v0|d DWORD "[rsi|d]" v0|d rsi|d [6, 8[6 MustHaveRegister 8 MustHaveRegister "NoSpillStore"
494
- v1|d DWORD "[rsi|d]" v1|d v0|d [8, 10[8 MustHaveRegister 10 ShouldHaveRegister "NoSpillStore"
495
- v2|q QWORD "[rbp|q]" v2|q rbp|q [2, 12[2 MustHaveRegister 12 ShouldHaveRegister "NoSpillStore"
496
- end_intervals
497
- begin_cfg
498
- name "After SSALinearScanResolveDataFlow"
499
- begin_block
500
- name "B0"
501
- from_bci -1
502
- to_bci -1
503
- predecessors
504
- successors
505
- xhandlers
506
- flags
507
- probability 4607182418800017408
508
- begin_IR
509
- LIR
510
- nr 0 <|@ instruction [rsi|DWORD, rbp|QWORD] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
511
- nr 2 <|@ instruction v2|QWORD = MOVE rbp|QWORD moveKind: QWORD <|@ <|@
512
- nr 4 <|@ instruction [] = HOTSPOTLOCKSTACK frameMapBuilder: org.graalvm.compiler.lir.amd64.AMD64FrameMapBuilder@13fa82c50 slotKind: QWORD <|@ <|@
513
- nr 6 <|@ instruction v0|DWORD = MOVE rsi|DWORD moveKind: DWORD <|@ <|@
514
- nr 8 <|@ instruction v1|DWORD = AND v0|DWORD y: 4660 size: DWORD <|@ <|@
515
- nr 10 <|@ instruction rax|DWORD = MOVE v1|DWORD moveKind: DWORD <|@ <|@
516
- nr 12 <|@ instruction RETURN (savedRbp: v2|QWORD, value: rax|DWORD) isStub: false requiresReservedStackAccessCheck: false thread: r15 scratchForSafepointOnReturn: rcx config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@112a022d8 <|@ <|@
517
- end_IR
518
- end_block
519
- end_cfg
520
- begin_bytecodes
521
- 0: iload_0
522
- 1: sipush 4660
523
- 4: iand
524
- 5: ireturn
525
- <|@
526
- end_bytecodes
527
- begin_cfg
528
- name "After SSALinearScanEliminateSpillMove"
529
- begin_block
530
- name "B0"
531
- from_bci -1
532
- to_bci -1
533
- predecessors
534
- successors
535
- xhandlers
536
- flags
537
- probability 4607182418800017408
538
- begin_IR
539
- LIR
540
- nr 0 <|@ instruction [rsi|DWORD, rbp|QWORD] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
541
- nr 2 <|@ instruction v2|QWORD = MOVE rbp|QWORD moveKind: QWORD <|@ <|@
542
- nr 4 <|@ instruction [] = HOTSPOTLOCKSTACK frameMapBuilder: org.graalvm.compiler.lir.amd64.AMD64FrameMapBuilder@13fa82c50 slotKind: QWORD <|@ <|@
543
- nr 6 <|@ instruction v0|DWORD = MOVE rsi|DWORD moveKind: DWORD <|@ <|@
544
- nr 8 <|@ instruction v1|DWORD = AND v0|DWORD y: 4660 size: DWORD <|@ <|@
545
- nr 10 <|@ instruction rax|DWORD = MOVE v1|DWORD moveKind: DWORD <|@ <|@
546
- nr 12 <|@ instruction RETURN (savedRbp: v2|QWORD, value: rax|DWORD) isStub: false requiresReservedStackAccessCheck: false thread: r15 scratchForSafepointOnReturn: rcx config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@112a022d8 <|@ <|@
547
- end_IR
548
- end_block
549
- end_cfg
550
- begin_bytecodes
551
- 0: iload_0
552
- 1: sipush 4660
553
- 4: iand
554
- 5: ireturn
555
- <|@
556
- end_bytecodes
557
- begin_cfg
558
- name "After LinearScanAssignLocations"
559
- begin_block
560
- name "B0"
561
- from_bci -1
562
- to_bci -1
563
- predecessors
564
- successors
565
- xhandlers
566
- flags
567
- probability 4607182418800017408
568
- begin_IR
569
- LIR
570
- nr 0 <|@ instruction [rsi|DWORD, rbp|QWORD] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
571
- nr 4 <|@ instruction [] = HOTSPOTLOCKSTACK frameMapBuilder: org.graalvm.compiler.lir.amd64.AMD64FrameMapBuilder@13fa82c50 slotKind: QWORD <|@ <|@
572
- nr 8 <|@ instruction rsi|DWORD = AND rsi|DWORD y: 4660 size: DWORD <|@ <|@
573
- nr 10 <|@ instruction rax|DWORD = MOVE rsi|DWORD moveKind: DWORD <|@ <|@
574
- nr 12 <|@ instruction RETURN (savedRbp: rbp|QWORD, value: rax|DWORD) isStub: false requiresReservedStackAccessCheck: false thread: r15 scratchForSafepointOnReturn: rcx config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@112a022d8 <|@ <|@
575
- end_IR
576
- end_block
577
- end_cfg
578
- begin_bytecodes
579
- 0: iload_0
580
- 1: sipush 4660
581
- 4: iand
582
- 5: ireturn
583
- <|@
584
- end_bytecodes
585
- begin_cfg
586
- name "After LinearScan"
587
- begin_block
588
- name "B0"
589
- from_bci -1
590
- to_bci -1
591
- predecessors
592
- successors
593
- xhandlers
594
- flags
595
- probability 4607182418800017408
596
- begin_IR
597
- LIR
598
- nr 0 <|@ instruction [rsi|DWORD, rbp|QWORD] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
599
- nr 4 <|@ instruction [] = HOTSPOTLOCKSTACK frameMapBuilder: org.graalvm.compiler.lir.amd64.AMD64FrameMapBuilder@13fa82c50 slotKind: QWORD <|@ <|@
600
- nr 8 <|@ instruction rsi|DWORD = AND rsi|DWORD y: 4660 size: DWORD <|@ <|@
601
- nr 10 <|@ instruction rax|DWORD = MOVE rsi|DWORD moveKind: DWORD <|@ <|@
602
- nr 12 <|@ instruction RETURN (savedRbp: rbp|QWORD, value: rax|DWORD) isStub: false requiresReservedStackAccessCheck: false thread: r15 scratchForSafepointOnReturn: rcx config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@112a022d8 <|@ <|@
603
- end_IR
604
- end_block
605
- end_cfg
606
- begin_bytecodes
607
- 0: iload_0
608
- 1: sipush 4660
609
- 4: iand
610
- 5: ireturn
611
- <|@
612
- end_bytecodes
613
- begin_cfg
614
- name "After LSStackSlotAllocator"
615
- begin_block
616
- name "B0"
617
- from_bci -1
618
- to_bci -1
619
- predecessors
620
- successors
621
- xhandlers
622
- flags
623
- probability 4607182418800017408
624
- begin_IR
625
- LIR
626
- nr 0 <|@ instruction [rsi|DWORD, rbp|QWORD] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
627
- nr 4 <|@ instruction [] = HOTSPOTLOCKSTACK frameMapBuilder: org.graalvm.compiler.lir.amd64.AMD64FrameMapBuilder@13fa82c50 slotKind: QWORD <|@ <|@
628
- nr 8 <|@ instruction rsi|DWORD = AND rsi|DWORD y: 4660 size: DWORD <|@ <|@
629
- nr 10 <|@ instruction rax|DWORD = MOVE rsi|DWORD moveKind: DWORD <|@ <|@
630
- nr 12 <|@ instruction RETURN (savedRbp: rbp|QWORD, value: rax|DWORD) isStub: false requiresReservedStackAccessCheck: false thread: r15 scratchForSafepointOnReturn: rcx config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@112a022d8 <|@ <|@
631
- end_IR
632
- end_block
633
- end_cfg
634
- begin_bytecodes
635
- 0: iload_0
636
- 1: sipush 4660
637
- 4: iand
638
- 5: ireturn
639
- <|@
640
- end_bytecodes
641
- begin_cfg
642
- name "After LocationMarker"
643
- begin_block
644
- name "B0"
645
- from_bci -1
646
- to_bci -1
647
- predecessors
648
- successors
649
- xhandlers
650
- flags
651
- probability 4607182418800017408
652
- begin_IR
653
- LIR
654
- nr 0 <|@ instruction [rsi|DWORD, rbp|QWORD] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
655
- nr 4 <|@ instruction [] = HOTSPOTLOCKSTACK frameMapBuilder: org.graalvm.compiler.lir.amd64.AMD64FrameMapBuilder@13fa82c50 slotKind: QWORD <|@ <|@
656
- nr 8 <|@ instruction rsi|DWORD = AND rsi|DWORD y: 4660 size: DWORD <|@ <|@
657
- nr 10 <|@ instruction rax|DWORD = MOVE rsi|DWORD moveKind: DWORD <|@ <|@
658
- nr 12 <|@ instruction RETURN (savedRbp: rbp|QWORD, value: rax|DWORD) isStub: false requiresReservedStackAccessCheck: false thread: r15 scratchForSafepointOnReturn: rcx config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@112a022d8 <|@ <|@
659
- end_IR
660
- end_block
661
- end_cfg
662
- begin_bytecodes
663
- 0: iload_0
664
- 1: sipush 4660
665
- 4: iand
666
- 5: ireturn
667
- <|@
668
- end_bytecodes
669
- begin_cfg
670
- name "After AllocationStage"
671
- begin_block
672
- name "B0"
673
- from_bci -1
674
- to_bci -1
675
- predecessors
676
- successors
677
- xhandlers
678
- flags
679
- probability 4607182418800017408
680
- begin_IR
681
- LIR
682
- nr 0 <|@ instruction [rsi|DWORD, rbp|QWORD] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
683
- nr 4 <|@ instruction [] = HOTSPOTLOCKSTACK frameMapBuilder: org.graalvm.compiler.lir.amd64.AMD64FrameMapBuilder@13fa82c50 slotKind: QWORD <|@ <|@
684
- nr 8 <|@ instruction rsi|DWORD = AND rsi|DWORD y: 4660 size: DWORD <|@ <|@
685
- nr 10 <|@ instruction rax|DWORD = MOVE rsi|DWORD moveKind: DWORD <|@ <|@
686
- nr 12 <|@ instruction RETURN (savedRbp: rbp|QWORD, value: rax|DWORD) isStub: false requiresReservedStackAccessCheck: false thread: r15 scratchForSafepointOnReturn: rcx config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@112a022d8 <|@ <|@
687
- end_IR
688
- end_block
689
- end_cfg
690
- begin_bytecodes
691
- 0: iload_0
692
- 1: sipush 4660
693
- 4: iand
694
- 5: ireturn
695
- <|@
696
- end_bytecodes
697
- begin_cfg
698
- name "After EdgeMoveOptimizer"
699
- begin_block
700
- name "B0"
701
- from_bci -1
702
- to_bci -1
703
- predecessors
704
- successors
705
- xhandlers
706
- flags
707
- probability 4607182418800017408
708
- begin_IR
709
- LIR
710
- nr 0 <|@ instruction [rsi|DWORD, rbp|QWORD] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
711
- nr 4 <|@ instruction [] = HOTSPOTLOCKSTACK frameMapBuilder: org.graalvm.compiler.lir.amd64.AMD64FrameMapBuilder@13fa82c50 slotKind: QWORD <|@ <|@
712
- nr 8 <|@ instruction rsi|DWORD = AND rsi|DWORD y: 4660 size: DWORD <|@ <|@
713
- nr 10 <|@ instruction rax|DWORD = MOVE rsi|DWORD moveKind: DWORD <|@ <|@
714
- nr 12 <|@ instruction RETURN (savedRbp: rbp|QWORD, value: rax|DWORD) isStub: false requiresReservedStackAccessCheck: false thread: r15 scratchForSafepointOnReturn: rcx config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@112a022d8 <|@ <|@
715
- end_IR
716
- end_block
717
- end_cfg
718
- begin_bytecodes
719
- 0: iload_0
720
- 1: sipush 4660
721
- 4: iand
722
- 5: ireturn
723
- <|@
724
- end_bytecodes
725
- begin_cfg
726
- name "After ControlFlowOptimizer"
727
- begin_block
728
- name "B0"
729
- from_bci -1
730
- to_bci -1
731
- predecessors
732
- successors
733
- xhandlers
734
- flags
735
- probability 4607182418800017408
736
- begin_IR
737
- LIR
738
- nr 0 <|@ instruction [rsi|DWORD, rbp|QWORD] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
739
- nr 4 <|@ instruction [] = HOTSPOTLOCKSTACK frameMapBuilder: org.graalvm.compiler.lir.amd64.AMD64FrameMapBuilder@13fa82c50 slotKind: QWORD <|@ <|@
740
- nr 8 <|@ instruction rsi|DWORD = AND rsi|DWORD y: 4660 size: DWORD <|@ <|@
741
- nr 10 <|@ instruction rax|DWORD = MOVE rsi|DWORD moveKind: DWORD <|@ <|@
742
- nr 12 <|@ instruction RETURN (savedRbp: rbp|QWORD, value: rax|DWORD) isStub: false requiresReservedStackAccessCheck: false thread: r15 scratchForSafepointOnReturn: rcx config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@112a022d8 <|@ <|@
743
- end_IR
744
- end_block
745
- end_cfg
746
- begin_bytecodes
747
- 0: iload_0
748
- 1: sipush 4660
749
- 4: iand
750
- 5: ireturn
751
- <|@
752
- end_bytecodes
753
- begin_cfg
754
- name "After RedundantMoveElimination"
755
- begin_block
756
- name "B0"
757
- from_bci -1
758
- to_bci -1
759
- predecessors
760
- successors
761
- xhandlers
762
- flags
763
- probability 4607182418800017408
764
- begin_IR
765
- LIR
766
- nr 0 <|@ instruction [rsi|DWORD, rbp|QWORD] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
767
- nr 4 <|@ instruction [] = HOTSPOTLOCKSTACK frameMapBuilder: org.graalvm.compiler.lir.amd64.AMD64FrameMapBuilder@13fa82c50 slotKind: QWORD <|@ <|@
768
- nr 8 <|@ instruction rsi|DWORD = AND rsi|DWORD y: 4660 size: DWORD <|@ <|@
769
- nr 10 <|@ instruction rax|DWORD = MOVE rsi|DWORD moveKind: DWORD <|@ <|@
770
- nr 12 <|@ instruction RETURN (savedRbp: rbp|QWORD, value: rax|DWORD) isStub: false requiresReservedStackAccessCheck: false thread: r15 scratchForSafepointOnReturn: rcx config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@112a022d8 <|@ <|@
771
- end_IR
772
- end_block
773
- end_cfg
774
- begin_bytecodes
775
- 0: iload_0
776
- 1: sipush 4660
777
- 4: iand
778
- 5: ireturn
779
- <|@
780
- end_bytecodes
781
- begin_cfg
782
- name "After NullCheckOptimizer"
783
- begin_block
784
- name "B0"
785
- from_bci -1
786
- to_bci -1
787
- predecessors
788
- successors
789
- xhandlers
790
- flags
791
- probability 4607182418800017408
792
- begin_IR
793
- LIR
794
- nr 0 <|@ instruction [rsi|DWORD, rbp|QWORD] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
795
- nr 4 <|@ instruction [] = HOTSPOTLOCKSTACK frameMapBuilder: org.graalvm.compiler.lir.amd64.AMD64FrameMapBuilder@13fa82c50 slotKind: QWORD <|@ <|@
796
- nr 8 <|@ instruction rsi|DWORD = AND rsi|DWORD y: 4660 size: DWORD <|@ <|@
797
- nr 10 <|@ instruction rax|DWORD = MOVE rsi|DWORD moveKind: DWORD <|@ <|@
798
- nr 12 <|@ instruction RETURN (savedRbp: rbp|QWORD, value: rax|DWORD) isStub: false requiresReservedStackAccessCheck: false thread: r15 scratchForSafepointOnReturn: rcx config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@112a022d8 <|@ <|@
799
- end_IR
800
- end_block
801
- end_cfg
802
- begin_bytecodes
803
- 0: iload_0
804
- 1: sipush 4660
805
- 4: iand
806
- 5: ireturn
807
- <|@
808
- end_bytecodes
809
- begin_cfg
810
- name "After StackMoveOptimization"
811
- begin_block
812
- name "B0"
813
- from_bci -1
814
- to_bci -1
815
- predecessors
816
- successors
817
- xhandlers
818
- flags
819
- probability 4607182418800017408
820
- begin_IR
821
- LIR
822
- nr 0 <|@ instruction [rsi|DWORD, rbp|QWORD] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
823
- nr 4 <|@ instruction [] = HOTSPOTLOCKSTACK frameMapBuilder: org.graalvm.compiler.lir.amd64.AMD64FrameMapBuilder@13fa82c50 slotKind: QWORD <|@ <|@
824
- nr 8 <|@ instruction rsi|DWORD = AND rsi|DWORD y: 4660 size: DWORD <|@ <|@
825
- nr 10 <|@ instruction rax|DWORD = MOVE rsi|DWORD moveKind: DWORD <|@ <|@
826
- nr 12 <|@ instruction RETURN (savedRbp: rbp|QWORD, value: rax|DWORD) isStub: false requiresReservedStackAccessCheck: false thread: r15 scratchForSafepointOnReturn: rcx config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@112a022d8 <|@ <|@
827
- end_IR
828
- end_block
829
- end_cfg
830
- begin_bytecodes
831
- 0: iload_0
832
- 1: sipush 4660
833
- 4: iand
834
- 5: ireturn
835
- <|@
836
- end_bytecodes
837
- begin_cfg
838
- name "After PostAllocationOptimizationStage"
839
- begin_block
840
- name "B0"
841
- from_bci -1
842
- to_bci -1
843
- predecessors
844
- successors
845
- xhandlers
846
- flags
847
- probability 4607182418800017408
848
- begin_IR
849
- LIR
850
- nr 0 <|@ instruction [rsi|DWORD, rbp|QWORD] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
851
- nr 4 <|@ instruction [] = HOTSPOTLOCKSTACK frameMapBuilder: org.graalvm.compiler.lir.amd64.AMD64FrameMapBuilder@13fa82c50 slotKind: QWORD <|@ <|@
852
- nr 8 <|@ instruction rsi|DWORD = AND rsi|DWORD y: 4660 size: DWORD <|@ <|@
853
- nr 10 <|@ instruction rax|DWORD = MOVE rsi|DWORD moveKind: DWORD <|@ <|@
854
- nr 12 <|@ instruction RETURN (savedRbp: rbp|QWORD, value: rax|DWORD) isStub: false requiresReservedStackAccessCheck: false thread: r15 scratchForSafepointOnReturn: rcx config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@112a022d8 <|@ <|@
855
- end_IR
856
- end_block
857
- end_cfg
858
- begin_bytecodes
859
- 0: iload_0
860
- 1: sipush 4660
861
- 4: iand
862
- 5: ireturn
863
- <|@
864
- end_bytecodes
865
- begin_cfg
866
- name "After code generation"
867
- end_cfg
868
- begin_nmethod
869
- <<<HexCodeFile
870
- Platform AMD64 64 <||@
871
- HexCode 0 0f1f44000081e6341200008bc6850500000000c5f877c3e80000000090e80000000090 <||@
872
- Comment 0 3 <||@
873
- Comment 0 1 <||@
874
- Comment 5 block B0 null <||@
875
- Comment 5 0 [rsi|DWORD, rbp|QWORD] = LABEL numbPhis: 0 align: false label: ? <||@
876
- Comment 5 4 [] = HOTSPOTLOCKSTACK frameMapBuilder: org.graalvm.compiler.lir.amd64.AMD64FrameMapBuilder@13fa82c50 slotKind: QWORD <||@
877
- Comment 5 8 rsi|DWORD = AND rsi|DWORD y: 4660 size: DWORD <||@
878
- Comment 11 10 rax|DWORD = MOVE rsi|DWORD moveKind: DWORD <||@
879
- Comment 13 12 RETURN (savedRbp: rbp|QWORD, value: rax|DWORD) isStub: false requiresReservedStackAccessCheck: false thread: r15 scratchForSafepointOnReturn: rcx config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@112a022d8 <||@
880
- Comment 13 12 <||@
881
- Comment 23 {Stub<ExceptionHandlerStub.exceptionHandler>@0x114d35a60: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} <||@
882
- Comment 23 4 <||@
883
- Comment 29 {Field[name=CompilerToVM::Data::SharedRuntime_deopt_blob_unpack, type=address, offset=0, address=0x10a6bc128, value=4643054144]:0x114bf6240} <||@
884
- Comment 29 5 <||@
885
- HexCodeFile>>> <|@
886
- end_nmethod
887
- begin_compilation
888
- name " HotSpotCompilation-124[JavaExamples.exampleStamp(int)]"
889
- method "HotSpotCompilation-124[JavaExamples.exampleStamp(int)]"
890
- date 1583796302252
891
- end_compilation
892
- begin_cfg
893
- name "After code installation"
894
- end_cfg
895
- begin_nmethod
896
- <<<HexCodeFile
897
- Platform AMD64 64 <||@
898
- HexCode 114d41360 0f1f44000081e6341200008bc6850593ac83f3c5f877c3e8e446ffff90e8be4eebff90f4f4f4f4f4 <||@
899
- Comment 0 3 <||@
900
- Comment 0 1 <||@
901
- Comment 5 block B0 null <||@
902
- Comment 5 0 [rsi|DWORD, rbp|QWORD] = LABEL numbPhis: 0 align: false label: ? <||@
903
- Comment 5 4 [] = HOTSPOTLOCKSTACK frameMapBuilder: org.graalvm.compiler.lir.amd64.AMD64FrameMapBuilder@13fa82c50 slotKind: QWORD <||@
904
- Comment 5 8 rsi|DWORD = AND rsi|DWORD y: 4660 size: DWORD <||@
905
- Comment 11 10 rax|DWORD = MOVE rsi|DWORD moveKind: DWORD <||@
906
- Comment 13 12 RETURN (savedRbp: rbp|QWORD, value: rax|DWORD) isStub: false requiresReservedStackAccessCheck: false thread: r15 scratchForSafepointOnReturn: rcx config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@112a022d8 <||@
907
- Comment 13 12 <||@
908
- Comment 23 {Stub<ExceptionHandlerStub.exceptionHandler>@0x114d35a60: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} <||@
909
- Comment 23 4 <||@
910
- Comment 29 {Field[name=CompilerToVM::Data::SharedRuntime_deopt_blob_unpack, type=address, offset=0, address=0x10a6bc128, value=4643054144]:0x114bf6240} <||@
911
- Comment 29 5 <||@
912
- HexCodeFile>>> <|@
913
- end_nmethod