Home | Contact Us | FAQ | Search & Site Map | Link to Us
Sign In | Join | Other 45 Sites in Network
HomeAnnouncementsWhite Papers
Discussion GroupsFirst AidDatabasesJavaBeansGUIJava 3DVirtual MachineCORBASecurityToolsGeneral
Java DirectoryOpen Source ProjectsSample Book ChaptersUser GroupsWeb Resources
Related Topics
Databases.NETMore Topics ...

Java Forum / Tools / September 2004

Tip: Looking for answers? Try searching our database.

javac -server

Thread view: 
KAMANDI - 31 Aug 2004 17:36 GMT
Do you know -server option of the standard compiler javac ?
It seem make file exe very fast, why ?
Randall Schulz - 03 Sep 2004 05:52 GMT
Kamandi,

At Tuesday 31 August 2004 09:36 in comp.lang.java.softwaretools KAMANDI
wrote:

> Do you know -server option of the standard compiler javac ?
> It seem make file execute very fast, why ?

Quoting <URL:
http://java.sun.com/products/hotspot/docs/whitepaper/Java_Hotspot_v1.4.1/Java_HS
pot_WP_v1.4.1_1002_4.html
>

"Java HotSpot Client Compiler

"The Java HotSpot Client Compiler is a simple, fast three-phase compiler.
In the first phase, a platform-independent front end constructs a
high-level intermediate representation (HIR) from the bytecodes. In the
second phase, the platform-specific back end generates a low-level
intermediate representation (LIR) from the HIR.

"The final phase does peephole optimization on the LIR and generates
machine code from it. Emphasis is placed on extracting and preserving as
much information as possible from the bytecodes. It focuses on local code
quality and does very few global optimizations, since those are often the
most expensive in terms of compile time. It supports inlining any
function that has no exception handlers or synchronization, and also
supports deoptimization for debugging and inlining.

"Java HotSpot Server Compiler

"The server compiler is tuned for the performance profile of typical
server applications. The Java HotSpot Server Compiler is a high-end fully
optimizing compiler. It uses an advanced static single assignment
(SSA)-based IR for optimizations. The optimizer performs all the classic
optimizations, including dead code elimination, loop invariant hoisting,
common subexpression elimination, and constant propagation. It also
features optimizations more specific to Java technology, such as
null-check and range-check elimination. The register allocator is a
global graph coloring allocator and makes full use of large register sets
that are commonly found in RISC microprocessors. The compiler is highly
portable, relying on a machine description file to describe all aspects
of the target hardware. While the compiler is slow by JIT standards, it
is still much faster than conventional optimizing compilers. And the
improved code quality pays back the compile time by reducing execution
times for compiled code. The server compiler performs full inlining and
full deoptimization."

See the same page for the /deoptimization/ process mentioned in these
paragraphs.

Randall Schulz


Free Magazines

Get these publications absolutely FREE for up to 12 months. There are no hidden fees and no obligation. Simply choose a title, complete the application form and submit it. Read more ...

Oracle MagazineNetwork ComputingComputer WorldBio-IT WorldeWeekInformation WeekInfosecurity
 
Sign In
Join
My Latest Posts
My Monitored Threads
My Blog
My Photo Gallery
My Profile
My Homepage

Start New Thread
Enable EMail Alerts
Rate this Thread



©2008 Advenet LLC   Privacy Policy - Terms of Use
This website includes both content owned or controlled by Advenet as well as content owned or controlled by third parties.