RFR: 8254315: Shenandoah: Concurrent weak reference processing [v10]

Roman Kennke rkennke at openjdk.java.net
Thu Oct 22 16:04:26 UTC 2020


On Thu, 22 Oct 2020 12:20:24 GMT, Zhengyu Gu <zgu at openjdk.org> wrote:

>> I think it's clearer as it is. The motivation for this is that native references are always oops, while weak reference's referents can be oops or narrowOops. Which means that we need to call a different method for native-refs (the always-oops entry point).
>> The interesting differentiator is native vs. not-native, because one is always-oops, the other can be narrowOop. Weak vs not-weak is not as clear because there can also be weak/phantom native-refs.
>
> The weird part is the method name, load_reference_barrier_**native**(), then you have parameter says that it may not be a native load and the parameter does nothing to hint the possible type differential. How about may_narrow_oop?

Ok I renamed the argument. It is indeed better to decouple the meanings there native <-> narrow/wide.

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

PR: https://git.openjdk.java.net/jdk/pull/505


More information about the shenandoah-dev mailing list