RFR: 8146989: Introduce per-worker preserved mark stacks in ParNew

Tony Printezis tprintezis at twitter.com
Mon Feb 8 21:16:20 UTC 2016


Thomas,

Latest changes:

http://cr.openjdk.java.net/~tonyp/8146989/webrev.4/

BTW, I moved do_object() to the .cpp file instead of the .inline.hpp file (it’s virtual, so it won’t be inlined anyway).

Tony

On February 8, 2016 at 2:56:56 PM, Tony Printezis (tprintezis at twitter.com) wrote:

Thanks Thomas, I’ll fix those and post a new webrev shortly...

Tony

On February 8, 2016 at 10:56:56 AM, Thomas Schatzl (thomas.schatzl at oracle.com) wrote:

Hi,

On Mon, 2016-02-08 at 09:49 -0500, Tony Printezis wrote:
> Thanks Thomas. Also, if you could do a JPRT run I’d very much
> appreciate it.

that is of course part of it.

It found two issues:
- RemoveForwardedPointerClosure::do_object() needs to be moved to the
preservedMarks.inline.hpp as it uses oopDesc::is_forwarded() and
init(). Then also oop.inline.hpp needs to be included there.

- PreservedMarksSet::reclaim() needs to call
~Padded<Preservedmarks>(), not just ~PreservedMarks.

>
> FWIW, I tested it with doing many runs of all the usual test suites
> with -XX:+PromotionFailureALot -XX:PromotionFailureALotCount=150
> -XX:PromotionFailureALotInterval=2 and this cause a bunch of
> promotion failures. I didn’t see any issues.
>
> I also have the ParallelScavenge changes done (using the abstractions
> introduced here). I’ll open those for code review when this is done.

Thanks,
Thomas


-----

Tony Printezis | JVM/GC Engineer / VM Team | Twitter

@TonyPrintezis
tprintezis at twitter.com

-----

Tony Printezis | JVM/GC Engineer / VM Team | Twitter

@TonyPrintezis
tprintezis at twitter.com

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://mail.openjdk.org/pipermail/hotspot-gc-dev/attachments/20160208/311ce81b/attachment.htm>


More information about the hotspot-gc-dev mailing list