seafoam 0.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (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,1154 @@
1
+ begin_compilation
2
+ name " HotSpotCompilation-351[JavaExamples.exampleStaticCall(int)]"
3
+ method "HotSpotCompilation-351[JavaExamples.exampleStaticCall(int)]"
4
+ date 1583364091843
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: i4
28
+ === Usages ===
29
+ === Predecessor ===
30
+ - >@ <|@
31
+ instruction <@StartNode|@org.graalvm.compiler.nodes.StartNode>@ stateAfter: - #next: i4 <|@ <|@
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
+ v7
42
+ === Predecessor ===
43
+ - >@ <|@
44
+ instruction <@Parameter|@org.graalvm.compiler.nodes.ParameterNode>@ <|@ <|@
45
+ tid v7 <|@
46
+ d <@d|@=== Debug Properties ===
47
+ callType: JavaCall
48
+ invokeKind: Static
49
+ nodeSourcePosition: at JavaExamples.exampleStaticCall(JavaExamples.java:112) [bci: 1]
50
+ returnStamp: i32
51
+ signature: [Ljdk.vm.ci.meta.JavaType;@13c5b1ff8
52
+ stamp: void
53
+ targetMethod: HotSpotMethod<JavaExamples.staticCall(int)>
54
+ === Inputs ===
55
+ arguments: i1
56
+ === Succesors ===
57
+ === Usages ===
58
+ i4
59
+ === Predecessor ===
60
+ - >@ <|@
61
+ instruction <@HotSpotDirectCallTarget|@org.graalvm.compiler.hotspot.nodes.HotSpotDirectCallTargetNode>@ arguments: i1 <|@ <|@
62
+ tid ?8 <|@
63
+ d <@d|@=== Debug Properties ===
64
+ bci: 1
65
+ code: ResolvedJavaMethodBytecode<JavaExamples.exampleStaticCall(int)>
66
+ duringCall: true
67
+ localsSize: 1
68
+ locksSize: 0
69
+ rethrowException: false
70
+ sourceFile: JavaExamples.java
71
+ sourceLine: 112
72
+ stackSize: 0
73
+ === Inputs ===
74
+ outerFrameState: -
75
+ values: -
76
+ === Succesors ===
77
+ === Usages ===
78
+ i4
79
+ === Predecessor ===
80
+ - >@ <|@
81
+ instruction <@FrameState|@org.graalvm.compiler.nodes.FrameState>@ outerFrameState: - values: - <|@ <|@
82
+ f <@#|@fixed with next>@ <|@
83
+ tid i4 <|@
84
+ d <@d|@=== Debug Properties ===
85
+ bci: 1
86
+ identity: ANY_LOCATION
87
+ nodeSourcePosition: at JavaExamples.exampleStaticCall(JavaExamples.java:112) [bci: 1]
88
+ polymorphic: false
89
+ stamp: i32
90
+ targetMethod: Direct#JavaExamples.staticCall
91
+ useForInlining: true
92
+ === Inputs ===
93
+ stateAfter: -
94
+ classInit: -
95
+ callTarget: v7
96
+ stateDuring: ?8
97
+ === Succesors ===
98
+ next: v6
99
+ === Usages ===
100
+ v6
101
+ === Predecessor ===
102
+ v0 >@ <|@
103
+ instruction <@Invoke|@org.graalvm.compiler.nodes.InvokeNode>@ stateAfter: - classInit: - callTarget: v7 stateDuring: ?8 #next: v6 <|@ <|@
104
+ f <@*|@fixed>@ <|@
105
+ tid v6 <|@
106
+ d <@d|@=== Debug Properties ===
107
+ nodeSourcePosition: at JavaExamples.exampleStaticCall(JavaExamples.java:112) [bci: 4]
108
+ stamp: void
109
+ === Inputs ===
110
+ result: i4
111
+ memoryMap: -
112
+ === Succesors ===
113
+ === Usages ===
114
+ === Predecessor ===
115
+ i4 >@ <|@
116
+ instruction <@Return|@org.graalvm.compiler.nodes.ReturnNode>@ result: i4 memoryMap: - <|@ <|@
117
+ end_IR
118
+ end_block
119
+ end_cfg
120
+ begin_cfg
121
+ name "After LIRGeneration"
122
+ begin_block
123
+ name "B0"
124
+ from_bci -1
125
+ to_bci -1
126
+ predecessors
127
+ successors
128
+ xhandlers
129
+ flags
130
+ probability 4607182418800017408
131
+ begin_IR
132
+ LIR
133
+ nr -1 <|@ instruction [rsi|DWORD, rbp|QWORD] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
134
+ nr -1 <|@ instruction stack:16|QWORD = MOVE rbp|QWORD moveKind: QWORD <|@ <|@
135
+ nr -1 <|@ instruction [] = HOTSPOTLOCKSTACK frameMapBuilder: org.graalvm.compiler.lir.amd64.AMD64FrameMapBuilder@13cbcbcb8 slotKind: QWORD <|@ <|@
136
+ nr -1 <|@ instruction v0|DWORD = MOVE rsi|DWORD moveKind: DWORD <|@ <|@
137
+ nr -1 <|@ instruction rsi|DWORD = MOVE v0|DWORD moveKind: DWORD <|@ <|@
138
+ nr -1 <|@ st <@st|@JavaExamples.exampleStaticCall(JavaExamples.java:112) [bci: 1]
139
+ locals: -
140
+ >@ <|@ instruction rax|DWORD = CALL_DIRECT [rsi|DWORD] [] callTarget: HotSpotMethod<JavaExamples.staticCall(int)> invokeKind: Static config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@147e07170 state [bci:1] <|@ <|@
141
+ nr -1 <|@ instruction v1|DWORD = MOVE rax|DWORD moveKind: DWORD <|@ <|@
142
+ nr -1 <|@ instruction rax|DWORD = MOVE v1|DWORD moveKind: DWORD <|@ <|@
143
+ nr -1 <|@ instruction RETURN (savedRbp: stack:16|QWORD, value: rax|DWORD) isStub: false requiresReservedStackAccessCheck: false thread: r15 scratchForSafepointOnReturn: rcx config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@147e07170 <|@ <|@
144
+ end_IR
145
+ end_block
146
+ end_cfg
147
+ begin_bytecodes
148
+ 0: iload_0
149
+ 1: invokestatic #52 // staticCall:(int)int
150
+ 4: ireturn
151
+ <|@
152
+ end_bytecodes
153
+ begin_cfg
154
+ name "After LIR generation"
155
+ begin_block
156
+ name "B0"
157
+ from_bci -1
158
+ to_bci -1
159
+ predecessors
160
+ successors
161
+ xhandlers
162
+ flags
163
+ probability 4607182418800017408
164
+ begin_IR
165
+ HIR
166
+ f <@#|@fixed with next>@ <|@
167
+ tid v0 <|@
168
+ d <@d|@=== Debug Properties ===
169
+ stamp: void
170
+ withSpeculationFence: false
171
+ === Inputs ===
172
+ stateAfter: -
173
+ === Succesors ===
174
+ next: i4
175
+ === Usages ===
176
+ === Predecessor ===
177
+ - >@ <|@
178
+ instruction <@StartNode|@org.graalvm.compiler.nodes.StartNode>@ stateAfter: - #next: i4 <|@ <|@
179
+ f <@~|@floating>@ <|@
180
+ tid i1 <|@
181
+ result v0|DWORD <|@
182
+ d <@d|@=== Debug Properties ===
183
+ index: 0
184
+ stamp: i32
185
+ uncheckedStamp: [null]
186
+ === Inputs ===
187
+ === Succesors ===
188
+ === Usages ===
189
+ v7
190
+ === Predecessor ===
191
+ - >@ <|@
192
+ instruction <@Parameter|@org.graalvm.compiler.nodes.ParameterNode>@ <|@ <|@
193
+ tid v7 <|@
194
+ d <@d|@=== Debug Properties ===
195
+ callType: JavaCall
196
+ invokeKind: Static
197
+ nodeSourcePosition: at JavaExamples.exampleStaticCall(JavaExamples.java:112) [bci: 1]
198
+ returnStamp: i32
199
+ signature: [Ljdk.vm.ci.meta.JavaType;@13c5b1ff8
200
+ stamp: void
201
+ targetMethod: HotSpotMethod<JavaExamples.staticCall(int)>
202
+ === Inputs ===
203
+ arguments: i1
204
+ === Succesors ===
205
+ === Usages ===
206
+ i4
207
+ === Predecessor ===
208
+ - >@ <|@
209
+ instruction <@HotSpotDirectCallTarget|@org.graalvm.compiler.hotspot.nodes.HotSpotDirectCallTargetNode>@ arguments: i1 <|@ <|@
210
+ tid ?8 <|@
211
+ d <@d|@=== Debug Properties ===
212
+ bci: 1
213
+ code: ResolvedJavaMethodBytecode<JavaExamples.exampleStaticCall(int)>
214
+ duringCall: true
215
+ localsSize: 1
216
+ locksSize: 0
217
+ rethrowException: false
218
+ sourceFile: JavaExamples.java
219
+ sourceLine: 112
220
+ stackSize: 0
221
+ === Inputs ===
222
+ outerFrameState: -
223
+ values: -
224
+ === Succesors ===
225
+ === Usages ===
226
+ i4
227
+ === Predecessor ===
228
+ - >@ <|@
229
+ instruction <@FrameState|@org.graalvm.compiler.nodes.FrameState>@ outerFrameState: - values: - <|@ <|@
230
+ f <@#|@fixed with next>@ <|@
231
+ tid i4 <|@
232
+ result v1|DWORD <|@
233
+ d <@d|@=== Debug Properties ===
234
+ bci: 1
235
+ identity: ANY_LOCATION
236
+ nodeSourcePosition: at JavaExamples.exampleStaticCall(JavaExamples.java:112) [bci: 1]
237
+ polymorphic: false
238
+ stamp: i32
239
+ targetMethod: Direct#JavaExamples.staticCall
240
+ useForInlining: true
241
+ === Inputs ===
242
+ stateAfter: -
243
+ classInit: -
244
+ callTarget: v7
245
+ stateDuring: ?8
246
+ === Succesors ===
247
+ next: v6
248
+ === Usages ===
249
+ v6
250
+ === Predecessor ===
251
+ v0 >@ <|@
252
+ instruction <@Invoke|@org.graalvm.compiler.nodes.InvokeNode>@ stateAfter: - classInit: - callTarget: v7 stateDuring: ?8 #next: v6 <|@ <|@
253
+ f <@*|@fixed>@ <|@
254
+ tid v6 <|@
255
+ d <@d|@=== Debug Properties ===
256
+ nodeSourcePosition: at JavaExamples.exampleStaticCall(JavaExamples.java:112) [bci: 4]
257
+ stamp: void
258
+ === Inputs ===
259
+ result: i4
260
+ memoryMap: -
261
+ === Succesors ===
262
+ === Usages ===
263
+ === Predecessor ===
264
+ i4 >@ <|@
265
+ instruction <@Return|@org.graalvm.compiler.nodes.ReturnNode>@ result: i4 memoryMap: - <|@ <|@
266
+ end_IR
267
+ begin_IR
268
+ LIR
269
+ nr -1 <|@ instruction [rsi|DWORD, rbp|QWORD] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
270
+ nr -1 <|@ instruction stack:16|QWORD = MOVE rbp|QWORD moveKind: QWORD <|@ <|@
271
+ nr -1 <|@ instruction [] = HOTSPOTLOCKSTACK frameMapBuilder: org.graalvm.compiler.lir.amd64.AMD64FrameMapBuilder@13cbcbcb8 slotKind: QWORD <|@ <|@
272
+ nr -1 <|@ instruction v0|DWORD = MOVE rsi|DWORD moveKind: DWORD <|@ <|@
273
+ nr -1 <|@ instruction rsi|DWORD = MOVE v0|DWORD moveKind: DWORD <|@ <|@
274
+ nr -1 <|@ st <@st|@JavaExamples.exampleStaticCall(JavaExamples.java:112) [bci: 1]
275
+ locals: -
276
+ >@ <|@ instruction rax|DWORD = CALL_DIRECT [rsi|DWORD] [] callTarget: HotSpotMethod<JavaExamples.staticCall(int)> invokeKind: Static config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@147e07170 state [bci:1] <|@ <|@
277
+ nr -1 <|@ instruction v1|DWORD = MOVE rax|DWORD moveKind: DWORD <|@ <|@
278
+ nr -1 <|@ instruction rax|DWORD = MOVE v1|DWORD moveKind: DWORD <|@ <|@
279
+ nr -1 <|@ instruction RETURN (savedRbp: stack:16|QWORD, value: rax|DWORD) isStub: false requiresReservedStackAccessCheck: false thread: r15 scratchForSafepointOnReturn: rcx config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@147e07170 <|@ <|@
280
+ end_IR
281
+ end_block
282
+ end_cfg
283
+ begin_cfg
284
+ name "After ConstantLoadOptimization"
285
+ begin_block
286
+ name "B0"
287
+ from_bci -1
288
+ to_bci -1
289
+ predecessors
290
+ successors
291
+ xhandlers
292
+ flags
293
+ probability 4607182418800017408
294
+ begin_IR
295
+ LIR
296
+ nr -1 <|@ instruction [rsi|DWORD, rbp|QWORD] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
297
+ nr -1 <|@ instruction stack:16|QWORD = MOVE rbp|QWORD moveKind: QWORD <|@ <|@
298
+ nr -1 <|@ instruction [] = HOTSPOTLOCKSTACK frameMapBuilder: org.graalvm.compiler.lir.amd64.AMD64FrameMapBuilder@13cbcbcb8 slotKind: QWORD <|@ <|@
299
+ nr -1 <|@ instruction v0|DWORD = MOVE rsi|DWORD moveKind: DWORD <|@ <|@
300
+ nr -1 <|@ instruction rsi|DWORD = MOVE v0|DWORD moveKind: DWORD <|@ <|@
301
+ nr -1 <|@ st <@st|@JavaExamples.exampleStaticCall(JavaExamples.java:112) [bci: 1]
302
+ locals: -
303
+ >@ <|@ instruction rax|DWORD = CALL_DIRECT [rsi|DWORD] [] callTarget: HotSpotMethod<JavaExamples.staticCall(int)> invokeKind: Static config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@147e07170 state [bci:1] <|@ <|@
304
+ nr -1 <|@ instruction v1|DWORD = MOVE rax|DWORD moveKind: DWORD <|@ <|@
305
+ nr -1 <|@ instruction rax|DWORD = MOVE v1|DWORD moveKind: DWORD <|@ <|@
306
+ nr -1 <|@ instruction RETURN (savedRbp: stack:16|QWORD, value: rax|DWORD) isStub: false requiresReservedStackAccessCheck: false thread: r15 scratchForSafepointOnReturn: rcx config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@147e07170 <|@ <|@
307
+ end_IR
308
+ end_block
309
+ end_cfg
310
+ begin_bytecodes
311
+ 0: iload_0
312
+ 1: invokestatic #52 // staticCall:(int)int
313
+ 4: ireturn
314
+ <|@
315
+ end_bytecodes
316
+ begin_cfg
317
+ name "After SaveCalleeSaveRegisters"
318
+ begin_block
319
+ name "B0"
320
+ from_bci -1
321
+ to_bci -1
322
+ predecessors
323
+ successors
324
+ xhandlers
325
+ flags
326
+ probability 4607182418800017408
327
+ begin_IR
328
+ LIR
329
+ nr -1 <|@ instruction [rsi|DWORD, rbp|QWORD] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
330
+ nr -1 <|@ instruction stack:16|QWORD = MOVE rbp|QWORD moveKind: QWORD <|@ <|@
331
+ nr -1 <|@ instruction [] = HOTSPOTLOCKSTACK frameMapBuilder: org.graalvm.compiler.lir.amd64.AMD64FrameMapBuilder@13cbcbcb8 slotKind: QWORD <|@ <|@
332
+ nr -1 <|@ instruction v0|DWORD = MOVE rsi|DWORD moveKind: DWORD <|@ <|@
333
+ nr -1 <|@ instruction rsi|DWORD = MOVE v0|DWORD moveKind: DWORD <|@ <|@
334
+ nr -1 <|@ st <@st|@JavaExamples.exampleStaticCall(JavaExamples.java:112) [bci: 1]
335
+ locals: -
336
+ >@ <|@ instruction rax|DWORD = CALL_DIRECT [rsi|DWORD] [] callTarget: HotSpotMethod<JavaExamples.staticCall(int)> invokeKind: Static config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@147e07170 state [bci:1] <|@ <|@
337
+ nr -1 <|@ instruction v1|DWORD = MOVE rax|DWORD moveKind: DWORD <|@ <|@
338
+ nr -1 <|@ instruction rax|DWORD = MOVE v1|DWORD moveKind: DWORD <|@ <|@
339
+ nr -1 <|@ instruction RETURN (savedRbp: stack:16|QWORD, value: rax|DWORD) isStub: false requiresReservedStackAccessCheck: false thread: r15 scratchForSafepointOnReturn: rcx config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@147e07170 <|@ <|@
340
+ end_IR
341
+ end_block
342
+ end_cfg
343
+ begin_bytecodes
344
+ 0: iload_0
345
+ 1: invokestatic #52 // staticCall:(int)int
346
+ 4: ireturn
347
+ <|@
348
+ end_bytecodes
349
+ begin_cfg
350
+ name "After PreAllocationOptimizationStage"
351
+ begin_block
352
+ name "B0"
353
+ from_bci -1
354
+ to_bci -1
355
+ predecessors
356
+ successors
357
+ xhandlers
358
+ flags
359
+ probability 4607182418800017408
360
+ begin_IR
361
+ LIR
362
+ nr -1 <|@ instruction [rsi|DWORD, rbp|QWORD] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
363
+ nr -1 <|@ instruction stack:16|QWORD = MOVE rbp|QWORD moveKind: QWORD <|@ <|@
364
+ nr -1 <|@ instruction [] = HOTSPOTLOCKSTACK frameMapBuilder: org.graalvm.compiler.lir.amd64.AMD64FrameMapBuilder@13cbcbcb8 slotKind: QWORD <|@ <|@
365
+ nr -1 <|@ instruction v0|DWORD = MOVE rsi|DWORD moveKind: DWORD <|@ <|@
366
+ nr -1 <|@ instruction rsi|DWORD = MOVE v0|DWORD moveKind: DWORD <|@ <|@
367
+ nr -1 <|@ st <@st|@JavaExamples.exampleStaticCall(JavaExamples.java:112) [bci: 1]
368
+ locals: -
369
+ >@ <|@ instruction rax|DWORD = CALL_DIRECT [rsi|DWORD] [] callTarget: HotSpotMethod<JavaExamples.staticCall(int)> invokeKind: Static config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@147e07170 state [bci:1] <|@ <|@
370
+ nr -1 <|@ instruction v1|DWORD = MOVE rax|DWORD moveKind: DWORD <|@ <|@
371
+ nr -1 <|@ instruction rax|DWORD = MOVE v1|DWORD moveKind: DWORD <|@ <|@
372
+ nr -1 <|@ instruction RETURN (savedRbp: stack:16|QWORD, value: rax|DWORD) isStub: false requiresReservedStackAccessCheck: false thread: r15 scratchForSafepointOnReturn: rcx config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@147e07170 <|@ <|@
373
+ end_IR
374
+ end_block
375
+ end_cfg
376
+ begin_bytecodes
377
+ 0: iload_0
378
+ 1: invokestatic #52 // staticCall:(int)int
379
+ 4: ireturn
380
+ <|@
381
+ end_bytecodes
382
+ begin_cfg
383
+ name "After MarkBasePointers"
384
+ begin_block
385
+ name "B0"
386
+ from_bci -1
387
+ to_bci -1
388
+ predecessors
389
+ successors
390
+ xhandlers
391
+ flags
392
+ probability 4607182418800017408
393
+ begin_IR
394
+ LIR
395
+ nr -1 <|@ instruction [rsi|DWORD, rbp|QWORD] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
396
+ nr -1 <|@ instruction stack:16|QWORD = MOVE rbp|QWORD moveKind: QWORD <|@ <|@
397
+ nr -1 <|@ instruction [] = HOTSPOTLOCKSTACK frameMapBuilder: org.graalvm.compiler.lir.amd64.AMD64FrameMapBuilder@13cbcbcb8 slotKind: QWORD <|@ <|@
398
+ nr -1 <|@ instruction v0|DWORD = MOVE rsi|DWORD moveKind: DWORD <|@ <|@
399
+ nr -1 <|@ instruction rsi|DWORD = MOVE v0|DWORD moveKind: DWORD <|@ <|@
400
+ nr -1 <|@ st <@st|@live-base-pointers: []
401
+ JavaExamples.exampleStaticCall(JavaExamples.java:112) [bci: 1]
402
+ locals: -
403
+ >@ <|@ instruction rax|DWORD = CALL_DIRECT [rsi|DWORD] [] callTarget: HotSpotMethod<JavaExamples.staticCall(int)> invokeKind: Static config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@147e07170 state [bci:1] <|@ <|@
404
+ nr -1 <|@ instruction v1|DWORD = MOVE rax|DWORD moveKind: DWORD <|@ <|@
405
+ nr -1 <|@ instruction rax|DWORD = MOVE v1|DWORD moveKind: DWORD <|@ <|@
406
+ nr -1 <|@ instruction RETURN (savedRbp: stack:16|QWORD, value: rax|DWORD) isStub: false requiresReservedStackAccessCheck: false thread: r15 scratchForSafepointOnReturn: rcx config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@147e07170 <|@ <|@
407
+ end_IR
408
+ end_block
409
+ end_cfg
410
+ begin_bytecodes
411
+ 0: iload_0
412
+ 1: invokestatic #52 // staticCall:(int)int
413
+ 4: ireturn
414
+ <|@
415
+ end_bytecodes
416
+ begin_cfg
417
+ name "Before register allocation"
418
+ begin_block
419
+ name "B0"
420
+ from_bci -1
421
+ to_bci -1
422
+ predecessors
423
+ successors
424
+ xhandlers
425
+ flags
426
+ probability 4607182418800017408
427
+ begin_IR
428
+ LIR
429
+ nr 0 <|@ instruction [rsi|DWORD, rbp|QWORD] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
430
+ nr 2 <|@ instruction stack:16|QWORD = MOVE rbp|QWORD moveKind: QWORD <|@ <|@
431
+ nr 4 <|@ instruction [] = HOTSPOTLOCKSTACK frameMapBuilder: org.graalvm.compiler.lir.amd64.AMD64FrameMapBuilder@13cbcbcb8 slotKind: QWORD <|@ <|@
432
+ nr 6 <|@ instruction v0|DWORD = MOVE rsi|DWORD moveKind: DWORD <|@ <|@
433
+ nr 8 <|@ instruction rsi|DWORD = MOVE v0|DWORD moveKind: DWORD <|@ <|@
434
+ nr 10 <|@ st <@st|@live-base-pointers: []
435
+ JavaExamples.exampleStaticCall(JavaExamples.java:112) [bci: 1]
436
+ locals: -
437
+ >@ <|@ instruction rax|DWORD = CALL_DIRECT [rsi|DWORD] [] callTarget: HotSpotMethod<JavaExamples.staticCall(int)> invokeKind: Static config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@147e07170 state [bci:1] <|@ <|@
438
+ nr 12 <|@ instruction v1|DWORD = MOVE rax|DWORD moveKind: DWORD <|@ <|@
439
+ nr 14 <|@ instruction rax|DWORD = MOVE v1|DWORD moveKind: DWORD <|@ <|@
440
+ nr 16 <|@ instruction RETURN (savedRbp: stack:16|QWORD, value: rax|DWORD) isStub: false requiresReservedStackAccessCheck: false thread: r15 scratchForSafepointOnReturn: rcx config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@147e07170 <|@ <|@
441
+ end_IR
442
+ end_block
443
+ end_cfg
444
+ begin_bytecodes
445
+ 0: iload_0
446
+ 1: invokestatic #52 // staticCall:(int)int
447
+ 4: ireturn
448
+ <|@
449
+ end_bytecodes
450
+ begin_cfg
451
+ name "After SSALinearScanLifetimeAnalysis"
452
+ begin_block
453
+ name "B0"
454
+ from_bci -1
455
+ to_bci -1
456
+ predecessors
457
+ successors
458
+ xhandlers
459
+ flags
460
+ probability 4607182418800017408
461
+ begin_IR
462
+ LIR
463
+ nr 0 <|@ instruction [rsi|DWORD, rbp|QWORD] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
464
+ nr 2 <|@ instruction stack:16|QWORD = MOVE rbp|QWORD moveKind: QWORD <|@ <|@
465
+ nr 4 <|@ instruction [] = HOTSPOTLOCKSTACK frameMapBuilder: org.graalvm.compiler.lir.amd64.AMD64FrameMapBuilder@13cbcbcb8 slotKind: QWORD <|@ <|@
466
+ nr 6 <|@ instruction v0|DWORD = MOVE rsi|DWORD moveKind: DWORD <|@ <|@
467
+ nr 8 <|@ instruction rsi|DWORD = MOVE v0|DWORD moveKind: DWORD <|@ <|@
468
+ nr 10 <|@ st <@st|@live-base-pointers: []
469
+ JavaExamples.exampleStaticCall(JavaExamples.java:112) [bci: 1]
470
+ locals: -
471
+ >@ <|@ instruction rax|DWORD = CALL_DIRECT [rsi|DWORD] [] callTarget: HotSpotMethod<JavaExamples.staticCall(int)> invokeKind: Static config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@147e07170 state [bci:1] <|@ <|@
472
+ nr 12 <|@ instruction v1|DWORD = MOVE rax|DWORD moveKind: DWORD <|@ <|@
473
+ nr 14 <|@ instruction rax|DWORD = MOVE v1|DWORD moveKind: DWORD <|@ <|@
474
+ nr 16 <|@ instruction RETURN (savedRbp: stack:16|QWORD, value: rax|DWORD) isStub: false requiresReservedStackAccessCheck: false thread: r15 scratchForSafepointOnReturn: rcx config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@147e07170 <|@ <|@
475
+ end_IR
476
+ end_block
477
+ end_cfg
478
+ begin_bytecodes
479
+ 0: iload_0
480
+ 1: invokestatic #52 // staticCall:(int)int
481
+ 4: ireturn
482
+ <|@
483
+ end_bytecodes
484
+ begin_intervals
485
+ name "Before register allocation"
486
+ rax|d fixed "[rax|d]" rax|d v1|d [0, 1[[10, 12[[14, 16[ "NoOptimization"
487
+ rcx|- fixed "[rcx|-]" rcx|- -1 [0, 1[[10, 11[ "NoDefinitionFound"
488
+ rdx|- fixed "[rdx|-]" rdx|- -1 [0, 1[[10, 11[ "NoDefinitionFound"
489
+ rbx|- fixed "[rbx|-]" rbx|- -1 [0, 1[[10, 11[ "NoDefinitionFound"
490
+ rbp|- fixed "[rbp|-]" rbp|- -1 [0, 2[[10, 11[ "NoSpillStore"
491
+ rsi|- fixed "[rsi|-]" rsi|- v0|d [0, 6[[8, 11[ "NoOptimization"
492
+ rdi|- fixed "[rdi|-]" rdi|- -1 [0, 1[[10, 11[ "NoDefinitionFound"
493
+ r8|- fixed "[r8|-]" r8|- -1 [0, 1[[10, 11[ "NoDefinitionFound"
494
+ r9|- fixed "[r9|-]" r9|- -1 [0, 1[[10, 11[ "NoDefinitionFound"
495
+ r10|- fixed "[r10|-]" r10|- -1 [0, 1[[10, 11[ "NoDefinitionFound"
496
+ r11|- fixed "[r11|-]" r11|- -1 [0, 1[[10, 11[ "NoDefinitionFound"
497
+ r13|- fixed "[r13|-]" r13|- -1 [0, 1[[10, 11[ "NoDefinitionFound"
498
+ r14|- fixed "[r14|-]" r14|- -1 [0, 1[[10, 11[ "NoDefinitionFound"
499
+ xmm0|- fixed "[xmm0|-]" xmm0|- -1 [0, 1[[10, 11[ "NoDefinitionFound"
500
+ xmm1|- fixed "[xmm1|-]" xmm1|- -1 [0, 1[[10, 11[ "NoDefinitionFound"
501
+ xmm2|- fixed "[xmm2|-]" xmm2|- -1 [0, 1[[10, 11[ "NoDefinitionFound"
502
+ xmm3|- fixed "[xmm3|-]" xmm3|- -1 [0, 1[[10, 11[ "NoDefinitionFound"
503
+ xmm4|- fixed "[xmm4|-]" xmm4|- -1 [0, 1[[10, 11[ "NoDefinitionFound"
504
+ xmm5|- fixed "[xmm5|-]" xmm5|- -1 [0, 1[[10, 11[ "NoDefinitionFound"
505
+ xmm6|- fixed "[xmm6|-]" xmm6|- -1 [0, 1[[10, 11[ "NoDefinitionFound"
506
+ xmm7|- fixed "[xmm7|-]" xmm7|- -1 [0, 1[[10, 11[ "NoDefinitionFound"
507
+ xmm8|- fixed "[xmm8|-]" xmm8|- -1 [0, 1[[10, 11[ "NoDefinitionFound"
508
+ xmm9|- fixed "[xmm9|-]" xmm9|- -1 [0, 1[[10, 11[ "NoDefinitionFound"
509
+ xmm10|- fixed "[xmm10|-]" xmm10|- -1 [0, 1[[10, 11[ "NoDefinitionFound"
510
+ xmm11|- fixed "[xmm11|-]" xmm11|- -1 [0, 1[[10, 11[ "NoDefinitionFound"
511
+ xmm12|- fixed "[xmm12|-]" xmm12|- -1 [0, 1[[10, 11[ "NoDefinitionFound"
512
+ xmm13|- fixed "[xmm13|-]" xmm13|- -1 [0, 1[[10, 11[ "NoDefinitionFound"
513
+ xmm14|- fixed "[xmm14|-]" xmm14|- -1 [0, 1[[10, 11[ "NoDefinitionFound"
514
+ xmm15|- fixed "[xmm15|-]" xmm15|- -1 [0, 1[[10, 11[ "NoDefinitionFound"
515
+ v0|d DWORD "[v0|d]" v0|d rsi|- [6, 8[6 MustHaveRegister 8 ShouldHaveRegister "NoSpillStore"
516
+ v1|d DWORD "[v1|d]" v1|d rax|d [12, 14[12 MustHaveRegister 14 ShouldHaveRegister "NoSpillStore"
517
+ end_intervals
518
+ begin_intervals
519
+ name "After register allocation"
520
+ rax|d fixed "[rax|d]" rax|d v1|d [0, 1[[10, 12[[14, 16[ "NoOptimization"
521
+ rcx|- fixed "[rcx|-]" rcx|- -1 [0, 1[[10, 11[ "NoDefinitionFound"
522
+ rdx|- fixed "[rdx|-]" rdx|- -1 [0, 1[[10, 11[ "NoDefinitionFound"
523
+ rbx|- fixed "[rbx|-]" rbx|- -1 [0, 1[[10, 11[ "NoDefinitionFound"
524
+ rbp|- fixed "[rbp|-]" rbp|- -1 [0, 2[[10, 11[ "NoSpillStore"
525
+ rsi|- fixed "[rsi|-]" rsi|- v0|d [0, 6[[8, 11[ "NoOptimization"
526
+ rdi|- fixed "[rdi|-]" rdi|- -1 [0, 1[[10, 11[ "NoDefinitionFound"
527
+ r8|- fixed "[r8|-]" r8|- -1 [0, 1[[10, 11[ "NoDefinitionFound"
528
+ r9|- fixed "[r9|-]" r9|- -1 [0, 1[[10, 11[ "NoDefinitionFound"
529
+ r10|- fixed "[r10|-]" r10|- -1 [0, 1[[10, 11[ "NoDefinitionFound"
530
+ r11|- fixed "[r11|-]" r11|- -1 [0, 1[[10, 11[ "NoDefinitionFound"
531
+ r13|- fixed "[r13|-]" r13|- -1 [0, 1[[10, 11[ "NoDefinitionFound"
532
+ r14|- fixed "[r14|-]" r14|- -1 [0, 1[[10, 11[ "NoDefinitionFound"
533
+ xmm0|- fixed "[xmm0|-]" xmm0|- -1 [0, 1[[10, 11[ "NoDefinitionFound"
534
+ xmm1|- fixed "[xmm1|-]" xmm1|- -1 [0, 1[[10, 11[ "NoDefinitionFound"
535
+ xmm2|- fixed "[xmm2|-]" xmm2|- -1 [0, 1[[10, 11[ "NoDefinitionFound"
536
+ xmm3|- fixed "[xmm3|-]" xmm3|- -1 [0, 1[[10, 11[ "NoDefinitionFound"
537
+ xmm4|- fixed "[xmm4|-]" xmm4|- -1 [0, 1[[10, 11[ "NoDefinitionFound"
538
+ xmm5|- fixed "[xmm5|-]" xmm5|- -1 [0, 1[[10, 11[ "NoDefinitionFound"
539
+ xmm6|- fixed "[xmm6|-]" xmm6|- -1 [0, 1[[10, 11[ "NoDefinitionFound"
540
+ xmm7|- fixed "[xmm7|-]" xmm7|- -1 [0, 1[[10, 11[ "NoDefinitionFound"
541
+ xmm8|- fixed "[xmm8|-]" xmm8|- -1 [0, 1[[10, 11[ "NoDefinitionFound"
542
+ xmm9|- fixed "[xmm9|-]" xmm9|- -1 [0, 1[[10, 11[ "NoDefinitionFound"
543
+ xmm10|- fixed "[xmm10|-]" xmm10|- -1 [0, 1[[10, 11[ "NoDefinitionFound"
544
+ xmm11|- fixed "[xmm11|-]" xmm11|- -1 [0, 1[[10, 11[ "NoDefinitionFound"
545
+ xmm12|- fixed "[xmm12|-]" xmm12|- -1 [0, 1[[10, 11[ "NoDefinitionFound"
546
+ xmm13|- fixed "[xmm13|-]" xmm13|- -1 [0, 1[[10, 11[ "NoDefinitionFound"
547
+ xmm14|- fixed "[xmm14|-]" xmm14|- -1 [0, 1[[10, 11[ "NoDefinitionFound"
548
+ xmm15|- fixed "[xmm15|-]" xmm15|- -1 [0, 1[[10, 11[ "NoDefinitionFound"
549
+ v0|d DWORD "[rsi|d]" v0|d rsi|- [6, 8[6 MustHaveRegister 8 ShouldHaveRegister "NoSpillStore"
550
+ v1|d DWORD "[rax|d]" v1|d rax|d [12, 14[12 MustHaveRegister 14 ShouldHaveRegister "NoSpillStore"
551
+ end_intervals
552
+ begin_cfg
553
+ name "After LinearScanRegisterAllocation"
554
+ begin_block
555
+ name "B0"
556
+ from_bci -1
557
+ to_bci -1
558
+ predecessors
559
+ successors
560
+ xhandlers
561
+ flags
562
+ probability 4607182418800017408
563
+ begin_IR
564
+ LIR
565
+ nr 0 <|@ instruction [rsi|DWORD, rbp|QWORD] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
566
+ nr 2 <|@ instruction stack:16|QWORD = MOVE rbp|QWORD moveKind: QWORD <|@ <|@
567
+ nr 4 <|@ instruction [] = HOTSPOTLOCKSTACK frameMapBuilder: org.graalvm.compiler.lir.amd64.AMD64FrameMapBuilder@13cbcbcb8 slotKind: QWORD <|@ <|@
568
+ nr 6 <|@ instruction v0|DWORD = MOVE rsi|DWORD moveKind: DWORD <|@ <|@
569
+ nr 8 <|@ instruction rsi|DWORD = MOVE v0|DWORD moveKind: DWORD <|@ <|@
570
+ nr 10 <|@ st <@st|@live-base-pointers: []
571
+ JavaExamples.exampleStaticCall(JavaExamples.java:112) [bci: 1]
572
+ locals: -
573
+ >@ <|@ instruction rax|DWORD = CALL_DIRECT [rsi|DWORD] [] callTarget: HotSpotMethod<JavaExamples.staticCall(int)> invokeKind: Static config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@147e07170 state [bci:1] <|@ <|@
574
+ nr 12 <|@ instruction v1|DWORD = MOVE rax|DWORD moveKind: DWORD <|@ <|@
575
+ nr 14 <|@ instruction rax|DWORD = MOVE v1|DWORD moveKind: DWORD <|@ <|@
576
+ nr 16 <|@ instruction RETURN (savedRbp: stack:16|QWORD, value: rax|DWORD) isStub: false requiresReservedStackAccessCheck: false thread: r15 scratchForSafepointOnReturn: rcx config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@147e07170 <|@ <|@
577
+ end_IR
578
+ end_block
579
+ end_cfg
580
+ begin_bytecodes
581
+ 0: iload_0
582
+ 1: invokestatic #52 // staticCall:(int)int
583
+ 4: ireturn
584
+ <|@
585
+ end_bytecodes
586
+ begin_intervals
587
+ name "After optimize spill position"
588
+ rax|d fixed "[rax|d]" rax|d v1|d [0, 1[[10, 12[[14, 16[ "NoOptimization"
589
+ rcx|- fixed "[rcx|-]" rcx|- -1 [0, 1[[10, 11[ "NoDefinitionFound"
590
+ rdx|- fixed "[rdx|-]" rdx|- -1 [0, 1[[10, 11[ "NoDefinitionFound"
591
+ rbx|- fixed "[rbx|-]" rbx|- -1 [0, 1[[10, 11[ "NoDefinitionFound"
592
+ rbp|- fixed "[rbp|-]" rbp|- -1 [0, 2[[10, 11[ "NoSpillStore"
593
+ rsi|- fixed "[rsi|-]" rsi|- v0|d [0, 6[[8, 11[ "NoOptimization"
594
+ rdi|- fixed "[rdi|-]" rdi|- -1 [0, 1[[10, 11[ "NoDefinitionFound"
595
+ r8|- fixed "[r8|-]" r8|- -1 [0, 1[[10, 11[ "NoDefinitionFound"
596
+ r9|- fixed "[r9|-]" r9|- -1 [0, 1[[10, 11[ "NoDefinitionFound"
597
+ r10|- fixed "[r10|-]" r10|- -1 [0, 1[[10, 11[ "NoDefinitionFound"
598
+ r11|- fixed "[r11|-]" r11|- -1 [0, 1[[10, 11[ "NoDefinitionFound"
599
+ r13|- fixed "[r13|-]" r13|- -1 [0, 1[[10, 11[ "NoDefinitionFound"
600
+ r14|- fixed "[r14|-]" r14|- -1 [0, 1[[10, 11[ "NoDefinitionFound"
601
+ xmm0|- fixed "[xmm0|-]" xmm0|- -1 [0, 1[[10, 11[ "NoDefinitionFound"
602
+ xmm1|- fixed "[xmm1|-]" xmm1|- -1 [0, 1[[10, 11[ "NoDefinitionFound"
603
+ xmm2|- fixed "[xmm2|-]" xmm2|- -1 [0, 1[[10, 11[ "NoDefinitionFound"
604
+ xmm3|- fixed "[xmm3|-]" xmm3|- -1 [0, 1[[10, 11[ "NoDefinitionFound"
605
+ xmm4|- fixed "[xmm4|-]" xmm4|- -1 [0, 1[[10, 11[ "NoDefinitionFound"
606
+ xmm5|- fixed "[xmm5|-]" xmm5|- -1 [0, 1[[10, 11[ "NoDefinitionFound"
607
+ xmm6|- fixed "[xmm6|-]" xmm6|- -1 [0, 1[[10, 11[ "NoDefinitionFound"
608
+ xmm7|- fixed "[xmm7|-]" xmm7|- -1 [0, 1[[10, 11[ "NoDefinitionFound"
609
+ xmm8|- fixed "[xmm8|-]" xmm8|- -1 [0, 1[[10, 11[ "NoDefinitionFound"
610
+ xmm9|- fixed "[xmm9|-]" xmm9|- -1 [0, 1[[10, 11[ "NoDefinitionFound"
611
+ xmm10|- fixed "[xmm10|-]" xmm10|- -1 [0, 1[[10, 11[ "NoDefinitionFound"
612
+ xmm11|- fixed "[xmm11|-]" xmm11|- -1 [0, 1[[10, 11[ "NoDefinitionFound"
613
+ xmm12|- fixed "[xmm12|-]" xmm12|- -1 [0, 1[[10, 11[ "NoDefinitionFound"
614
+ xmm13|- fixed "[xmm13|-]" xmm13|- -1 [0, 1[[10, 11[ "NoDefinitionFound"
615
+ xmm14|- fixed "[xmm14|-]" xmm14|- -1 [0, 1[[10, 11[ "NoDefinitionFound"
616
+ xmm15|- fixed "[xmm15|-]" xmm15|- -1 [0, 1[[10, 11[ "NoDefinitionFound"
617
+ v0|d DWORD "[rsi|d]" v0|d rsi|- [6, 8[6 MustHaveRegister 8 ShouldHaveRegister "NoSpillStore"
618
+ v1|d DWORD "[rax|d]" v1|d rax|d [12, 14[12 MustHaveRegister 14 ShouldHaveRegister "NoSpillStore"
619
+ end_intervals
620
+ begin_cfg
621
+ name "After LinearScanOptimizeSpillPosition"
622
+ begin_block
623
+ name "B0"
624
+ from_bci -1
625
+ to_bci -1
626
+ predecessors
627
+ successors
628
+ xhandlers
629
+ flags
630
+ probability 4607182418800017408
631
+ begin_IR
632
+ LIR
633
+ nr 0 <|@ instruction [rsi|DWORD, rbp|QWORD] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
634
+ nr 2 <|@ instruction stack:16|QWORD = MOVE rbp|QWORD moveKind: QWORD <|@ <|@
635
+ nr 4 <|@ instruction [] = HOTSPOTLOCKSTACK frameMapBuilder: org.graalvm.compiler.lir.amd64.AMD64FrameMapBuilder@13cbcbcb8 slotKind: QWORD <|@ <|@
636
+ nr 6 <|@ instruction v0|DWORD = MOVE rsi|DWORD moveKind: DWORD <|@ <|@
637
+ nr 8 <|@ instruction rsi|DWORD = MOVE v0|DWORD moveKind: DWORD <|@ <|@
638
+ nr 10 <|@ st <@st|@live-base-pointers: []
639
+ JavaExamples.exampleStaticCall(JavaExamples.java:112) [bci: 1]
640
+ locals: -
641
+ >@ <|@ instruction rax|DWORD = CALL_DIRECT [rsi|DWORD] [] callTarget: HotSpotMethod<JavaExamples.staticCall(int)> invokeKind: Static config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@147e07170 state [bci:1] <|@ <|@
642
+ nr 12 <|@ instruction v1|DWORD = MOVE rax|DWORD moveKind: DWORD <|@ <|@
643
+ nr 14 <|@ instruction rax|DWORD = MOVE v1|DWORD moveKind: DWORD <|@ <|@
644
+ nr 16 <|@ instruction RETURN (savedRbp: stack:16|QWORD, value: rax|DWORD) isStub: false requiresReservedStackAccessCheck: false thread: r15 scratchForSafepointOnReturn: rcx config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@147e07170 <|@ <|@
645
+ end_IR
646
+ end_block
647
+ end_cfg
648
+ begin_bytecodes
649
+ 0: iload_0
650
+ 1: invokestatic #52 // staticCall:(int)int
651
+ 4: ireturn
652
+ <|@
653
+ end_bytecodes
654
+ begin_intervals
655
+ name "After resolve data flow"
656
+ rax|d fixed "[rax|d]" rax|d v1|d [0, 1[[10, 12[[14, 16[ "NoOptimization"
657
+ rcx|- fixed "[rcx|-]" rcx|- -1 [0, 1[[10, 11[ "NoDefinitionFound"
658
+ rdx|- fixed "[rdx|-]" rdx|- -1 [0, 1[[10, 11[ "NoDefinitionFound"
659
+ rbx|- fixed "[rbx|-]" rbx|- -1 [0, 1[[10, 11[ "NoDefinitionFound"
660
+ rbp|- fixed "[rbp|-]" rbp|- -1 [0, 2[[10, 11[ "NoSpillStore"
661
+ rsi|- fixed "[rsi|-]" rsi|- v0|d [0, 6[[8, 11[ "NoOptimization"
662
+ rdi|- fixed "[rdi|-]" rdi|- -1 [0, 1[[10, 11[ "NoDefinitionFound"
663
+ r8|- fixed "[r8|-]" r8|- -1 [0, 1[[10, 11[ "NoDefinitionFound"
664
+ r9|- fixed "[r9|-]" r9|- -1 [0, 1[[10, 11[ "NoDefinitionFound"
665
+ r10|- fixed "[r10|-]" r10|- -1 [0, 1[[10, 11[ "NoDefinitionFound"
666
+ r11|- fixed "[r11|-]" r11|- -1 [0, 1[[10, 11[ "NoDefinitionFound"
667
+ r13|- fixed "[r13|-]" r13|- -1 [0, 1[[10, 11[ "NoDefinitionFound"
668
+ r14|- fixed "[r14|-]" r14|- -1 [0, 1[[10, 11[ "NoDefinitionFound"
669
+ xmm0|- fixed "[xmm0|-]" xmm0|- -1 [0, 1[[10, 11[ "NoDefinitionFound"
670
+ xmm1|- fixed "[xmm1|-]" xmm1|- -1 [0, 1[[10, 11[ "NoDefinitionFound"
671
+ xmm2|- fixed "[xmm2|-]" xmm2|- -1 [0, 1[[10, 11[ "NoDefinitionFound"
672
+ xmm3|- fixed "[xmm3|-]" xmm3|- -1 [0, 1[[10, 11[ "NoDefinitionFound"
673
+ xmm4|- fixed "[xmm4|-]" xmm4|- -1 [0, 1[[10, 11[ "NoDefinitionFound"
674
+ xmm5|- fixed "[xmm5|-]" xmm5|- -1 [0, 1[[10, 11[ "NoDefinitionFound"
675
+ xmm6|- fixed "[xmm6|-]" xmm6|- -1 [0, 1[[10, 11[ "NoDefinitionFound"
676
+ xmm7|- fixed "[xmm7|-]" xmm7|- -1 [0, 1[[10, 11[ "NoDefinitionFound"
677
+ xmm8|- fixed "[xmm8|-]" xmm8|- -1 [0, 1[[10, 11[ "NoDefinitionFound"
678
+ xmm9|- fixed "[xmm9|-]" xmm9|- -1 [0, 1[[10, 11[ "NoDefinitionFound"
679
+ xmm10|- fixed "[xmm10|-]" xmm10|- -1 [0, 1[[10, 11[ "NoDefinitionFound"
680
+ xmm11|- fixed "[xmm11|-]" xmm11|- -1 [0, 1[[10, 11[ "NoDefinitionFound"
681
+ xmm12|- fixed "[xmm12|-]" xmm12|- -1 [0, 1[[10, 11[ "NoDefinitionFound"
682
+ xmm13|- fixed "[xmm13|-]" xmm13|- -1 [0, 1[[10, 11[ "NoDefinitionFound"
683
+ xmm14|- fixed "[xmm14|-]" xmm14|- -1 [0, 1[[10, 11[ "NoDefinitionFound"
684
+ xmm15|- fixed "[xmm15|-]" xmm15|- -1 [0, 1[[10, 11[ "NoDefinitionFound"
685
+ v0|d DWORD "[rsi|d]" v0|d rsi|- [6, 8[6 MustHaveRegister 8 ShouldHaveRegister "NoSpillStore"
686
+ v1|d DWORD "[rax|d]" v1|d rax|d [12, 14[12 MustHaveRegister 14 ShouldHaveRegister "NoSpillStore"
687
+ end_intervals
688
+ begin_cfg
689
+ name "After SSALinearScanResolveDataFlow"
690
+ begin_block
691
+ name "B0"
692
+ from_bci -1
693
+ to_bci -1
694
+ predecessors
695
+ successors
696
+ xhandlers
697
+ flags
698
+ probability 4607182418800017408
699
+ begin_IR
700
+ LIR
701
+ nr 0 <|@ instruction [rsi|DWORD, rbp|QWORD] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
702
+ nr 2 <|@ instruction stack:16|QWORD = MOVE rbp|QWORD moveKind: QWORD <|@ <|@
703
+ nr 4 <|@ instruction [] = HOTSPOTLOCKSTACK frameMapBuilder: org.graalvm.compiler.lir.amd64.AMD64FrameMapBuilder@13cbcbcb8 slotKind: QWORD <|@ <|@
704
+ nr 6 <|@ instruction v0|DWORD = MOVE rsi|DWORD moveKind: DWORD <|@ <|@
705
+ nr 8 <|@ instruction rsi|DWORD = MOVE v0|DWORD moveKind: DWORD <|@ <|@
706
+ nr 10 <|@ st <@st|@live-base-pointers: []
707
+ JavaExamples.exampleStaticCall(JavaExamples.java:112) [bci: 1]
708
+ locals: -
709
+ >@ <|@ instruction rax|DWORD = CALL_DIRECT [rsi|DWORD] [] callTarget: HotSpotMethod<JavaExamples.staticCall(int)> invokeKind: Static config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@147e07170 state [bci:1] <|@ <|@
710
+ nr 12 <|@ instruction v1|DWORD = MOVE rax|DWORD moveKind: DWORD <|@ <|@
711
+ nr 14 <|@ instruction rax|DWORD = MOVE v1|DWORD moveKind: DWORD <|@ <|@
712
+ nr 16 <|@ instruction RETURN (savedRbp: stack:16|QWORD, value: rax|DWORD) isStub: false requiresReservedStackAccessCheck: false thread: r15 scratchForSafepointOnReturn: rcx config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@147e07170 <|@ <|@
713
+ end_IR
714
+ end_block
715
+ end_cfg
716
+ begin_bytecodes
717
+ 0: iload_0
718
+ 1: invokestatic #52 // staticCall:(int)int
719
+ 4: ireturn
720
+ <|@
721
+ end_bytecodes
722
+ begin_cfg
723
+ name "After SSALinearScanEliminateSpillMove"
724
+ begin_block
725
+ name "B0"
726
+ from_bci -1
727
+ to_bci -1
728
+ predecessors
729
+ successors
730
+ xhandlers
731
+ flags
732
+ probability 4607182418800017408
733
+ begin_IR
734
+ LIR
735
+ nr 0 <|@ instruction [rsi|DWORD, rbp|QWORD] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
736
+ nr 2 <|@ instruction stack:16|QWORD = MOVE rbp|QWORD moveKind: QWORD <|@ <|@
737
+ nr 4 <|@ instruction [] = HOTSPOTLOCKSTACK frameMapBuilder: org.graalvm.compiler.lir.amd64.AMD64FrameMapBuilder@13cbcbcb8 slotKind: QWORD <|@ <|@
738
+ nr 6 <|@ instruction v0|DWORD = MOVE rsi|DWORD moveKind: DWORD <|@ <|@
739
+ nr 8 <|@ instruction rsi|DWORD = MOVE v0|DWORD moveKind: DWORD <|@ <|@
740
+ nr 10 <|@ st <@st|@live-base-pointers: []
741
+ JavaExamples.exampleStaticCall(JavaExamples.java:112) [bci: 1]
742
+ locals: -
743
+ >@ <|@ instruction rax|DWORD = CALL_DIRECT [rsi|DWORD] [] callTarget: HotSpotMethod<JavaExamples.staticCall(int)> invokeKind: Static config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@147e07170 state [bci:1] <|@ <|@
744
+ nr 12 <|@ instruction v1|DWORD = MOVE rax|DWORD moveKind: DWORD <|@ <|@
745
+ nr 14 <|@ instruction rax|DWORD = MOVE v1|DWORD moveKind: DWORD <|@ <|@
746
+ nr 16 <|@ instruction RETURN (savedRbp: stack:16|QWORD, value: rax|DWORD) isStub: false requiresReservedStackAccessCheck: false thread: r15 scratchForSafepointOnReturn: rcx config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@147e07170 <|@ <|@
747
+ end_IR
748
+ end_block
749
+ end_cfg
750
+ begin_bytecodes
751
+ 0: iload_0
752
+ 1: invokestatic #52 // staticCall:(int)int
753
+ 4: ireturn
754
+ <|@
755
+ end_bytecodes
756
+ begin_cfg
757
+ name "After LinearScanAssignLocations"
758
+ begin_block
759
+ name "B0"
760
+ from_bci -1
761
+ to_bci -1
762
+ predecessors
763
+ successors
764
+ xhandlers
765
+ flags
766
+ probability 4607182418800017408
767
+ begin_IR
768
+ LIR
769
+ nr 0 <|@ instruction [rsi|DWORD, rbp|QWORD] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
770
+ nr 2 <|@ instruction stack:16|QWORD = MOVE rbp|QWORD moveKind: QWORD <|@ <|@
771
+ nr 4 <|@ instruction [] = HOTSPOTLOCKSTACK frameMapBuilder: org.graalvm.compiler.lir.amd64.AMD64FrameMapBuilder@13cbcbcb8 slotKind: QWORD <|@ <|@
772
+ nr 10 <|@ st <@st|@live-base-pointers: []
773
+ JavaExamples.exampleStaticCall(JavaExamples.java:112) [bci: 1]
774
+ locals: -
775
+ >@ <|@ instruction rax|DWORD = CALL_DIRECT [rsi|DWORD] [] callTarget: HotSpotMethod<JavaExamples.staticCall(int)> invokeKind: Static config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@147e07170 state [bci:1] <|@ <|@
776
+ nr 16 <|@ instruction RETURN (savedRbp: stack:16|QWORD, value: rax|DWORD) isStub: false requiresReservedStackAccessCheck: false thread: r15 scratchForSafepointOnReturn: rcx config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@147e07170 <|@ <|@
777
+ end_IR
778
+ end_block
779
+ end_cfg
780
+ begin_bytecodes
781
+ 0: iload_0
782
+ 1: invokestatic #52 // staticCall:(int)int
783
+ 4: ireturn
784
+ <|@
785
+ end_bytecodes
786
+ begin_cfg
787
+ name "After LinearScan"
788
+ begin_block
789
+ name "B0"
790
+ from_bci -1
791
+ to_bci -1
792
+ predecessors
793
+ successors
794
+ xhandlers
795
+ flags
796
+ probability 4607182418800017408
797
+ begin_IR
798
+ LIR
799
+ nr 0 <|@ instruction [rsi|DWORD, rbp|QWORD] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
800
+ nr 2 <|@ instruction stack:16|QWORD = MOVE rbp|QWORD moveKind: QWORD <|@ <|@
801
+ nr 4 <|@ instruction [] = HOTSPOTLOCKSTACK frameMapBuilder: org.graalvm.compiler.lir.amd64.AMD64FrameMapBuilder@13cbcbcb8 slotKind: QWORD <|@ <|@
802
+ nr 10 <|@ st <@st|@live-base-pointers: []
803
+ JavaExamples.exampleStaticCall(JavaExamples.java:112) [bci: 1]
804
+ locals: -
805
+ >@ <|@ instruction rax|DWORD = CALL_DIRECT [rsi|DWORD] [] callTarget: HotSpotMethod<JavaExamples.staticCall(int)> invokeKind: Static config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@147e07170 state [bci:1] <|@ <|@
806
+ nr 16 <|@ instruction RETURN (savedRbp: stack:16|QWORD, value: rax|DWORD) isStub: false requiresReservedStackAccessCheck: false thread: r15 scratchForSafepointOnReturn: rcx config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@147e07170 <|@ <|@
807
+ end_IR
808
+ end_block
809
+ end_cfg
810
+ begin_bytecodes
811
+ 0: iload_0
812
+ 1: invokestatic #52 // staticCall:(int)int
813
+ 4: ireturn
814
+ <|@
815
+ end_bytecodes
816
+ begin_cfg
817
+ name "After LSStackSlotAllocator"
818
+ begin_block
819
+ name "B0"
820
+ from_bci -1
821
+ to_bci -1
822
+ predecessors
823
+ successors
824
+ xhandlers
825
+ flags
826
+ probability 4607182418800017408
827
+ begin_IR
828
+ LIR
829
+ nr 0 <|@ instruction [rsi|DWORD, rbp|QWORD] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
830
+ nr 2 <|@ instruction stack:16|QWORD = MOVE rbp|QWORD moveKind: QWORD <|@ <|@
831
+ nr 4 <|@ instruction [] = HOTSPOTLOCKSTACK frameMapBuilder: org.graalvm.compiler.lir.amd64.AMD64FrameMapBuilder@13cbcbcb8 slotKind: QWORD <|@ <|@
832
+ nr 10 <|@ st <@st|@live-base-pointers: []
833
+ JavaExamples.exampleStaticCall(JavaExamples.java:112) [bci: 1]
834
+ locals: -
835
+ >@ <|@ instruction rax|DWORD = CALL_DIRECT [rsi|DWORD] [] callTarget: HotSpotMethod<JavaExamples.staticCall(int)> invokeKind: Static config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@147e07170 state [bci:1] <|@ <|@
836
+ nr 16 <|@ instruction RETURN (savedRbp: stack:16|QWORD, value: rax|DWORD) isStub: false requiresReservedStackAccessCheck: false thread: r15 scratchForSafepointOnReturn: rcx config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@147e07170 <|@ <|@
837
+ end_IR
838
+ end_block
839
+ end_cfg
840
+ begin_bytecodes
841
+ 0: iload_0
842
+ 1: invokestatic #52 // staticCall:(int)int
843
+ 4: ireturn
844
+ <|@
845
+ end_bytecodes
846
+ begin_cfg
847
+ name "After LocationMarker"
848
+ begin_block
849
+ name "B0"
850
+ from_bci -1
851
+ to_bci -1
852
+ predecessors
853
+ successors
854
+ xhandlers
855
+ flags
856
+ probability 4607182418800017408
857
+ begin_IR
858
+ LIR
859
+ nr 0 <|@ instruction [rsi|DWORD, rbp|QWORD] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
860
+ nr 2 <|@ instruction stack:16|QWORD = MOVE rbp|QWORD moveKind: QWORD <|@ <|@
861
+ nr 4 <|@ instruction [] = HOTSPOTLOCKSTACK frameMapBuilder: org.graalvm.compiler.lir.amd64.AMD64FrameMapBuilder@13cbcbcb8 slotKind: QWORD <|@ <|@
862
+ nr 10 <|@ st <@st|@reference-map: []
863
+ live-base-pointers: []
864
+ JavaExamples.exampleStaticCall(JavaExamples.java:112) [bci: 1]
865
+ locals: -
866
+ >@ <|@ instruction rax|DWORD = CALL_DIRECT [rsi|DWORD] [] callTarget: HotSpotMethod<JavaExamples.staticCall(int)> invokeKind: Static config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@147e07170 state [bci:1] <|@ <|@
867
+ nr 16 <|@ instruction RETURN (savedRbp: stack:16|QWORD, value: rax|DWORD) isStub: false requiresReservedStackAccessCheck: false thread: r15 scratchForSafepointOnReturn: rcx config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@147e07170 <|@ <|@
868
+ end_IR
869
+ end_block
870
+ end_cfg
871
+ begin_bytecodes
872
+ 0: iload_0
873
+ 1: invokestatic #52 // staticCall:(int)int
874
+ 4: ireturn
875
+ <|@
876
+ end_bytecodes
877
+ begin_cfg
878
+ name "After AllocationStage"
879
+ begin_block
880
+ name "B0"
881
+ from_bci -1
882
+ to_bci -1
883
+ predecessors
884
+ successors
885
+ xhandlers
886
+ flags
887
+ probability 4607182418800017408
888
+ begin_IR
889
+ LIR
890
+ nr 0 <|@ instruction [rsi|DWORD, rbp|QWORD] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
891
+ nr 2 <|@ instruction stack:16|QWORD = MOVE rbp|QWORD moveKind: QWORD <|@ <|@
892
+ nr 4 <|@ instruction [] = HOTSPOTLOCKSTACK frameMapBuilder: org.graalvm.compiler.lir.amd64.AMD64FrameMapBuilder@13cbcbcb8 slotKind: QWORD <|@ <|@
893
+ nr 10 <|@ st <@st|@reference-map: []
894
+ live-base-pointers: []
895
+ JavaExamples.exampleStaticCall(JavaExamples.java:112) [bci: 1]
896
+ locals: -
897
+ >@ <|@ instruction rax|DWORD = CALL_DIRECT [rsi|DWORD] [] callTarget: HotSpotMethod<JavaExamples.staticCall(int)> invokeKind: Static config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@147e07170 state [bci:1] <|@ <|@
898
+ nr 16 <|@ instruction RETURN (savedRbp: stack:16|QWORD, value: rax|DWORD) isStub: false requiresReservedStackAccessCheck: false thread: r15 scratchForSafepointOnReturn: rcx config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@147e07170 <|@ <|@
899
+ end_IR
900
+ end_block
901
+ end_cfg
902
+ begin_bytecodes
903
+ 0: iload_0
904
+ 1: invokestatic #52 // staticCall:(int)int
905
+ 4: ireturn
906
+ <|@
907
+ end_bytecodes
908
+ begin_cfg
909
+ name "After EdgeMoveOptimizer"
910
+ begin_block
911
+ name "B0"
912
+ from_bci -1
913
+ to_bci -1
914
+ predecessors
915
+ successors
916
+ xhandlers
917
+ flags
918
+ probability 4607182418800017408
919
+ begin_IR
920
+ LIR
921
+ nr 0 <|@ instruction [rsi|DWORD, rbp|QWORD] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
922
+ nr 2 <|@ instruction stack:16|QWORD = MOVE rbp|QWORD moveKind: QWORD <|@ <|@
923
+ nr 4 <|@ instruction [] = HOTSPOTLOCKSTACK frameMapBuilder: org.graalvm.compiler.lir.amd64.AMD64FrameMapBuilder@13cbcbcb8 slotKind: QWORD <|@ <|@
924
+ nr 10 <|@ st <@st|@reference-map: []
925
+ live-base-pointers: []
926
+ JavaExamples.exampleStaticCall(JavaExamples.java:112) [bci: 1]
927
+ locals: -
928
+ >@ <|@ instruction rax|DWORD = CALL_DIRECT [rsi|DWORD] [] callTarget: HotSpotMethod<JavaExamples.staticCall(int)> invokeKind: Static config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@147e07170 state [bci:1] <|@ <|@
929
+ nr 16 <|@ instruction RETURN (savedRbp: stack:16|QWORD, value: rax|DWORD) isStub: false requiresReservedStackAccessCheck: false thread: r15 scratchForSafepointOnReturn: rcx config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@147e07170 <|@ <|@
930
+ end_IR
931
+ end_block
932
+ end_cfg
933
+ begin_bytecodes
934
+ 0: iload_0
935
+ 1: invokestatic #52 // staticCall:(int)int
936
+ 4: ireturn
937
+ <|@
938
+ end_bytecodes
939
+ begin_cfg
940
+ name "After ControlFlowOptimizer"
941
+ begin_block
942
+ name "B0"
943
+ from_bci -1
944
+ to_bci -1
945
+ predecessors
946
+ successors
947
+ xhandlers
948
+ flags
949
+ probability 4607182418800017408
950
+ begin_IR
951
+ LIR
952
+ nr 0 <|@ instruction [rsi|DWORD, rbp|QWORD] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
953
+ nr 2 <|@ instruction stack:16|QWORD = MOVE rbp|QWORD moveKind: QWORD <|@ <|@
954
+ nr 4 <|@ instruction [] = HOTSPOTLOCKSTACK frameMapBuilder: org.graalvm.compiler.lir.amd64.AMD64FrameMapBuilder@13cbcbcb8 slotKind: QWORD <|@ <|@
955
+ nr 10 <|@ st <@st|@reference-map: []
956
+ live-base-pointers: []
957
+ JavaExamples.exampleStaticCall(JavaExamples.java:112) [bci: 1]
958
+ locals: -
959
+ >@ <|@ instruction rax|DWORD = CALL_DIRECT [rsi|DWORD] [] callTarget: HotSpotMethod<JavaExamples.staticCall(int)> invokeKind: Static config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@147e07170 state [bci:1] <|@ <|@
960
+ nr 16 <|@ instruction RETURN (savedRbp: stack:16|QWORD, value: rax|DWORD) isStub: false requiresReservedStackAccessCheck: false thread: r15 scratchForSafepointOnReturn: rcx config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@147e07170 <|@ <|@
961
+ end_IR
962
+ end_block
963
+ end_cfg
964
+ begin_bytecodes
965
+ 0: iload_0
966
+ 1: invokestatic #52 // staticCall:(int)int
967
+ 4: ireturn
968
+ <|@
969
+ end_bytecodes
970
+ begin_cfg
971
+ name "After RedundantMoveElimination"
972
+ begin_block
973
+ name "B0"
974
+ from_bci -1
975
+ to_bci -1
976
+ predecessors
977
+ successors
978
+ xhandlers
979
+ flags
980
+ probability 4607182418800017408
981
+ begin_IR
982
+ LIR
983
+ nr 0 <|@ instruction [rsi|DWORD, rbp|QWORD] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
984
+ nr 2 <|@ instruction stack:16|QWORD = MOVE rbp|QWORD moveKind: QWORD <|@ <|@
985
+ nr 4 <|@ instruction [] = HOTSPOTLOCKSTACK frameMapBuilder: org.graalvm.compiler.lir.amd64.AMD64FrameMapBuilder@13cbcbcb8 slotKind: QWORD <|@ <|@
986
+ nr 10 <|@ st <@st|@reference-map: []
987
+ live-base-pointers: []
988
+ JavaExamples.exampleStaticCall(JavaExamples.java:112) [bci: 1]
989
+ locals: -
990
+ >@ <|@ instruction rax|DWORD = CALL_DIRECT [rsi|DWORD] [] callTarget: HotSpotMethod<JavaExamples.staticCall(int)> invokeKind: Static config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@147e07170 state [bci:1] <|@ <|@
991
+ nr 16 <|@ instruction RETURN (savedRbp: stack:16|QWORD, value: rax|DWORD) isStub: false requiresReservedStackAccessCheck: false thread: r15 scratchForSafepointOnReturn: rcx config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@147e07170 <|@ <|@
992
+ end_IR
993
+ end_block
994
+ end_cfg
995
+ begin_bytecodes
996
+ 0: iload_0
997
+ 1: invokestatic #52 // staticCall:(int)int
998
+ 4: ireturn
999
+ <|@
1000
+ end_bytecodes
1001
+ begin_cfg
1002
+ name "After NullCheckOptimizer"
1003
+ begin_block
1004
+ name "B0"
1005
+ from_bci -1
1006
+ to_bci -1
1007
+ predecessors
1008
+ successors
1009
+ xhandlers
1010
+ flags
1011
+ probability 4607182418800017408
1012
+ begin_IR
1013
+ LIR
1014
+ nr 0 <|@ instruction [rsi|DWORD, rbp|QWORD] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
1015
+ nr 2 <|@ instruction stack:16|QWORD = MOVE rbp|QWORD moveKind: QWORD <|@ <|@
1016
+ nr 4 <|@ instruction [] = HOTSPOTLOCKSTACK frameMapBuilder: org.graalvm.compiler.lir.amd64.AMD64FrameMapBuilder@13cbcbcb8 slotKind: QWORD <|@ <|@
1017
+ nr 10 <|@ st <@st|@reference-map: []
1018
+ live-base-pointers: []
1019
+ JavaExamples.exampleStaticCall(JavaExamples.java:112) [bci: 1]
1020
+ locals: -
1021
+ >@ <|@ instruction rax|DWORD = CALL_DIRECT [rsi|DWORD] [] callTarget: HotSpotMethod<JavaExamples.staticCall(int)> invokeKind: Static config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@147e07170 state [bci:1] <|@ <|@
1022
+ nr 16 <|@ instruction RETURN (savedRbp: stack:16|QWORD, value: rax|DWORD) isStub: false requiresReservedStackAccessCheck: false thread: r15 scratchForSafepointOnReturn: rcx config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@147e07170 <|@ <|@
1023
+ end_IR
1024
+ end_block
1025
+ end_cfg
1026
+ begin_bytecodes
1027
+ 0: iload_0
1028
+ 1: invokestatic #52 // staticCall:(int)int
1029
+ 4: ireturn
1030
+ <|@
1031
+ end_bytecodes
1032
+ begin_cfg
1033
+ name "After StackMoveOptimization"
1034
+ begin_block
1035
+ name "B0"
1036
+ from_bci -1
1037
+ to_bci -1
1038
+ predecessors
1039
+ successors
1040
+ xhandlers
1041
+ flags
1042
+ probability 4607182418800017408
1043
+ begin_IR
1044
+ LIR
1045
+ nr 0 <|@ instruction [rsi|DWORD, rbp|QWORD] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
1046
+ nr 2 <|@ instruction stack:16|QWORD = MOVE rbp|QWORD moveKind: QWORD <|@ <|@
1047
+ nr 4 <|@ instruction [] = HOTSPOTLOCKSTACK frameMapBuilder: org.graalvm.compiler.lir.amd64.AMD64FrameMapBuilder@13cbcbcb8 slotKind: QWORD <|@ <|@
1048
+ nr 10 <|@ st <@st|@reference-map: []
1049
+ live-base-pointers: []
1050
+ JavaExamples.exampleStaticCall(JavaExamples.java:112) [bci: 1]
1051
+ locals: -
1052
+ >@ <|@ instruction rax|DWORD = CALL_DIRECT [rsi|DWORD] [] callTarget: HotSpotMethod<JavaExamples.staticCall(int)> invokeKind: Static config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@147e07170 state [bci:1] <|@ <|@
1053
+ nr 16 <|@ instruction RETURN (savedRbp: stack:16|QWORD, value: rax|DWORD) isStub: false requiresReservedStackAccessCheck: false thread: r15 scratchForSafepointOnReturn: rcx config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@147e07170 <|@ <|@
1054
+ end_IR
1055
+ end_block
1056
+ end_cfg
1057
+ begin_bytecodes
1058
+ 0: iload_0
1059
+ 1: invokestatic #52 // staticCall:(int)int
1060
+ 4: ireturn
1061
+ <|@
1062
+ end_bytecodes
1063
+ begin_cfg
1064
+ name "After PostAllocationOptimizationStage"
1065
+ begin_block
1066
+ name "B0"
1067
+ from_bci -1
1068
+ to_bci -1
1069
+ predecessors
1070
+ successors
1071
+ xhandlers
1072
+ flags
1073
+ probability 4607182418800017408
1074
+ begin_IR
1075
+ LIR
1076
+ nr 0 <|@ instruction [rsi|DWORD, rbp|QWORD] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
1077
+ nr 2 <|@ instruction stack:16|QWORD = MOVE rbp|QWORD moveKind: QWORD <|@ <|@
1078
+ nr 4 <|@ instruction [] = HOTSPOTLOCKSTACK frameMapBuilder: org.graalvm.compiler.lir.amd64.AMD64FrameMapBuilder@13cbcbcb8 slotKind: QWORD <|@ <|@
1079
+ nr 10 <|@ st <@st|@reference-map: []
1080
+ live-base-pointers: []
1081
+ JavaExamples.exampleStaticCall(JavaExamples.java:112) [bci: 1]
1082
+ locals: -
1083
+ >@ <|@ instruction rax|DWORD = CALL_DIRECT [rsi|DWORD] [] callTarget: HotSpotMethod<JavaExamples.staticCall(int)> invokeKind: Static config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@147e07170 state [bci:1] <|@ <|@
1084
+ nr 16 <|@ instruction RETURN (savedRbp: stack:16|QWORD, value: rax|DWORD) isStub: false requiresReservedStackAccessCheck: false thread: r15 scratchForSafepointOnReturn: rcx config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@147e07170 <|@ <|@
1085
+ end_IR
1086
+ end_block
1087
+ end_cfg
1088
+ begin_bytecodes
1089
+ 0: iload_0
1090
+ 1: invokestatic #52 // staticCall:(int)int
1091
+ 4: ireturn
1092
+ <|@
1093
+ end_bytecodes
1094
+ begin_cfg
1095
+ name "After code generation"
1096
+ end_cfg
1097
+ begin_nmethod
1098
+ <<<HexCodeFile
1099
+ Platform AMD64 64 <||@
1100
+ HexCode 0 89842400c0feff4883ec1848896c24100f1f8000000000e80000000090488b6c24104883c418850500000000c5f877c3e80000000090e80000000090 <||@
1101
+ Comment 0 [stack overflow check] <||@
1102
+ Comment 0 3 <||@
1103
+ Comment 0 1 <||@
1104
+ Comment 11 block B0 null <||@
1105
+ Comment 11 0 [rsi|DWORD, rbp|QWORD] = LABEL numbPhis: 0 align: false label: ? <||@
1106
+ Comment 11 2 stack:16|QWORD = MOVE rbp|QWORD moveKind: QWORD <||@
1107
+ Comment 16 4 [] = HOTSPOTLOCKSTACK frameMapBuilder: org.graalvm.compiler.lir.amd64.AMD64FrameMapBuilder@13cbcbcb8 slotKind: QWORD <||@
1108
+ Comment 16 10 rax|DWORD = CALL_DIRECT [rsi|DWORD] [] callTarget: HotSpotMethod<JavaExamples.staticCall(int)> invokeKind: Static config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@147e07170 state [bci:1] <||@
1109
+ Comment 16 8 <||@
1110
+ Comment 23 {HotSpotMethod<JavaExamples.staticCall(int)>} <||@
1111
+ Comment 28 []at JavaExamples.exampleStaticCall(JavaExamples.java:112) [bci: 1, duringCall: true, rethrow: false]
1112
+ |0
1113
+ locals: |- <||@
1114
+ Comment 29 16 RETURN (savedRbp: stack:16|QWORD, value: rax|DWORD) isStub: false requiresReservedStackAccessCheck: false thread: r15 scratchForSafepointOnReturn: rcx config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@147e07170 <||@
1115
+ Comment 38 12 <||@
1116
+ Comment 48 {Stub<ExceptionHandlerStub.exceptionHandler>@0x112e24320:CallingConvention[rax|QWORD[.], rdx|QWORD]:CallingConvention[rax|QWORD[.], rdx|QWORD]; temps=rdi|ILLEGAL,xmm14|ILLEGAL,xmm15|ILLEGAL,xmm12|ILLEGAL,xmm13|ILLEGAL,xmm10|ILLEGAL,xmm11|ILLEGAL,xmm7|ILLEGAL,xmm8|ILLEGAL,xmm9|ILLEGAL,xmm0|ILLEGAL,xmm1|ILLEGAL,xmm2|ILLEGAL,xmm3|ILLEGAL,xmm4|ILLEGAL,xmm5|ILLEGAL,xmm6|ILLEGAL,rax|ILLEGAL,rcx|ILLEGAL,rdx|ILLEGAL,rsi|ILLEGAL,r8|ILLEGAL,r9|ILLEGAL,r10|ILLEGAL,r11|ILLEGAL} <||@
1117
+ Comment 48 4 <||@
1118
+ Comment 54 {Field[name=CompilerToVM::Data::SharedRuntime_deopt_blob_unpack, type=address, offset=0, address=0x1108bc128, value=4610474560]:0x112ce4240} <||@
1119
+ Comment 54 5 <||@
1120
+ HexCodeFile>>> <|@
1121
+ end_nmethod
1122
+ begin_compilation
1123
+ name " HotSpotCompilation-351[JavaExamples.exampleStaticCall(int)]"
1124
+ method "HotSpotCompilation-351[JavaExamples.exampleStaticCall(int)]"
1125
+ date 1583364091860
1126
+ end_compilation
1127
+ begin_cfg
1128
+ name "After code installation"
1129
+ end_cfg
1130
+ begin_nmethod
1131
+ <<<HexCodeFile
1132
+ Platform AMD64 64 <||@
1133
+ HexCode 112e34da0 89842400c0feff4883ec1848896c24100f1f8000000000e864b2ffff90488b6c24104883c41885053a6293fbc5f877c3e84bf5feff90e865f4eaff90f4f4f4f448bb0000000000000000e9fbfffffff4 <||@
1134
+ Comment 0 [stack overflow check] <||@
1135
+ Comment 0 3 <||@
1136
+ Comment 0 1 <||@
1137
+ Comment 11 block B0 null <||@
1138
+ Comment 11 0 [rsi|DWORD, rbp|QWORD] = LABEL numbPhis: 0 align: false label: ? <||@
1139
+ Comment 11 2 stack:16|QWORD = MOVE rbp|QWORD moveKind: QWORD <||@
1140
+ Comment 16 4 [] = HOTSPOTLOCKSTACK frameMapBuilder: org.graalvm.compiler.lir.amd64.AMD64FrameMapBuilder@13cbcbcb8 slotKind: QWORD <||@
1141
+ Comment 16 10 rax|DWORD = CALL_DIRECT [rsi|DWORD] [] callTarget: HotSpotMethod<JavaExamples.staticCall(int)> invokeKind: Static config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@147e07170 state [bci:1] <||@
1142
+ Comment 16 8 <||@
1143
+ Comment 23 {HotSpotMethod<JavaExamples.staticCall(int)>} <||@
1144
+ Comment 28 []at JavaExamples.exampleStaticCall(JavaExamples.java:112) [bci: 1, duringCall: true, rethrow: false]
1145
+ |0
1146
+ locals: |- <||@
1147
+ Comment 29 16 RETURN (savedRbp: stack:16|QWORD, value: rax|DWORD) isStub: false requiresReservedStackAccessCheck: false thread: r15 scratchForSafepointOnReturn: rcx config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@147e07170 <||@
1148
+ Comment 38 12 <||@
1149
+ Comment 48 {Stub<ExceptionHandlerStub.exceptionHandler>@0x112e24320:CallingConvention[rax|QWORD[.], rdx|QWORD]:CallingConvention[rax|QWORD[.], rdx|QWORD]; temps=rdi|ILLEGAL,xmm14|ILLEGAL,xmm15|ILLEGAL,xmm12|ILLEGAL,xmm13|ILLEGAL,xmm10|ILLEGAL,xmm11|ILLEGAL,xmm7|ILLEGAL,xmm8|ILLEGAL,xmm9|ILLEGAL,xmm0|ILLEGAL,xmm1|ILLEGAL,xmm2|ILLEGAL,xmm3|ILLEGAL,xmm4|ILLEGAL,xmm5|ILLEGAL,xmm6|ILLEGAL,rax|ILLEGAL,rcx|ILLEGAL,rdx|ILLEGAL,rsi|ILLEGAL,r8|ILLEGAL,r9|ILLEGAL,r10|ILLEGAL,r11|ILLEGAL} <||@
1150
+ Comment 48 4 <||@
1151
+ Comment 54 {Field[name=CompilerToVM::Data::SharedRuntime_deopt_blob_unpack, type=address, offset=0, address=0x1108bc128, value=4610474560]:0x112ce4240} <||@
1152
+ Comment 54 5 <||@
1153
+ HexCodeFile>>> <|@
1154
+ end_nmethod