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