Skip to content


Subversion checkout URL

You can clone with
Download ZIP
Commits on Mar 10, 2015
  1. OS X support for amd64.

    The big difference here is that OS X runs with a small-code PIC code
    model, which doesn't place code in the low 4G of RAM. So we need to
    switch everything to be PC-relative, and do some shenanigans to try to
    get a code allocation near our .text segment -- in particular, since the
    allocator just starts at the binary and works upwards, we need to make
    sure that we allocate the buffer *before* we do the 4G map for the
    image's address space.
Commits on Nov 29, 2010
  1. cppify

Commits on Nov 14, 2010
  1. Fix some compilation errors

  2. Remove the global "CPU" pointer from CPU emulation.

    authored committed
Commits on Nov 7, 2009
  1. Skip the (PC == %eax) check in most frags.

    Generate the pc-checking prologue for every frag, but store a pointer
    immediately after the check as the code buffer in the frag cache,
    causing us to skip it most of the time. Give bt_translate_and_run an
    additional 'exact' parameter, which indicates whether it should chain
    to the start of a cfrag, or to the PC-checking prologue, and add a new
    bt_continue_ic, which is like bt_continue_chain but unsets the 'exact'
Commits on Oct 3, 2008
Commits on Jul 4, 2008
  1. Make more efficient use of the frag cache by only allocating as much

    memory as we generate code.
Commits on Jul 3, 2008
Commits on Jul 2, 2008
  1. Check for interrupts in the fragment prologue

    Compared to the check in bt_callout, this lets us do more work in the
    BT, instead of at execution-time (namely, checking the PC high bit),
    and it will continue to work if we chain compiled fragments.
Commits on Jun 29, 2008
  1. Translate LD, ST, and LDR

  2. Add a translation cache

Commits on Jun 28, 2008
  1. First pass at binary translation. We seem to correctly translate all

    arithmetic instructions. Everything else is still emulated.
Something went wrong with that request. Please try again.