#16 Split ARM/Thumb emulation into separate source files

closed-duplicate
nobody
None
5
2005-11-18
2005-09-11
Andrew Church
No

Trying to compile GBA.cpp from current (2005/9/11) CVS
with GCC 4.0.1 brought my machine to its heels, eating
up over 800MB of memory before I managed to kill it.
This patch splits the actual ARM and Thumb instruction
emulation out into separate source files, GBA-arm.cpp
and GBA-thumb.cpp. Profiling showed no measurable
overhead from the extra function calls, tested by
moving the Thumb processing into and out of CPULoop().
Patches for Makefile.{am,in} for the GTK and SDL
frontends are included as well (GTK not tested); I
don't know how Win32 builds are handled so I haven't
done anything with respect to that.

If this patch is applied, the obvious next step is to
move the contents of arm-new.h and thumb.h directly
into GBA-arm.cpp and GBA-thumb.cpp, but doing so in
this patch would make it ridiculously long and
impenetrable, so I've left the #includes as is for now.

Discussion

  • Andrew Church
    Andrew Church
    2005-09-12

    Logged In: YES
    user_id=527960

    Attaching revised version of patch, which fixes breakpoint
    handling and does what seems to be the right thing to the
    win32 project files.

     
  • Andrew Church
    Andrew Church
    2005-11-18

    • status: open --> closed-duplicate
     
  • Andrew Church
    Andrew Church
    2005-11-18

    Logged In: YES
    user_id=527960

    Marking as a duplicate, since the final patch (1292942) now
    includes this patch as well.