From 9c7dd4b42afb9b7a9f7bd2cdd5c723aa836b3384 Mon Sep 17 00:00:00 2001 From: toy <toy> Date: Wed, 6 Aug 2003 21:10:35 +0000 Subject: [PATCH] ir2tran.lisp: Make make-closure use dynamic-extent for everyone {alpha,hppa,mips,ppc}/alloc.lisp: Add dynamic-extent arg to the make-closure VOP. (Not tested.) --- compiler/alpha/alloc.lisp | 5 +++-- compiler/hppa/alloc.lisp | 5 +++-- compiler/ir2tran.lisp | 5 ++--- compiler/mips/alloc.lisp | 6 ++++-- compiler/ppc/alloc.lisp | 5 +++-- 5 files changed, 15 insertions(+), 11 deletions(-) diff --git a/compiler/alpha/alloc.lisp b/compiler/alpha/alloc.lisp index a000fd4b0..4b015afef 100644 --- a/compiler/alpha/alloc.lisp +++ b/compiler/alpha/alloc.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/alpha/alloc.lisp,v 1.3 2003/08/03 11:27:49 gerd Exp $") + "$Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/compiler/alpha/alloc.lisp,v 1.4 2003/08/06 21:10:35 toy Exp $") ;;; ;;; ********************************************************************** ;;; @@ -121,9 +121,10 @@ (define-vop (make-closure) (:args (function :to :save :scs (descriptor-reg))) - (:info length) + (:info length dynamic-extent) (:temporary (:scs (non-descriptor-reg)) temp) (:results (result :scs (descriptor-reg))) + (:ignore dynamic-extent) (:generator 10 (let ((size (+ length closure-info-offset))) (inst li (logior (ash (1- size) type-bits) closure-header-type) temp) diff --git a/compiler/hppa/alloc.lisp b/compiler/hppa/alloc.lisp index b45ae2f31..c9807e3b3 100644 --- a/compiler/hppa/alloc.lisp +++ b/compiler/hppa/alloc.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/hppa/alloc.lisp,v 1.4 2003/08/03 11:27:49 gerd Exp $") + "$Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/compiler/hppa/alloc.lisp,v 1.5 2003/08/06 21:10:35 toy Exp $") ;;; ;;; ********************************************************************** ;;; @@ -120,9 +120,10 @@ (define-vop (make-closure) (:args (function :to :save :scs (descriptor-reg))) - (:info length) + (:info length dynamic-extent) (:temporary (:scs (non-descriptor-reg)) temp) (:results (result :scs (descriptor-reg))) + (:ignore dynamic-extent) (:generator 10 (let ((size (+ length closure-info-offset))) (pseudo-atomic (:extra (pad-data-block size)) diff --git a/compiler/ir2tran.lisp b/compiler/ir2tran.lisp index 1bcfa7ee5..d5e0a88b6 100644 --- a/compiler/ir2tran.lisp +++ b/compiler/ir2tran.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/ir2tran.lisp,v 1.72 2003/08/06 19:01:17 gerd Exp $") + "$Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/compiler/ir2tran.lisp,v 1.73 2003/08/06 21:10:35 toy Exp $") ;;; ;;; ********************************************************************** ;;; @@ -224,9 +224,8 @@ compilation policy") (or (leaf-dynamic-extent entry-fn) (memq entry-fn (lexenv-dynamic-extent (node-lexenv node)))))) - #-x86 (declare (ignorable dynamic-extent)) (vop make-closure node block entry (length closure) - #+x86 dynamic-extent + dynamic-extent res) (loop for what in closure and n from 0 do (unless (and (lambda-var-p what) diff --git a/compiler/mips/alloc.lisp b/compiler/mips/alloc.lisp index 48bcbea66..34ebc9d13 100644 --- a/compiler/mips/alloc.lisp +++ b/compiler/mips/alloc.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/mips/alloc.lisp,v 1.29 2003/08/03 11:27:48 gerd Exp $") + "$Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/compiler/mips/alloc.lisp,v 1.30 2003/08/06 21:10:35 toy Exp $") ;;; ;;; ********************************************************************** ;;; @@ -171,12 +171,14 @@ (define-vop (make-closure) (:args (function :to :save :scs (descriptor-reg))) - (:info length) + (:info length dynamic-extent) (:temporary (:scs (non-descriptor-reg)) temp) (:temporary (:sc non-descriptor-reg :offset nl4-offset) pa-flag) (:results (result :scs (descriptor-reg))) #+gengc (:ignore function length temp pa-flag result) + #-gengc + (:ignore dynamic-extent) (:generator 10 #-gengc (let ((size (+ length closure-info-offset))) diff --git a/compiler/ppc/alloc.lisp b/compiler/ppc/alloc.lisp index 5293de773..855ba5525 100644 --- a/compiler/ppc/alloc.lisp +++ b/compiler/ppc/alloc.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/ppc/alloc.lisp,v 1.2 2003/08/03 11:27:47 gerd Exp $") + "$Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/compiler/ppc/alloc.lisp,v 1.3 2003/08/06 21:10:35 toy Exp $") ;;; ;;; ********************************************************************** ;;; @@ -123,10 +123,11 @@ (define-vop (make-closure) (:args (function :to :save :scs (descriptor-reg))) - (:info length) + (:info length dynamic-extent) (:temporary (:scs (non-descriptor-reg)) temp) (:temporary (:sc non-descriptor-reg :offset nl3-offset) pa-flag) (:results (result :scs (descriptor-reg))) + (:ignore dynamic-extent) (:generator 10 (let ((size (+ length closure-info-offset))) (pseudo-atomic (pa-flag :extra (pad-data-block size)) -- GitLab