RFR(XL): 8224675: Late GC barrier insertion for ZGC
Per Liden
per.liden at oracle.com
Thu May 23 19:32:42 UTC 2019
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