1
0
Fork 0
mirror of https://github.com/ruby/ruby.git synced 2022-11-09 12:17:21 -05:00
ruby--ruby/yjit
Alan Wu 87bb0bee6b
YJIT: Fix page rounding for icache busting
Previously, we found the current page by rounding the current pointer to
the closest smaller page size. This is incorrect because pages are
relative to the start of the address we reserve. For example, if the
starting address is 12KiB modulo the 16KiB page size, once we have more
than 4KiB of code, calculating with the address would incorrectly give
us page 1 when we're actually still on page 0.

Previously, I can reproduce crashes with:

    make btest RUN_OPTS=--yjit-code-page-size=32

on ARM64 macOS, where system page sizes are 16KiB.
2022-10-21 17:06:34 -04:00
..
bindgen YJIT: incorporate ruby_special_consts 2022-10-20 15:43:34 -04:00
src YJIT: Fix page rounding for icache busting 2022-10-21 17:06:34 -04:00
.gitignore
Cargo.lock
Cargo.toml YJIT: fold the "asm_comments" feature into "disasm" (#6591) 2022-10-19 14:03:07 -04:00
not_gmake.mk YJIT: Support MAKE=bmake for release build 2022-09-20 14:17:27 -04:00
yjit.mk YJIT: Support MAKE=bmake for release build 2022-09-20 14:17:27 -04:00