Simplify (and robustify) regular PACKing
[sbcl.git] / src / runtime / alpha-assem.S
index ac79fa1..1a8928b 100644 (file)
@@ -95,7 +95,7 @@ call_into_lisp:
 
        /* Indirect the closure */
        ldl     reg_CODE, CLOSURE_FUN_OFFSET(reg_LEXENV)
-       addl    reg_CODE,6*4-FUN_POINTER_LOWTAG, reg_LIP
+       addl    reg_CODE, SIMPLE_FUN_CODE_OFFSET, reg_LIP
 
        /* And into lisp we go. */
        jsr     reg_ZERO,(reg_LIP)
@@ -307,6 +307,7 @@ funcallable_instance_tramp = . + 1
        .long NIL
        .long NIL
        .long NIL
+       .long NIL
 
        ldl reg_LEXENV, FUNCALLABLE_INSTANCE_FUNCTION_OFFSET(reg_LEXENV)
        /* I think we don't actually need to use reg_CODE here, because
@@ -319,12 +320,17 @@ funcallable_instance_tramp = . + 1
  * fun-end breakpoint magic.
  */
 
+/*
+ * For an explanation of the magic involved in function-end
+ * breakpoints, see the implementation in ppc-assem.S.
+ */
+
        .text
        .align  2
        .set    noreorder
        .globl  fun_end_breakpoint_guts
 fun_end_breakpoint_guts:
-       .long   RETURN_PC_HEADER_WIDETAG
+       .long   RETURN_PC_HEADER_WIDETAG + 0x800
        br      zero, fun_end_breakpoint_trap
        nop
        mov     reg_CSP, reg_OCFP