RFR(XS): 8078243: Fix include of stack.inline.hpp in taskqueue.hpp.
Stefan Karlsson
stefan.karlsson at oracle.com
Tue Apr 21 14:29:42 UTC 2015
On 2015-04-21 15:27, Lindenmaier, Goetz wrote:
> Hi Stefan,
>
> removing the include of psScavenge.inline.hpp from vmPSOperations.cpp
> helps.
> This is not a real fix of the taskqueue issue, but fine with 8076177 coming up - especially
> as it reduces dependencies and needs not be reverted with 8076177.
> http://cr.openjdk.java.net/~goetz/webrevs/8078243-pchBld2/webrev.02/
Looks good, I'll sponsor this. Thanks for using this workaround-fix.
Thanks,
StefanK
>
> Best regards,
> Goetz.
>
>
>
> -----Original Message-----
> From: Stefan Karlsson [mailto:stefan.karlsson at oracle.com]
> Sent: Dienstag, 21. April 2015 13:53
> To: Lindenmaier, Goetz; hotspot-dev at openjdk.java.net; hotspot-gc-dev at openjdk.java.net
> Subject: Re: RFR(XS): 8078243: Fix include of stack.inline.hpp in taskqueue.hpp.
>
>
>
> 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