Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > comp.lang.java.programmer > #15879
| 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> |
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 | Next — Previous in thread | Next in thread | Find similar | Unroll 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