RFR(XS): 8078243: Fix include of stack.inline.hpp in taskqueue.hpp.

Stefan Karlsson stefan.karlsson at oracle.com
Tue Apr 21 11:53:16 UTC 2015



On 2015-04-21 13:52, Stefan Karlsson wrote:
> On 2015-04-21 12:04, Stefan Karlsson wrote:
>> Hi Goetz,
>>
>> On 2015-04-21 10:20, Lindenmaier, Goetz wrote:
>>>
>>> Hi,
>>>
>>> another include that’s missing.  This time it breaks aix only, would 
>>> not have been
>>>
>>> detected by non-pch build J
>>>
>>> taskqueue.hpp calls Stack::push(), thus it must include 
>>> stack.inline.hpp.
>>>
>>> Compilation of parallelScavenge/vmPSOperations.cpp failed.
>>>
>>> Please review this tiny change.  I also please need a sponsor.
>>>
>>> http://cr.openjdk.java.net/~goetz/webrevs/8078243-pchBld2/webrev.01/ 
>>> <http://cr.openjdk.java.net/%7Egoetz/webrevs/8078243-pchBld2/webrev.01/> 
>>>
>>>
>>
>> I understand that this is an easy fix, but I don't want 
>> stack.inline.hpp to be added to the hpp file. The preferred fix would 
>> be extract the offending push function out of the taskqueue.hpp file 
>> and put it in a new file called taskqueue.inline.hpp. I created a RFE 
>> for that a couple of weeks ago:
>>
>> https://bugs.openjdk.java.net/browse/JDK-8076177 - Remove usage of 
>> stack.inline.hpp functions from taskqueue.hpp
>
> Here's an example of what it would take to move the push functions out 
> to taskqueue.inline.hpp. Only compiled locally on my machine. I had to 
> move some functions from PSParallelCompact to ParCompactionManager to 
> get rid of a circular dependency between the two classes. That would 
> probably be done as a separate RFE.

And the link:
http://cr.openjdk.java.net/~stefank/8076177/webrev.poc.01

StefanK

>
>
> StefanK
>
>>
>> Until someone takes care about 8076177, could you workaround the 
>> compile error by including stack.inline.hpp in vmPSOperations.cpp? Do 
>> you know what in vmPSOperations.cpp depends on taskqueue.hpp? I can't 
>> find anything, but I see that we include psScavenge.inline.hpp, which 
>> includes taskqueue.hpp via psPromotionManager.inline.hpp and 
>> psPromotionManager.hpp. Maybe you could workaround the problem by 
>> removing the "#include .../psScavenge.inline.hpp" line, which isn't 
>> needed by vmPSOperations.cpp?
>>
>> Thanks,
>> StefanK
>>
>>> Best regards,
>>>
>>>   Goetz.
>>>
>>
>




More information about the hotspot-gc-dev mailing list