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