RFR: Fix merge error in ShenandoahFullGC

Ron Pressler rpressler at openjdk.java.net
Mon Feb 15 10:37:50 UTC 2021


On Fri, 12 Feb 2021 21:33:43 GMT, Roman Kennke <rkennke at openjdk.org> wrote:

> In the code section that is changed here, we originally had in Loom:
> 
> old_obj->copy_conjoint(heap->get_region(new_start)->bottom(),
>                                        ShenandoahHeapRegion::region_size_words()*num_regions);
> 
> However this was wrong because the size exceeded the object size. This apparently came from original upstream:
> Copy::aligned_conjoint_words(heap->get_region(old_start)->bottom(),
>                                    heap->get_region(new_start)->bottom(),
>                                    ShenandoahHeapRegion::region_size_words()*num_regions);
> 
> 
> I recently fixed that in upstream to use the object size instead:
> 
> Copy::aligned_conjoint_words(heap->get_region(old_start)->bottom(),
>                                    heap->get_region(new_start)->bottom(),
>                                    words_size);
> 
> 
> Which has been wrongly merged as-is into loom. This patch restores the original version that has been in Loom, with the change to use object size instead of region size.
> 
> Testing:
>  - [ ] hotspot_gc_shenandoah
>  - [x] java/lang/Continuation (-XX:+UseShenandoahGC)
>  - [x] java/lang/Thread/virtual (-XX:+UseShenandoahGC)

@rkennke Would you like to integrate this PR now?

-------------

PR: https://git.openjdk.java.net/loom/pull/31


More information about the loom-dev mailing list