Changeset 10338


Ignore:
Timestamp:
Aug 5, 2008, 1:39:56 AM (11 years ago)
Author:
rme
Message:

Use %CHECK-ANCHORED-UUO in %XERR-DISP for x8632.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/source/level-1/x86-error-signal.lisp

    r10138 r10338  
    268268                   (>= op1 #x70))
    269269            (cond ((< op1 #x90)
    270                    (setq skip 3)
     270                   (setq skip (%check-anchored-uuo xcf 3))
    271271                   (setq *error-reentry-count* 0)
    272272                   (setf (encoded-gpr-lisp xp (ldb (byte 4 0) op1))
     
    276276                          frame-ptr)))
    277277                  ((< op1 #xa0)
     278                   (setq skip (%check-anchored-uuo xcf 2))
    278279                   ;; #x9x - register X is a symbol.  It's unbound.
    279280                   (%kernel-restart-internal $xvunbnd
     
    284285                                             frame-ptr))
    285286                  ((< op1 #xb0)
     287                   (setq skip (%check-anchored-uuo xcf 2))
    286288                   (%err-disp-internal $xfunbnd
    287289                                       (list (encoded-gpr-lisp
     
    290292                                       frame-ptr))
    291293                  ((< op1 #xc0)
    292                    (setq skip 3)
     294                   (setq skip (%check-anchored-uuo xcf 3))
    293295                   (%err-disp-internal
    294296                    #.(car (rassoc 'type-error *kernel-simple-error-classes*))
     
    299301                    frame-ptr))
    300302                  ((= op1 #xc0)
     303                   (setq skip (%check-anchored-uuo xcf 2))
    301304                   (%error 'too-few-arguments
    302305                           (list :nargs (xp-argument-count xp)
     
    304307                           frame-ptr))
    305308                  ((= op1 #xc1)
     309                   (setq skip (%check-anchored-uuo xcf 2))
    306310                   (%error 'too-many-arguments
    307311                           (list :nargs (xp-argument-count xp)
     
    309313                           frame-ptr))
    310314                  ((= op1 #xc2)
     315                   (setq skip (%check-anchored-uuo xcf 2))
    311316                   (let* ((flags (xp-flags-register xp))
    312317                          (nargs (xp-argument-count xp))
     
    322327                               frame-ptr))))
    323328                  ((= op1 #xc3)         ;array rank
     329                   (setq skip (%check-anchored-uuo xcf 3))
    324330                   (%err-disp-internal $XNDIMS
    325331                                       (list (encoded-gpr-lisp xp (ldb (byte 4 4) op2))
     
    327333                                       frame-ptr))
    328334                  ((= op1 #xc6)
     335                   (setq skip (%check-anchored-uuo xcf 2))
    329336                   (%error (make-condition 'type-error
    330337                                           :datum (encoded-gpr-lisp xp x8632::temp0)
     
    337344                   (setq skip 0))
    338345                  ((or (= op1 #xc8) (= op1 #xcb))
    339                    (setq skip 3)
     346                   (setq skip (%check-anchored-uuo xcf 3))
    340347                   (%error (%rsc-string $xarroob)
    341348                           (list (encoded-gpr-lisp xp (ldb (byte 4 4) op2))
     
    343350                           frame-ptr))
    344351                  ((= op1 #xc9)
     352                   (setq skip (%check-anchored-uuo xcf 2))
    345353                   (%err-disp-internal $xnotfun
    346354                                       (list (encoded-gpr-lisp xp x8632::temp0))
     
    349357                  ((= op1 #xcc)
    350358                   ;; external entry point or foreign variable
    351                    (setq skip 3)
     359                   (setq skip (%check-anchored-uuo xcf 3))
    352360                   (let* ((eep-or-fv (encoded-gpr-lisp xp (ldb (byte 4 4) op2))))
    353361                     (etypecase eep-or-fv
     
    361369                              (fv.addr eep-or-fv))))))
    362370                  ((< op1 #xe0)
    363                    (setq skip 3)
     371                   (setq skip (%check-anchored-uuo xcf 3))
    364372                   (if (= op2 x8632::subtag-catch-frame)
    365373                     (%error (make-condition 'cant-throw-error
     
    388396                               frame-ptr))))
    389397                  ((< op1 #xf0)
     398                   (setq skip (%check-anchored-uuo xcf 2))
    390399                   (%error (make-condition 'type-error
    391400                                           :datum (encoded-gpr-lisp
     
    396405                           frame-ptr))
    397406                  (t
     407                   (setq skip (%check-anchored-uuo xcf 2))
    398408                   (%error (make-condition 'type-error
    399409                                           :datum (encoded-gpr-lisp
Note: See TracChangeset for help on using the changeset viewer.