vm: fix fixnum* overflow case for 4-bit tags
parent
109aa88b06
commit
9ffb01a9bd
|
@ -43,7 +43,7 @@ DEF(void,primitive_fixnum_multiply,(void *vm)):
|
||||||
stw r6,0(DS_REG)
|
stw r6,0(DS_REG)
|
||||||
blr
|
blr
|
||||||
multiply_overflow:
|
multiply_overflow:
|
||||||
srawi r4,r4,3
|
srawi r4,r4,4
|
||||||
b MANGLE(overflow_fixnum_multiply)
|
b MANGLE(overflow_fixnum_multiply)
|
||||||
|
|
||||||
/* Note that the XT is passed to the quotation in r11 */
|
/* Note that the XT is passed to the quotation in r11 */
|
||||||
|
|
|
@ -33,7 +33,7 @@ DEF(void,primitive_fixnum_multiply,(void *myvm)):
|
||||||
pop ARG2
|
pop ARG2
|
||||||
ret
|
ret
|
||||||
multiply_overflow:
|
multiply_overflow:
|
||||||
sar $3,ARITH_TEMP_1
|
sar $4,ARITH_TEMP_1
|
||||||
mov ARITH_TEMP_1,ARG0
|
mov ARITH_TEMP_1,ARG0
|
||||||
mov ARITH_TEMP_2,ARG1
|
mov ARITH_TEMP_2,ARG1
|
||||||
pop ARG2
|
pop ARG2
|
||||||
|
|
Loading…
Reference in New Issue