Mercurial > hg > icedtea8-forest > hotspot
changeset 10909:306a4643e4d2 jdk8u292-b03
8260930: AARCH64: Invalid value passed to critical JNI function
Reviewed-by: vlivanov, aph
author | dchuyko |
---|---|
date | Fri, 01 Dec 2017 18:20:00 +0300 |
parents | 6ea5a8067d1f |
children | 3d2970e26c36 |
files | src/cpu/aarch64/vm/sharedRuntime_aarch64.cpp src/cpu/aarch64/vm/vm_version_aarch64.cpp test/compiler/criticalnatives/argumentcorruption/Test8167409.sh |
diffstat | 3 files changed, 14 insertions(+), 1 deletions(-) [+] |
line wrap: on
line diff
--- a/src/cpu/aarch64/vm/sharedRuntime_aarch64.cpp Mon Feb 08 06:17:34 2021 +0000 +++ b/src/cpu/aarch64/vm/sharedRuntime_aarch64.cpp Fri Dec 01 18:20:00 2017 +0300 @@ -1545,7 +1545,7 @@ // critical natives they are offset down. GrowableArray<int> arg_order(2 * total_in_args); VMRegPair tmp_vmreg; - tmp_vmreg.set1(r19->as_VMReg()); + tmp_vmreg.set2(r19->as_VMReg()); if (!is_critical_native) { for (int i = total_in_args - 1, c_arg = total_c_args - 1; i >= 0; i--, c_arg--) {
--- a/src/cpu/aarch64/vm/vm_version_aarch64.cpp Mon Feb 08 06:17:34 2021 +0000 +++ b/src/cpu/aarch64/vm/vm_version_aarch64.cpp Fri Dec 01 18:20:00 2017 +0300 @@ -327,4 +327,11 @@ g.generate_getPsrInfo()); get_processor_features(); + + if (CriticalJNINatives) { + if (FLAG_IS_CMDLINE(CriticalJNINatives)) { + warning("CriticalJNINatives specified, but not supported in this VM"); + } + FLAG_SET_DEFAULT(CriticalJNINatives, false); + } }
--- a/test/compiler/criticalnatives/argumentcorruption/Test8167409.sh Mon Feb 08 06:17:34 2021 +0000 +++ b/test/compiler/criticalnatives/argumentcorruption/Test8167409.sh Fri Dec 01 18:20:00 2017 +0300 @@ -62,6 +62,12 @@ ;; esac +# CriticalJNINatives is not supported for aarch64 +if [ $VM_CPU == "aarch64" ]; then + echo "Test Passed" + exit 0; +fi + THIS_DIR=. cp ${TESTSRC}${FS}*.java ${THIS_DIR}