From 4d5c01baa76389d89965eb76b641cfe4defba0eb Mon Sep 17 00:00:00 2001 From: dtc <dtc> Date: Wed, 14 Jun 2000 06:23:35 +0000 Subject: [PATCH] Fix the byte compiler to not directly reference named constants, as EQLness must be preserved, and the IR1 stage does not emit a make-load-form for named constants so dumping them may fail. --- compiler/byte-comp.lisp | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/compiler/byte-comp.lisp b/compiler/byte-comp.lisp index 22d919c5f..68eaa5d9e 100644 --- a/compiler/byte-comp.lisp +++ b/compiler/byte-comp.lisp @@ -5,7 +5,7 @@ ;;; Carnegie Mellon University, and has been placed in the public domain. ;;; (ext:file-comment - "$Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/compiler/byte-comp.lisp,v 1.27 1999/02/25 13:03:00 pw Exp $") + "$Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/compiler/byte-comp.lisp,v 1.28 2000/06/14 06:23:35 dtc Exp $") ;;; ;;; ********************************************************************** ;;; @@ -1310,7 +1310,11 @@ (t (etypecase leaf (constant - (output-push-constant-leaf segment leaf)) + (cond ((legal-immediate-constant-p leaf) + (output-push-constant-leaf segment leaf)) + (t + (output-push-constant segment (leaf-name leaf)) + (output-do-inline-function segment 'symbol-value)))) (clambda (let* ((refered-env (lambda-environment leaf)) (closure (environment-closure refered-env))) -- GitLab