Details
-
Enhancement
-
Resolution: Fixed
-
P4
-
20
-
b13
-
x86_64
Description
While looking at another bug, I wondered why the c2i adapter for a static call with no arguments is pushing 16 bytes onto the stack:
pop %rax
mov %rsp,%r13
sub $0x10,%rsp
mov %rax,(%rsp)
This could be just:
mov %rsp,%r13
add $0x8, %r13
If I'm not mistaken, the alignment invariant is that stack is aligned before the return value is pushed, so the slot for the return value should not be included in the alignment adjustment.
pop %rax
mov %rsp,%r13
sub $0x10,%rsp
mov %rax,(%rsp)
This could be just:
mov %rsp,%r13
add $0x8, %r13
If I'm not mistaken, the alignment invariant is that stack is aligned before the return value is pushed, so the slot for the return value should not be included in the alignment adjustment.
Attachments
Issue Links
- relates to
-
JDK-8292584 assert(cb != __null) failed: must be with -XX:-Inline
-
- Resolved
-