On 4/4/2016 4:57 PM, 'John Clements' via users-redirect wrote:
FWIW, it appears that the restriction here is much simpler; specifically, pages can’t be writable and executable *simultaneously.* Moreover, a comment by Matthew on the github bug suggests that this might … have a relatively straightforward fix?

There are those who interpret W^X more severely as "once writable - *never* executable". That is fine for static loaded code and even for generated interpreter code [because that is just data]. But this severe interpretation of W^X is incompatible with runtime native code generation.

I agree that the simpler "not simultaneously" interpretation is just a performance issue: a kernel call to change protection costs many thousands of executed instructions. Obviously the overhead can be amortized by changing more pages in a single call, but JIT systems that compile in small units: e.g., function by function as they are 1st called - may suffer significant performance loss. [An issue now that CPU cores aren't getting any faster.]

YMMV,
George

--
You received this message because you are subscribed to the Google Groups "Racket 
Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to racket-users+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to