From cabcdba7426655e7044f420318a02b7644422b04 Mon Sep 17 00:00:00 2001 From: Juho Snellman Date: Tue, 12 Oct 2004 21:14:40 +0000 Subject: [PATCH] 0.8.15.12: 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 | 3 ++- src/compiler/mips/alloc.lisp | 4 ++-- src/compiler/ppc/alloc.lisp | 3 ++- src/compiler/sparc/alloc.lisp | 3 ++- version.lisp-expr | 2 +- 5 files changed, 9 insertions(+), 6 deletions(-) diff --git a/src/compiler/hppa/alloc.lisp b/src/compiler/hppa/alloc.lisp index 589137237..ec83f9e28 100644 --- a/src/compiler/hppa/alloc.lisp +++ b/src/compiler/hppa/alloc.lisp @@ -157,7 +157,8 @@ (: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) diff --git a/src/compiler/mips/alloc.lisp b/src/compiler/mips/alloc.lisp index f067f638a..8dd772a28 100644 --- a/src/compiler/mips/alloc.lisp +++ b/src/compiler/mips/alloc.lisp @@ -161,8 +161,8 @@ (: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)) diff --git a/src/compiler/ppc/alloc.lisp b/src/compiler/ppc/alloc.lisp index 43f3bc9fa..1a4573ee6 100644 --- a/src/compiler/ppc/alloc.lisp +++ b/src/compiler/ppc/alloc.lisp @@ -170,7 +170,8 @@ (: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)) diff --git a/src/compiler/sparc/alloc.lisp b/src/compiler/sparc/alloc.lisp index a67f6ebc1..2853582f5 100644 --- a/src/compiler/sparc/alloc.lisp +++ b/src/compiler/sparc/alloc.lisp @@ -171,7 +171,8 @@ (: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)) diff --git a/version.lisp-expr b/version.lisp-expr index 53e4018bf..1e230e856 100644 --- a/version.lisp-expr +++ b/version.lisp-expr @@ -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" -- 2.11.4.GIT