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

Lindenmaier, Goetz goetz.lindenmaier at sap.com
Tue Apr 21 13:27:21 UTC 2015


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/

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-dev mailing list