How do W^X restrictions affect something like this? I assume there must be a way to work around it given the prolificacy of JITing VMs, but interested in the details. The last time I was fiddling with machine code in memory was before W^X was a thing.