We REALLY nead a NON-PCH build in JPRT NOW!

Stefan Karlsson stefan.karlsson at oracle.com
Fri Apr 3 06:39:29 UTC 2015

On 2015-04-03 03:04, David Holmes wrote:
> On 3/04/2015 2:06 AM, Volker Simonis wrote:
>> Hi,
>> while precompiled headers (PCH) are a nice and effective way of
>> improving hotspot build times this feature also drastically increases
> IIUC PCH benefits incremental build times, not clean builds. It's 
> useful for developer builds but not JPRT builds (or any official build).

I don't think this is the case. Usually incremental builds with PCH 
force you to "unnecessarily" recompile more files than you really have 
to. If I know that I'm doing a lot of incremental changes to header 
files, I usually turn off PCH.


>> the risk of introducing missing dependencies into the source base.
>> This is especially annoying on platforms where precompield headers
>> aren't available at all.
>> In the last two weeks we had two cases [1,2] of such missing
>> dependencies which haven't been caught by JPRT because JPRT uses the
>> default platform settings and thus always uses PCHs on all platforms
>> where they are supported.
>> I want to strongly advocate for a change in the JPRT configurations
>> such that at least on one Windows and one Linux platform the automatic
>> pre-integration builds are done with
>> "--with-debug-level=[slow/fast]debug --disable-precompiled-headers".
> One of the main areas where PCH hides problems is with the minimal VM, 
> unfortunately the only builds that build the minimal VM are the 
> embedded builds. Arguably we could add the minimal VM to a linux x86 
> build but we need to look at overall build times etc before making 
> that the default.
> David
>> This simple change which comes at the minor cost of a few CPU-cycles
>> will save a big amount of (hopfully) much more precious developer
>> cycles and at the same time considerably improve the code quality.
>> Notice that I intentionally ask for a *debug build without PCHs
>> because debug builds exercise much more source code and are
>> specifically prone to missing include dependency errors.
>> As this change can only be decided upon and implemented inside Oracle
>> I hereby kindly ask for an appropriate sponsor.
>> Thank you and best regards,
>> Volker
>> [1]
>> Introduced by: https://bugs.openjdk.java.net/browse/JDK-8075416
>> Fixed by: https://bugs.openjdk.java.net/browse/JDK-8075735
>> [2]
>> Introduced by: https://bugs.openjdk.java.net/browse/JDK-8076314
>> Fix proposed: 
>> http://mail.openjdk.java.net/pipermail/hotspot-gc-dev/2015-April/012659.html

More information about the hotspot-dev mailing list