On Mon, 27 Sep 2021 13:06:57 GMT, Per Liden <[email protected]> wrote:
>> Lin Zang has updated the pull request incrementally with one additional
>> commit since the last revision:
>>
>> remove redundant empty line
>
> src/hotspot/share/services/heapDumper.cpp line 1601:
>
>> 1599: void JNILocalsDumper::do_oop(oop* obj_p) {
>> 1600: // ignore null handles
>> 1601: oop o = NativeAccess<AS_NO_KEEPALIVE>::oop_load(obj_p);
>
> The JNI Local roots do not need a load barrier, only JNI Global roots need
> that. The JNI Local roots are processed on safepoint entry as part of the
> "thread head" (via
> `ZStackWatermark::ZStackWatermark::start_processing_impl()` ->
> `Thread::oops_do_no_frames()`), so once you are in
> `VM_HeapDumper::do_thread()` the JNI Local roots have already passed a load
> barrier.
Get it, Thanks!
-------------
PR: https://git.openjdk.java.net/jdk/pull/5681