RFR: Fix merge error in ShenandoahFullGC
Roman Kennke
rkennke at openjdk.java.net
Fri Feb 12 21:37:49 UTC 2021
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:
- [x] hotspot_gc_shenandoah
- [x] java/lang/Continuation (-XX:+UseShenandoahGC)
- [x] java/lang/Thread/virtual (-XX:+UseShenandoahGC)
-------------
Commit messages:
- Fix merge error in ShenandoahFullGC
Changes: https://git.openjdk.java.net/loom/pull/31/files
Webrev: https://webrevs.openjdk.java.net/?repo=loom&pr=31&range=00
Stats: 3 lines in 1 file changed: 0 ins; 1 del; 2 mod
Patch: https://git.openjdk.java.net/loom/pull/31.diff
Fetch: git fetch https://git.openjdk.java.net/loom pull/31/head:pull/31
PR: https://git.openjdk.java.net/loom/pull/31
More information about the loom-dev
mailing list