Skip to content
Snippets Groups Projects
Commit 58db2bd2 authored by toy's avatar toy
Browse files

Enable dynamic-extent stack allocation for MAKE-CLOSURE, just like on

x86.
parent 9c7dd4b4
No related branches found
No related tags found
No related merge requests found
......@@ -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/sparc/alloc.lisp,v 1.14 2003/08/03 11:27:46 gerd Exp $")
"$Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/compiler/sparc/alloc.lisp,v 1.15 2003/08/06 21:12:07 toy Exp $")
;;;
;;; **********************************************************************
;;;
......@@ -117,13 +117,17 @@
(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)))
(:node-var node)
(:generator 10
(let ((size (+ length closure-info-offset)))
(pseudo-atomic ()
(allocation result (pad-data-block size) function-pointer-type)
(allocation result (pad-data-block size) function-pointer-type
:stack-p dynamic-extent
:node node
:temp-tn temp)
(inst li temp (logior (ash (1- size) type-bits) closure-header-type))
(storew temp result 0 function-pointer-type)))
(storew function result closure-function-slot function-pointer-type)))
......
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