Skip to content

Commit

Permalink
Fix CS and optimize stack overflow
Browse files Browse the repository at this point in the history
- Use different temp registers to avoid corrupting the arguments to
jitSoftwareReadBarrier

- Move jitStackOverflow into the optimized category for improved
performance

[ci skip]

Signed-off-by: Graham Chapman <[email protected]>
  • Loading branch information
gacholio committed Apr 5, 2021
1 parent eb5770b commit 8463b33
Show file tree
Hide file tree
Showing 2 changed files with 223 additions and 220 deletions.
12 changes: 6 additions & 6 deletions runtime/codert_vm/pnathelp.m4
Original file line number Diff line number Diff line change
Expand Up @@ -311,6 +311,12 @@ SLOW_PATH_ONLY_HELPER(jitInduceOSRAtCurrentPC,0)
SLOW_PATH_ONLY_HELPER(jitInduceOSRAtCurrentPCAndRecompile,0)
SLOW_PATH_ONLY_HELPER(jitRetranslateMethod,3)

dnl jitStackOverflow is special case in that the frame size argument
dnl is implicit (in the register file) rather than being passed as
dnl an argument in the usual way.

SLOW_PATH_ONLY_HELPER_NO_RETURN_VALUE(jitStackOverflow,0)

dnl Helpers that are not at a method invocation point.
dnl
dnl See definition of SAVE_C_VOLATILE_REGS in phelpers.m4
Expand All @@ -331,12 +337,6 @@ DUAL_MODE_HELPER(jitNewArray,2)
DUAL_MODE_HELPER(jitNewArrayNoZeroInit,2)
SLOW_PATH_ONLY_HELPER(jitAMultiNewArray,3)

dnl jitStackOverflow is special case in that the frame size argument
dnl is implicit (in the register file) rather than being passed as
dnl an argument in the usual way.

SLOW_PATH_ONLY_HELPER_NO_RETURN_VALUE(jitStackOverflow,0)

SLOW_PATH_ONLY_HELPER_NO_RETURN_VALUE(jitCheckAsyncMessages,0)
DUAL_MODE_HELPER_NO_RETURN_VALUE(jitCheckCast,2)
DUAL_MODE_HELPER_NO_RETURN_VALUE(jitCheckCastForArrayStore,2)
Expand Down
Loading

0 comments on commit 8463b33

Please sign in to comment.