From e5c305b5e55a3e31cd635e424261ad37b28a8ec2 Mon Sep 17 00:00:00 2001 From: wlott <wlott> Date: Wed, 22 Jul 1992 23:35:36 +0000 Subject: [PATCH] Changed byte-compiler stuff to use new-assembler. --- compiler/generic/core.lisp | 24 ++++++++++++++++-------- 1 file changed, 16 insertions(+), 8 deletions(-) diff --git a/compiler/generic/core.lisp b/compiler/generic/core.lisp index 491fe5924..ccea68173 100644 --- a/compiler/generic/core.lisp +++ b/compiler/generic/core.lisp @@ -7,7 +7,7 @@ ;;; Scott Fahlman or slisp-group@cs.cmu.edu. ;;; (ext:file-comment - "$Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/compiler/generic/core.lisp,v 1.15 1992/07/11 02:11:49 wlott Exp $") + "$Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/compiler/generic/core.lisp,v 1.16 1992/07/22 23:35:36 wlott Exp $") ;;; ;;; ********************************************************************** ;;; @@ -197,21 +197,29 @@ ;;; MAKE-CORE-BYTE-COMPONENT -- Interface. ;;; -(defun make-core-byte-component (byte-output constants xeps object) - (declare (type byte-output byte-output) +(defun make-core-byte-component (segment constants xeps object) + (declare (type new-assem:segment segment) (type vector constants) (type list xeps) (type core-object object)) (without-gcing (let* ((num-constants (length constants)) - (length (byte-output-length byte-output)) + (length (byte-output-length segment)) (code-obj (%primitive allocate-code-object (the index (1+ num-constants)) - length))) - (declare (type index length)) + length)) + (fill-ptr (code-instructions code-obj))) + (declare (type index length) + (type system-area-pointer fill-ptr)) - (output-byte-output byte-output - (make-code-instruction-stream code-obj)) + (new-assem:segment-map-output + segment + #'(lambda (sap amount) + (declare (type system-area-pointer sap) + (type index amount)) + (system-area-copy sap 0 fill-ptr 0 + (* amount vm:byte-bits)) + (setf fill-ptr (sap+ fill-ptr amount)))) (dolist (noise xeps) (let ((xep (cdr noise))) -- GitLab