RFR: Eliminating string dedup dependency on the second bitmap
Roman Kennke
rkennke at redhat.com
Fri Oct 27 15:59:29 UTC 2017
Am 27.10.2017 um 17:53 schrieb Zhengyu Gu:
> By pre-evacuating String dedup table, and using read/write barriers to
> keep dedup table consistent, we can eliminate the dependency on
> completed bitmap during piggyback UR phase.
>
> Webrev:
> http://cr.openjdk.java.net/~zgu/shenandoah/strdedup_prev_evac/webrev.00/index.html
>
> Test:
> hotspot_gc_shenandoah (fastdebug + release)
>
> Thanks,
>
> -Zhengyu
typeArrayOop obj() {
- return _obj;
+ return typeArrayOop(oopDesc::bs()->read_barrier(_obj));
}
typeArrayOop* obj_addr() {
return &_obj;
}
void set_obj(typeArrayOop obj) {
- _obj = obj;
+ _obj = typeArrayOop(oopDesc::bs()->write_barrier(obj));
}
You're not reading/writing anything *to* the object. Therefore it looks wrong to do those barriers there.
+class ShenandoahEvacuateUpdateRefsClosure: the sounds like it may clash
with something that already exists. Can you check that? Romn
More information about the shenandoah-dev
mailing list