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,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