- (inst add alloc-tn alloc-tn ndescr)
- (inst srwi ndescr type sb!vm:word-shift)
- (storew ndescr vector 0 sb!vm:other-pointer-lowtag)
- (storew length vector sb!vm:vector-length-slot sb!vm:other-pointer-lowtag))
+ (allocation vector ndescr other-pointer-lowtag
+ :temp-tn temp
+ :flag-tn pa-flag)
+ (inst srwi ndescr type word-shift)
+ (storew ndescr vector 0 other-pointer-lowtag)
+ (storew length vector vector-length-slot other-pointer-lowtag))
+ ;; This makes sure the zero byte at the end of a string is paged in so
+ ;; the kernel doesn't bitch if we pass it the string.
+ ;;
+ ;; rtoy says to turn this off as it causes problems with CMUCL.
+ ;;
+ ;; I don't think we need to do this anymore. It looks like this
+ ;; inherited from the SPARC port and does not seem to be
+ ;; necessary. Turning this on worked at some point, but I have not
+ ;; tested with the final GENGC-related changes. CLH 20060221
+ ;;
+ ;; (storew zero-tn alloc-tn 0)