x86处理器上的一次性JIT性能 假设您有以下代码: mem_page = allocate_memory_page(permissions = read+write+execute) begin loop write_1kb_function_code_to(mem_page) mem_page() ; execute written code end loop 本质上,这是一个JIT,其中的代码仅被使用一次,然后才被覆盖并再次使用。 (请注意,此代码在具有安全性的OS上不起作用。当前,x86上使用最广泛的OS不具有W ^ X,因此上述技术在大多数计算机上都是可行的。对于本调查,我将假设没有强制执行W ^ X) x86处理器完全支持(SMC),并且自80486开始就不需要显式清除预取。在奔腾系列之前,不会实现已经存在于预取中的已修改指令,并且已修改的显式JMP代码是必需的。 从奔