sb!vm:instance-header-widetag sb!vm:instance-pointer-lowtag
nil)
+#!+stack-allocatable-fixed-objects
(defoptimizer (%make-structure-instance stack-allocate-result) ((&rest args) node dx)
t)
node block (list value-tn) (node-lvar node))))))))
;;; Stack allocation optimizers per platform support
-;;;
-;;; Platforms with stack-allocatable vectors
-#!+(or hppa mips x86 x86-64)
+#!+stack-allocatable-vectors
(progn
(defoptimizer (allocate-vector stack-allocate-result)
((type length words) node dx)
(annotate-1-value-lvar arg)))))
;;; ...lists
-#!+(or alpha hppa mips ppc sparc x86 x86-64)
+#!+stack-allocatable-lists
(progn
(defoptimizer (list stack-allocate-result) ((&rest args) node dx)
(declare (ignore node dx))
t))
;;; ...conses
-#!+(or hppa mips x86 x86-64)
-(defoptimizer (cons stack-allocate-result) ((&rest args) node dx)
- (declare (ignore node dx))
- t)
+#!+stack-allocatable-fixed-objects
+(progn
+ (defoptimizer (cons stack-allocate-result) ((&rest args) node dx)
+ t)
+ (defoptimizer (%make-complex stack-allocate-result) ((&rest args) node dx)
+ t))