Hi Logan,

On Tue, 20 Feb 2024 at 05:08, Logan Chien <tzuhsiang.ch...@gmail.com> wrote:
> > 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.

Cool!  I also got a pull request merged into the main branch with this
change, and it does indeed fix boehm builds.

> 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.

A problem that came up a lot in other backends is a specific input
instruction that the backend emits with specific registers.  When you
run into the bad case, the emitted code reuses a register *before*
reading the same register assuming that it still contains its old
value.  It's entirely dependent on register allocation, and if you run
it with boehm then the sequence of instruction is slightly different
and that might be the reason that the bug doesn't show up then.  If
you get two failures with incminimark and none with boehm, then it
sounds more likely that the case involves one of the incminimark-only
constructions---but it's also possible the bug is somewhere unrelated
and it's purely bad luck...


Armin
_______________________________________________
pypy-dev mailing list -- pypy-dev@python.org
To unsubscribe send an email to pypy-dev-le...@python.org
https://mail.python.org/mailman3/lists/pypy-dev.python.org/
Member address: arch...@mail-archive.com

Reply via email to