Radikal bikers emulator12/18/2023 I'll use a Programing Language as an analoghy. My idea, is like riff said an offline program that recompile the whole ps2 executable into a x86 exe. Since i'm a newbie on emulators, i'll maybe wrong, but most emulators works in a loop, interpreting instructions, or generating instructions and run them after, dinamic approach. Graph-coloring based register allocation, equivalence-set based propagation of sub-expressions (for constant propagation, redundant subexpression elimination and taking advantage of complex addressing modes) and other optimizations are probably not reasonable within the time constraints of dynamic compilation but if the code is semi-frequently executed and isn't going to gain anything from dynamc recompilation, you might as well take advantage of offline time if it might lead to a better solution. The advantage of offline static compiliation is that you can afford to do much more analysis offline than you can usually do with runtime constraints. In both of these cases, and especially when a code sequence exhibits both traits, a static compilation of the code block might be greatly superior. It is also common for many routines to act solely on dynamic data such that almost no constant propagation occurs and no branches can be predicted. It is not unlikely that there will be some number of executed blocks that always contain the same code but are frequently invalidated due to some execution pattern that causes a cache flush before the call to the block. Still, static compililation may be the best option for some code sequences, especially if the maximum code buffer size is frequently exceeded and/or if the granularity of invalidation is large (e.g if writing to code invalidates all blocks). Static compiling an entire program will almost always be slower than a dynamically compiled program, especially when condition flags must be computed.
0 Comments
Leave a Reply.AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |