Welcome, Guest. Please login or register.

Author Topic: What excatly is JIT emulation?  (Read 3187 times)

Description:

0 Members and 1 Guest are viewing this topic.

Offline Karlos

  • Sockologist
  • Global Moderator
  • Hero Member
  • *****
  • Join Date: Nov 2002
  • Posts: 16879
  • Country: gb
  • Thanked: 5 times
    • Show all replies
Re: What excatly is JIT emulation?
« on: August 10, 2003, 02:20:50 AM »
@tony

As far as I know, the problem with saving off code is down to the nature in which it is transcripted.

Transcription generally works on a block granularity even smaller than individual functions in many cases.

Many addresses etc. are present in the transcripted code that depend on the current machine state and would be meaningless were the code saved and reloaded later.

Even during a single session, transcripted code occasionally becomes stale (much like an instruction cache in a real processor) requiring re transcription. Things like patching functions etc will change code that may have been transcripted already and require transcriptig again.

For pure vm systems like Java, the above issues are virtually non existant - its pretty much possible to trasncript java code in a class once (while it loads usually) since it never uses absolute addresses for anything and never modifies its own code etc..

Unfortunatley, JIT emulations of real CPU's such as the 68K are considerably more complex.
int p; // A