
vitasdk
historyme
这个作者很懒,什么都没留下…
展开
-
[dingoo emu]静态重编译技术
静态重编译(Static Recompilation)是一种将程序从一种架构转换到另一种架构的技术,而无需运行该程序。这种技术通常用于二进制翻译,即把一个架构上的可执行文件翻译成另一个架构上的可执行文件。静态重编译的目标是生成一个能够在目标架构上直接运行的程序。需要识别函数function而不是代码块codeblock,这个技术比较麻烦,需要对特定编译器优化。cpu无关,输出的c代码可以在任何cpu上运行,不需要懂的这个cpu的全部汇编生成。代码编译经过gcc优化,性能可以接近甚至比动态重编译更好。原创 2025-01-11 12:13:32 · 127 阅读 · 0 评论 -
[vitasdk]执行JIT代码
参考https://github.com/Rinnegatamante/DaedalusX64-vitaGL的代码。根据这个内存分配原理,已经成功将vixl移植到PSVITA,abs.cc已经能够运行。第三步 启用VM domain,这个不知道什么用,但是如果没有,第四步就无效。第四部 更新内存块,每次刷新内存都需要更新一次,只需要更新需要的部分。对于JIT代码必须要所在的内存有可执行权限。在PSVITA里面,需要用到特殊手段。这样获得的内存会带有可执行权限。第二步 根据id获取内存指针。原创 2024-12-31 01:54:44 · 261 阅读 · 0 评论 -
[vitasdk]线程与优先级
从Linux角度来看,线程优先级会决定调度单位时间内的次数,jit代码在低优先级的线程,自然模拟的速度就慢了。参考网址https://wiki.henkaku.xyz/vita/SceKernelThreadMgr。在优化dingoo emu时候,发现多个线程执行很慢,但是单个线程效率明显快,接近10倍。配置64以最高优先级执行。原创 2025-01-01 13:52:43 · 186 阅读 · 0 评论