Changeset 14105 for branches


Ignore:
Timestamp:
Aug 1, 2010, 4:06:54 PM (9 years ago)
Author:
gb
Message:

Deal with exception frames better, especially for C.

Location:
branches/arm/level-1
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • branches/arm/level-1/arm-threads-utils.lisp

    r14017 r14105  
    4242         (and (consp type)
    4343              (eq (car type) 'arm::fake-stack-frame)))))
     44
     45(defun current-fake-stack-frame ()
     46  (do* ((p (%get-frame-ptr) (%%frame-backlink p)))
     47       ((zerop p))
     48    (when (fake-stack-frame-p p) (return p))))
     49
    4450
    4551
  • branches/arm/level-1/arm-trap-support.lisp

    r13968 r14105  
    6363
    6464(defconstant lr-offset-in-register-context
    65   #+linuxarm-target (get-field-offset :sigcontext.arm_pc))
     65  #+linuxarm-target (get-field-offset :sigcontext.arm_lr))
    6666
    6767(defconstant pc-offset-in-register-context
  • branches/arm/level-1/l1-lisp-threads.lisp

    r14017 r14105  
    563563                     (if xcf
    564564                       (%%frame-backlink xcf)))
     565                   (%current-frame-ptr))
     566  #+arm-target (or (current-fake-stack-frame)
    565567                   (%current-frame-ptr)))
    566568
  • branches/arm/level-1/l1-readloop-lds.lisp

    r13916 r14105  
    681681                                      (%current-frame-ptr)
    682682                                      #+ppc-target *fake-stack-frames*
    683                                       #+(or x86-target arm-target) (%current-frame-ptr)
     683                                      #+x86-target (%current-frame-ptr)
     684                                      #+arm-target (or (current-fake-stack-frame) (%current-frame-ptr))
    684685                                      (db-link)
    685686                                      (1+ *break-level*)))
Note: See TracChangeset for help on using the changeset viewer.