Ignore:
Timestamp:
Sep 27, 2011, 6:50:19 PM (8 years ago)
Author:
rme
Message:

In r14968, we overloaded a couple of slots in the x86 xcf
in order to represent the absolute pc value as two fixnums.
Instead of doing that, add two slots to the x86 xcf and
always put the the encoded absolute pc there.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/source/level-1/x86-trap-support.lisp

    r14968 r15000  
    342342                        (type (simple-array (unsigned-byte 8) (*)) containing-object))
    343343        (aref containing-object (the fixnum (+ byte-offset delta))))
    344       ;; xcf.relative-pc is a fixnum containing the high half of the
    345       ;; absolute PC; xcf.ra0 is a fixnum containing the low half
    346       (let* ((high-half byte-offset)
    347              (low-half (%get-object xcf-ptr target::xcf.ra0))
     344      (let* ((high-half (%get-object xcf-ptr target::xcf.pc-high))
     345             (low-half (%get-object xcf-ptr target::xcf.pc-low))
    348346             (pc #+64-bit-target (dpb high-half (byte 32 32) low-half)
    349347                 #+32-bit-target (dpb high-half (byte 16 16) low-half)))
Note: See TracChangeset for help on using the changeset viewer.