Hacker News new | ask | show | jobs
by Retr0id 518 days ago
Modern javascript engines (namely V8) avoid RWX, although last time I checked there's been a backslide as part of WASM implementation.

CPython also no longer appears to create RWX mappings even for ctypes, although you can of course still mmap them manually.

1 comments

Wow. So V8 actually back to optimizing the entire bytecode region in one fell swoop?

I had thought that such V8 optimization were still occuring (as of Chrome Blink81/SparkPlug) during JavaScript execution of untouched bytecode as a form of overhead reduction of its startup.

https://egbert.net/blog/articles/javascript-jit-engines-time...

I don't know what V8 actually does, but one possible strategy is to have a pair of RW and RX mappings to the same physical pages (or just keep flipping permissions between the two)