[Vm-dev] Aarch64 compare bug

ken.dickey at whidbey.com ken.dickey at whidbey.com
Sun Jun 20 14:22:48 UTC 2021


Had a chance to play a bit last night.

Stepping through
   Integer readFrom: (ReadStream on: '8000000000000000') base:16.
tells the tale.

Definitely an edge problem going from SmallInteger into bignums.

I'll try to get into why in the next couple of days.

FYI,
-KenD
vvv===vvv
16r8000000000000000 printString." '0' "
(16r800000000000000 * 16) printStringHex." '8000000000000000' "
(16r8000000000000000 * 16) printStringHex. '0'
Integer readFrom: (ReadStream on:              '8000000000000000') 
base:16.  " 0 "
SmallInteger maxVal printStringHex.
         'FFFFFFFFFFFFFFF'
  16r800000000000000 class." SmallInteger "
(16r800000000000000 * 16) class." LargePositiveInteger "
  16r8000000000000000 printString." '0' "
(16r800000000000000 * 16) printStringHex. " 
'8000000000008000000000000000' "
^^^===^^^


More information about the Vm-dev mailing list