RFR(XL): 8224675: Late GC barrier insertion for ZGC

Nils Eliasson nils.eliasson at oracle.com
Fri May 24 09:41:22 UTC 2019


Hi Per,

I removed the code and updated the webrev.

Thanks,

Nils

On 2019-05-23 21:32, Per Liden wrote:
> Hi Nils,
>
> On 2019-05-23 16:25, Nils Eliasson wrote:
> [...]
>> The wart that was fixup_partial_loads in zHeap has also been made 
>> redundant.
>
> We should also be able to remove the function, task and closure for this:
>
>  327 class ZFixupPartialLoadsClosure : public ZRootsIteratorClosure {
>  328 public:
>  329   virtual void do_oop(oop* p) {
>  330     ZBarrier::mark_barrier_on_root_oop_field(p);
>  331   }
>  332
>  333   virtual void do_oop(narrowOop* p) {
>  334     ShouldNotReachHere();
>  335   }
>  336 };
>  337
>  338 class ZFixupPartialLoadsTask : public ZTask {
>  339 private:
>  340   ZThreadRootsIterator _thread_roots;
>  341
>  342 public:
>  343   ZFixupPartialLoadsTask() :
>  344       ZTask("ZFixupPartialLoadsTask"),
>  345       _thread_roots() {}
>  346
>  347   virtual void work() {
>  348     ZFixupPartialLoadsClosure cl;
>  349     _thread_roots.oops_do(&cl);
>  350   }
>  351 };
>  352
>  353 void ZHeap::fixup_partial_loads() {
>  354   ZFixupPartialLoadsTask task;
>  355   _workers.run_parallel(&task);
>  356 }
>
> cheers,
> Per
>
>> Testing:
>>
>> Hotspot tier 1-6, CTW, jcstress, micros, runthese, kitchensink, and 
>> then some. All with -XX:+ZVerifyViews.
>>
>> Bug: https://bugs.openjdk.java.net/browse/JDK-8224675
>>
>> Webrev: http://cr.openjdk.java.net/~neliasso/8224675/webrev.01/
>>
>>
>> Please review,
>>
>> Regards,
>>
>> Nils
>>


More information about the hotspot-compiler-dev mailing list