[Vm-dev] Possible Aarch64 JIT bug

ken.dickey at whidbey.com ken.dickey at whidbey.com
Thu Jul 1 15:56:14 UTC 2021


I found a case where the Stack VM works but the Cog VM trips.

Bytecode and disassembly displays look OK, and single-stepping in the 
Cog VM works.

Unfortunately, I have not been able to build a GdbARMv8Plugin on my 
RasPi4 Linux, so I don't have a ready way to view the JITed code.

Details:
   The proximate error is (see attached graphic) that by the end of the 
method, #tail should be zero.  This _is_ the case with restart plus 
single-stepping.

Looks to me like an off-by-one error on tracking stack position [or else 
the subtract in "tail := self - (head * halfPower)." is not happening].

The Workspace expression is:

(Integer readFrom: (ReadStream on: '8000000000000000') base: 16)  
printStringHex.

Thanks much for any help/insights,
-KenD

PS:
I am using the Bayvision sources because the current OpenSmalltalk has a 
problem with include file order and 2nd mvm invocation dies after 
hacking config.h in trying to build the Camera plugin.  FYI
-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: PrintOnBase.txt
URL: <http://lists.squeakfoundation.org/pipermail/vm-dev/attachments/20210701/636a8910/attachment-0001.txt>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: PrintOnBaseCog.png
Type: image/png
Size: 86521 bytes
Desc: not available
URL: <http://lists.squeakfoundation.org/pipermail/vm-dev/attachments/20210701/636a8910/attachment-0001.png>


More information about the Vm-dev mailing list