- fixed a bug in bytevector-ieee-double-ref which only showed up

under the followingconditions:
  - ikarus is compiled as 64-bit
  - index is a multiple of 8
  - endianness is big.
This commit is contained in:
Abdulaziz Ghuloum 2008-11-14 02:35:56 -05:00
parent c027b1da34
commit 5c3168d502
2 changed files with 6 additions and 4 deletions

View File

@ -1 +1 @@
1673
1674

View File

@ -2004,9 +2004,11 @@
[floff (- disp-flonum-data vector-tag)])
(with-tmp ([x (prm 'alloc (K (align flonum-size)) (K vector-tag))])
(prm 'mset x (K (- vector-tag)) (K flonum-tag))
(with-tmp ([x0 (prm 'mref (T bv) (K bvoff))])
(prm 'bswap! x0 x0)
(prm 'mset x (K floff) x0))
(with-tmp ([t (prm 'int+ (T bv)
(prm 'sra (T i) (K fx-shift)))])
(with-tmp ([x0 (prm 'mref t (K bvoff))])
(prm 'bswap! x0 x0)
(prm 'mset x (K floff) x0)))
x))])])