seafoam 0.2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (147) hide show
  1. checksums.yaml +7 -0
  2. data/.github/probots.yml +2 -0
  3. data/.github/workflows/rubocop.yml +10 -0
  4. data/.github/workflows/specs.yml +19 -0
  5. data/.gitignore +7 -0
  6. data/.rubocop.yml +34 -0
  7. data/.ruby-version +1 -0
  8. data/.seafoam/config +1 -0
  9. data/CODE_OF_CONDUCT.md +128 -0
  10. data/CONTRIBUTING.md +5 -0
  11. data/Gemfile +2 -0
  12. data/LICENSE.md +7 -0
  13. data/README.md +298 -0
  14. data/bin/bgv2isabelle +53 -0
  15. data/bin/bgv2json +42 -0
  16. data/bin/seafoam +24 -0
  17. data/docs/annotators.md +43 -0
  18. data/docs/bgv.md +284 -0
  19. data/docs/getting-graphs.md +47 -0
  20. data/examples/Fib.java +24 -0
  21. data/examples/MatMult.java +39 -0
  22. data/examples/fib-java.bgv +0 -0
  23. data/examples/fib-js.bgv +0 -0
  24. data/examples/fib-ruby.bgv +0 -0
  25. data/examples/fib.js +15 -0
  26. data/examples/fib.rb +15 -0
  27. data/examples/identity.bgv +0 -0
  28. data/examples/identity.rb +13 -0
  29. data/examples/java/Irreducible.j +35 -0
  30. data/examples/java/IrreducibleDecompiled.java +21 -0
  31. data/examples/java/JavaExamples.java +418 -0
  32. data/examples/java/exampleArithOperator.bgv +0 -0
  33. data/examples/java/exampleArithOperator.cfg +925 -0
  34. data/examples/java/exampleArrayAllocation.bgv +0 -0
  35. data/examples/java/exampleArrayAllocation.cfg +5268 -0
  36. data/examples/java/exampleArrayRead.bgv +0 -0
  37. data/examples/java/exampleArrayRead.cfg +2263 -0
  38. data/examples/java/exampleArrayWrite.bgv +0 -0
  39. data/examples/java/exampleArrayWrite.cfg +2315 -0
  40. data/examples/java/exampleCatch.bgv +0 -0
  41. data/examples/java/exampleCatch.cfg +4150 -0
  42. data/examples/java/exampleCompareOperator.bgv +0 -0
  43. data/examples/java/exampleCompareOperator.cfg +1109 -0
  44. data/examples/java/exampleDoubleSynchronized.bgv +0 -0
  45. data/examples/java/exampleDoubleSynchronized.cfg +26497 -0
  46. data/examples/java/exampleExactArith.bgv +0 -0
  47. data/examples/java/exampleExactArith.cfg +1888 -0
  48. data/examples/java/exampleFieldRead.bgv +0 -0
  49. data/examples/java/exampleFieldRead.cfg +1228 -0
  50. data/examples/java/exampleFieldWrite.bgv +0 -0
  51. data/examples/java/exampleFieldWrite.cfg +1102 -0
  52. data/examples/java/exampleFor.bgv +0 -0
  53. data/examples/java/exampleFor.cfg +3936 -0
  54. data/examples/java/exampleFullEscape.bgv +0 -0
  55. data/examples/java/exampleFullEscape.cfg +5893 -0
  56. data/examples/java/exampleIf.bgv +0 -0
  57. data/examples/java/exampleIf.cfg +2462 -0
  58. data/examples/java/exampleIfNeverTaken.bgv +0 -0
  59. data/examples/java/exampleIfNeverTaken.cfg +2476 -0
  60. data/examples/java/exampleInstanceOfManyImpls.bgv +0 -0
  61. data/examples/java/exampleInstanceOfManyImpls.cfg +6391 -0
  62. data/examples/java/exampleInstanceOfOneImpl.bgv +0 -0
  63. data/examples/java/exampleInstanceOfOneImpl.cfg +2604 -0
  64. data/examples/java/exampleIntSwitch.bgv +0 -0
  65. data/examples/java/exampleIntSwitch.cfg +3121 -0
  66. data/examples/java/exampleInterfaceCallManyImpls.bgv +0 -0
  67. data/examples/java/exampleInterfaceCallManyImpls.cfg +1358 -0
  68. data/examples/java/exampleInterfaceCallOneImpl.bgv +0 -0
  69. data/examples/java/exampleInterfaceCallOneImpl.cfg +3859 -0
  70. data/examples/java/exampleLocalInstanceOf.bgv +0 -0
  71. data/examples/java/exampleLocalInstanceOf.cfg +5276 -0
  72. data/examples/java/exampleLocalSynchronized.bgv +0 -0
  73. data/examples/java/exampleLocalSynchronized.cfg +1364 -0
  74. data/examples/java/exampleLocalVariables.bgv +0 -0
  75. data/examples/java/exampleLocalVariables.cfg +1195 -0
  76. data/examples/java/exampleLocalVariablesState.bgv +0 -0
  77. data/examples/java/exampleLocalVariablesState.cfg +1673 -0
  78. data/examples/java/exampleNestedWhile.bgv +0 -0
  79. data/examples/java/exampleNestedWhile.cfg +15499 -0
  80. data/examples/java/exampleNestedWhileBreak.bgv +0 -0
  81. data/examples/java/exampleNestedWhileBreak.cfg +11162 -0
  82. data/examples/java/exampleNoEscape.bgv +0 -0
  83. data/examples/java/exampleNoEscape.cfg +974 -0
  84. data/examples/java/exampleObjectAllocation.bgv +0 -0
  85. data/examples/java/exampleObjectAllocation.cfg +5287 -0
  86. data/examples/java/examplePartialEscape.bgv +0 -0
  87. data/examples/java/examplePartialEscape.cfg +7042 -0
  88. data/examples/java/examplePhi.bgv +0 -0
  89. data/examples/java/examplePhi.cfg +3227 -0
  90. data/examples/java/exampleReducible.bgv +0 -0
  91. data/examples/java/exampleReducible.cfg +5578 -0
  92. data/examples/java/exampleSimpleCall.bgv +0 -0
  93. data/examples/java/exampleSimpleCall.cfg +1435 -0
  94. data/examples/java/exampleStamp.bgv +0 -0
  95. data/examples/java/exampleStamp.cfg +913 -0
  96. data/examples/java/exampleStaticCall.bgv +0 -0
  97. data/examples/java/exampleStaticCall.cfg +1154 -0
  98. data/examples/java/exampleStringSwitch.bgv +0 -0
  99. data/examples/java/exampleStringSwitch.cfg +15377 -0
  100. data/examples/java/exampleSynchronized.bgv +0 -0
  101. data/examples/java/exampleSynchronized.cfg +26027 -0
  102. data/examples/java/exampleThrow.bgv +0 -0
  103. data/examples/java/exampleThrow.cfg +780 -0
  104. data/examples/java/exampleThrowCatch.bgv +0 -0
  105. data/examples/java/exampleThrowCatch.cfg +744 -0
  106. data/examples/java/exampleUnsafeRead.bgv +0 -0
  107. data/examples/java/exampleUnsafeRead.cfg +912 -0
  108. data/examples/java/exampleUnsafeWrite.bgv +0 -0
  109. data/examples/java/exampleUnsafeWrite.cfg +962 -0
  110. data/examples/java/exampleWhile.bgv +0 -0
  111. data/examples/java/exampleWhile.cfg +3936 -0
  112. data/examples/java/exampleWhileBreak.bgv +0 -0
  113. data/examples/java/exampleWhileBreak.cfg +5963 -0
  114. data/examples/matmult-java.bgv +0 -0
  115. data/examples/matmult-ruby.bgv +0 -0
  116. data/examples/matmult.rb +29 -0
  117. data/examples/overflow.bgv +0 -0
  118. data/examples/overflow.rb +13 -0
  119. data/lib/seafoam.rb +13 -0
  120. data/lib/seafoam/annotators.rb +54 -0
  121. data/lib/seafoam/annotators/fallback.rb +27 -0
  122. data/lib/seafoam/annotators/graal.rb +376 -0
  123. data/lib/seafoam/bgv/bgv_parser.rb +602 -0
  124. data/lib/seafoam/binary/binary_reader.rb +21 -0
  125. data/lib/seafoam/binary/io_binary_reader.rb +88 -0
  126. data/lib/seafoam/colors.rb +18 -0
  127. data/lib/seafoam/commands.rb +447 -0
  128. data/lib/seafoam/config.rb +34 -0
  129. data/lib/seafoam/graph.rb +91 -0
  130. data/lib/seafoam/graphviz_writer.rb +213 -0
  131. data/lib/seafoam/spotlight.rb +28 -0
  132. data/lib/seafoam/version.rb +5 -0
  133. data/seafoam.gemspec +20 -0
  134. data/spec/seafoam/annotators/fallback_spec.rb +69 -0
  135. data/spec/seafoam/annotators/graal_spec.rb +96 -0
  136. data/spec/seafoam/annotators_spec.rb +61 -0
  137. data/spec/seafoam/bgv/bgv_parser_spec.rb +144 -0
  138. data/spec/seafoam/bgv/fixtures/not.bgv +1 -0
  139. data/spec/seafoam/bgv/fixtures/unsupported.bgv +1 -0
  140. data/spec/seafoam/binary/io_binary_reader_spec.rb +176 -0
  141. data/spec/seafoam/command_spec.rb +252 -0
  142. data/spec/seafoam/graph_spec.rb +172 -0
  143. data/spec/seafoam/graphviz_writer_spec.rb +63 -0
  144. data/spec/seafoam/spec_helpers.rb +30 -0
  145. data/spec/seafoam/spotlight_spec.rb +38 -0
  146. data/tools/render-all +36 -0
  147. metadata +238 -0
@@ -0,0 +1,913 @@
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