JITting emulators like http://copy.sh/v86 incur significant slowdown by having to check whether pages have been modified in order to invalidate the jitcode for self-modifying code. This could be implemented with a SIGSEGV signal handler. However, that isn’t strictly necessary: all it would need is the ability to mark a page as “tracking changes” and have wasm able to ask whether changes occurred since the last time that page was so marked.