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

Stefan Karlsson stefan.karlsson at oracle.com
Tue Apr 21 11:52:34 UTC 2015


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.

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