RFR: 8078345: Move PSParallelCompact::mark_and_push to ParCompactionManager

Stefan Karlsson stefan.karlsson at oracle.com
Wed Apr 22 08:30:37 UTC 2015


Hi,

Please review this patch to move code out from PSParallelCompact into 
ParCompactionManager.

There is a circular dependency between between PSParallelCompact and 
ParCompactionManager that makes it hard to move 
ParCompactionManager::push to psCompactionManager.inline.hpp, something 
that we need for JDK-8076177 
<https://bugs.openjdk.java.net/browse/JDK-8076177>.

The circular dependency can be seen with:
  <the follow contents functions in psCompactionManager.cpp>
   PSParallelCompact::mark_and_push
    ParCompactionManager::push

The suggested fix is to make mark_and_push a member of 
ParCompactionManager. The implementation already takes a 
ParCompactionManager as the first argument and it's used by other 
ParCompactionManager specific functions.

The fix also moves the rest of the follow_* functions so that all 
marking code, which is done in multiple threads using separate 
ParCompactionManagers, are held together.

http://cr.openjdk.java.net/~stefank/8078345/webrev.01/
https://bugs.openjdk.java.net/browse/JDK-8078345

Thanks,
StefanK
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://mail.openjdk.org/pipermail/hotspot-gc-dev/attachments/20150422/b31daf88/attachment.htm>


More information about the hotspot-gc-dev mailing list