The act of loading code into memory, be it a hypervisor or a guest OS, should've been gated by sanitation and validation callbacks. Building all of these macro- and micro-op runtime defenses and mitigations in the processor and slowing down the OSes for every possible runtime edge-case are a waste of speed that can be avoided by establishing trust of code pages.
The morphing of data into code pages with JITs like JS should also be subject to similar restrictions.
The morphing of data into code pages with JITs like JS should also be subject to similar restrictions.