diff options
author | Aaron Giles <aaron@aarongiles.com> | 2008-05-11 22:15:13 +0000 |
---|---|---|
committer | Aaron Giles <aaron@aarongiles.com> | 2008-05-11 22:15:13 +0000 |
commit | b735b4be6c1fedaf1830c802e1ca4a0df305dad5 (patch) | |
tree | 827a38cd6235d6bda3c6d7b31e997793b11f8549 /makefile | |
parent | 9b3d9ea3cd5eee0a7d93dc0ac4572913e5348c03 (diff) |
New universal dynamic recompiler system. The central module
is drcuml.c, which defines a universal machine language
syntax that can be generated by a frontend recompiler and
then retargeted via a generic backend interface to any of
a number of different architectures. A disassembler for the
UML is also included to allow examination of the generated
UML code.
Currently supported backend architectures include 32-bit x86,
64-bit x86, and a platform-neutral interpreted C backend that
can be used as a fallback for platforms without native
support. The C backend also performs additional validation
to ensure assumptions are met.
Along with the new architecture is a new MIPS III/IV
recompiler frontend. This frontend has been rewritten from
the old x64-specific recompiler to generate UML opcodes
instead. This means that the single recompiler can be used
to target multiple backend architectures and should in
theory produce identical results across all of them.
The old 32-bit and 64-bit MIPS recompilers are now officially
retired. The new system provides similar performance (within
5% generally) to the old system and has similar compatibility.
The only currently known issues are some problems with the
two Gauntlet 3D games.
Diffstat (limited to 'makefile')
-rw-r--r-- | makefile | 7 |
1 files changed, 5 insertions, 2 deletions
@@ -48,6 +48,7 @@ CROSS_BUILD_OSD = $(OSD) endif + #------------------------------------------------- # specify OS target, which further differentiates # the underlying OS; supported values are: @@ -105,8 +106,10 @@ endif # uncomment next line to include the internal profiler # PROFILER = 1 -# uncomment next line to use DRC MIPS3 engine -X86_MIPS3_DRC = 1 +# uncomment the force the universal DRC to always use the C backend +# you may need to do this if your target architecture does not have +# a native backend +# FORCE_DRC_C_BACKEND = 1 # uncomment next line to use DRC PowerPC engine X86_PPC_DRC = 1 |