Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Is the hotspot JVM Bytecode Interpreter a tracing JIT?

Tags:

java

jvm

bytecode

The question pretty much says it all, I've been looking around for an answer even through the VM spec but I it doesn't explicitly state it.

like image 797
jtzero Avatar asked Apr 30 '10 13:04

jtzero


3 Answers

No.

There are some other JVMs with tracing JITs, though: HotPath and Maxine, for example.

like image 190
Jörg W Mittag Avatar answered Oct 31 '22 21:10

Jörg W Mittag


Aside: for those who don't know what a tracing JIT is, the following description comes from this page:

Although tracing JITs are a complex technology, the core concept is about optimizing execution of the hot paths in a program. The emphasis is specifically on hot paths that return to the start of a path which sounds very much like a loop. However, the traditional definition of a programming loop is only a subset of these hot paths. The broader definition includes code that spans methods and possibly even modules. This broader definition of a loop is what’s called a trace.

like image 34
Stephen C Avatar answered Oct 31 '22 21:10

Stephen C


Had to google what a "tracing JIT" was, but apparently it isn't.

> non-tracing JIT implementations (Sun’s Java VM

But it does optimise what you might call "hot spots".

How bytecode is optimised will not be part of the specification for the bytecode.

like image 41
Tom Hawtin - tackline Avatar answered Oct 31 '22 23:10

Tom Hawtin - tackline