Raymond Toy pushed to branch sparc64-dev at cmucl / cmucl
Commits: c94b80e3 by Raymond Toy at 2017-01-12T19:34:29-08:00 Fix bad stack offsets
Was storing code-tn at the wrong stack slot and also storing the return address offset in the wrong stack slot.
- - - - -
1 changed file:
- src/lisp/sparc64-assem.S
Changes:
===================================== src/lisp/sparc64-assem.S ===================================== --- a/src/lisp/sparc64-assem.S +++ b/src/lisp/sparc64-assem.S @@ -157,7 +157,7 @@ call_into_c: mov reg_CSP, reg_CFP add reg_CSP, 64, reg_CSP stn reg_OCFP, [reg_CFP] - stn reg_CODE, [reg_CFP+8] + stn reg_CODE, [reg_CFP+2*8]
/* Turn on pseudo-atomic. */ or reg_ALLOC, pseudo_atomic_Value, reg_ALLOC @@ -165,7 +165,7 @@ call_into_c: /* Convert the return address to an offset and save it on the stack. */ sub reg_LIP, reg_CODE, reg_L0 add reg_L0, type_OtherPointer, reg_L0 - stn reg_L0, [reg_CFP+2*8] + stn reg_L0, [reg_CFP+8]
/* Store LISP state */ store(reg_BSP,current_binding_stack_pointer)
View it on GitLab: https://gitlab.common-lisp.net/cmucl/cmucl/commit/c94b80e39f6a6f341b692b8ea7...