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.
(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)))))))