// hijacking stub used to perform a func-eval, see Debugger::FuncEvalSetup() for use.
//
// on entry:
-// x0 : pointer to DebuggerEval object
+// a0 : pointer to DebuggerEval object
//
// @dbgtodo- once we port Funceval, use the ExceptionHijack stub instead of this func-eval stub.
// you change the prolog you will also need to update the personality routine.
// push arg to the stack so our personality routine can find it
- // push lr to get good stacktrace in debugger
+ // push ra to get good stacktrace in debugger
// $fp,$ra
- PROLOG_SAVE_REG_PAIR_INDEXED 22, 1, -32
+ PROLOG_SAVE_REG_PAIR_INDEXED 22, 1, 32
st.d $a0, $sp, 16
// FuncEvalHijackWorker returns the address we should jump to.
// you change the prolog you will also need to update the personality routine.
// push arg to the stack so our personality routine can find it
- // push lr to get good stacktrace in debugger
- PROLOG_SAVE_REG_PAIR_INDEXED fp, ra, -32
+ // push ra to get good stacktrace in debugger
+ PROLOG_SAVE_REG_PAIR_INDEXED fp, ra, 32
sd a0, 16(sp)
// FuncEvalHijackWorker returns the address we should jump to.
NESTED_ENTRY ActivationHandlerWrapper, _TEXT, NoHandler
// $fp,$ra
- PROLOG_SAVE_REG_PAIR_INDEXED 22, 1, -(16 + CONTEXT_Size)
+ PROLOG_SAVE_REG_PAIR_INDEXED 22, 1, (16 + CONTEXT_Size)
// Should never actually run
EMIT_BREAKPOINT
bl EXTERNAL_C_FUNC(ActivationHandler)
NESTED_ENTRY PAL_DispatchExceptionWrapper, _TEXT, NoHandler
// $fp,$ra
- PROLOG_SAVE_REG_PAIR_INDEXED 22, 1, -16
+ PROLOG_SAVE_REG_PAIR_INDEXED 22, 1, 16
// Should never actually run
EMIT_BREAKPOINT
bl EXTERNAL_C_FUNC(PAL_DispatchException)