Make mips undefined_tramp capable of handling continuable errors.
authorThiemo Seufer <ths@networkno.de>
Wed, 7 Sep 2005 22:56:48 +0000 (22:56 +0000)
committerThiemo Seufer <ths@networkno.de>
Wed, 7 Sep 2005 22:56:48 +0000 (22:56 +0000)
src/runtime/mips-assem.S
version.lisp-expr

index 1c8a923..53863ce 100644 (file)
@@ -359,23 +359,22 @@ lra:      .word   RETURN_PC_HEADER_WIDETAG
        .word   NIL /* type */
        LEAF(undefined_tramp)
        .set    noreorder
-       /* Continuable errors break here for some reason.
        b       1f
-        break  trap_Cerror */
-       break   trap_Error
+        break  trap_Cerror
        /* Error data length. */
        .byte   4
        /* Error number. */
        .byte   UNDEFINED_FUN_ERROR
        /* Magic value 254 means a 16bit little endian value follows.
-          See interr.c:describe_internal_error. */
+          See debug-var-io.lisp. */
        .byte   254
        /* reg_FDEFN is #14. */
        .byte   ((14 << 5) + sc_DescriptorReg) % 0x100
        .byte   ((14 << 5) + sc_DescriptorReg) / 0x100
        .align  2
        .set    reorder
-1:     lw      reg_LIP, FDEFN_RAW_ADDR_OFFSET(reg_FDEFN)
+1:     lw      reg_CODE, FDEFN_FUN_OFFSET(reg_FDEFN)
+       lw      reg_LIP, SIMPLE_FUN_CODE_OFFSET(reg_CODE)
        jr      reg_LIP
        END(undefined_tramp)
 
index 3ba2365..d2ca197 100644 (file)
@@ -17,4 +17,4 @@
 ;;; checkins which aren't released. (And occasionally for internal
 ;;; versions, especially for internal versions off the main CVS
 ;;; branch, it gets hairier, e.g. "0.pre7.14.flaky4.13".)
-"0.9.4.37"
+"0.9.4.38"