Build hotspot only in IcedTea after a complete build.

Gary Benson gbenson at redhat.com
Fri Aug 21 06:00:36 PDT 2009


Nagy Mostafa wrote:
> I am having trouble compiling hotspot only in IcedTea6. I build
> IcedTea with Zero as follows:
>
> ./configure --enable-zero; make;
>

> Now, I want to modify the bytecode interpreter.  What is the
> simplest way to compile hotspot only without compiling all of
> IcedTea.  I tried "make hotspot", but sometimes it doesn't detect
> my code changes and even worse the build breaks occasionally.

IcedTea has a two stage build when you configure it that way.  The
first stage is a bootstrap: it builds OpenJDK using GCJ and ECJ.
The bootstrapped OpenJDK lives in "openjdk-ecj".  The second stage
builds OpenJDK with the bootstrapped OpenJDK.  This final OpenJDK
lives in "openjdk".

The "make hotspot" rule in IcedTea rebuilds the HotSpot in the
bootstrap VM in "openjdk-ecj".  So, to use "make hotspot" you
need to do an initial build like this:

  ./configure --enable-zero
  make icedtea-against-ecj

This will build the bootstrap VM only.  Now you can edit the code
in "openjdk-ecj" and rebuild like this:

  make hotspot

> Also, how can you do a "make clean" for hotspot only.

The easiest way is this:

  rm -Rf openjdk-ecj/build/*/hotspot

...and then do "make hotspot" again.

Cheers,
Gary

-- 
http://gbenson.net/


More information about the hotspot-dev mailing list