Changeset 12068


Ignore:
Timestamp:
May 15, 2009, 2:31:03 PM (10 years ago)
Author:
gz
Message:

Merge r12067

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/source/lib/x86-backtrace.lisp

    r11422 r12068  
    3030  (multiple-value-bind (mask stack-location rpc)
    3131      (%function-register-usage function)
    32     (if (null mask)
     32    (if (or (null mask)
     33            (and at-pc rpc (<= at-pc rpc)))
    3334      (values nil nil)
    34       (values (canonicalize-register-mask mask) (if (and at-pc rpc (> at-pc rpc)) stack-location)))))
     35      (values (canonicalize-register-mask mask) (if (and at-pc rpc) stack-location)))))
    3536
    3637(defun canonicalize-register-mask (mask)
     
    176177                    (registers-used-by lfun pc)
    177178                  (when (if mask (logbitp index mask))
    178                     (incf where (logcount (logandc2 mask (1- (ash 1 (1+ index))))))
    179 
    180 
    181179                    (return-from %find-register-argument-value
    182                       (raw-frame-ref frame context where bad)))))))
     180                      (if where
     181                        (let ((offset (logcount (logandc2 mask (1- (ash 1 (1+ index)))))))
     182                          (raw-frame-ref frame context (+ where offset) bad))
     183                        bad)))))))
    183184          (setq first nil))))
    184185    (get-register-value nil last-catch index)))
Note: See TracChangeset for help on using the changeset viewer.