#include "genesis/fdefn.h"
#include "genesis/closure.h"
#include "genesis/funcallable-instance.h"
-#include "genesis/return-pc.h"
#include "genesis/simple-fun.h"
#include "genesis/static-symbols.h"
lw reg_A5, 20(reg_CFP)
/* Calculate LRA */
- la reg_LRA, lra - RETURN_PC_RETURN_POINT_OFFSET
+ la reg_LRA, lra + OTHER_POINTER_LOWTAG
/* Indirect closure */
lw reg_CODE, CLOSURE_FUN_OFFSET(reg_LEXENV)
* copied and has to be relocatable. It also needs a properly aligned
* header tag after the fun_end_breakpoint_guts symbol.
*/
+
+/*
+ * For an explanation of the magic involved in function-end
+ * breakpoints, see the implementation in ppc-assem.S.
+ */
+
.align 3 /* minimum alignment for a lisp object */
LEAF(fun_end_breakpoint_guts)
.set noreorder
- .word RETURN_PC_HEADER_WIDETAG
+ .word RETURN_PC_HEADER_WIDETAG + 0x800
b multiple_value_return
nop
.set reorder