Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.lang.java.programmer > #15879

Re: Java processors

From Lew <noone@lewscanon.com>
Newsgroups comp.lang.java.programmer
Subject Re: Java processors
Date 2012-07-08 11:52 -0700
Organization albasani.net
Message-ID <jtcktv$i25$1@news.albasani.net> (permalink)
References (10 earlier) <jt9hjc$qin$1@news.albasani.net> <ac1iv7lue61ncqckd8dr1vau4oik8a17np@4ax.com> <jtb5vf$jjd$1@news.albasani.net> <jtb7lc$pk3$1@news.albasani.net> <jtch2b$m9u$1@localhost.localdomain>

Show all headers | View raw


Martin Gregorie wrote:
> Lew wrote:
>> HotSpot also will "unJIT" code - go back to the interpreted bytecode and
>> drop the machine-code compilation - when circumstances change.
>>
> In view of this, why are we assuming that the JIT stops a method in its
> tracks, compiles a native version and continues execution in that from
> the stopping point? Are we sure that it doesn't do something along the

"We"?

I, at least, make no such assumption.

> lines of stopping the bytecode execution (as above) doing a JIT native
> compilation and, when its finished, wrap both the bytecode version and
> the native binary versions in a switch mechanism, set the version
> selector to 'native' and then restart the bytecode version? Something
> like this would sidestep the wherethefugarwi problem of stopping bytecode
> and restarting in optimised native binary while making sure that the
> *next* execution run the JITed native binary.

As I understand the white papers, HotSpot, at least, does not stop the 
interpreter while it's compiling, but does background compilation.

I don't have a reference handy just now, but HotSpot does do something like 
the flip you describe, save for the "stopping bytecode" part, IIRC.

HotSpot is not a JIT compiler, as they go through some pains to emphasize. 
It's an after-the-fact compiler.

<http://www.oracle.com/technetwork/java/whitepaper-135217.html#3>
"The compiler must not only be able to detect when these optimizations become 
invalid due to dynamic loading, but also be able to undo or redo those 
optimizations during program execution, even if they involve active methods on 
the stack. This must be done without compromising or impacting Java 
technology-based program execution semantics in any way."

"[T]he Java HotSpot VM immediately runs the program using an interpreter, and 
analyzes the code as it runs to detect the critical hot spots in the program. 
Then it focuses the attention of a global native-code optimizer on the hot spots."

"Dynamic Deoptimization"
<http://www.oracle.com/technetwork/java/whitepaper-135217.html#dynamic>

"Compiler Optimizations"
<http://www.oracle.com/technetwork/java/whitepaper-135217.html#optimizations>

"... the Server VM performs extensive profiling of the program in the 
interpreter before compiling the Java bytecode to optimized machine code. This 
profiling data provides even more information to the compiler about data types 
in use, hot paths through the code, and other properties. The compiler uses 
this information to more aggressively and optimistically optimize the code in 
certain situations. If one of the assumed properties of the code is violated 
at run time, the code is deoptimized and later recompiled and reoptimized."

-- 
Lew
Honi soit qui mal y pense.
http://upload.wikimedia.org/wikipedia/commons/c/cf/Friz.jpg

Back to comp.lang.java.programmer | Previous | NextPrevious in thread | Next in thread | Find similar | Unroll thread


Thread

Java processors bob smith <bob@coolfone.comze.com> - 2012-07-05 08:01 -0700
  Re: Java processors Eric Sosman <esosman@ieee-dot-org.invalid> - 2012-07-05 11:28 -0400
    Re: Java processors BGB <cr88192@hotmail.com> - 2012-07-05 13:00 -0500
      Re: Java processors Eric Sosman <esosman@ieee-dot-org.invalid> - 2012-07-05 14:31 -0400
        Re: Java processors BGB <cr88192@hotmail.com> - 2012-07-05 16:42 -0500
        Re: Java processors Arne Vajhøj <arne@vajhoej.dk> - 2012-07-05 20:30 -0400
          Re: Java processors BGB <cr88192@hotmail.com> - 2012-07-05 21:12 -0500
          Re: Java processors Eric Sosman <esosman@ieee-dot-org.invalid> - 2012-07-06 00:13 -0400
            Re: Java processors Roedy Green <see_website@mindprod.com.invalid> - 2012-07-06 13:26 -0700
              Re: Java processors Gene Wirchenko <genew@ocis.net> - 2012-07-06 13:50 -0700
                Re: Java processors Lew <lewbloch@gmail.com> - 2012-07-06 14:17 -0700
                Re: Java processors Roedy Green <see_website@mindprod.com.invalid> - 2012-07-06 19:07 -0700
                Re: Java processors BGB <cr88192@hotmail.com> - 2012-07-07 09:34 -0500
                Re: Java processors Roedy Green <see_website@mindprod.com.invalid> - 2012-07-07 21:01 -0700
                Re: Java processors BGB <cr88192@hotmail.com> - 2012-07-08 00:28 -0500
                Re: Java processors Lew <noone@lewscanon.com> - 2012-07-07 23:00 -0700
                Re: Java processors BGB <cr88192@hotmail.com> - 2012-07-08 10:20 -0500
                Re: Java processors Lew <noone@lewscanon.com> - 2012-07-08 09:16 -0700
                Re: Java processors Martin Gregorie <martin@address-in-sig.invalid> - 2012-07-08 17:46 +0000
                Re: Java processors Lew <noone@lewscanon.com> - 2012-07-08 11:52 -0700
                Re: Java processors Martin Gregorie <martin@address-in-sig.invalid> - 2012-07-08 21:41 +0000
                Re: Java processors Lew <noone@lewscanon.com> - 2012-07-08 17:56 -0700
                Re: Java processors Roedy Green <see_website@mindprod.com.invalid> - 2012-07-08 19:44 -0700
                Re: Java processors Lew <noone@lewscanon.com> - 2012-07-09 23:41 -0700
                Re: Java processors David Lamb <dalamb@cs.queensu.ca> - 2012-07-16 13:22 -0400
                Re: Java processors Lew <lewbloch@gmail.com> - 2012-07-16 14:03 -0700
                Re: Java processors Roedy Green <see_website@mindprod.com.invalid> - 2012-07-08 19:42 -0700
                Re: Java processors Daniele Futtorovic <da.futt.news@laposte-dot-net.invalid> - 2012-07-10 01:13 +0200
                Re: Java processors Lew <lewbloch@gmail.com> - 2012-07-09 16:26 -0700
                Re: Java processors Roedy Green <see_website@mindprod.com.invalid> - 2012-07-11 15:41 -0700
                Re: Java processors Daniele Futtorovic <da.futt.news@laposte-dot-net.invalid> - 2012-07-12 01:02 +0200
                Re: Java processors Wanja Gayk <brixomatic@yahoo.com> - 2012-07-21 18:46 +0200
                Re: Java processors Eric Sosman <esosman@ieee-dot-org.invalid> - 2012-07-21 13:05 -0400
                Re: Java processors Wanja Gayk <brixomatic@yahoo.com> - 2012-07-21 19:23 +0200
                Re: Java processors Eric Sosman <esosman@ieee-dot-org.invalid> - 2012-07-21 14:10 -0400
                Re: Java processors Wanja Gayk <brixomatic@yahoo.com> - 2012-07-23 01:17 +0200
                Re: Java processors Eric Sosman <esosman@ieee-dot-org.invalid> - 2012-07-22 20:15 -0400
                Re: Java processors Daniele Futtorovic <da.futt.news@laposte-dot-net.invalid> - 2012-07-22 15:13 +0200
                Re: Java processors Roedy Green <see_website@mindprod.com.invalid> - 2012-07-06 19:03 -0700
                Re: Java processors Roedy Green <see_website@mindprod.com.invalid> - 2012-07-08 19:51 -0700
              Re: Java processors Roedy Green <see_website@mindprod.com.invalid> - 2012-07-07 21:17 -0700
                Re: Java processors Lew <noone@lewscanon.com> - 2012-07-07 23:04 -0700
                Re: Java processors Roedy Green <see_website@mindprod.com.invalid> - 2012-07-08 09:29 -0700
                Re: Java processors Lew <noone@lewscanon.com> - 2012-07-08 11:57 -0700
            Re: Java processors Wanja Gayk <brixomatic@yahoo.com> - 2012-07-08 15:40 +0200
              Re: Java processors BGB <cr88192@hotmail.com> - 2012-07-08 10:36 -0500
          Re: Java processors Lew <lewbloch@gmail.com> - 2012-07-06 11:31 -0700
      Re: Java processors Jim Janney <jjanney@shell.xmission.com> - 2012-07-05 13:02 -0600
        Re: Java processors BGB <cr88192@hotmail.com> - 2012-07-05 16:09 -0500
        Re: Java processors Jan Burse <janburse@fastmail.fm> - 2012-07-06 01:29 +0200
          Re: Java processors Martin Gregorie <martin@address-in-sig.invalid> - 2012-07-06 00:42 +0000
            Re: Java processors Roedy Green <see_website@mindprod.com.invalid> - 2012-07-06 13:53 -0700
              Re: Java processors Martin Gregorie <martin@address-in-sig.invalid> - 2012-07-06 21:18 +0000
                Re: Java processors Eric Sosman <esosman@ieee-dot-org.invalid> - 2012-07-06 18:17 -0400
                Re: Java processors Martin Gregorie <martin@address-in-sig.invalid> - 2012-07-06 22:29 +0000
                Re: Java processors Roedy Green <see_website@mindprod.com.invalid> - 2012-07-06 19:10 -0700
                Re: Java processors BGB <cr88192@hotmail.com> - 2012-07-07 09:42 -0500
                Re: Java processors Eric Sosman <esosman@ieee-dot-org.invalid> - 2012-07-07 10:58 -0400
                (OT) Was: Re: Java processors Eric Sosman <esosman@ieee-dot-org.invalid> - 2012-07-07 11:38 -0400
                Re: (OT) Was: Re: Java processors Gene Wirchenko <genew@ocis.net> - 2012-07-07 21:19 -0700
                Re: (OT) Was: Re: Java processors "Peter J. Holzer" <hjp-usenet2@hjp.at> - 2012-07-08 12:15 +0200
                Re: Java processors Gene Wirchenko <genew@ocis.net> - 2012-07-07 21:17 -0700
          Re: Java processors Jim Janney <jjanney@shell.xmission.com> - 2012-07-05 19:14 -0600
        Re: Java processors Roedy Green <see_website@mindprod.com.invalid> - 2012-07-06 13:34 -0700
          Re: Java processors Jan Burse <janburse@fastmail.fm> - 2012-07-06 23:04 +0200
            Re: Java processors Silvio Bierman <silvio@moc.com> - 2012-07-07 00:13 +0200
              Re: Java processors Roedy Green <see_website@mindprod.com.invalid> - 2012-07-06 19:16 -0700
                Re: Java processors "Peter J. Holzer" <hjp-usenet2@hjp.at> - 2012-07-08 11:37 +0200
      Re: Java processors Roedy Green <see_website@mindprod.com.invalid> - 2012-07-06 13:24 -0700
        Re: Java processors BGB <cr88192@hotmail.com> - 2012-07-07 10:06 -0500
  Re: Java processors Roedy Green <see_website@mindprod.com.invalid> - 2012-07-06 05:22 -0700

csiph-web