0.8.15.12:
authorJuho Snellman <jsnell@iki.fi>
Tue, 12 Oct 2004 21:14:40 +0000 (21:14 +0000)
committerJuho Snellman <jsnell@iki.fi>
Tue, 12 Oct 2004 21:14:40 +0000 (21:14 +0000)
On non-x86 platforms allocate the header TN of the var-alloc
VOP in a non-descriptor-register instead of an any-register.
Fixes "attempted to scavenge non-descriptor value" warning.

src/compiler/hppa/alloc.lisp
src/compiler/mips/alloc.lisp
src/compiler/ppc/alloc.lisp
src/compiler/sparc/alloc.lisp
version.lisp-expr

index 5891372..ec83f9e 100644 (file)
   (:info name words type lowtag)
   (:ignore name)
   (:results (result :scs (descriptor-reg)))
-  (:temporary (:scs (any-reg)) bytes header)
+  (:temporary (:scs (any-reg)) bytes)
+  (:temporary (:scs (non-descriptor-reg)) header)
   (:generator 6
     (inst addi (* (1+ words) n-word-bytes) extra bytes)
     (inst sll bytes (- n-widetag-bits 2) header)
index f067f63..8dd772a 100644 (file)
   (:info name words type lowtag)
   (:ignore name)
   (:results (result :scs (descriptor-reg)))
-  (:temporary (:scs (any-reg)) header)
-  (:temporary (:scs (non-descriptor-reg)) bytes)
+  (:temporary (:scs (any-reg)) bytes)
+  (:temporary (:scs (non-descriptor-reg)) header)
   (:temporary (:sc non-descriptor-reg :offset nl4-offset) pa-flag)
   (:generator 6
     (inst addu bytes extra (* (1+ words) n-word-bytes))
index 43f3bc9..1a4573e 100644 (file)
   (:info name words type lowtag)
   (:ignore name)
   (:results (result :scs (descriptor-reg)))
-  (:temporary (:scs (any-reg)) bytes header)
+  (:temporary (:scs (any-reg)) bytes)
+  (:temporary (:scs (non-descriptor-reg)) header)
   (:temporary (:sc non-descriptor-reg :offset nl3-offset) pa-flag)
   (:generator 6
     (inst addi bytes extra (* (1+ words) n-word-bytes))
index a67f6eb..2853582 100644 (file)
   (:info name words type lowtag)
   (:ignore name)
   (:results (result :scs (descriptor-reg)))
-  (:temporary (:scs (any-reg)) bytes header)
+  (:temporary (:scs (any-reg)) bytes)
+  (:temporary (:scs (non-descriptor-reg)) header)
   (:generator 6
     (inst add bytes extra (* (1+ words) n-word-bytes))
     (inst sll header bytes (- n-widetag-bits 2))
index 53e4018..1e230e8 100644 (file)
@@ -17,4 +17,4 @@
 ;;; checkins which aren't released. (And occasionally for internal
 ;;; versions, especially for internal versions off the main CVS
 ;;; branch, it gets hairier, e.g. "0.pre7.14.flaky4.13".)
-"0.8.15.11"
+"0.8.15.12"