X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=src%2Fruntime%2Falpha-assem.S;h=1a8928b1a722797c1281cb539897f1445964897a;hb=4ba392170e98744f0ef0b8e08a5d42b988f1d0c9;hp=ac79fa1dc60a1ba059e80fed18fb83e3355c12ea;hpb=b9e94e326f79ab01e56cb437e424ce5ea489471f;p=sbcl.git diff --git a/src/runtime/alpha-assem.S b/src/runtime/alpha-assem.S index ac79fa1..1a8928b 100644 --- a/src/runtime/alpha-assem.S +++ b/src/runtime/alpha-assem.S @@ -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