13.10.2014 Views

OPTIMIZING THE JAVA VIRTUAL MACHINE INSTRUCTION SET BY ...

OPTIMIZING THE JAVA VIRTUAL MACHINE INSTRUCTION SET BY ...

OPTIMIZING THE JAVA VIRTUAL MACHINE INSTRUCTION SET BY ...

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

25<br />

Figure 2.8: Interpreter Engine Constructed Using Indirect Threading<br />

order to reduce the total number of transfers of control performed in order to execute<br />

the application. This technique is discussed in Section 3.1.3.<br />

2.4.5 Just-In-Time (JIT) Compilation<br />

The first Java virtual machines developed executed bytecodes using an interpreter. In<br />

the simplest form, this involves a fetch-decode-execute loop which repeatedly fetches<br />

and executes bytecodes. Unfortunately a great deal of time is spent executing the<br />

machine language instructions that make up this loop and the fetch / decode operations<br />

instead of executing the bodies of the instructions that represent the users<br />

application. A just-in-time (JIT) compiler can be used to overcome this problem.<br />

A JIT compiler translates Java bytecodes to machine language instructions at

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!