From 6872861ccb2bc35478059c94d6ce34096790b59c Mon Sep 17 00:00:00 2001 From: Taylor R Campbell Date: Sat, 28 Aug 2010 20:52:26 +0000 Subject: [PATCH] In FLO:VECTOR-LENGTH, coerce length to fixnum before OBJECT->FIXNUM. The previous open-coding worked whenever OBJECT->FIXNUM merely shifted left by the tag width, ignoring whatever tag was there before. The SVM does not do this, however. --- src/compiler/rtlgen/opncod.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/compiler/rtlgen/opncod.scm b/src/compiler/rtlgen/opncod.scm index 23964e978..f6dba116c 100644 --- a/src/compiler/rtlgen/opncod.scm +++ b/src/compiler/rtlgen/opncod.scm @@ -617,14 +617,14 @@ USA. (rtl:make-fixnum->object (rtl:make-fixnum-2-args 'FIXNUM-LSH - (rtl:make-object->fixnum (rtl:make-fetch locative)) + (rtl:make-object->fixnum (rtl:vector-length-fetch locative)) (rtl:make-object->fixnum (rtl:make-constant -1)) false))) (lambda (locative) (rtl:make-fixnum->object (rtl:make-fixnum-2-args 'FIXNUM-QUOTIENT - (rtl:make-object->fixnum (rtl:make-fetch locative)) + (rtl:make-object->fixnum (rtl:vector-length-fetch locative)) (rtl:make-object->fixnum (rtl:make-constant quantum)) false))))))) -- 2.25.1