Skip to content
Snippets Groups Projects
Commit 9c7dd4b4 authored by toy's avatar toy
Browse files

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.)
parent 5ac014db
No related branches found
No related tags found
No related merge requests found
...@@ -5,7 +5,7 @@ ...@@ -5,7 +5,7 @@
;;; Carnegie Mellon University, and has been placed in the public domain. ;;; Carnegie Mellon University, and has been placed in the public domain.
;;; ;;;
(ext:file-comment (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 @@ ...@@ -121,9 +121,10 @@
(define-vop (make-closure) (define-vop (make-closure)
(:args (function :to :save :scs (descriptor-reg))) (:args (function :to :save :scs (descriptor-reg)))
(:info length) (:info length dynamic-extent)
(:temporary (:scs (non-descriptor-reg)) temp) (:temporary (:scs (non-descriptor-reg)) temp)
(:results (result :scs (descriptor-reg))) (:results (result :scs (descriptor-reg)))
(:ignore dynamic-extent)
(:generator 10 (:generator 10
(let ((size (+ length closure-info-offset))) (let ((size (+ length closure-info-offset)))
(inst li (logior (ash (1- size) type-bits) closure-header-type) temp) (inst li (logior (ash (1- size) type-bits) closure-header-type) temp)
......
...@@ -5,7 +5,7 @@ ...@@ -5,7 +5,7 @@
;;; Carnegie Mellon University, and has been placed in the public domain. ;;; Carnegie Mellon University, and has been placed in the public domain.
;;; ;;;
(ext:file-comment (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 @@ ...@@ -120,9 +120,10 @@
(define-vop (make-closure) (define-vop (make-closure)
(:args (function :to :save :scs (descriptor-reg))) (:args (function :to :save :scs (descriptor-reg)))
(:info length) (:info length dynamic-extent)
(:temporary (:scs (non-descriptor-reg)) temp) (:temporary (:scs (non-descriptor-reg)) temp)
(:results (result :scs (descriptor-reg))) (:results (result :scs (descriptor-reg)))
(:ignore dynamic-extent)
(:generator 10 (:generator 10
(let ((size (+ length closure-info-offset))) (let ((size (+ length closure-info-offset)))
(pseudo-atomic (:extra (pad-data-block size)) (pseudo-atomic (:extra (pad-data-block size))
......
...@@ -5,7 +5,7 @@ ...@@ -5,7 +5,7 @@
;;; Carnegie Mellon University, and has been placed in the public domain. ;;; Carnegie Mellon University, and has been placed in the public domain.
;;; ;;;
(ext:file-comment (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") ...@@ -224,9 +224,8 @@ compilation policy")
(or (leaf-dynamic-extent entry-fn) (or (leaf-dynamic-extent entry-fn)
(memq entry-fn (memq entry-fn
(lexenv-dynamic-extent (node-lexenv node)))))) (lexenv-dynamic-extent (node-lexenv node))))))
#-x86 (declare (ignorable dynamic-extent))
(vop make-closure node block entry (length closure) (vop make-closure node block entry (length closure)
#+x86 dynamic-extent dynamic-extent
res) res)
(loop for what in closure and n from 0 do (loop for what in closure and n from 0 do
(unless (and (lambda-var-p what) (unless (and (lambda-var-p what)
......
...@@ -5,7 +5,7 @@ ...@@ -5,7 +5,7 @@
;;; Carnegie Mellon University, and has been placed in the public domain. ;;; Carnegie Mellon University, and has been placed in the public domain.
;;; ;;;
(ext:file-comment (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 @@ ...@@ -171,12 +171,14 @@
(define-vop (make-closure) (define-vop (make-closure)
(:args (function :to :save :scs (descriptor-reg))) (:args (function :to :save :scs (descriptor-reg)))
(:info length) (:info length dynamic-extent)
(:temporary (:scs (non-descriptor-reg)) temp) (:temporary (:scs (non-descriptor-reg)) temp)
(:temporary (:sc non-descriptor-reg :offset nl4-offset) pa-flag) (:temporary (:sc non-descriptor-reg :offset nl4-offset) pa-flag)
(:results (result :scs (descriptor-reg))) (:results (result :scs (descriptor-reg)))
#+gengc #+gengc
(:ignore function length temp pa-flag result) (:ignore function length temp pa-flag result)
#-gengc
(:ignore dynamic-extent)
(:generator 10 (:generator 10
#-gengc #-gengc
(let ((size (+ length closure-info-offset))) (let ((size (+ length closure-info-offset)))
......
...@@ -7,7 +7,7 @@ ...@@ -7,7 +7,7 @@
;;; Scott Fahlman or slisp-group@cs.cmu.edu. ;;; Scott Fahlman or slisp-group@cs.cmu.edu.
;;; ;;;
(ext:file-comment (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 @@ ...@@ -123,10 +123,11 @@
(define-vop (make-closure) (define-vop (make-closure)
(:args (function :to :save :scs (descriptor-reg))) (:args (function :to :save :scs (descriptor-reg)))
(:info length) (:info length dynamic-extent)
(:temporary (:scs (non-descriptor-reg)) temp) (:temporary (:scs (non-descriptor-reg)) temp)
(:temporary (:sc non-descriptor-reg :offset nl3-offset) pa-flag) (:temporary (:sc non-descriptor-reg :offset nl3-offset) pa-flag)
(:results (result :scs (descriptor-reg))) (:results (result :scs (descriptor-reg)))
(:ignore dynamic-extent)
(:generator 10 (:generator 10
(let ((size (+ length closure-info-offset))) (let ((size (+ length closure-info-offset)))
(pseudo-atomic (pa-flag :extra (pad-data-block size)) (pseudo-atomic (pa-flag :extra (pad-data-block size))
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment