Re: Contribute a RISC-V 64 JIT backend

Logan Chien <[email protected]> Mon, 19 Feb 2024 20:08:22 -0800
Newsgroups gmane.comp.python.pypy
Message-ID <CALQyFuCp5Q0iY+YxXNSg5W0-2HpZXKKE6iwo7NvZx7Rf42jbeQ@mail.gmail.com>
--===============1720811988393932531==
Content-Type: multipart/alternative; boundary="00000000000013ea2b0611c85d86"

--00000000000013ea2b0611c85d86
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

Hi Armin,

Thank you for the reply.

> This should just be #defined to do nothing with Boehm, maybe in
rpython/translator/c/src/mem.h

With this change and a few RISC-V backend fixes (related to
self.cpu.vtable_offset), I can build and run a JIT+BoehmGC PyPy.

This configuration (JIT+BoehmGC) can pass test_tokenize and test_zipfile64
(from lib_python_tests.py).

Thus, my next step will focus on the differences between JIT+BoehmGC and
JIT+IncminimarkGC.

I think the differences are:

1. call_malloc_nursery_* (fast/slow paths)
2. shadow stack push/pop updates
3. gcmap
4. write barriers (fast/slow paths)
5. realloc_frame

Regards,
Logan


On Sun, Feb 18, 2024 at 11:06=E2=80=AFPM Armin Rigo <[email protected]> =
wrote:

> Hi Logan,
>
> On Mon, 19 Feb 2024 at 05:02, Logan Chien <[email protected]>
> wrote:
> >          2890 |         OP_GC_INCREASE_ROOT_STACK_DEPTH(l_v498959, /*
> nothing */);
>
> Ah, yet another missing macro.  This should just be #defined to do
> nothing with Boehm, maybe in rpython/translator/c/src/mem.h in the
> section "dummy version of these operations, e.g. with Boehm".
>
> > Just to be sure, is the following command correct?
> >
> > python2.7 ./pytest.py rpython/jit/backend/test/test_zll_stress_0.py -s =
-v
>
> Yes, that's correct.
>
>
> A bient=C3=B4t,
> Armin
>

--00000000000013ea2b0611c85d86
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

<div dir=3D"ltr"><div>Hi Armin,</div><div><br></div><div>Thank you for the =
reply.<br></div><div><br></div><div>&gt; This should just be #defined to do=
 nothing with Boehm, maybe in rpython/translator/c/src/mem.h</div><div><br>=
</div><div>With this change and a few RISC-V backend fixes (related to self=
.cpu.vtable_offset), I can build and run a JIT+BoehmGC PyPy.</div><div><br>=
</div><div>This configuration (JIT+BoehmGC) can pass test_tokenize and test=
_zipfile64 (from lib_python_tests.py).</div><div><br></div><div>Thus, my ne=
xt step will focus on the differences between JIT+BoehmGC and JIT+Incminima=
rkGC.</div><div><br></div><div>I think the differences are:</div><div><br><=
/div><div>1. call_malloc_nursery_* (fast/slow paths)<br></div><div>2. shado=
w stack push/pop updates</div><div>3. gcmap</div><div>4. write barriers (fa=
st/slow paths)</div><div>5. realloc_frame</div><div><br></div><div>Regards,=
</div><div>Logan<br></div><div><br></div></div><br><div class=3D"gmail_quot=
e"><div dir=3D"ltr" class=3D"gmail_attr">On Sun, Feb 18, 2024 at 11:06=E2=
=80=AFPM Armin Rigo &lt;<a href=3D"mailto:[email protected]">armin.rigo@=
gmail.com</a>&gt; wrote:<br></div><blockquote class=3D"gmail_quote" style=
=3D"margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding=
-left:1ex">Hi Logan,<br>
<br>
On Mon, 19 Feb 2024 at 05:02, Logan Chien &lt;<a href=3D"mailto:tzuhsiang.c=
[email protected]" target=3D"_blank">[email protected]</a>&gt; wrote:<=
br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 2890 |=C2=A0 =C2=A0 =C2=A0 =C2=A0 =
=C2=A0OP_GC_INCREASE_ROOT_STACK_DEPTH(l_v498959, /* nothing */);<br>
<br>
Ah, yet another missing macro.=C2=A0 This should just be #defined to do<br>
nothing with Boehm, maybe in rpython/translator/c/src/mem.h in the<br>
section &quot;dummy version of these operations, e.g. with Boehm&quot;.<br>
<br>
&gt; Just to be sure, is the following command correct?<br>
&gt;<br>
&gt; python2.7 ./pytest.py rpython/jit/backend/test/test_zll_stress_0.py -s=
 -v<br>
<br>
Yes, that&#39;s correct.<br>
<br>
<br>
A bient=C3=B4t,<br>
Armin<br>
</blockquote></div>

--00000000000013ea2b0611c85d86--

--===============1720811988393932531==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
pypy-dev mailing list -- [email protected]
To unsubscribe send an email to [email protected]
https://mail.python.org/mailman3/lists/pypy-dev.python.org/
Member address: [email protected]

--===============1720811988393932531==--