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

Reply via email to