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.
-
2I assume hotpost means HotSpot.Tom Hawtin - tackline– Tom Hawtin - tackline2010-04-30 13:49:14 +00:00Commented Apr 30, 2010 at 13:49
-
@jtzero: even more interesting would be something showing if a "tracing JIT", which can optimize down to a single loop (instead of an entire method, like "regular" JIT do), offer any significant benefit over a non-tracing-JIT ;) Say, if a regular JIT offers a "times 50" speedup and a tracing-JIT offers a "times 51" speedup, count me as really not impressed at all :)SyntaxT3rr0r– SyntaxT3rr0r2010-04-30 14:33:52 +00:00Commented Apr 30, 2010 at 14:33
4 Answers
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.
Comments
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.
Comments
It's not even a JIT actually, let alone a 'tracing JIT', whatever that might be.