X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=src%2Fcompiler%2Fgeneric%2Ftarget-core.lisp;h=92197e2795571d935388f86d50819cd968bfe774;hb=19319c931fc1636835dbef71808cc10e252bcf45;hp=d70ede9de36215864f35700037d7e8d1cc128ae4;hpb=aab81dccfb1a311eac523a855004a3669340aca6;p=sbcl.git diff --git a/src/compiler/generic/target-core.lisp b/src/compiler/generic/target-core.lisp index d70ede9..92197e2 100644 --- a/src/compiler/generic/target-core.lisp +++ b/src/compiler/generic/target-core.lisp @@ -22,7 +22,7 @@ #!+gencgc (without-gcing (%make-lisp-obj - (alien-funcall (extern-alien "alloc_code_object" (function unsigned-long unsigned unsigned)) + (alien-funcall (extern-alien "alloc_code_object" (function unsigned unsigned unsigned)) boxed unboxed))) #!-gencgc (%primitive allocate-code-object boxed unboxed)) @@ -41,7 +41,7 @@ (setf (%simple-fun-name res) (entry-info-name entry-info)) (setf (%simple-fun-arglist res) (entry-info-arguments entry-info)) (setf (%simple-fun-type res) (entry-info-type entry-info)) - (setf (%simple-fun-xrefs res) (entry-info-xref entry-info)) + (setf (%simple-fun-info res) (entry-info-info entry-info)) (note-fun entry-info res object)))) @@ -66,12 +66,10 @@ (fill-ptr (code-instructions code-obj))) (declare (type index box-num total-length)) - (sb!assem:on-segment-contents-vectorly - segment - (lambda (v) - (declare (type (simple-array sb!assem:assembly-unit 1) v)) - (copy-byte-vector-to-system-area v fill-ptr) - (setf fill-ptr (sap+ fill-ptr (length v))))) + (let ((v (sb!assem:segment-contents-as-vector segment))) + (declare (type (simple-array sb!assem:assembly-unit 1) v)) + (copy-byte-vector-to-system-area v fill-ptr) + (setf fill-ptr (sap+ fill-ptr (length v)))) (do-core-fixups code-obj fixup-notes) @@ -112,5 +110,8 @@ (reference-core-fun code-obj index (cdr const) object)) (:fdefinition (setf (code-header-ref code-obj index) - (fdefinition-object (cdr const) t)))))))))) + (fdefinition-object (cdr const) t))) + (:known-fun + (setf (code-header-ref code-obj index) + (%coerce-name-to-fun (cdr const))))))))))) (values))