X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=src%2Fcompiler%2Fgeneric%2Ftarget-core.lisp;h=5023124c9b2a9b4b4d8f01fe6656992fb3da7e06;hb=2a71a27c55ad98e36f2886017d45ca2ae986296d;hp=4168eba6cd4ea647b88a595e861914dd0c7dc70f;hpb=361040122aed4fd4e24bd014818955e5e3028a8f;p=sbcl.git diff --git a/src/compiler/generic/target-core.lisp b/src/compiler/generic/target-core.lisp index 4168eba..5023124 100644 --- a/src/compiler/generic/target-core.lisp +++ b/src/compiler/generic/target-core.lisp @@ -75,11 +75,17 @@ (setf (code-header-ref code-obj sb!vm:code-trace-table-offset-slot) length) - (copy-to-system-area trace-table - (* sb!vm:vector-data-offset sb!vm:n-word-bits) - fill-ptr - 0 - trace-table-bits) + ;; KLUDGE: the "old" COPY-TO-SYSTEM-AREA automagically worked if + ;; somebody changed the number of bytes in a trace table entry. + ;; This version is a bit more fragile; if only there were some way + ;; to insulate ourselves against changes like that... + ;; + ;; Then again, PACK-TRACE-TABLE in src/compiler/trace-table.lisp + ;; doesn't appear to do anything interesting, returning a 0-length + ;; array. So it seemingly doesn't matter what we do here. Is this + ;; stale code? + ;; --njf, 2005-03-23 + (copy-ub16-to-system-area trace-table 0 fill-ptr 0 trace-table-len) (do ((index sb!vm:code-constants-offset (1+ index))) ((>= index (length constants)))