jit_smc_test:在一次性JIT功能上测试处理器上的自修改代码行为 源码
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代码是必需的。 从奔
文件列表
jit_smc_test-master.zip
(预估有个19文件)
jit_smc_test-master
results
Skylake.txt
2KB
Ivy Bridge (win64).txt
2KB
Haswell.txt
2KB
Sandy Bridge.txt
2KB
Sunny Cove (wsl2).txt
3KB
Zen1 (VM).txt
2KB
Goldmont (win64).txt
2KB
Silvermont.txt
2KB
暂无评论