-
Enhancement
-
Resolution: Fixed
-
P4
-
20
-
b05
-
aarch64
There are several places in the interpreter that could be improved.
1. We use r13 to pass the caller's SP to a callee through adapters. r13 is not a callee-saved register in the native ABI, so this causes some complications. Use a callee-saved register.
2. We frequently recalculate the location where the native SP needs to go. We have a spare slot in the interpreter frame, so we should calculate it once, when the frame is created, and use it.
3. Related to 1, we should clearly label all the places where the caller's SP is passed to a callee.
1. We use r13 to pass the caller's SP to a callee through adapters. r13 is not a callee-saved register in the native ABI, so this causes some complications. Use a callee-saved register.
2. We frequently recalculate the location where the native SP needs to go. We have a spare slot in the interpreter frame, so we should calculate it once, when the frame is created, and use it.
3. Related to 1, we should clearly label all the places where the caller's SP is passed to a callee.
- relates to
-
JDK-8294744 AArch64: applications/kitchensink/Kitchensink.java crashed: assert(oopDesc::is_oop(obj)) failed: not an oop
- Resolved
-
JDK-8303153 Native interpreter frame missing mirror
- Resolved
-
JDK-8289698 AArch64: Need to relativize extended_sp in frame
- Closed