RFR: 8166188: G1 Needs pre barrier on dereference of weak JNI handles

Daniel D. Daugherty daniel.daugherty at oracle.com
Wed Feb 15 16:34:04 UTC 2017


On 2/12/17 9:25 PM, Kim Barrett wrote:
> Here's the updated webrevs, incorporating feedback received so far.
>
> full: http://cr.openjdk.java.net/~kbarrett/8166188/hotspot.05/


src/share/vm/runtime/javaCalls.hpp
     No comments.

src/share/vm/runtime/javaCalls.cpp
     No comments.

src/share/vm/runtime/jniHandles.hpp
     No comments.

src/share/vm/runtime/jniHandles.cpp
     No comments.

src/share/vm/prims/jni.cpp
     No comments.

src/share/vm/prims/jvmtiEnv.cpp
     No comments.

make/test/JtregNative.gmk
     No comments.

src/cpu/aarch64/vm/sharedRuntime_aarch64.cpp
     No comments.

src/cpu/aarch64/vm/templateInterpreterGenerator_aarch64.cpp
     No comments.

src/cpu/arm/vm/interp_masm_arm.cpp
     No comments.

src/cpu/arm/vm/interp_masm_arm.hpp
     No comments.

src/cpu/arm/vm/macroAssembler_arm.cpp
     No comments.

src/cpu/arm/vm/macroAssembler_arm.hpp
     No comments.

src/cpu/arm/vm/sharedRuntime_arm.cpp
     No comments.

src/cpu/arm/vm/templateInterpreterGenerator_arm.cpp
     No comments.

src/cpu/ppc/vm/frame_ppc.cpp
     No comments.

src/cpu/ppc/vm/sharedRuntime_ppc.cpp
     No comments.

src/cpu/ppc/vm/templateInterpreterGenerator_ppc.cpp
     No comments.

src/cpu/s390/vm/sharedRuntime_s390.cpp
     No comments.

src/cpu/s390/vm/templateInterpreterGenerator_s390.cpp
     No comments.

src/cpu/sparc/vm/sharedRuntime_sparc.cpp
     No comments.

src/cpu/sparc/vm/templateInterpreterGenerator_sparc.cpp
     No comments.

src/cpu/x86/vm/macroAssembler_x86.cpp
     No comments.

src/cpu/x86/vm/macroAssembler_x86.hpp
     No comments.

src/cpu/x86/vm/sharedRuntime_x86_32.cpp
     No comments.

src/cpu/x86/vm/sharedRuntime_x86_64.cpp
     No comments.

src/cpu/x86/vm/templateInterpreterGenerator_x86.cpp
     No comments.

src/cpu/zero/vm/cppInterpreter_zero.cpp
     No comments.

src/share/vm/shark/sharkNativeWrapper.cpp
     No comments.

test/runtime/jni/CallWithJNIWeak/CallWithJNIWeak.java
     No comments.

test/runtime/jni/CallWithJNIWeak/libCallWithJNIWeak.c
     No comments.

test/runtime/jni/ReturnJNIWeak/ReturnJNIWeak.java
     No comments.

test/runtime/jni/ReturnJNIWeak/libReturnJNIWeak.c
     No comments.

Thumbs up!

Dan


> incr: http://cr.openjdk.java.net/~kbarrett/8166188/hotspot.05.inc/
>
> For x86 and ARM I added resolve_jobject functions to their respective
> macroAssembler files, and call those to generate the return object
> handling code.  Merging the two cases for Sparc is harder and I'm
> going to leave it to someone else.  I'm also leaving any such merging
> for other (non-Oracle) ports to their respective maintainers.
>
> Rewrote the error checking in SignatureChekker::check_obj to simplify
> the control flow and provide more information.  Rather than
> conditionally selecting between ReportJNIFatalError or assert to
> report problems, instead just always use guarantee.  Recall that we
> only get here if CheckJNICalls or in a debug build.  This made
> SignatureChekker::_thread unused, so removed it.
>



More information about the ppc-aix-port-dev mailing list