From f5936705abf4617dda9e0c541a2c53e84cbb65a2 Mon Sep 17 00:00:00 2001 From: wlott <wlott> Date: Fri, 9 Feb 1990 18:37:21 +0000 Subject: [PATCH] Changed component dumping to the new object format. --- compiler/dump.lisp | 29 ++++++++++++++--------------- 1 file changed, 14 insertions(+), 15 deletions(-) diff --git a/compiler/dump.lisp b/compiler/dump.lisp index ccced97ce..f55fbd2c8 100644 --- a/compiler/dump.lisp +++ b/compiler/dump.lisp @@ -7,18 +7,17 @@ ;;; Scott Fahlman (FAHLMAN@CMUC). ;;; ********************************************************************** ;;; +;;; $Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/compiler/dump.lisp,v 1.2 1990/02/09 18:37:21 wlott Exp $ ;;; -;;; This file contains stuff that knows about dumping code both to files to -;;; the running Lisp. +;;; This file contains stuff that knows about dumping FASL files. ;;; -(in-package 'c) +(in-package "C") (proclaim '(special compiler-version)) (import '(system:%primitive system:%array-data-slot system:%array-displacement-slot - system:%g-vector-structure-subtype - system:%function-constants-constants-offset)) + system:%g-vector-structure-subtype)) @@ -342,17 +341,9 @@ (constants (ir2-component-constants 2comp)) (num-consts (length constants))) (collect ((patches)) - (dump-object (component-name component) file) - (dump-fop 'lisp::fop-misc-trap file) - (let ((info (debug-info-for-component component node-vector - nodes-length))) - (dump-object info file) - (let ((info-handle (dump-pop file))) - (dump-push info-handle file) - (push info-handle (fasl-file-debug-info file)))) - - (do ((i %function-constants-constants-offset (1+ i))) + ;; Dump the constants, noting any :entries that have to be fixed up. + (do ((i %code-constants-offset (1+ i))) ((= i num-consts)) (let ((entry (aref constants i))) (etypecase entry @@ -376,6 +367,14 @@ (null (dump-fop 'lisp::fop-misc-trap file))))) + ;; Dump the debug info. + (let ((info (debug-info-for-component component node-vector + nodes-length))) + (dump-object info file) + (let ((info-handle (dump-pop file))) + (dump-push info-handle file) + (push info-handle (fasl-file-debug-info file)))) + (cond ((and (< num-consts #x100) (< code-length #x10000)) (dump-fop 'lisp::fop-small-code file) (dump-byte num-consts file) -- GitLab