8189360: JvmtiExport::weak_oops_do is called for all JNIHandleBlock instances

Kim Barrett kim.barrett at oracle.com
Tue Oct 17 19:55:06 UTC 2017


> On Oct 16, 2017, at 11:40 AM, Stefan Karlsson <stefan.karlsson at oracle.com> wrote:
> 
> Hi all,
> 
> Please review this patch to move the call of the static JvmtiExport::weak_oops_do out of the JNIHandleBlock::weak_oops_do member function into the new WeakProcessor.
> 
> Today, this isn't causing any bugs because there's only one instance of JNIHandleBlock, the _weak_global_handles. However, in prototypes with more than one JNIHandleBlock, this results in multiple calls to JvmtiExport::weak_oops_do.
> 
> http://cr.openjdk.java.net/~stefank/8189360/webrev.00/
> https://bugs.openjdk.java.net/browse/JDK-8189360
> 
> This patch builds upon the patch in:
> http://mail.openjdk.java.net/pipermail/hotspot-dev/2017-October/028684.html
> 
> Tested with JPRT.
> 
> Thanks,
> StefanK

src/hotspot/share/runtime/jniHandles.cpp
Maybe remove #include “prims/jvmtiExport.hpp” ?

Otherwise looks good.  I don’t need another webrev for that #include removal.



More information about the hotspot-dev mailing list