Mega GP Mania
- May 24, 2008
Could (or does) qemu do something in between? JIT recompilation, but it saves the results as it goes to some sort of scratch file, so the next time you run the program, it doesn't need to recompile that section at all? Or am I just being stupid?Exophase said:Actually, static recompilation has many complications that make it less ideal than dynamic and with poorer compatibility. Indirect branch search sets can't be directly known, and while heuristics exist they may not resolve all targets and will most likely cause more code to be generated than what is branched to. Probably the more you achieve the complete target set the more false positives (and hence unused "code") you'll end up with. Dynamic loading and self modifying code can't be handled at all, which is a more fundamental issue than may be evident. If intent on storing translated executables to disk then you'd also be passing a large amount of the conversion overhead bloat to your filesystem.zhasha said:It doesn't have to be JIT; it could easily be a full recompilation + optimization.