- (let ((cons-cells (if star (1- num) num)))
- (pseudo-atomic (:extra (* (pad-data-block cons-size)
- cons-cells))
- (inst bis alloc-tn list-pointer-lowtag res)
+ (let* ((dx-p (awhen (sb!c::node-lvar node) (sb!c::lvar-dynamic-extent it)))
+ (cons-cells (if star (1- num) num))
+ (space (* (pad-data-block cons-size) cons-cells)))
+ (pseudo-atomic (:extra (if dx-p 0 space))
+ (cond (dx-p
+ (align-csp res)
+ (inst bis csp-tn list-pointer-lowtag res)
+ (inst lda csp-tn space csp-tn))
+ (t
+ (inst bis alloc-tn list-pointer-lowtag res)))