From 812b6d2733328aeb8ed4063a67719ea2f6590a29 Mon Sep 17 00:00:00 2001 From: Alastair Bridgewater Date: Thu, 12 Nov 2009 00:10:21 +0000 Subject: [PATCH] 1.0.32.26: Fix fasdumping of function arglists with instances as default values Fasdumping of a function arglist was breaking if there was a structure or other instance as a default value because the arglist wasn't processed for dumping as a literal constant. * Process the arglist for dumping as a literal constant when creating entry-info for external entry points. This is https://bugs.launchpad.net/sbcl/+bug/310132 . --- src/compiler/entry.lisp | 7 ++++++- version.lisp-expr | 2 +- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/src/compiler/entry.lisp b/src/compiler/entry.lisp index ae95297..83d5a00 100644 --- a/src/compiler/entry.lisp +++ b/src/compiler/entry.lisp @@ -51,7 +51,12 @@ (when (policy bind (>= debug 1)) (let ((args (functional-arg-documentation internal-fun))) (aver (not (eq args :unspecified))) - (setf (entry-info-arguments info) args)) + (setf (entry-info-arguments info) args) + ;; When the component is dumped, the arglists of the entry + ;; points will be dumped. If they contain values that need + ;; make-load-form processing then we need to do it now (bug + ;; 310132). + (maybe-emit-make-load-forms args)) (setf (entry-info-type info) (type-specifier (leaf-type internal-fun))))) (values)) diff --git a/version.lisp-expr b/version.lisp-expr index a60c1c1..4ab56a6 100644 --- a/version.lisp-expr +++ b/version.lisp-expr @@ -17,4 +17,4 @@ ;;; checkins which aren't released. (And occasionally for internal ;;; versions, especially for internal versions off the main CVS ;;; branch, it gets hairier, e.g. "0.pre7.14.flaky4.13".) -"1.0.32.25" +"1.0.32.26" -- 1.7.10.4