Review request (s): 7116081: USE_PRECOMPILED_HEADER=0 triggers a single threaded build of the JVM

Stefan Karlsson stefan.karlsson at oracle.com
Wed Nov 30 00:39:20 PST 2011


On 11/29/2011 10:52 PM, David Holmes wrote:
> On 29/11/2011 6:47 PM, Stefan Karlsson wrote:
>> Updated webrev: http://cr.openjdk.java.net/~stefank/7116081/webrev.2/
>>
>> The rationale for this change is inlined:
> <snip>
>> While doing that I found another issue. In gcc.make we try to redefine
>> USE_PRECOMPILED_HEADER:
>>
>> 88 ifneq ($(USE_PRECOMPILED_HEADER),0)
>> 89 USE_PRECOMPILED_HEADER=1
>>
>>
>> That doesn't work,
>
> Why doesn't it work? We use similar logic elsewhere in the makefiles 
> to ensure that if a variable is defined then it has an explicit value 
> (0, 1, true or false etc).

The variable wasn't overridden since it was specified on the command 
line, but I guess we could have used the 'override' keyword:
http://www.gnu.org/software/make/manual/make.html#Override-Directive

>
>> so setting USE_PRECOMPILED_HEADER=<arbitrary string
>> (not 0)> on the command line will leave the precompiled headers on, but
>> later logic:
>>
>> 219 ifneq ($(USE_PRECOMPILED_HEADER),1)
>> 220 CFLAGS += -DDONT_USE_PRECOMPILED_HEADER
>>
>> will empty the precompiled.hpp file. From precompiled.hpp:
>>
>> // Precompiled headers are turned off for Sun Studion,
>> // or if the user passes USE_PRECOMPILED_HEADER=0 to the makefiles.
>> #ifndef DONT_USE_PRECOMPILED_HEADER
>>
>> In the new webrev I've changed all places where we read
>> USE_PRECOMPILED_HEADER to always compare against 0.
>
> That makes sense.
>
> Looks good to me.

Thanks for the review,
StefanK

>
> David
> -----
>
>> thanks,
>> StefanK
>>
>>>
>>>
>>> The removal of:
>>>
>>> PrecompiledOption = -DUSE_PRECOMPILED_HEADER
>>>
>>> seems okay.
>>>
>>> Cheers,
>>> David
>>>
>>>
>>



More information about the hotspot-dev mailing list