@@ -71,12 +71,11 @@ public void testEmpty() {
71
71
72
72
assertFalse (bindings .isInMemoryReturn ());
73
73
CallingSequence callingSequence = bindings .callingSequence ();
74
- assertEquals (callingSequence .callerMethodType (), mt .appendParameterTypes ( long . class ). insertParameterTypes (0 , MemorySegment .class ));
75
- assertEquals (callingSequence .functionDesc (), fd .appendArgumentLayouts ( C_LONG ). insertArgumentLayouts (0 , ADDRESS ));
74
+ assertEquals (callingSequence .callerMethodType (), mt .insertParameterTypes (0 , MemorySegment .class ));
75
+ assertEquals (callingSequence .functionDesc (), fd .insertArgumentLayouts (0 , ADDRESS ));
76
76
77
77
checkArgumentBindings (callingSequence , new Binding [][]{
78
78
{ unboxAddress (), vmStore (TARGET_ADDRESS_STORAGE , long .class ) },
79
- { vmStore (rax , long .class ) }
80
79
});
81
80
82
81
checkReturnBindings (callingSequence , new Binding []{});
@@ -99,14 +98,13 @@ public void testNestedStructs() {
99
98
100
99
assertFalse (bindings .isInMemoryReturn ());
101
100
CallingSequence callingSequence = bindings .callingSequence ();
102
- assertEquals (callingSequence .callerMethodType (), mt .appendParameterTypes ( long . class ). insertParameterTypes (0 , MemorySegment .class ));
103
- assertEquals (callingSequence .functionDesc (), fd .appendArgumentLayouts ( C_LONG ). insertArgumentLayouts (0 , ADDRESS ));
101
+ assertEquals (callingSequence .callerMethodType (), mt .insertParameterTypes (0 , MemorySegment .class ));
102
+ assertEquals (callingSequence .functionDesc (), fd .insertArgumentLayouts (0 , ADDRESS ));
104
103
105
104
checkArgumentBindings (callingSequence , new Binding [][]{
106
105
{ unboxAddress (), vmStore (TARGET_ADDRESS_STORAGE , long .class ) },
107
106
{ dup (), bufferLoad (0 , long .class ), vmStore (rdi , long .class ),
108
107
bufferLoad (8 , int .class ), vmStore (rsi , int .class )},
109
- { vmStore (rax , long .class ) },
110
108
});
111
109
112
110
checkReturnBindings (callingSequence , new Binding []{});
@@ -130,14 +128,13 @@ public void testNestedUnion() {
130
128
131
129
assertFalse (bindings .isInMemoryReturn ());
132
130
CallingSequence callingSequence = bindings .callingSequence ();
133
- assertEquals (callingSequence .callerMethodType (), mt .appendParameterTypes ( long . class ). insertParameterTypes (0 , MemorySegment .class ));
134
- assertEquals (callingSequence .functionDesc (), fd .appendArgumentLayouts ( C_LONG ). insertArgumentLayouts (0 , ADDRESS ));
131
+ assertEquals (callingSequence .callerMethodType (), mt .insertParameterTypes (0 , MemorySegment .class ));
132
+ assertEquals (callingSequence .functionDesc (), fd .insertArgumentLayouts (0 , ADDRESS ));
135
133
136
134
checkArgumentBindings (callingSequence , new Binding [][]{
137
135
{ unboxAddress (), vmStore (TARGET_ADDRESS_STORAGE , long .class ) },
138
136
{ dup (), bufferLoad (0 , long .class ), vmStore (rdi , long .class ),
139
137
bufferLoad (8 , long .class ), vmStore (rsi , long .class )},
140
- { vmStore (rax , long .class ) },
141
138
});
142
139
143
140
checkReturnBindings (callingSequence , new Binding []{});
@@ -155,8 +152,8 @@ public void testIntegerRegs() {
155
152
156
153
assertFalse (bindings .isInMemoryReturn ());
157
154
CallingSequence callingSequence = bindings .callingSequence ();
158
- assertEquals (callingSequence .callerMethodType (), mt .appendParameterTypes ( long . class ). insertParameterTypes (0 , MemorySegment .class ));
159
- assertEquals (callingSequence .functionDesc (), fd .appendArgumentLayouts ( C_LONG ). insertArgumentLayouts (0 , ADDRESS ));
155
+ assertEquals (callingSequence .callerMethodType (), mt .insertParameterTypes (0 , MemorySegment .class ));
156
+ assertEquals (callingSequence .functionDesc (), fd .insertArgumentLayouts (0 , ADDRESS ));
160
157
161
158
checkArgumentBindings (callingSequence , new Binding [][]{
162
159
{ unboxAddress (), vmStore (TARGET_ADDRESS_STORAGE , long .class ) },
@@ -166,7 +163,6 @@ public void testIntegerRegs() {
166
163
{ vmStore (rcx , int .class ) },
167
164
{ vmStore (r8 , int .class ) },
168
165
{ vmStore (r9 , int .class ) },
169
- { vmStore (rax , long .class ) },
170
166
});
171
167
172
168
checkReturnBindings (callingSequence , new Binding []{});
@@ -186,8 +182,8 @@ public void testDoubleRegs() {
186
182
187
183
assertFalse (bindings .isInMemoryReturn ());
188
184
CallingSequence callingSequence = bindings .callingSequence ();
189
- assertEquals (callingSequence .callerMethodType (), mt .appendParameterTypes ( long . class ). insertParameterTypes (0 , MemorySegment .class ));
190
- assertEquals (callingSequence .functionDesc (), fd .appendArgumentLayouts ( C_LONG ). insertArgumentLayouts (0 , ADDRESS ));
185
+ assertEquals (callingSequence .callerMethodType (), mt .insertParameterTypes (0 , MemorySegment .class ));
186
+ assertEquals (callingSequence .functionDesc (), fd .insertArgumentLayouts (0 , ADDRESS ));
191
187
192
188
checkArgumentBindings (callingSequence , new Binding [][]{
193
189
{ unboxAddress (), vmStore (TARGET_ADDRESS_STORAGE , long .class ) },
@@ -199,7 +195,6 @@ public void testDoubleRegs() {
199
195
{ vmStore (xmm5 , double .class ) },
200
196
{ vmStore (xmm6 , double .class ) },
201
197
{ vmStore (xmm7 , double .class ) },
202
- { vmStore (rax , long .class ) },
203
198
});
204
199
205
200
checkReturnBindings (callingSequence , new Binding []{});
@@ -221,8 +216,8 @@ public void testMixed() {
221
216
222
217
assertFalse (bindings .isInMemoryReturn ());
223
218
CallingSequence callingSequence = bindings .callingSequence ();
224
- assertEquals (callingSequence .callerMethodType (), mt .appendParameterTypes ( long . class ). insertParameterTypes (0 , MemorySegment .class ));
225
- assertEquals (callingSequence .functionDesc (), fd .appendArgumentLayouts ( C_LONG ). insertArgumentLayouts (0 , ADDRESS ));
219
+ assertEquals (callingSequence .callerMethodType (), mt .insertParameterTypes (0 , MemorySegment .class ));
220
+ assertEquals (callingSequence .functionDesc (), fd .insertArgumentLayouts (0 , ADDRESS ));
226
221
227
222
checkArgumentBindings (callingSequence , new Binding [][]{
228
223
{ unboxAddress (), vmStore (TARGET_ADDRESS_STORAGE , long .class ) },
@@ -244,7 +239,6 @@ public void testMixed() {
244
239
{ vmStore (xmm7 , float .class ) },
245
240
{ vmStore (stackStorage (STACK_SLOT_SIZE , 16 ), float .class ) },
246
241
{ vmStore (stackStorage (STACK_SLOT_SIZE , 24 ), float .class ) },
247
- { vmStore (rax , long .class ) },
248
242
});
249
243
250
244
checkReturnBindings (callingSequence , new Binding []{});
@@ -278,8 +272,8 @@ public void testAbiExample() {
278
272
279
273
assertFalse (bindings .isInMemoryReturn ());
280
274
CallingSequence callingSequence = bindings .callingSequence ();
281
- assertEquals (callingSequence .callerMethodType (), mt .appendParameterTypes ( long . class ). insertParameterTypes (0 , MemorySegment .class ));
282
- assertEquals (callingSequence .functionDesc (), fd .appendArgumentLayouts ( C_LONG ). insertArgumentLayouts (0 , ADDRESS ));
275
+ assertEquals (callingSequence .callerMethodType (), mt .insertParameterTypes (0 , MemorySegment .class ));
276
+ assertEquals (callingSequence .functionDesc (), fd .insertArgumentLayouts (0 , ADDRESS ));
283
277
284
278
checkArgumentBindings (callingSequence , new Binding [][]{
285
279
{ unboxAddress (), vmStore (TARGET_ADDRESS_STORAGE , long .class ) },
@@ -297,7 +291,6 @@ public void testAbiExample() {
297
291
{ vmStore (r9 , int .class ) },
298
292
{ vmStore (stackStorage (STACK_SLOT_SIZE , 0 ), int .class ) },
299
293
{ vmStore (stackStorage (STACK_SLOT_SIZE , 8 ), int .class ) },
300
- { vmStore (rax , long .class ) },
301
294
});
302
295
303
296
checkReturnBindings (callingSequence , new Binding []{});
@@ -321,13 +314,12 @@ public void testMemoryAddress() {
321
314
322
315
assertFalse (bindings .isInMemoryReturn ());
323
316
CallingSequence callingSequence = bindings .callingSequence ();
324
- assertEquals (callingSequence .callerMethodType (), mt .appendParameterTypes ( long . class ). insertParameterTypes (0 , MemorySegment .class ));
325
- assertEquals (callingSequence .functionDesc (), fd .appendArgumentLayouts ( C_LONG ). insertArgumentLayouts (0 , ADDRESS ));
317
+ assertEquals (callingSequence .callerMethodType (), mt .insertParameterTypes (0 , MemorySegment .class ));
318
+ assertEquals (callingSequence .functionDesc (), fd .insertArgumentLayouts (0 , ADDRESS ));
326
319
327
320
checkArgumentBindings (callingSequence , new Binding [][]{
328
321
{ unboxAddress (), vmStore (TARGET_ADDRESS_STORAGE , long .class ) },
329
322
{ unboxAddress (), vmStore (rdi , long .class ) },
330
- { vmStore (rax , long .class ) },
331
323
});
332
324
333
325
checkReturnBindings (callingSequence , new Binding []{});
@@ -343,13 +335,12 @@ public void testStruct(MemoryLayout struct, Binding[] expectedBindings) {
343
335
344
336
assertFalse (bindings .isInMemoryReturn ());
345
337
CallingSequence callingSequence = bindings .callingSequence ();
346
- assertEquals (callingSequence .callerMethodType (), mt .appendParameterTypes ( long . class ). insertParameterTypes (0 , MemorySegment .class ));
347
- assertEquals (callingSequence .functionDesc (), fd .appendArgumentLayouts ( C_LONG ). insertArgumentLayouts (0 , ADDRESS ));
338
+ assertEquals (callingSequence .callerMethodType (), mt .insertParameterTypes (0 , MemorySegment .class ));
339
+ assertEquals (callingSequence .functionDesc (), fd .insertArgumentLayouts (0 , ADDRESS ));
348
340
349
341
checkArgumentBindings (callingSequence , new Binding [][]{
350
342
{ unboxAddress (), vmStore (TARGET_ADDRESS_STORAGE , long .class ) },
351
343
expectedBindings ,
352
- { vmStore (rax , long .class ) },
353
344
});
354
345
355
346
checkReturnBindings (callingSequence , new Binding []{});
@@ -402,13 +393,12 @@ public void testReturnRegisterStruct() {
402
393
403
394
assertFalse (bindings .isInMemoryReturn ());
404
395
CallingSequence callingSequence = bindings .callingSequence ();
405
- assertEquals (callingSequence .callerMethodType (), mt .appendParameterTypes ( long . class ). insertParameterTypes (0 , MemorySegment .class , MemorySegment .class ));
406
- assertEquals (callingSequence .functionDesc (), fd .appendArgumentLayouts ( C_LONG ). insertArgumentLayouts (0 , ADDRESS , ADDRESS ));
396
+ assertEquals (callingSequence .callerMethodType (), mt .insertParameterTypes (0 , MemorySegment .class , MemorySegment .class ));
397
+ assertEquals (callingSequence .functionDesc (), fd .insertArgumentLayouts (0 , ADDRESS , ADDRESS ));
407
398
408
399
checkArgumentBindings (callingSequence , new Binding [][]{
409
400
{ unboxAddress (), vmStore (RETURN_BUFFER_STORAGE , long .class ) },
410
401
{ unboxAddress (), vmStore (TARGET_ADDRESS_STORAGE , long .class ) },
411
- { vmStore (rax , long .class ) }
412
402
});
413
403
414
404
checkReturnBindings (callingSequence , new Binding [] {
@@ -434,13 +424,12 @@ public void testIMR() {
434
424
435
425
assertTrue (bindings .isInMemoryReturn ());
436
426
CallingSequence callingSequence = bindings .callingSequence ();
437
- assertEquals (callingSequence .callerMethodType (), MethodType .methodType (void .class , MemorySegment .class , MemorySegment .class , long . class ));
438
- assertEquals (callingSequence .functionDesc (), FunctionDescriptor .ofVoid (ADDRESS , C_POINTER , C_LONG ));
427
+ assertEquals (callingSequence .callerMethodType (), MethodType .methodType (void .class , MemorySegment .class , MemorySegment .class ));
428
+ assertEquals (callingSequence .functionDesc (), FunctionDescriptor .ofVoid (ADDRESS , C_POINTER ));
439
429
440
430
checkArgumentBindings (callingSequence , new Binding [][]{
441
431
{ unboxAddress (), vmStore (TARGET_ADDRESS_STORAGE , long .class ) },
442
- { unboxAddress (), vmStore (rdi , long .class ) },
443
- { vmStore (rax , long .class ) }
432
+ { unboxAddress (), vmStore (rdi , long .class ) }
444
433
});
445
434
446
435
checkReturnBindings (callingSequence , new Binding [] {});
0 commit comments