Review request (XS): 7167437 - Can't build on linux without precompiled headers

Stefan Karlsson stefan.karlsson at
Thu May 10 17:31:53 UTC 2012

On 2012-05-10 18:48, John Coomes wrote:
> Stefan Karlsson (stefan.karlsson at wrote:
>> The inline function set_concurrent_iteration_safe_limit is not available
>> when building binaryTreeDictionary.cpp. This breaks the build when
>> compiling with USE_PRECOMPILED_HEADER=0.
>> I moved the simple implementation to the .hpp file instead of the
>> .inline.hpp file.
> Change looks fine.


> I'm curious why it's necessary - Solaris compiles without pch.

The last time I encountered a similar problem the inline.hpp file was 
included after the usage for the inline function. The Sun Studio 
compiler seems to handle it but GCC complains.

>    Would
> including space.inline.hpp in binaryTreeDictionary.cpp (or .hpp) also
> solve it?

Yes, but it's not apparent from the code in binaryTreeDictionary.cpp 
that it will end up using  set_concurrent_iteration_safe_limit.

A better solution, IMHO, is to not have calls in hpp files going to 
functions in inline.hpp files. This will also help us reduce the amount 
of dependencies and implementation code in the hpp files. Last time I 
checked almost all cpp files brought in around 400 hpp files.


> -John

More information about the hotspot-gc-dev mailing list