[Vm-dev] [OpenSmalltalk/opensmalltalk-vm] c6c188: CogVM source as per VMMaker.oscog-eem.3034

Eliot Miranda eliot.miranda at gmail.com
Thu Aug 12 19:37:40 UTC 2021

Hi Tim, Hi Ken,

    I think I have fixed the intermittent crash issue with Cog Spur on
ARMv8.  The issue was that the generated cache flush code flushed the open
interval (start address, end address), not the open/closed interval (start
address,end address], and so if the code zone was followed by an empty page
a flush of all of the code zone would flush teh address just past the code
zone and cause a segmentation violation.  I can't test this properly; I
have poor wifi access at the moment and can't reconnect my Raspberry Pi to
wifi and so can't test.  If you could build and test that would be
fantastic.  Thanks in advance if you're able to.

On Thu, Aug 12, 2021 at 11:22 AM Eliot Miranda <noreply at github.com> wrote:

>   Branch: refs/heads/Cog
>   Home:   https://github.com/OpenSmalltalk/opensmalltalk-vm
>   Commit: c6c18805f2a5ba03b5ea3e765bb7fec1a2fce248
> https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/c6c18805f2a5ba03b5ea3e765bb7fec1a2fce248
>   Author: Eliot Miranda <eliot.miranda at gmail.com>
>   Date:   2021-08-12 (Thu, 12 Aug 2021)
>   Changed paths:
>     M nsspur64src/vm/cogit.h
>     M nsspur64src/vm/cogitARMv8.c
>     M nsspur64src/vm/cogitX64SysV.c
>     M nsspur64src/vm/cogitX64WIN64.c
>     M nsspur64src/vm/cointerp.c
>     M nsspur64src/vm/cointerp.h
>     M nsspur64src/vm/gcc3x-cointerp.c
>     M spur64src/vm/cogit.h
>     M spur64src/vm/cogitARMv8.c
>     M spurlowcode64src/vm/cogit.h
>     M spurlowcode64src/vm/cogitARMv8.c
>     M spursista64src/vm/cogit.h
>     M spursista64src/vm/cogitARMv8.c
>   Log Message:
>   -----------
>   CogVM source as per VMMaker.oscog-eem.3034
> CogARMv8Compiler: Make sure the generated cache flush code flushes the
> range
> (startAddress to endAddress], i.e. never flush endAddress, only addresses
> less than endAddress.  Flushing endAddress can cause a segmentation
> violation
> if the endAddress is on an empty page.

best, Eliot
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.squeakfoundation.org/pipermail/vm-dev/attachments/20210812/cf2dd89b/attachment.html>

More information about the Vm-dev mailing list