RFR: 8274196: Crashes in VM_HeapDumper::work after JDK-8252842 [v4]
Lin Zang
lzang at openjdk.java.net
Mon Sep 27 14:28:47 UTC 2021
On Mon, 27 Sep 2021 13:06:57 GMT, Per Liden <pliden at openjdk.org> 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
More information about the serviceability-dev
mailing list