RFR: JDK-8152666: The new Hotspot Build System
Erik Joelsson
erik.joelsson at oracle.com
Fri Mar 25 08:03:58 UTC 2016
Hello,
Here is the initial review for the new Hotspot Build System, as
described in " JEP 284: New HotSpot Build System". This patch adds the
new build system along side the old and makes the new system the
default. The old build system will remain for a (hopefully) short while
until we feel confident it is no longer needed. This enables us to iron
out any details that we might have missed with minimal disruption for
the users. The goal is to remove the old system after one week of the
new going in. During that time, both build systems will have to be kept
in sync. For that to be possible, all changes touching anything in the
make directory need to be reviewed by me.
In this patch, the makefiles for the new build system are located in
hotspot/makefiles. When we apply the second phase, where we remove the
old build system, the new will move into the proper hotspot/make directory.
To activate the old build system after this patch has been applied, use
the configure arg "--disable-new-hotspot-build".
For more information about how the new build works and how to interact
with it, Magnus wrote a document that is still relevant:
http://hg.openjdk.java.net/build-infra/jdk9/file/tip/support/new-hotspot-build.md
The main method of verification for this patch has been running the
compare.sh script to verify that the output is equivalent to the old
build in as many cases as possible. In most configurations we have
reached a high level of confidence that we produce equivalent binaries,
but there are some exceptions that should be mentioned:
* Solaris sparcv9 slowdebug produces differences when comparing
disassembly output from libjvm.so. I have not been able to find any
meaningful differences in compiler or linker flags to explain this.
* Windows server jvm.dll ends up with some functions in different order
in the disassembly output. From what I can tell, the bits are otherwise
equivalent.
We have also run the runtime nightlies with no notable failures.
This is a pretty big patch and I expect it to take some time to get
properly reviewed. It contains contributions from Magnus Ihse Bursie,
Erik Joelsson and Ingemar Åberg.
Bug: https://bugs.openjdk.java.net/browse/JDK-8152666
Webrev: http://cr.openjdk.java.net/~erikj/8152666/webrev.01/index.html
/Erik
More information about the hotspot-dev
mailing list