diff --git a/make/Docs.gmk b/make/Docs.gmk index 3b98ef17c15..65200f22512 100644 --- a/make/Docs.gmk +++ b/make/Docs.gmk @@ -228,7 +228,7 @@ define create_overview_file
\ # $1_OVERVIEW_TEXT += $$(foreach g, $$($1_GROUPS), \ -
- $$($$g_GROUP_NAME)
\ +- $$($$g_GROUP_NAME)
\- $$($$g_GROUP_DESCRIPTION)
\ ) $1_OVERVIEW_TEXT += \ diff --git a/make/gensrc/GensrcVarHandles.gmk b/make/gensrc/GensrcVarHandles.gmk index 2f9e4bd928d..bb56afac7a0 100644 --- a/make/gensrc/GensrcVarHandles.gmk +++ b/make/gensrc/GensrcVarHandles.gmk @@ -53,8 +53,8 @@ define GenerateVarHandle endif $$($1_FILENAME): $(VARHANDLES_SRC_DIR)/X-VarHandle.java.template $(BUILD_TOOLS_JDK) - ifeq ($$($1_Type), Object) - $$(eval $1_type := $$($1_Type)) + ifeq ($$($1_Type), Reference) + $$(eval $1_type := Object) else $$(eval $1_type := $$$$(shell $(TR) '[:upper:]' '[:lower:]' <<< $$$$($1_Type))) endif @@ -158,7 +158,7 @@ endef ################################################################################ # List the types to generate source for, with capitalized first letter -VARHANDLES_TYPES := Boolean Byte Short Char Int Long Float Double Object +VARHANDLES_TYPES := Boolean Byte Short Char Int Long Float Double Reference $(foreach t, $(VARHANDLES_TYPES), \ $(eval $(call GenerateVarHandle,VAR_HANDLE_$t,$t))) diff --git a/src/hotspot/share/c1/c1_Compiler.cpp b/src/hotspot/share/c1/c1_Compiler.cpp index 6ed4a29a48e..c3b1547900f 100644 --- a/src/hotspot/share/c1/c1_Compiler.cpp +++ b/src/hotspot/share/c1/c1_Compiler.cpp @@ -126,7 +126,7 @@ bool Compiler::is_intrinsic_supported(const methodHandle& method) { case vmIntrinsics::_getAndSetLong: if (!VM_Version::supports_atomic_getset8()) return false; break; - case vmIntrinsics::_getAndSetObject: + case vmIntrinsics::_getAndSetReference: #ifdef _LP64 if (!UseCompressedOops && !VM_Version::supports_atomic_getset8()) return false; if (UseCompressedOops && !VM_Version::supports_atomic_getset4()) return false; @@ -167,7 +167,7 @@ bool Compiler::is_intrinsic_supported(const methodHandle& method) { case vmIntrinsics::_dpow: case vmIntrinsics::_fmaD: case vmIntrinsics::_fmaF: - case vmIntrinsics::_getObject: + case vmIntrinsics::_getReference: case vmIntrinsics::_getBoolean: case vmIntrinsics::_getByte: case vmIntrinsics::_getShort: @@ -176,7 +176,7 @@ bool Compiler::is_intrinsic_supported(const methodHandle& method) { case vmIntrinsics::_getLong: case vmIntrinsics::_getFloat: case vmIntrinsics::_getDouble: - case vmIntrinsics::_putObject: + case vmIntrinsics::_putReference: case vmIntrinsics::_putBoolean: case vmIntrinsics::_putByte: case vmIntrinsics::_putShort: @@ -185,7 +185,7 @@ bool Compiler::is_intrinsic_supported(const methodHandle& method) { case vmIntrinsics::_putLong: case vmIntrinsics::_putFloat: case vmIntrinsics::_putDouble: - case vmIntrinsics::_getObjectVolatile: + case vmIntrinsics::_getReferenceVolatile: case vmIntrinsics::_getBooleanVolatile: case vmIntrinsics::_getByteVolatile: case vmIntrinsics::_getShortVolatile: @@ -194,7 +194,7 @@ bool Compiler::is_intrinsic_supported(const methodHandle& method) { case vmIntrinsics::_getLongVolatile: case vmIntrinsics::_getFloatVolatile: case vmIntrinsics::_getDoubleVolatile: - case vmIntrinsics::_putObjectVolatile: + case vmIntrinsics::_putReferenceVolatile: case vmIntrinsics::_putBooleanVolatile: case vmIntrinsics::_putByteVolatile: case vmIntrinsics::_putShortVolatile: @@ -221,7 +221,7 @@ bool Compiler::is_intrinsic_supported(const methodHandle& method) { #endif case vmIntrinsics::_vectorizedMismatch: case vmIntrinsics::_compareAndSetInt: - case vmIntrinsics::_compareAndSetObject: + case vmIntrinsics::_compareAndSetReference: case vmIntrinsics::_getCharStringU: case vmIntrinsics::_putCharStringU: #ifdef JFR_HAVE_INTRINSICS diff --git a/src/hotspot/share/c1/c1_GraphBuilder.cpp b/src/hotspot/share/c1/c1_GraphBuilder.cpp index 15170bae9a4..6c268839be9 100644 --- a/src/hotspot/share/c1/c1_GraphBuilder.cpp +++ b/src/hotspot/share/c1/c1_GraphBuilder.cpp @@ -3471,7 +3471,7 @@ void GraphBuilder::build_graph_for_intrinsic(ciMethod* callee, bool ignore_retur // Some intrinsics need special IR nodes. switch(id) { - case vmIntrinsics::_getObject : append_unsafe_get_obj(callee, T_OBJECT, false); return; + case vmIntrinsics::_getReference : append_unsafe_get_obj(callee, T_OBJECT, false); return; case vmIntrinsics::_getBoolean : append_unsafe_get_obj(callee, T_BOOLEAN, false); return; case vmIntrinsics::_getByte : append_unsafe_get_obj(callee, T_BYTE, false); return; case vmIntrinsics::_getShort : append_unsafe_get_obj(callee, T_SHORT, false); return; @@ -3480,7 +3480,7 @@ void GraphBuilder::build_graph_for_intrinsic(ciMethod* callee, bool ignore_retur case vmIntrinsics::_getLong : append_unsafe_get_obj(callee, T_LONG, false); return; case vmIntrinsics::_getFloat : append_unsafe_get_obj(callee, T_FLOAT, false); return; case vmIntrinsics::_getDouble : append_unsafe_get_obj(callee, T_DOUBLE, false); return; - case vmIntrinsics::_putObject : append_unsafe_put_obj(callee, T_OBJECT, false); return; + case vmIntrinsics::_putReference : append_unsafe_put_obj(callee, T_OBJECT, false); return; case vmIntrinsics::_putBoolean : append_unsafe_put_obj(callee, T_BOOLEAN, false); return; case vmIntrinsics::_putByte : append_unsafe_put_obj(callee, T_BYTE, false); return; case vmIntrinsics::_putShort : append_unsafe_put_obj(callee, T_SHORT, false); return; @@ -3497,7 +3497,7 @@ void GraphBuilder::build_graph_for_intrinsic(ciMethod* callee, bool ignore_retur case vmIntrinsics::_putCharUnaligned : append_unsafe_put_obj(callee, T_CHAR, false); return; case vmIntrinsics::_putIntUnaligned : append_unsafe_put_obj(callee, T_INT, false); return; case vmIntrinsics::_putLongUnaligned : append_unsafe_put_obj(callee, T_LONG, false); return; - case vmIntrinsics::_getObjectVolatile : append_unsafe_get_obj(callee, T_OBJECT, true); return; + case vmIntrinsics::_getReferenceVolatile : append_unsafe_get_obj(callee, T_OBJECT, true); return; case vmIntrinsics::_getBooleanVolatile : append_unsafe_get_obj(callee, T_BOOLEAN, true); return; case vmIntrinsics::_getByteVolatile : append_unsafe_get_obj(callee, T_BYTE, true); return; case vmIntrinsics::_getShortVolatile : append_unsafe_get_obj(callee, T_SHORT, true); return; @@ -3506,7 +3506,7 @@ void GraphBuilder::build_graph_for_intrinsic(ciMethod* callee, bool ignore_retur case vmIntrinsics::_getLongVolatile : append_unsafe_get_obj(callee, T_LONG, true); return; case vmIntrinsics::_getFloatVolatile : append_unsafe_get_obj(callee, T_FLOAT, true); return; case vmIntrinsics::_getDoubleVolatile : append_unsafe_get_obj(callee, T_DOUBLE, true); return; - case vmIntrinsics::_putObjectVolatile : append_unsafe_put_obj(callee, T_OBJECT, true); return; + case vmIntrinsics::_putReferenceVolatile : append_unsafe_put_obj(callee, T_OBJECT, true); return; case vmIntrinsics::_putBooleanVolatile : append_unsafe_put_obj(callee, T_BOOLEAN, true); return; case vmIntrinsics::_putByteVolatile : append_unsafe_put_obj(callee, T_BYTE, true); return; case vmIntrinsics::_putShortVolatile : append_unsafe_put_obj(callee, T_SHORT, true); return; @@ -3517,12 +3517,12 @@ void GraphBuilder::build_graph_for_intrinsic(ciMethod* callee, bool ignore_retur case vmIntrinsics::_putDoubleVolatile : append_unsafe_put_obj(callee, T_DOUBLE, true); return; case vmIntrinsics::_compareAndSetLong: case vmIntrinsics::_compareAndSetInt: - case vmIntrinsics::_compareAndSetObject: append_unsafe_CAS(callee); return; + case vmIntrinsics::_compareAndSetReference : append_unsafe_CAS(callee); return; case vmIntrinsics::_getAndAddInt: case vmIntrinsics::_getAndAddLong : append_unsafe_get_and_set_obj(callee, true); return; case vmIntrinsics::_getAndSetInt : case vmIntrinsics::_getAndSetLong : - case vmIntrinsics::_getAndSetObject : append_unsafe_get_and_set_obj(callee, false); return; + case vmIntrinsics::_getAndSetReference : append_unsafe_get_and_set_obj(callee, false); return; case vmIntrinsics::_getCharStringU : append_char_access(callee, false); return; case vmIntrinsics::_putCharStringU : append_char_access(callee, true); return; default: diff --git a/src/hotspot/share/c1/c1_LIRGenerator.cpp b/src/hotspot/share/c1/c1_LIRGenerator.cpp index db238788b48..ccd56c35faf 100644 --- a/src/hotspot/share/c1/c1_LIRGenerator.cpp +++ b/src/hotspot/share/c1/c1_LIRGenerator.cpp @@ -3057,7 +3057,7 @@ void LIRGenerator::do_Intrinsic(Intrinsic* x) { // java.nio.Buffer.checkIndex case vmIntrinsics::_checkIndex: do_NIOCheckIndex(x); break; - case vmIntrinsics::_compareAndSetObject: + case vmIntrinsics::_compareAndSetReference: do_CompareAndSwap(x, objectType); break; case vmIntrinsics::_compareAndSetInt: diff --git a/src/hotspot/share/classfile/vmSymbols.cpp b/src/hotspot/share/classfile/vmSymbols.cpp index d036cc96a5d..f4538855b6a 100644 --- a/src/hotspot/share/classfile/vmSymbols.cpp +++ b/src/hotspot/share/classfile/vmSymbols.cpp @@ -527,7 +527,7 @@ bool vmIntrinsics::is_disabled_by_flags(vmIntrinsics::ID id) { case vmIntrinsics::_getAndAddLong: case vmIntrinsics::_getAndSetInt: case vmIntrinsics::_getAndSetLong: - case vmIntrinsics::_getAndSetObject: + case vmIntrinsics::_getAndSetReference: case vmIntrinsics::_loadFence: case vmIntrinsics::_storeFence: case vmIntrinsics::_fullFence: @@ -589,7 +589,7 @@ bool vmIntrinsics::is_disabled_by_flags(vmIntrinsics::ID id) { case vmIntrinsics::_updateByteBufferCRC32: if (!UseCRC32Intrinsics) return true; break; - case vmIntrinsics::_getObject: + case vmIntrinsics::_getReference: case vmIntrinsics::_getBoolean: case vmIntrinsics::_getByte: case vmIntrinsics::_getShort: @@ -598,7 +598,7 @@ bool vmIntrinsics::is_disabled_by_flags(vmIntrinsics::ID id) { case vmIntrinsics::_getLong: case vmIntrinsics::_getFloat: case vmIntrinsics::_getDouble: - case vmIntrinsics::_putObject: + case vmIntrinsics::_putReference: case vmIntrinsics::_putBoolean: case vmIntrinsics::_putByte: case vmIntrinsics::_putShort: @@ -607,7 +607,7 @@ bool vmIntrinsics::is_disabled_by_flags(vmIntrinsics::ID id) { case vmIntrinsics::_putLong: case vmIntrinsics::_putFloat: case vmIntrinsics::_putDouble: - case vmIntrinsics::_getObjectVolatile: + case vmIntrinsics::_getReferenceVolatile: case vmIntrinsics::_getBooleanVolatile: case vmIntrinsics::_getByteVolatile: case vmIntrinsics::_getShortVolatile: @@ -616,7 +616,7 @@ bool vmIntrinsics::is_disabled_by_flags(vmIntrinsics::ID id) { case vmIntrinsics::_getLongVolatile: case vmIntrinsics::_getFloatVolatile: case vmIntrinsics::_getDoubleVolatile: - case vmIntrinsics::_putObjectVolatile: + case vmIntrinsics::_putReferenceVolatile: case vmIntrinsics::_putBooleanVolatile: case vmIntrinsics::_putByteVolatile: case vmIntrinsics::_putShortVolatile: @@ -625,7 +625,7 @@ bool vmIntrinsics::is_disabled_by_flags(vmIntrinsics::ID id) { case vmIntrinsics::_putLongVolatile: case vmIntrinsics::_putFloatVolatile: case vmIntrinsics::_putDoubleVolatile: - case vmIntrinsics::_getObjectAcquire: + case vmIntrinsics::_getReferenceAcquire: case vmIntrinsics::_getBooleanAcquire: case vmIntrinsics::_getByteAcquire: case vmIntrinsics::_getShortAcquire: @@ -634,7 +634,7 @@ bool vmIntrinsics::is_disabled_by_flags(vmIntrinsics::ID id) { case vmIntrinsics::_getLongAcquire: case vmIntrinsics::_getFloatAcquire: case vmIntrinsics::_getDoubleAcquire: - case vmIntrinsics::_putObjectRelease: + case vmIntrinsics::_putReferenceRelease: case vmIntrinsics::_putBooleanRelease: case vmIntrinsics::_putByteRelease: case vmIntrinsics::_putShortRelease: @@ -643,7 +643,7 @@ bool vmIntrinsics::is_disabled_by_flags(vmIntrinsics::ID id) { case vmIntrinsics::_putLongRelease: case vmIntrinsics::_putFloatRelease: case vmIntrinsics::_putDoubleRelease: - case vmIntrinsics::_getObjectOpaque: + case vmIntrinsics::_getReferenceOpaque: case vmIntrinsics::_getBooleanOpaque: case vmIntrinsics::_getByteOpaque: case vmIntrinsics::_getShortOpaque: @@ -652,7 +652,7 @@ bool vmIntrinsics::is_disabled_by_flags(vmIntrinsics::ID id) { case vmIntrinsics::_getLongOpaque: case vmIntrinsics::_getFloatOpaque: case vmIntrinsics::_getDoubleOpaque: - case vmIntrinsics::_putObjectOpaque: + case vmIntrinsics::_putReferenceOpaque: case vmIntrinsics::_putBooleanOpaque: case vmIntrinsics::_putByteOpaque: case vmIntrinsics::_putShortOpaque: @@ -665,7 +665,7 @@ bool vmIntrinsics::is_disabled_by_flags(vmIntrinsics::ID id) { case vmIntrinsics::_getAndAddLong: case vmIntrinsics::_getAndSetInt: case vmIntrinsics::_getAndSetLong: - case vmIntrinsics::_getAndSetObject: + case vmIntrinsics::_getAndSetReference: case vmIntrinsics::_loadFence: case vmIntrinsics::_storeFence: case vmIntrinsics::_fullFence: @@ -679,20 +679,20 @@ bool vmIntrinsics::is_disabled_by_flags(vmIntrinsics::ID id) { case vmIntrinsics::_weakCompareAndSetIntPlain: case vmIntrinsics::_weakCompareAndSetIntAcquire: case vmIntrinsics::_weakCompareAndSetIntRelease: - case vmIntrinsics::_compareAndSetObject: - case vmIntrinsics::_weakCompareAndSetObject: - case vmIntrinsics::_weakCompareAndSetObjectPlain: - case vmIntrinsics::_weakCompareAndSetObjectAcquire: - case vmIntrinsics::_weakCompareAndSetObjectRelease: + case vmIntrinsics::_compareAndSetReference: + case vmIntrinsics::_weakCompareAndSetReference: + case vmIntrinsics::_weakCompareAndSetReferencePlain: + case vmIntrinsics::_weakCompareAndSetReferenceAcquire: + case vmIntrinsics::_weakCompareAndSetReferenceRelease: case vmIntrinsics::_compareAndExchangeInt: case vmIntrinsics::_compareAndExchangeIntAcquire: case vmIntrinsics::_compareAndExchangeIntRelease: case vmIntrinsics::_compareAndExchangeLong: case vmIntrinsics::_compareAndExchangeLongAcquire: case vmIntrinsics::_compareAndExchangeLongRelease: - case vmIntrinsics::_compareAndExchangeObject: - case vmIntrinsics::_compareAndExchangeObjectAcquire: - case vmIntrinsics::_compareAndExchangeObjectRelease: + case vmIntrinsics::_compareAndExchangeReference: + case vmIntrinsics::_compareAndExchangeReferenceAcquire: + case vmIntrinsics::_compareAndExchangeReferenceRelease: if (!InlineUnsafeOps) return true; break; case vmIntrinsics::_getShortUnaligned: diff --git a/src/hotspot/share/classfile/vmSymbols.hpp b/src/hotspot/share/classfile/vmSymbols.hpp index 201f4977f4e..e0807678025 100644 --- a/src/hotspot/share/classfile/vmSymbols.hpp +++ b/src/hotspot/share/classfile/vmSymbols.hpp @@ -1084,8 +1084,8 @@ do_alias( isCompileConstant_signature, object_boolean_signature) \ \ /* unsafe memory references (there are a lot of them...) */ \ - do_signature(getObject_signature, "(Ljava/lang/Object;J)Ljava/lang/Object;") \ - do_signature(putObject_signature, "(Ljava/lang/Object;JLjava/lang/Object;)V") \ + do_signature(getReference_signature, "(Ljava/lang/Object;J)Ljava/lang/Object;") \ + do_signature(putReference_signature, "(Ljava/lang/Object;JLjava/lang/Object;)V") \ do_signature(getBoolean_signature, "(Ljava/lang/Object;J)Z") \ do_signature(putBoolean_signature, "(Ljava/lang/Object;JZ)V") \ do_signature(getByte_signature, "(Ljava/lang/Object;J)B") \ @@ -1103,7 +1103,7 @@ do_signature(getDouble_signature, "(Ljava/lang/Object;J)D") \ do_signature(putDouble_signature, "(Ljava/lang/Object;JD)V") \ \ - do_name(getObject_name,"getObject") do_name(putObject_name,"putObject") \ + do_name(getReference_name,"getReference") do_name(putReference_name,"putReference") \ do_name(getBoolean_name,"getBoolean") do_name(putBoolean_name,"putBoolean") \ do_name(getByte_name,"getByte") do_name(putByte_name,"putByte") \ do_name(getShort_name,"getShort") do_name(putShort_name,"putShort") \ @@ -1113,7 +1113,7 @@ do_name(getFloat_name,"getFloat") do_name(putFloat_name,"putFloat") \ do_name(getDouble_name,"getDouble") do_name(putDouble_name,"putDouble") \ \ - do_intrinsic(_getObject, jdk_internal_misc_Unsafe, getObject_name, getObject_signature, F_RN) \ + do_intrinsic(_getReference, jdk_internal_misc_Unsafe, getReference_name, getReference_signature, F_RN) \ do_intrinsic(_getBoolean, jdk_internal_misc_Unsafe, getBoolean_name, getBoolean_signature, F_RN) \ do_intrinsic(_getByte, jdk_internal_misc_Unsafe, getByte_name, getByte_signature, F_RN) \ do_intrinsic(_getShort, jdk_internal_misc_Unsafe, getShort_name, getShort_signature, F_RN) \ @@ -1122,7 +1122,7 @@ do_intrinsic(_getLong, jdk_internal_misc_Unsafe, getLong_name, getLong_signature, F_RN) \ do_intrinsic(_getFloat, jdk_internal_misc_Unsafe, getFloat_name, getFloat_signature, F_RN) \ do_intrinsic(_getDouble, jdk_internal_misc_Unsafe, getDouble_name, getDouble_signature, F_RN) \ - do_intrinsic(_putObject, jdk_internal_misc_Unsafe, putObject_name, putObject_signature, F_RN) \ + do_intrinsic(_putReference, jdk_internal_misc_Unsafe, putReference_name, putReference_signature, F_RN) \ do_intrinsic(_putBoolean, jdk_internal_misc_Unsafe, putBoolean_name, putBoolean_signature, F_RN) \ do_intrinsic(_putByte, jdk_internal_misc_Unsafe, putByte_name, putByte_signature, F_RN) \ do_intrinsic(_putShort, jdk_internal_misc_Unsafe, putShort_name, putShort_signature, F_RN) \ @@ -1132,92 +1132,92 @@ do_intrinsic(_putFloat, jdk_internal_misc_Unsafe, putFloat_name, putFloat_signature, F_RN) \ do_intrinsic(_putDouble, jdk_internal_misc_Unsafe, putDouble_name, putDouble_signature, F_RN) \ \ - do_name(getObjectVolatile_name,"getObjectVolatile") do_name(putObjectVolatile_name,"putObjectVolatile") \ - do_name(getBooleanVolatile_name,"getBooleanVolatile") do_name(putBooleanVolatile_name,"putBooleanVolatile") \ - do_name(getByteVolatile_name,"getByteVolatile") do_name(putByteVolatile_name,"putByteVolatile") \ - do_name(getShortVolatile_name,"getShortVolatile") do_name(putShortVolatile_name,"putShortVolatile") \ - do_name(getCharVolatile_name,"getCharVolatile") do_name(putCharVolatile_name,"putCharVolatile") \ - do_name(getIntVolatile_name,"getIntVolatile") do_name(putIntVolatile_name,"putIntVolatile") \ - do_name(getLongVolatile_name,"getLongVolatile") do_name(putLongVolatile_name,"putLongVolatile") \ - do_name(getFloatVolatile_name,"getFloatVolatile") do_name(putFloatVolatile_name,"putFloatVolatile") \ - do_name(getDoubleVolatile_name,"getDoubleVolatile") do_name(putDoubleVolatile_name,"putDoubleVolatile") \ + do_name(getReferenceVolatile_name,"getReferenceVolatile") do_name(putReferenceVolatile_name,"putReferenceVolatile") \ + do_name(getBooleanVolatile_name,"getBooleanVolatile") do_name(putBooleanVolatile_name,"putBooleanVolatile") \ + do_name(getByteVolatile_name,"getByteVolatile") do_name(putByteVolatile_name,"putByteVolatile") \ + do_name(getShortVolatile_name,"getShortVolatile") do_name(putShortVolatile_name,"putShortVolatile") \ + do_name(getCharVolatile_name,"getCharVolatile") do_name(putCharVolatile_name,"putCharVolatile") \ + do_name(getIntVolatile_name,"getIntVolatile") do_name(putIntVolatile_name,"putIntVolatile") \ + do_name(getLongVolatile_name,"getLongVolatile") do_name(putLongVolatile_name,"putLongVolatile") \ + do_name(getFloatVolatile_name,"getFloatVolatile") do_name(putFloatVolatile_name,"putFloatVolatile") \ + do_name(getDoubleVolatile_name,"getDoubleVolatile") do_name(putDoubleVolatile_name,"putDoubleVolatile") \ \ - do_intrinsic(_getObjectVolatile, jdk_internal_misc_Unsafe, getObjectVolatile_name, getObject_signature, F_RN) \ - do_intrinsic(_getBooleanVolatile, jdk_internal_misc_Unsafe, getBooleanVolatile_name, getBoolean_signature, F_RN) \ - do_intrinsic(_getByteVolatile, jdk_internal_misc_Unsafe, getByteVolatile_name, getByte_signature, F_RN) \ - do_intrinsic(_getShortVolatile, jdk_internal_misc_Unsafe, getShortVolatile_name, getShort_signature, F_RN) \ - do_intrinsic(_getCharVolatile, jdk_internal_misc_Unsafe, getCharVolatile_name, getChar_signature, F_RN) \ - do_intrinsic(_getIntVolatile, jdk_internal_misc_Unsafe, getIntVolatile_name, getInt_signature, F_RN) \ - do_intrinsic(_getLongVolatile, jdk_internal_misc_Unsafe, getLongVolatile_name, getLong_signature, F_RN) \ - do_intrinsic(_getFloatVolatile, jdk_internal_misc_Unsafe, getFloatVolatile_name, getFloat_signature, F_RN) \ - do_intrinsic(_getDoubleVolatile, jdk_internal_misc_Unsafe, getDoubleVolatile_name, getDouble_signature, F_RN) \ - do_intrinsic(_putObjectVolatile, jdk_internal_misc_Unsafe, putObjectVolatile_name, putObject_signature, F_RN) \ - do_intrinsic(_putBooleanVolatile, jdk_internal_misc_Unsafe, putBooleanVolatile_name, putBoolean_signature, F_RN) \ - do_intrinsic(_putByteVolatile, jdk_internal_misc_Unsafe, putByteVolatile_name, putByte_signature, F_RN) \ - do_intrinsic(_putShortVolatile, jdk_internal_misc_Unsafe, putShortVolatile_name, putShort_signature, F_RN) \ - do_intrinsic(_putCharVolatile, jdk_internal_misc_Unsafe, putCharVolatile_name, putChar_signature, F_RN) \ - do_intrinsic(_putIntVolatile, jdk_internal_misc_Unsafe, putIntVolatile_name, putInt_signature, F_RN) \ - do_intrinsic(_putLongVolatile, jdk_internal_misc_Unsafe, putLongVolatile_name, putLong_signature, F_RN) \ - do_intrinsic(_putFloatVolatile, jdk_internal_misc_Unsafe, putFloatVolatile_name, putFloat_signature, F_RN) \ - do_intrinsic(_putDoubleVolatile, jdk_internal_misc_Unsafe, putDoubleVolatile_name, putDouble_signature, F_RN) \ + do_intrinsic(_getReferenceVolatile, jdk_internal_misc_Unsafe, getReferenceVolatile_name, getReference_signature, F_RN) \ + do_intrinsic(_getBooleanVolatile, jdk_internal_misc_Unsafe, getBooleanVolatile_name, getBoolean_signature, F_RN) \ + do_intrinsic(_getByteVolatile, jdk_internal_misc_Unsafe, getByteVolatile_name, getByte_signature, F_RN) \ + do_intrinsic(_getShortVolatile, jdk_internal_misc_Unsafe, getShortVolatile_name, getShort_signature, F_RN) \ + do_intrinsic(_getCharVolatile, jdk_internal_misc_Unsafe, getCharVolatile_name, getChar_signature, F_RN) \ + do_intrinsic(_getIntVolatile, jdk_internal_misc_Unsafe, getIntVolatile_name, getInt_signature, F_RN) \ + do_intrinsic(_getLongVolatile, jdk_internal_misc_Unsafe, getLongVolatile_name, getLong_signature, F_RN) \ + do_intrinsic(_getFloatVolatile, jdk_internal_misc_Unsafe, getFloatVolatile_name, getFloat_signature, F_RN) \ + do_intrinsic(_getDoubleVolatile, jdk_internal_misc_Unsafe, getDoubleVolatile_name, getDouble_signature, F_RN) \ + do_intrinsic(_putReferenceVolatile, jdk_internal_misc_Unsafe, putReferenceVolatile_name, putReference_signature, F_RN) \ + do_intrinsic(_putBooleanVolatile, jdk_internal_misc_Unsafe, putBooleanVolatile_name, putBoolean_signature, F_RN) \ + do_intrinsic(_putByteVolatile, jdk_internal_misc_Unsafe, putByteVolatile_name, putByte_signature, F_RN) \ + do_intrinsic(_putShortVolatile, jdk_internal_misc_Unsafe, putShortVolatile_name, putShort_signature, F_RN) \ + do_intrinsic(_putCharVolatile, jdk_internal_misc_Unsafe, putCharVolatile_name, putChar_signature, F_RN) \ + do_intrinsic(_putIntVolatile, jdk_internal_misc_Unsafe, putIntVolatile_name, putInt_signature, F_RN) \ + do_intrinsic(_putLongVolatile, jdk_internal_misc_Unsafe, putLongVolatile_name, putLong_signature, F_RN) \ + do_intrinsic(_putFloatVolatile, jdk_internal_misc_Unsafe, putFloatVolatile_name, putFloat_signature, F_RN) \ + do_intrinsic(_putDoubleVolatile, jdk_internal_misc_Unsafe, putDoubleVolatile_name, putDouble_signature, F_RN) \ \ - do_name(getObjectOpaque_name,"getObjectOpaque") do_name(putObjectOpaque_name,"putObjectOpaque") \ - do_name(getBooleanOpaque_name,"getBooleanOpaque") do_name(putBooleanOpaque_name,"putBooleanOpaque") \ - do_name(getByteOpaque_name,"getByteOpaque") do_name(putByteOpaque_name,"putByteOpaque") \ - do_name(getShortOpaque_name,"getShortOpaque") do_name(putShortOpaque_name,"putShortOpaque") \ - do_name(getCharOpaque_name,"getCharOpaque") do_name(putCharOpaque_name,"putCharOpaque") \ - do_name(getIntOpaque_name,"getIntOpaque") do_name(putIntOpaque_name,"putIntOpaque") \ - do_name(getLongOpaque_name,"getLongOpaque") do_name(putLongOpaque_name,"putLongOpaque") \ - do_name(getFloatOpaque_name,"getFloatOpaque") do_name(putFloatOpaque_name,"putFloatOpaque") \ - do_name(getDoubleOpaque_name,"getDoubleOpaque") do_name(putDoubleOpaque_name,"putDoubleOpaque") \ + do_name(getReferenceOpaque_name,"getReferenceOpaque") do_name(putReferenceOpaque_name,"putReferenceOpaque") \ + do_name(getBooleanOpaque_name,"getBooleanOpaque") do_name(putBooleanOpaque_name,"putBooleanOpaque") \ + do_name(getByteOpaque_name,"getByteOpaque") do_name(putByteOpaque_name,"putByteOpaque") \ + do_name(getShortOpaque_name,"getShortOpaque") do_name(putShortOpaque_name,"putShortOpaque") \ + do_name(getCharOpaque_name,"getCharOpaque") do_name(putCharOpaque_name,"putCharOpaque") \ + do_name(getIntOpaque_name,"getIntOpaque") do_name(putIntOpaque_name,"putIntOpaque") \ + do_name(getLongOpaque_name,"getLongOpaque") do_name(putLongOpaque_name,"putLongOpaque") \ + do_name(getFloatOpaque_name,"getFloatOpaque") do_name(putFloatOpaque_name,"putFloatOpaque") \ + do_name(getDoubleOpaque_name,"getDoubleOpaque") do_name(putDoubleOpaque_name,"putDoubleOpaque") \ \ - do_intrinsic(_getObjectOpaque, jdk_internal_misc_Unsafe, getObjectOpaque_name, getObject_signature, F_R) \ - do_intrinsic(_getBooleanOpaque, jdk_internal_misc_Unsafe, getBooleanOpaque_name, getBoolean_signature, F_R) \ - do_intrinsic(_getByteOpaque, jdk_internal_misc_Unsafe, getByteOpaque_name, getByte_signature, F_R) \ - do_intrinsic(_getShortOpaque, jdk_internal_misc_Unsafe, getShortOpaque_name, getShort_signature, F_R) \ - do_intrinsic(_getCharOpaque, jdk_internal_misc_Unsafe, getCharOpaque_name, getChar_signature, F_R) \ - do_intrinsic(_getIntOpaque, jdk_internal_misc_Unsafe, getIntOpaque_name, getInt_signature, F_R) \ - do_intrinsic(_getLongOpaque, jdk_internal_misc_Unsafe, getLongOpaque_name, getLong_signature, F_R) \ - do_intrinsic(_getFloatOpaque, jdk_internal_misc_Unsafe, getFloatOpaque_name, getFloat_signature, F_R) \ - do_intrinsic(_getDoubleOpaque, jdk_internal_misc_Unsafe, getDoubleOpaque_name, getDouble_signature, F_R) \ - do_intrinsic(_putObjectOpaque, jdk_internal_misc_Unsafe, putObjectOpaque_name, putObject_signature, F_R) \ - do_intrinsic(_putBooleanOpaque, jdk_internal_misc_Unsafe, putBooleanOpaque_name, putBoolean_signature, F_R) \ - do_intrinsic(_putByteOpaque, jdk_internal_misc_Unsafe, putByteOpaque_name, putByte_signature, F_R) \ - do_intrinsic(_putShortOpaque, jdk_internal_misc_Unsafe, putShortOpaque_name, putShort_signature, F_R) \ - do_intrinsic(_putCharOpaque, jdk_internal_misc_Unsafe, putCharOpaque_name, putChar_signature, F_R) \ - do_intrinsic(_putIntOpaque, jdk_internal_misc_Unsafe, putIntOpaque_name, putInt_signature, F_R) \ - do_intrinsic(_putLongOpaque, jdk_internal_misc_Unsafe, putLongOpaque_name, putLong_signature, F_R) \ - do_intrinsic(_putFloatOpaque, jdk_internal_misc_Unsafe, putFloatOpaque_name, putFloat_signature, F_R) \ - do_intrinsic(_putDoubleOpaque, jdk_internal_misc_Unsafe, putDoubleOpaque_name, putDouble_signature, F_R) \ + do_intrinsic(_getReferenceOpaque, jdk_internal_misc_Unsafe, getReferenceOpaque_name, getReference_signature, F_R) \ + do_intrinsic(_getBooleanOpaque, jdk_internal_misc_Unsafe, getBooleanOpaque_name, getBoolean_signature, F_R) \ + do_intrinsic(_getByteOpaque, jdk_internal_misc_Unsafe, getByteOpaque_name, getByte_signature, F_R) \ + do_intrinsic(_getShortOpaque, jdk_internal_misc_Unsafe, getShortOpaque_name, getShort_signature, F_R) \ + do_intrinsic(_getCharOpaque, jdk_internal_misc_Unsafe, getCharOpaque_name, getChar_signature, F_R) \ + do_intrinsic(_getIntOpaque, jdk_internal_misc_Unsafe, getIntOpaque_name, getInt_signature, F_R) \ + do_intrinsic(_getLongOpaque, jdk_internal_misc_Unsafe, getLongOpaque_name, getLong_signature, F_R) \ + do_intrinsic(_getFloatOpaque, jdk_internal_misc_Unsafe, getFloatOpaque_name, getFloat_signature, F_R) \ + do_intrinsic(_getDoubleOpaque, jdk_internal_misc_Unsafe, getDoubleOpaque_name, getDouble_signature, F_R) \ + do_intrinsic(_putReferenceOpaque, jdk_internal_misc_Unsafe, putReferenceOpaque_name, putReference_signature, F_R) \ + do_intrinsic(_putBooleanOpaque, jdk_internal_misc_Unsafe, putBooleanOpaque_name, putBoolean_signature, F_R) \ + do_intrinsic(_putByteOpaque, jdk_internal_misc_Unsafe, putByteOpaque_name, putByte_signature, F_R) \ + do_intrinsic(_putShortOpaque, jdk_internal_misc_Unsafe, putShortOpaque_name, putShort_signature, F_R) \ + do_intrinsic(_putCharOpaque, jdk_internal_misc_Unsafe, putCharOpaque_name, putChar_signature, F_R) \ + do_intrinsic(_putIntOpaque, jdk_internal_misc_Unsafe, putIntOpaque_name, putInt_signature, F_R) \ + do_intrinsic(_putLongOpaque, jdk_internal_misc_Unsafe, putLongOpaque_name, putLong_signature, F_R) \ + do_intrinsic(_putFloatOpaque, jdk_internal_misc_Unsafe, putFloatOpaque_name, putFloat_signature, F_R) \ + do_intrinsic(_putDoubleOpaque, jdk_internal_misc_Unsafe, putDoubleOpaque_name, putDouble_signature, F_R) \ \ - do_name(getObjectAcquire_name, "getObjectAcquire") do_name(putObjectRelease_name, "putObjectRelease") \ - do_name(getBooleanAcquire_name, "getBooleanAcquire") do_name(putBooleanRelease_name, "putBooleanRelease") \ - do_name(getByteAcquire_name, "getByteAcquire") do_name(putByteRelease_name, "putByteRelease") \ - do_name(getShortAcquire_name, "getShortAcquire") do_name(putShortRelease_name, "putShortRelease") \ - do_name(getCharAcquire_name, "getCharAcquire") do_name(putCharRelease_name, "putCharRelease") \ - do_name(getIntAcquire_name, "getIntAcquire") do_name(putIntRelease_name, "putIntRelease") \ - do_name(getLongAcquire_name, "getLongAcquire") do_name(putLongRelease_name, "putLongRelease") \ - do_name(getFloatAcquire_name, "getFloatAcquire") do_name(putFloatRelease_name, "putFloatRelease") \ - do_name(getDoubleAcquire_name, "getDoubleAcquire") do_name(putDoubleRelease_name, "putDoubleRelease") \ + do_name(getReferenceAcquire_name, "getReferenceAcquire") do_name(putReferenceRelease_name, "putReferenceRelease") \ + do_name(getBooleanAcquire_name, "getBooleanAcquire") do_name(putBooleanRelease_name, "putBooleanRelease") \ + do_name(getByteAcquire_name, "getByteAcquire") do_name(putByteRelease_name, "putByteRelease") \ + do_name(getShortAcquire_name, "getShortAcquire") do_name(putShortRelease_name, "putShortRelease") \ + do_name(getCharAcquire_name, "getCharAcquire") do_name(putCharRelease_name, "putCharRelease") \ + do_name(getIntAcquire_name, "getIntAcquire") do_name(putIntRelease_name, "putIntRelease") \ + do_name(getLongAcquire_name, "getLongAcquire") do_name(putLongRelease_name, "putLongRelease") \ + do_name(getFloatAcquire_name, "getFloatAcquire") do_name(putFloatRelease_name, "putFloatRelease") \ + do_name(getDoubleAcquire_name, "getDoubleAcquire") do_name(putDoubleRelease_name, "putDoubleRelease") \ \ - do_intrinsic(_getObjectAcquire, jdk_internal_misc_Unsafe, getObjectAcquire_name, getObject_signature, F_R) \ - do_intrinsic(_getBooleanAcquire, jdk_internal_misc_Unsafe, getBooleanAcquire_name, getBoolean_signature, F_R) \ - do_intrinsic(_getByteAcquire, jdk_internal_misc_Unsafe, getByteAcquire_name, getByte_signature, F_R) \ - do_intrinsic(_getShortAcquire, jdk_internal_misc_Unsafe, getShortAcquire_name, getShort_signature, F_R) \ - do_intrinsic(_getCharAcquire, jdk_internal_misc_Unsafe, getCharAcquire_name, getChar_signature, F_R) \ - do_intrinsic(_getIntAcquire, jdk_internal_misc_Unsafe, getIntAcquire_name, getInt_signature, F_R) \ - do_intrinsic(_getLongAcquire, jdk_internal_misc_Unsafe, getLongAcquire_name, getLong_signature, F_R) \ - do_intrinsic(_getFloatAcquire, jdk_internal_misc_Unsafe, getFloatAcquire_name, getFloat_signature, F_R) \ - do_intrinsic(_getDoubleAcquire, jdk_internal_misc_Unsafe, getDoubleAcquire_name, getDouble_signature, F_R) \ - do_intrinsic(_putObjectRelease, jdk_internal_misc_Unsafe, putObjectRelease_name, putObject_signature, F_R) \ - do_intrinsic(_putBooleanRelease, jdk_internal_misc_Unsafe, putBooleanRelease_name, putBoolean_signature, F_R) \ - do_intrinsic(_putByteRelease, jdk_internal_misc_Unsafe, putByteRelease_name, putByte_signature, F_R) \ - do_intrinsic(_putShortRelease, jdk_internal_misc_Unsafe, putShortRelease_name, putShort_signature, F_R) \ - do_intrinsic(_putCharRelease, jdk_internal_misc_Unsafe, putCharRelease_name, putChar_signature, F_R) \ - do_intrinsic(_putIntRelease, jdk_internal_misc_Unsafe, putIntRelease_name, putInt_signature, F_R) \ - do_intrinsic(_putLongRelease, jdk_internal_misc_Unsafe, putLongRelease_name, putLong_signature, F_R) \ - do_intrinsic(_putFloatRelease, jdk_internal_misc_Unsafe, putFloatRelease_name, putFloat_signature, F_R) \ - do_intrinsic(_putDoubleRelease, jdk_internal_misc_Unsafe, putDoubleRelease_name, putDouble_signature, F_R) \ + do_intrinsic(_getReferenceAcquire, jdk_internal_misc_Unsafe, getReferenceAcquire_name, getReference_signature, F_R) \ + do_intrinsic(_getBooleanAcquire, jdk_internal_misc_Unsafe, getBooleanAcquire_name, getBoolean_signature, F_R) \ + do_intrinsic(_getByteAcquire, jdk_internal_misc_Unsafe, getByteAcquire_name, getByte_signature, F_R) \ + do_intrinsic(_getShortAcquire, jdk_internal_misc_Unsafe, getShortAcquire_name, getShort_signature, F_R) \ + do_intrinsic(_getCharAcquire, jdk_internal_misc_Unsafe, getCharAcquire_name, getChar_signature, F_R) \ + do_intrinsic(_getIntAcquire, jdk_internal_misc_Unsafe, getIntAcquire_name, getInt_signature, F_R) \ + do_intrinsic(_getLongAcquire, jdk_internal_misc_Unsafe, getLongAcquire_name, getLong_signature, F_R) \ + do_intrinsic(_getFloatAcquire, jdk_internal_misc_Unsafe, getFloatAcquire_name, getFloat_signature, F_R) \ + do_intrinsic(_getDoubleAcquire, jdk_internal_misc_Unsafe, getDoubleAcquire_name, getDouble_signature, F_R) \ + do_intrinsic(_putReferenceRelease, jdk_internal_misc_Unsafe, putReferenceRelease_name, putReference_signature, F_R) \ + do_intrinsic(_putBooleanRelease, jdk_internal_misc_Unsafe, putBooleanRelease_name, putBoolean_signature, F_R) \ + do_intrinsic(_putByteRelease, jdk_internal_misc_Unsafe, putByteRelease_name, putByte_signature, F_R) \ + do_intrinsic(_putShortRelease, jdk_internal_misc_Unsafe, putShortRelease_name, putShort_signature, F_R) \ + do_intrinsic(_putCharRelease, jdk_internal_misc_Unsafe, putCharRelease_name, putChar_signature, F_R) \ + do_intrinsic(_putIntRelease, jdk_internal_misc_Unsafe, putIntRelease_name, putInt_signature, F_R) \ + do_intrinsic(_putLongRelease, jdk_internal_misc_Unsafe, putLongRelease_name, putLong_signature, F_R) \ + do_intrinsic(_putFloatRelease, jdk_internal_misc_Unsafe, putFloatRelease_name, putFloat_signature, F_R) \ + do_intrinsic(_putDoubleRelease, jdk_internal_misc_Unsafe, putDoubleRelease_name, putDouble_signature, F_R) \ \ do_name(getShortUnaligned_name,"getShortUnaligned") do_name(putShortUnaligned_name,"putShortUnaligned") \ do_name(getCharUnaligned_name,"getCharUnaligned") do_name(putCharUnaligned_name,"putCharUnaligned") \ @@ -1233,8 +1233,8 @@ do_intrinsic(_putIntUnaligned, jdk_internal_misc_Unsafe, putIntUnaligned_name, putInt_signature, F_R) \ do_intrinsic(_putLongUnaligned, jdk_internal_misc_Unsafe, putLongUnaligned_name, putLong_signature, F_R) \ \ - do_signature(compareAndSetObject_signature, "(Ljava/lang/Object;JLjava/lang/Object;Ljava/lang/Object;)Z") \ - do_signature(compareAndExchangeObject_signature, "(Ljava/lang/Object;JLjava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;") \ + do_signature(compareAndSetReference_signature, "(Ljava/lang/Object;JLjava/lang/Object;Ljava/lang/Object;)Z") \ + do_signature(compareAndExchangeReference_signature, "(Ljava/lang/Object;JLjava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;") \ do_signature(compareAndSetLong_signature, "(Ljava/lang/Object;JJJ)Z") \ do_signature(compareAndExchangeLong_signature, "(Ljava/lang/Object;JJJ)J") \ do_signature(compareAndSetInt_signature, "(Ljava/lang/Object;JII)Z") \ @@ -1244,52 +1244,52 @@ do_signature(compareAndSetShort_signature, "(Ljava/lang/Object;JSS)Z") \ do_signature(compareAndExchangeShort_signature, "(Ljava/lang/Object;JSS)S") \ \ - do_name(compareAndSetObject_name, "compareAndSetObject") \ - do_name(compareAndExchangeObject_name, "compareAndExchangeObject") \ - do_name(compareAndExchangeObjectAcquire_name, "compareAndExchangeObjectAcquire") \ - do_name(compareAndExchangeObjectRelease_name, "compareAndExchangeObjectRelease") \ - do_name(compareAndSetLong_name, "compareAndSetLong") \ - do_name(compareAndExchangeLong_name, "compareAndExchangeLong") \ - do_name(compareAndExchangeLongAcquire_name, "compareAndExchangeLongAcquire") \ - do_name(compareAndExchangeLongRelease_name, "compareAndExchangeLongRelease") \ - do_name(compareAndSetInt_name, "compareAndSetInt") \ - do_name(compareAndExchangeInt_name, "compareAndExchangeInt") \ - do_name(compareAndExchangeIntAcquire_name, "compareAndExchangeIntAcquire") \ - do_name(compareAndExchangeIntRelease_name, "compareAndExchangeIntRelease") \ - do_name(compareAndSetByte_name, "compareAndSetByte") \ - do_name(compareAndExchangeByte_name, "compareAndExchangeByte") \ - do_name(compareAndExchangeByteAcquire_name, "compareAndExchangeByteAcquire") \ - do_name(compareAndExchangeByteRelease_name, "compareAndExchangeByteRelease") \ - do_name(compareAndSetShort_name, "compareAndSetShort") \ - do_name(compareAndExchangeShort_name, "compareAndExchangeShort") \ - do_name(compareAndExchangeShortAcquire_name, "compareAndExchangeShortAcquire") \ - do_name(compareAndExchangeShortRelease_name, "compareAndExchangeShortRelease") \ + do_name(compareAndSetReference_name, "compareAndSetReference") \ + do_name(compareAndExchangeReference_name, "compareAndExchangeReference") \ + do_name(compareAndExchangeReferenceAcquire_name, "compareAndExchangeReferenceAcquire") \ + do_name(compareAndExchangeReferenceRelease_name, "compareAndExchangeReferenceRelease") \ + do_name(compareAndSetLong_name, "compareAndSetLong") \ + do_name(compareAndExchangeLong_name, "compareAndExchangeLong") \ + do_name(compareAndExchangeLongAcquire_name, "compareAndExchangeLongAcquire") \ + do_name(compareAndExchangeLongRelease_name, "compareAndExchangeLongRelease") \ + do_name(compareAndSetInt_name, "compareAndSetInt") \ + do_name(compareAndExchangeInt_name, "compareAndExchangeInt") \ + do_name(compareAndExchangeIntAcquire_name, "compareAndExchangeIntAcquire") \ + do_name(compareAndExchangeIntRelease_name, "compareAndExchangeIntRelease") \ + do_name(compareAndSetByte_name, "compareAndSetByte") \ + do_name(compareAndExchangeByte_name, "compareAndExchangeByte") \ + do_name(compareAndExchangeByteAcquire_name, "compareAndExchangeByteAcquire") \ + do_name(compareAndExchangeByteRelease_name, "compareAndExchangeByteRelease") \ + do_name(compareAndSetShort_name, "compareAndSetShort") \ + do_name(compareAndExchangeShort_name, "compareAndExchangeShort") \ + do_name(compareAndExchangeShortAcquire_name, "compareAndExchangeShortAcquire") \ + do_name(compareAndExchangeShortRelease_name, "compareAndExchangeShortRelease") \ \ - do_name(weakCompareAndSetObjectPlain_name, "weakCompareAndSetObjectPlain") \ - do_name(weakCompareAndSetObjectAcquire_name, "weakCompareAndSetObjectAcquire") \ - do_name(weakCompareAndSetObjectRelease_name, "weakCompareAndSetObjectRelease") \ - do_name(weakCompareAndSetObject_name, "weakCompareAndSetObject") \ - do_name(weakCompareAndSetLongPlain_name, "weakCompareAndSetLongPlain") \ - do_name(weakCompareAndSetLongAcquire_name, "weakCompareAndSetLongAcquire") \ - do_name(weakCompareAndSetLongRelease_name, "weakCompareAndSetLongRelease") \ - do_name(weakCompareAndSetLong_name, "weakCompareAndSetLong") \ - do_name(weakCompareAndSetIntPlain_name, "weakCompareAndSetIntPlain") \ - do_name(weakCompareAndSetIntAcquire_name, "weakCompareAndSetIntAcquire") \ - do_name(weakCompareAndSetIntRelease_name, "weakCompareAndSetIntRelease") \ - do_name(weakCompareAndSetInt_name, "weakCompareAndSetInt") \ - do_name(weakCompareAndSetBytePlain_name, "weakCompareAndSetBytePlain") \ - do_name(weakCompareAndSetByteAcquire_name, "weakCompareAndSetByteAcquire") \ - do_name(weakCompareAndSetByteRelease_name, "weakCompareAndSetByteRelease") \ - do_name(weakCompareAndSetByte_name, "weakCompareAndSetByte") \ - do_name(weakCompareAndSetShortPlain_name, "weakCompareAndSetShortPlain") \ - do_name(weakCompareAndSetShortAcquire_name, "weakCompareAndSetShortAcquire") \ - do_name(weakCompareAndSetShortRelease_name, "weakCompareAndSetShortRelease") \ - do_name(weakCompareAndSetShort_name, "weakCompareAndSetShort") \ + do_name(weakCompareAndSetReferencePlain_name, "weakCompareAndSetReferencePlain") \ + do_name(weakCompareAndSetReferenceAcquire_name, "weakCompareAndSetReferenceAcquire") \ + do_name(weakCompareAndSetReferenceRelease_name, "weakCompareAndSetReferenceRelease") \ + do_name(weakCompareAndSetReference_name, "weakCompareAndSetReference") \ + do_name(weakCompareAndSetLongPlain_name, "weakCompareAndSetLongPlain") \ + do_name(weakCompareAndSetLongAcquire_name, "weakCompareAndSetLongAcquire") \ + do_name(weakCompareAndSetLongRelease_name, "weakCompareAndSetLongRelease") \ + do_name(weakCompareAndSetLong_name, "weakCompareAndSetLong") \ + do_name(weakCompareAndSetIntPlain_name, "weakCompareAndSetIntPlain") \ + do_name(weakCompareAndSetIntAcquire_name, "weakCompareAndSetIntAcquire") \ + do_name(weakCompareAndSetIntRelease_name, "weakCompareAndSetIntRelease") \ + do_name(weakCompareAndSetInt_name, "weakCompareAndSetInt") \ + do_name(weakCompareAndSetBytePlain_name, "weakCompareAndSetBytePlain") \ + do_name(weakCompareAndSetByteAcquire_name, "weakCompareAndSetByteAcquire") \ + do_name(weakCompareAndSetByteRelease_name, "weakCompareAndSetByteRelease") \ + do_name(weakCompareAndSetByte_name, "weakCompareAndSetByte") \ + do_name(weakCompareAndSetShortPlain_name, "weakCompareAndSetShortPlain") \ + do_name(weakCompareAndSetShortAcquire_name, "weakCompareAndSetShortAcquire") \ + do_name(weakCompareAndSetShortRelease_name, "weakCompareAndSetShortRelease") \ + do_name(weakCompareAndSetShort_name, "weakCompareAndSetShort") \ \ - do_intrinsic(_compareAndSetObject, jdk_internal_misc_Unsafe, compareAndSetObject_name, compareAndSetObject_signature, F_RN) \ - do_intrinsic(_compareAndExchangeObject, jdk_internal_misc_Unsafe, compareAndExchangeObject_name, compareAndExchangeObject_signature, F_RN) \ - do_intrinsic(_compareAndExchangeObjectAcquire, jdk_internal_misc_Unsafe, compareAndExchangeObjectAcquire_name, compareAndExchangeObject_signature, F_R) \ - do_intrinsic(_compareAndExchangeObjectRelease, jdk_internal_misc_Unsafe, compareAndExchangeObjectRelease_name, compareAndExchangeObject_signature, F_R) \ + do_intrinsic(_compareAndSetReference, jdk_internal_misc_Unsafe, compareAndSetReference_name, compareAndSetReference_signature, F_RN) \ + do_intrinsic(_compareAndExchangeReference, jdk_internal_misc_Unsafe, compareAndExchangeReference_name, compareAndExchangeReference_signature, F_RN) \ + do_intrinsic(_compareAndExchangeReferenceAcquire, jdk_internal_misc_Unsafe, compareAndExchangeReferenceAcquire_name, compareAndExchangeReference_signature, F_R) \ + do_intrinsic(_compareAndExchangeReferenceRelease, jdk_internal_misc_Unsafe, compareAndExchangeReferenceRelease_name, compareAndExchangeReference_signature, F_R) \ do_intrinsic(_compareAndSetLong, jdk_internal_misc_Unsafe, compareAndSetLong_name, compareAndSetLong_signature, F_RN) \ do_intrinsic(_compareAndExchangeLong, jdk_internal_misc_Unsafe, compareAndExchangeLong_name, compareAndExchangeLong_signature, F_RN) \ do_intrinsic(_compareAndExchangeLongAcquire, jdk_internal_misc_Unsafe, compareAndExchangeLongAcquire_name, compareAndExchangeLong_signature, F_R) \ @@ -1307,10 +1307,10 @@ do_intrinsic(_compareAndExchangeShortAcquire, jdk_internal_misc_Unsafe, compareAndExchangeShortAcquire_name, compareAndExchangeShort_signature, F_R) \ do_intrinsic(_compareAndExchangeShortRelease, jdk_internal_misc_Unsafe, compareAndExchangeShortRelease_name, compareAndExchangeShort_signature, F_R) \ \ - do_intrinsic(_weakCompareAndSetObjectPlain, jdk_internal_misc_Unsafe, weakCompareAndSetObjectPlain_name, compareAndSetObject_signature, F_R) \ - do_intrinsic(_weakCompareAndSetObjectAcquire, jdk_internal_misc_Unsafe, weakCompareAndSetObjectAcquire_name, compareAndSetObject_signature, F_R) \ - do_intrinsic(_weakCompareAndSetObjectRelease, jdk_internal_misc_Unsafe, weakCompareAndSetObjectRelease_name, compareAndSetObject_signature, F_R) \ - do_intrinsic(_weakCompareAndSetObject, jdk_internal_misc_Unsafe, weakCompareAndSetObject_name, compareAndSetObject_signature, F_R) \ + do_intrinsic(_weakCompareAndSetReferencePlain, jdk_internal_misc_Unsafe, weakCompareAndSetReferencePlain_name, compareAndSetReference_signature, F_R) \ + do_intrinsic(_weakCompareAndSetReferenceAcquire,jdk_internal_misc_Unsafe, weakCompareAndSetReferenceAcquire_name, compareAndSetReference_signature, F_R) \ + do_intrinsic(_weakCompareAndSetReferenceRelease,jdk_internal_misc_Unsafe, weakCompareAndSetReferenceRelease_name, compareAndSetReference_signature, F_R) \ + do_intrinsic(_weakCompareAndSetReference, jdk_internal_misc_Unsafe, weakCompareAndSetReference_name, compareAndSetReference_signature, F_R) \ do_intrinsic(_weakCompareAndSetLongPlain, jdk_internal_misc_Unsafe, weakCompareAndSetLongPlain_name, compareAndSetLong_signature, F_R) \ do_intrinsic(_weakCompareAndSetLongAcquire, jdk_internal_misc_Unsafe, weakCompareAndSetLongAcquire_name, compareAndSetLong_signature, F_R) \ do_intrinsic(_weakCompareAndSetLongRelease, jdk_internal_misc_Unsafe, weakCompareAndSetLongRelease_name, compareAndSetLong_signature, F_R) \ @@ -1352,9 +1352,9 @@ do_intrinsic(_getAndSetShort, jdk_internal_misc_Unsafe, getAndSetShort_name, getAndSetShort_signature, F_R) \ do_name( getAndSetShort_name, "getAndSetShort") \ do_alias( getAndSetShort_signature, /*"(Ljava/lang/Object;JS)S"*/ getAndAddShort_signature) \ - do_intrinsic(_getAndSetObject, jdk_internal_misc_Unsafe, getAndSetObject_name, getAndSetObject_signature, F_R)\ - do_name( getAndSetObject_name, "getAndSetObject") \ - do_signature(getAndSetObject_signature, "(Ljava/lang/Object;JLjava/lang/Object;)Ljava/lang/Object;" ) \ + do_intrinsic(_getAndSetReference, jdk_internal_misc_Unsafe, getAndSetReference_name, getAndSetReference_signature, F_R) \ + do_name( getAndSetReference_name, "getAndSetReference") \ + do_signature(getAndSetReference_signature, "(Ljava/lang/Object;JLjava/lang/Object;)Ljava/lang/Object;" ) \ \ /* (2) Bytecode intrinsics */ \ \ @@ -1541,7 +1541,7 @@ class vmIntrinsics: AllStatic { #undef VM_INTRINSIC_ENUM ID_LIMIT, - LAST_COMPILER_INLINE = _getAndSetObject, + LAST_COMPILER_INLINE = _getAndSetReference, FIRST_MH_SIG_POLY = _invokeGeneric, FIRST_MH_STATIC = _linkToVirtual, LAST_MH_SIG_POLY = _linkToInterface, diff --git a/src/hotspot/share/gc/g1/c2/g1BarrierSetC2.hpp b/src/hotspot/share/gc/g1/c2/g1BarrierSetC2.hpp index 4f8efa3a461..6f088b97b79 100644 --- a/src/hotspot/share/gc/g1/c2/g1BarrierSetC2.hpp +++ b/src/hotspot/share/gc/g1/c2/g1BarrierSetC2.hpp @@ -76,7 +76,7 @@ protected: // Helper for unsafe accesses, that may or may not be on the referent field. // Generates the guards that check whether the result of - // Unsafe.getObject should be recorded in an SATB log buffer. + // Unsafe.getReference should be recorded in an SATB log buffer. void insert_pre_barrier(GraphKit* kit, Node* base_oop, Node* offset, Node* pre_val, bool need_mem_bar) const; static const TypeFunc* write_ref_field_pre_entry_Type(); diff --git a/src/hotspot/share/gc/g1/g1ParScanThreadState.inline.hpp b/src/hotspot/share/gc/g1/g1ParScanThreadState.inline.hpp index e04cc1f7e3e..0d4d7fb5a07 100644 --- a/src/hotspot/share/gc/g1/g1ParScanThreadState.inline.hpp +++ b/src/hotspot/share/gc/g1/g1ParScanThreadState.inline.hpp @@ -25,6 +25,7 @@ #ifndef SHARE_VM_GC_G1_G1PARSCANTHREADSTATE_INLINE_HPP #define SHARE_VM_GC_G1_G1PARSCANTHREADSTATE_INLINE_HPP +#include "gc/g1/g1CollectedHeap.inline.hpp" #include "gc/g1/g1ParScanThreadState.hpp" #include "gc/g1/g1RemSet.hpp" #include "oops/access.inline.hpp" @@ -40,21 +41,25 @@ templatevoid G1ParScanThreadState::do_oop_evac(T* p) { // processed multiple times, and so we might get references into old gen here. // So we need to redo this check. const InCSetState in_cset_state = _g1h->in_cset_state(obj); - if (in_cset_state.is_in_cset()) { - markOop m = obj->mark_raw(); - if (m->is_marked()) { - obj = (oop) m->decode_pointer(); - } else { - obj = copy_to_survivor_space(in_cset_state, obj, m); - } - RawAccess ::oop_store(p, obj); - } else if (in_cset_state.is_humongous()) { - _g1h->set_humongous_is_live(obj); - } else { - assert(in_cset_state.is_default(), - "In_cset_state must be NotInCSet here, but is " CSETSTATE_FORMAT, in_cset_state.value()); + // References pushed onto the work stack should never point to a humongous region + // as they are not added to the collection set due to above precondition. + assert(!in_cset_state.is_humongous(), + "Obj " PTR_FORMAT " should not refer to humongous region %u from " PTR_FORMAT, + p2i(obj), _g1h->addr_to_region((HeapWord*)obj), p2i(p)); + + if (!in_cset_state.is_in_cset()) { + // In this case somebody else already did all the work. + return; } + markOop m = obj->mark_raw(); + if (m->is_marked()) { + obj = (oop) m->decode_pointer(); + } else { + obj = copy_to_survivor_space(in_cset_state, obj, m); + } + RawAccess ::oop_store(p, obj); + assert(obj != NULL, "Must be"); if (!HeapRegion::is_in_same_region(p, obj)) { HeapRegion* from = _g1h->heap_region_containing(p); diff --git a/src/hotspot/share/gc/shared/c2/barrierSetC2.hpp b/src/hotspot/share/gc/shared/c2/barrierSetC2.hpp index d643f68c6f0..0ce02c08612 100644 --- a/src/hotspot/share/gc/shared/c2/barrierSetC2.hpp +++ b/src/hotspot/share/gc/shared/c2/barrierSetC2.hpp @@ -213,8 +213,8 @@ public: virtual void register_potential_barrier_node(Node* node) const { } virtual void unregister_potential_barrier_node(Node* node) const { } virtual void eliminate_gc_barrier(PhaseMacroExpand* macro, Node* node) const { } - virtual void enqueue_useful_gc_barrier(Unique_Node_List &worklist, Node* node) const {} - virtual void eliminate_useless_gc_barriers(Unique_Node_List &useful) const {} + virtual void enqueue_useful_gc_barrier(PhaseIterGVN* igvn, Node* node) const {} + virtual void eliminate_useless_gc_barriers(Unique_Node_List &useful, Compile* C) const {} virtual void add_users_to_worklist(Unique_Node_List* worklist) const {} // Allow barrier sets to have shared state that is preserved across a compilation unit. diff --git a/src/hotspot/share/gc/z/c2/zBarrierSetC2.cpp b/src/hotspot/share/gc/z/c2/zBarrierSetC2.cpp index e20d7ae0036..ae11a814dd1 100644 --- a/src/hotspot/share/gc/z/c2/zBarrierSetC2.cpp +++ b/src/hotspot/share/gc/z/c2/zBarrierSetC2.cpp @@ -102,7 +102,7 @@ void ZBarrierSetC2::unregister_potential_barrier_node(Node* node) const { } } -void ZBarrierSetC2::eliminate_useless_gc_barriers(Unique_Node_List &useful) const { +void ZBarrierSetC2::eliminate_useless_gc_barriers(Unique_Node_List &useful, Compile* C) const { // Remove useless LoadBarrier nodes ZBarrierSetC2State* s = state(); for (int i = s->load_barrier_count()-1; i >= 0; i--) { @@ -113,9 +113,9 @@ void ZBarrierSetC2::eliminate_useless_gc_barriers(Unique_Node_List &useful) cons } } -void ZBarrierSetC2::enqueue_useful_gc_barrier(Unique_Node_List &worklist, Node* node) const { +void ZBarrierSetC2::enqueue_useful_gc_barrier(PhaseIterGVN* igvn, Node* node) const { if (node->is_LoadBarrier() && !node->as_LoadBarrier()->has_true_uses()) { - worklist.push(node); + igvn->_worklist.push(node); } } diff --git a/src/hotspot/share/gc/z/c2/zBarrierSetC2.hpp b/src/hotspot/share/gc/z/c2/zBarrierSetC2.hpp index fd90a9de4d4..54314059b60 100644 --- a/src/hotspot/share/gc/z/c2/zBarrierSetC2.hpp +++ b/src/hotspot/share/gc/z/c2/zBarrierSetC2.hpp @@ -189,9 +189,9 @@ public: virtual bool has_load_barriers() const { return true; } virtual bool is_gc_barrier_node(Node* node) const; virtual void eliminate_gc_barrier(PhaseMacroExpand* macro, Node* node) const { } - virtual void eliminate_useless_gc_barriers(Unique_Node_List &useful) const; + virtual void eliminate_useless_gc_barriers(Unique_Node_List &useful, Compile* C) const; virtual void add_users_to_worklist(Unique_Node_List* worklist) const; - virtual void enqueue_useful_gc_barrier(Unique_Node_List &worklist, Node* node) const; + virtual void enqueue_useful_gc_barrier(PhaseIterGVN* igvn, Node* node) const; virtual void register_potential_barrier_node(Node* node) const; virtual void unregister_potential_barrier_node(Node* node) const; virtual bool array_copy_requires_gc_barriers(bool tightly_coupled_alloc, BasicType type, bool is_clone, ArrayCopyPhase phase) const; diff --git a/src/hotspot/share/jfr/recorder/checkpoint/jfrCheckpointManager.cpp b/src/hotspot/share/jfr/recorder/checkpoint/jfrCheckpointManager.cpp index 79d1f66dd16..7e11d42d95c 100644 --- a/src/hotspot/share/jfr/recorder/checkpoint/jfrCheckpointManager.cpp +++ b/src/hotspot/share/jfr/recorder/checkpoint/jfrCheckpointManager.cpp @@ -367,7 +367,7 @@ void JfrCheckpointManager::write_type_set() { } void JfrCheckpointManager::write_type_set_for_unloaded_classes() { - assert(SafepointSynchronize::is_at_safepoint(), "must be at safepoint!"); + assert_locked_or_safepoint(ClassLoaderDataGraph_lock); JfrTypeManager::write_type_set_for_unloaded_classes(); } diff --git a/src/hotspot/share/jfr/recorder/checkpoint/types/jfrTypeManager.cpp b/src/hotspot/share/jfr/recorder/checkpoint/types/jfrTypeManager.cpp index 1ece6c9cbd7..062fb8b46dd 100644 --- a/src/hotspot/share/jfr/recorder/checkpoint/types/jfrTypeManager.cpp +++ b/src/hotspot/share/jfr/recorder/checkpoint/types/jfrTypeManager.cpp @@ -158,7 +158,7 @@ void JfrTypeManager::write_type_set() { } void JfrTypeManager::write_type_set_for_unloaded_classes() { - assert(SafepointSynchronize::is_at_safepoint(), "invariant"); + assert_locked_or_safepoint(ClassLoaderDataGraph_lock); JfrCheckpointWriter writer(false, true, Thread::current()); ClassUnloadTypeSet class_unload_set; class_unload_set.serialize(writer); diff --git a/src/hotspot/share/oops/arrayKlass.hpp b/src/hotspot/share/oops/arrayKlass.hpp index f15b83d10af..5ee1be12c5d 100644 --- a/src/hotspot/share/oops/arrayKlass.hpp +++ b/src/hotspot/share/oops/arrayKlass.hpp @@ -61,11 +61,9 @@ class ArrayKlass: public Klass { inline Klass* higher_dimension_acquire() const; // load with acquire semantics void set_higher_dimension(Klass* k) { _higher_dimension = k; } inline void release_set_higher_dimension(Klass* k); // store with release semantics - Klass** adr_higher_dimension() { return (Klass**)&this->_higher_dimension;} Klass* lower_dimension() const { return _lower_dimension; } void set_lower_dimension(Klass* k) { _lower_dimension = k; } - Klass** adr_lower_dimension() { return (Klass**)&this->_lower_dimension;} // offset of first element, including any padding for the sake of alignment int array_header_in_bytes() const { return layout_helper_header_size(layout_helper()); } diff --git a/src/hotspot/share/opto/c2compiler.cpp b/src/hotspot/share/opto/c2compiler.cpp index 048ebe28c44..ab6c54d832f 100644 --- a/src/hotspot/share/opto/c2compiler.cpp +++ b/src/hotspot/share/opto/c2compiler.cpp @@ -248,7 +248,7 @@ bool C2Compiler::is_intrinsic_supported(const methodHandle& method, bool is_virt break; /* CompareAndSet, Object: */ - case vmIntrinsics::_compareAndSetObject: + case vmIntrinsics::_compareAndSetReference: #ifdef _LP64 if ( UseCompressedOops && !Matcher::match_rule_supported(Op_CompareAndSwapN)) return false; if (!UseCompressedOops && !Matcher::match_rule_supported(Op_CompareAndSwapP)) return false; @@ -256,10 +256,10 @@ bool C2Compiler::is_intrinsic_supported(const methodHandle& method, bool is_virt if (!Matcher::match_rule_supported(Op_CompareAndSwapP)) return false; #endif break; - case vmIntrinsics::_weakCompareAndSetObjectPlain: - case vmIntrinsics::_weakCompareAndSetObjectAcquire: - case vmIntrinsics::_weakCompareAndSetObjectRelease: - case vmIntrinsics::_weakCompareAndSetObject: + case vmIntrinsics::_weakCompareAndSetReferencePlain: + case vmIntrinsics::_weakCompareAndSetReferenceAcquire: + case vmIntrinsics::_weakCompareAndSetReferenceRelease: + case vmIntrinsics::_weakCompareAndSetReference: #ifdef _LP64 if ( UseCompressedOops && !Matcher::match_rule_supported(Op_WeakCompareAndSwapN)) return false; if (!UseCompressedOops && !Matcher::match_rule_supported(Op_WeakCompareAndSwapP)) return false; @@ -312,9 +312,9 @@ bool C2Compiler::is_intrinsic_supported(const methodHandle& method, bool is_virt break; /* CompareAndExchange, Object: */ - case vmIntrinsics::_compareAndExchangeObject: - case vmIntrinsics::_compareAndExchangeObjectAcquire: - case vmIntrinsics::_compareAndExchangeObjectRelease: + case vmIntrinsics::_compareAndExchangeReference: + case vmIntrinsics::_compareAndExchangeReferenceAcquire: + case vmIntrinsics::_compareAndExchangeReferenceRelease: #ifdef _LP64 if ( UseCompressedOops && !Matcher::match_rule_supported(Op_CompareAndExchangeN)) return false; if (!UseCompressedOops && !Matcher::match_rule_supported(Op_CompareAndExchangeP)) return false; @@ -376,7 +376,7 @@ bool C2Compiler::is_intrinsic_supported(const methodHandle& method, bool is_virt case vmIntrinsics::_getAndSetLong: if (!Matcher::match_rule_supported(Op_GetAndSetL)) return false; break; - case vmIntrinsics::_getAndSetObject: + case vmIntrinsics::_getAndSetReference: #ifdef _LP64 if (!UseCompressedOops && !Matcher::match_rule_supported(Op_GetAndSetP)) return false; if (UseCompressedOops && !Matcher::match_rule_supported(Op_GetAndSetN)) return false; @@ -455,7 +455,7 @@ bool C2Compiler::is_intrinsic_supported(const methodHandle& method, bool is_virt case vmIntrinsics::_getCharsStringU: case vmIntrinsics::_getCharStringU: case vmIntrinsics::_putCharStringU: - case vmIntrinsics::_getObject: + case vmIntrinsics::_getReference: case vmIntrinsics::_getBoolean: case vmIntrinsics::_getByte: case vmIntrinsics::_getShort: @@ -464,7 +464,7 @@ bool C2Compiler::is_intrinsic_supported(const methodHandle& method, bool is_virt case vmIntrinsics::_getLong: case vmIntrinsics::_getFloat: case vmIntrinsics::_getDouble: - case vmIntrinsics::_putObject: + case vmIntrinsics::_putReference: case vmIntrinsics::_putBoolean: case vmIntrinsics::_putByte: case vmIntrinsics::_putShort: @@ -473,7 +473,7 @@ bool C2Compiler::is_intrinsic_supported(const methodHandle& method, bool is_virt case vmIntrinsics::_putLong: case vmIntrinsics::_putFloat: case vmIntrinsics::_putDouble: - case vmIntrinsics::_getObjectVolatile: + case vmIntrinsics::_getReferenceVolatile: case vmIntrinsics::_getBooleanVolatile: case vmIntrinsics::_getByteVolatile: case vmIntrinsics::_getShortVolatile: @@ -482,7 +482,7 @@ bool C2Compiler::is_intrinsic_supported(const methodHandle& method, bool is_virt case vmIntrinsics::_getLongVolatile: case vmIntrinsics::_getFloatVolatile: case vmIntrinsics::_getDoubleVolatile: - case vmIntrinsics::_putObjectVolatile: + case vmIntrinsics::_putReferenceVolatile: case vmIntrinsics::_putBooleanVolatile: case vmIntrinsics::_putByteVolatile: case vmIntrinsics::_putShortVolatile: @@ -491,7 +491,7 @@ bool C2Compiler::is_intrinsic_supported(const methodHandle& method, bool is_virt case vmIntrinsics::_putLongVolatile: case vmIntrinsics::_putFloatVolatile: case vmIntrinsics::_putDoubleVolatile: - case vmIntrinsics::_getObjectAcquire: + case vmIntrinsics::_getReferenceAcquire: case vmIntrinsics::_getBooleanAcquire: case vmIntrinsics::_getByteAcquire: case vmIntrinsics::_getShortAcquire: @@ -500,7 +500,7 @@ bool C2Compiler::is_intrinsic_supported(const methodHandle& method, bool is_virt case vmIntrinsics::_getLongAcquire: case vmIntrinsics::_getFloatAcquire: case vmIntrinsics::_getDoubleAcquire: - case vmIntrinsics::_putObjectRelease: + case vmIntrinsics::_putReferenceRelease: case vmIntrinsics::_putBooleanRelease: case vmIntrinsics::_putByteRelease: case vmIntrinsics::_putShortRelease: @@ -509,7 +509,7 @@ bool C2Compiler::is_intrinsic_supported(const methodHandle& method, bool is_virt case vmIntrinsics::_putLongRelease: case vmIntrinsics::_putFloatRelease: case vmIntrinsics::_putDoubleRelease: - case vmIntrinsics::_getObjectOpaque: + case vmIntrinsics::_getReferenceOpaque: case vmIntrinsics::_getBooleanOpaque: case vmIntrinsics::_getByteOpaque: case vmIntrinsics::_getShortOpaque: @@ -518,7 +518,7 @@ bool C2Compiler::is_intrinsic_supported(const methodHandle& method, bool is_virt case vmIntrinsics::_getLongOpaque: case vmIntrinsics::_getFloatOpaque: case vmIntrinsics::_getDoubleOpaque: - case vmIntrinsics::_putObjectOpaque: + case vmIntrinsics::_putReferenceOpaque: case vmIntrinsics::_putBooleanOpaque: case vmIntrinsics::_putByteOpaque: case vmIntrinsics::_putShortOpaque: diff --git a/src/hotspot/share/opto/cfgnode.cpp b/src/hotspot/share/opto/cfgnode.cpp index d5ee3b0b84f..6e81f548502 100644 --- a/src/hotspot/share/opto/cfgnode.cpp +++ b/src/hotspot/share/opto/cfgnode.cpp @@ -24,6 +24,7 @@ #include "precompiled.hpp" #include "classfile/systemDictionary.hpp" +#include "gc/shared/c2/barrierSetC2.hpp" #include "memory/allocation.inline.hpp" #include "memory/resourceArea.hpp" #include "oops/objArrayKlass.hpp" @@ -1447,7 +1448,10 @@ static Node *is_x2logic( PhaseGVN *phase, PhiNode *phi, int true_path ) { } else return NULL; // Build int->bool conversion - Node *n = new Conv2BNode( cmp->in(1) ); + Node *in1 = cmp->in(1); + BarrierSetC2* bs = BarrierSet::barrier_set()->barrier_set_c2(); + in1 = bs->step_over_gc_barrier(in1); + Node *n = new Conv2BNode(in1); if( flipped ) n = new XorINode( phase->transform(n), phase->intcon(1) ); @@ -1813,7 +1817,12 @@ Node *PhiNode::Ideal(PhaseGVN *phase, bool can_reshape) { if (can_reshape && igvn != NULL) { igvn->_worklist.push(r); } - set_req(j, top); // Nuke it down + // Nuke it down + if (can_reshape) { + set_req_X(j, top, igvn); + } else { + set_req(j, top); + } progress = this; // Record progress } } diff --git a/src/hotspot/share/opto/compile.cpp b/src/hotspot/share/opto/compile.cpp index f2a9d95a0fd..30c56b1f4a5 100644 --- a/src/hotspot/share/opto/compile.cpp +++ b/src/hotspot/share/opto/compile.cpp @@ -421,7 +421,7 @@ void Compile::remove_useless_nodes(Unique_Node_List &useful) { } } BarrierSetC2* bs = BarrierSet::barrier_set()->barrier_set_c2(); - bs->eliminate_useless_gc_barriers(useful); + bs->eliminate_useless_gc_barriers(useful, this); // clean up the late inline lists remove_useless_late_inlines(&_string_late_inlines, useful); remove_useless_late_inlines(&_boxing_late_inlines, useful); diff --git a/src/hotspot/share/opto/graphKit.cpp b/src/hotspot/share/opto/graphKit.cpp index b30689c957d..715aa84ea9c 100644 --- a/src/hotspot/share/opto/graphKit.cpp +++ b/src/hotspot/share/opto/graphKit.cpp @@ -3726,6 +3726,10 @@ AllocateNode* AllocateNode::Ideal_allocation(Node* ptr, PhaseTransform* phase) { if (ptr == NULL) { // reduce dumb test in callers return NULL; } + + BarrierSetC2* bs = BarrierSet::barrier_set()->barrier_set_c2(); + ptr = bs->step_over_gc_barrier(ptr); + if (ptr->is_CheckCastPP()) { // strip only one raw-to-oop cast ptr = ptr->in(1); if (ptr == NULL) return NULL; diff --git a/src/hotspot/share/opto/library_call.cpp b/src/hotspot/share/opto/library_call.cpp index a3ca33ef86f..31446754120 100644 --- a/src/hotspot/share/opto/library_call.cpp +++ b/src/hotspot/share/opto/library_call.cpp @@ -587,7 +587,7 @@ bool LibraryCallKit::try_to_inline(int predicate) { case vmIntrinsics::_inflateStringC: case vmIntrinsics::_inflateStringB: return inline_string_copy(!is_compress); - case vmIntrinsics::_getObject: return inline_unsafe_access(!is_store, T_OBJECT, Relaxed, false); + case vmIntrinsics::_getReference: return inline_unsafe_access(!is_store, T_OBJECT, Relaxed, false); case vmIntrinsics::_getBoolean: return inline_unsafe_access(!is_store, T_BOOLEAN, Relaxed, false); case vmIntrinsics::_getByte: return inline_unsafe_access(!is_store, T_BYTE, Relaxed, false); case vmIntrinsics::_getShort: return inline_unsafe_access(!is_store, T_SHORT, Relaxed, false); @@ -597,7 +597,7 @@ bool LibraryCallKit::try_to_inline(int predicate) { case vmIntrinsics::_getFloat: return inline_unsafe_access(!is_store, T_FLOAT, Relaxed, false); case vmIntrinsics::_getDouble: return inline_unsafe_access(!is_store, T_DOUBLE, Relaxed, false); - case vmIntrinsics::_putObject: return inline_unsafe_access( is_store, T_OBJECT, Relaxed, false); + case vmIntrinsics::_putReference: return inline_unsafe_access( is_store, T_OBJECT, Relaxed, false); case vmIntrinsics::_putBoolean: return inline_unsafe_access( is_store, T_BOOLEAN, Relaxed, false); case vmIntrinsics::_putByte: return inline_unsafe_access( is_store, T_BYTE, Relaxed, false); case vmIntrinsics::_putShort: return inline_unsafe_access( is_store, T_SHORT, Relaxed, false); @@ -607,7 +607,7 @@ bool LibraryCallKit::try_to_inline(int predicate) { case vmIntrinsics::_putFloat: return inline_unsafe_access( is_store, T_FLOAT, Relaxed, false); case vmIntrinsics::_putDouble: return inline_unsafe_access( is_store, T_DOUBLE, Relaxed, false); - case vmIntrinsics::_getObjectVolatile: return inline_unsafe_access(!is_store, T_OBJECT, Volatile, false); + case vmIntrinsics::_getReferenceVolatile: return inline_unsafe_access(!is_store, T_OBJECT, Volatile, false); case vmIntrinsics::_getBooleanVolatile: return inline_unsafe_access(!is_store, T_BOOLEAN, Volatile, false); case vmIntrinsics::_getByteVolatile: return inline_unsafe_access(!is_store, T_BYTE, Volatile, false); case vmIntrinsics::_getShortVolatile: return inline_unsafe_access(!is_store, T_SHORT, Volatile, false); @@ -617,7 +617,7 @@ bool LibraryCallKit::try_to_inline(int predicate) { case vmIntrinsics::_getFloatVolatile: return inline_unsafe_access(!is_store, T_FLOAT, Volatile, false); case vmIntrinsics::_getDoubleVolatile: return inline_unsafe_access(!is_store, T_DOUBLE, Volatile, false); - case vmIntrinsics::_putObjectVolatile: return inline_unsafe_access( is_store, T_OBJECT, Volatile, false); + case vmIntrinsics::_putReferenceVolatile: return inline_unsafe_access( is_store, T_OBJECT, Volatile, false); case vmIntrinsics::_putBooleanVolatile: return inline_unsafe_access( is_store, T_BOOLEAN, Volatile, false); case vmIntrinsics::_putByteVolatile: return inline_unsafe_access( is_store, T_BYTE, Volatile, false); case vmIntrinsics::_putShortVolatile: return inline_unsafe_access( is_store, T_SHORT, Volatile, false); @@ -637,7 +637,7 @@ bool LibraryCallKit::try_to_inline(int predicate) { case vmIntrinsics::_putIntUnaligned: return inline_unsafe_access( is_store, T_INT, Relaxed, true); case vmIntrinsics::_putLongUnaligned: return inline_unsafe_access( is_store, T_LONG, Relaxed, true); - case vmIntrinsics::_getObjectAcquire: return inline_unsafe_access(!is_store, T_OBJECT, Acquire, false); + case vmIntrinsics::_getReferenceAcquire: return inline_unsafe_access(!is_store, T_OBJECT, Acquire, false); case vmIntrinsics::_getBooleanAcquire: return inline_unsafe_access(!is_store, T_BOOLEAN, Acquire, false); case vmIntrinsics::_getByteAcquire: return inline_unsafe_access(!is_store, T_BYTE, Acquire, false); case vmIntrinsics::_getShortAcquire: return inline_unsafe_access(!is_store, T_SHORT, Acquire, false); @@ -647,7 +647,7 @@ bool LibraryCallKit::try_to_inline(int predicate) { case vmIntrinsics::_getFloatAcquire: return inline_unsafe_access(!is_store, T_FLOAT, Acquire, false); case vmIntrinsics::_getDoubleAcquire: return inline_unsafe_access(!is_store, T_DOUBLE, Acquire, false); - case vmIntrinsics::_putObjectRelease: return inline_unsafe_access( is_store, T_OBJECT, Release, false); + case vmIntrinsics::_putReferenceRelease: return inline_unsafe_access( is_store, T_OBJECT, Release, false); case vmIntrinsics::_putBooleanRelease: return inline_unsafe_access( is_store, T_BOOLEAN, Release, false); case vmIntrinsics::_putByteRelease: return inline_unsafe_access( is_store, T_BYTE, Release, false); case vmIntrinsics::_putShortRelease: return inline_unsafe_access( is_store, T_SHORT, Release, false); @@ -657,7 +657,7 @@ bool LibraryCallKit::try_to_inline(int predicate) { case vmIntrinsics::_putFloatRelease: return inline_unsafe_access( is_store, T_FLOAT, Release, false); case vmIntrinsics::_putDoubleRelease: return inline_unsafe_access( is_store, T_DOUBLE, Release, false); - case vmIntrinsics::_getObjectOpaque: return inline_unsafe_access(!is_store, T_OBJECT, Opaque, false); + case vmIntrinsics::_getReferenceOpaque: return inline_unsafe_access(!is_store, T_OBJECT, Opaque, false); case vmIntrinsics::_getBooleanOpaque: return inline_unsafe_access(!is_store, T_BOOLEAN, Opaque, false); case vmIntrinsics::_getByteOpaque: return inline_unsafe_access(!is_store, T_BYTE, Opaque, false); case vmIntrinsics::_getShortOpaque: return inline_unsafe_access(!is_store, T_SHORT, Opaque, false); @@ -667,7 +667,7 @@ bool LibraryCallKit::try_to_inline(int predicate) { case vmIntrinsics::_getFloatOpaque: return inline_unsafe_access(!is_store, T_FLOAT, Opaque, false); case vmIntrinsics::_getDoubleOpaque: return inline_unsafe_access(!is_store, T_DOUBLE, Opaque, false); - case vmIntrinsics::_putObjectOpaque: return inline_unsafe_access( is_store, T_OBJECT, Opaque, false); + case vmIntrinsics::_putReferenceOpaque: return inline_unsafe_access( is_store, T_OBJECT, Opaque, false); case vmIntrinsics::_putBooleanOpaque: return inline_unsafe_access( is_store, T_BOOLEAN, Opaque, false); case vmIntrinsics::_putByteOpaque: return inline_unsafe_access( is_store, T_BYTE, Opaque, false); case vmIntrinsics::_putShortOpaque: return inline_unsafe_access( is_store, T_SHORT, Opaque, false); @@ -677,48 +677,48 @@ bool LibraryCallKit::try_to_inline(int predicate) { case vmIntrinsics::_putFloatOpaque: return inline_unsafe_access( is_store, T_FLOAT, Opaque, false); case vmIntrinsics::_putDoubleOpaque: return inline_unsafe_access( is_store, T_DOUBLE, Opaque, false); - case vmIntrinsics::_compareAndSetObject: return inline_unsafe_load_store(T_OBJECT, LS_cmp_swap, Volatile); - case vmIntrinsics::_compareAndSetByte: return inline_unsafe_load_store(T_BYTE, LS_cmp_swap, Volatile); - case vmIntrinsics::_compareAndSetShort: return inline_unsafe_load_store(T_SHORT, LS_cmp_swap, Volatile); - case vmIntrinsics::_compareAndSetInt: return inline_unsafe_load_store(T_INT, LS_cmp_swap, Volatile); - case vmIntrinsics::_compareAndSetLong: return inline_unsafe_load_store(T_LONG, LS_cmp_swap, Volatile); + case vmIntrinsics::_compareAndSetReference: return inline_unsafe_load_store(T_OBJECT, LS_cmp_swap, Volatile); + case vmIntrinsics::_compareAndSetByte: return inline_unsafe_load_store(T_BYTE, LS_cmp_swap, Volatile); + case vmIntrinsics::_compareAndSetShort: return inline_unsafe_load_store(T_SHORT, LS_cmp_swap, Volatile); + case vmIntrinsics::_compareAndSetInt: return inline_unsafe_load_store(T_INT, LS_cmp_swap, Volatile); + case vmIntrinsics::_compareAndSetLong: return inline_unsafe_load_store(T_LONG, LS_cmp_swap, Volatile); - case vmIntrinsics::_weakCompareAndSetObjectPlain: return inline_unsafe_load_store(T_OBJECT, LS_cmp_swap_weak, Relaxed); - case vmIntrinsics::_weakCompareAndSetObjectAcquire: return inline_unsafe_load_store(T_OBJECT, LS_cmp_swap_weak, Acquire); - case vmIntrinsics::_weakCompareAndSetObjectRelease: return inline_unsafe_load_store(T_OBJECT, LS_cmp_swap_weak, Release); - case vmIntrinsics::_weakCompareAndSetObject: return inline_unsafe_load_store(T_OBJECT, LS_cmp_swap_weak, Volatile); - case vmIntrinsics::_weakCompareAndSetBytePlain: return inline_unsafe_load_store(T_BYTE, LS_cmp_swap_weak, Relaxed); - case vmIntrinsics::_weakCompareAndSetByteAcquire: return inline_unsafe_load_store(T_BYTE, LS_cmp_swap_weak, Acquire); - case vmIntrinsics::_weakCompareAndSetByteRelease: return inline_unsafe_load_store(T_BYTE, LS_cmp_swap_weak, Release); - case vmIntrinsics::_weakCompareAndSetByte: return inline_unsafe_load_store(T_BYTE, LS_cmp_swap_weak, Volatile); - case vmIntrinsics::_weakCompareAndSetShortPlain: return inline_unsafe_load_store(T_SHORT, LS_cmp_swap_weak, Relaxed); - case vmIntrinsics::_weakCompareAndSetShortAcquire: return inline_unsafe_load_store(T_SHORT, LS_cmp_swap_weak, Acquire); - case vmIntrinsics::_weakCompareAndSetShortRelease: return inline_unsafe_load_store(T_SHORT, LS_cmp_swap_weak, Release); - case vmIntrinsics::_weakCompareAndSetShort: return inline_unsafe_load_store(T_SHORT, LS_cmp_swap_weak, Volatile); - case vmIntrinsics::_weakCompareAndSetIntPlain: return inline_unsafe_load_store(T_INT, LS_cmp_swap_weak, Relaxed); - case vmIntrinsics::_weakCompareAndSetIntAcquire: return inline_unsafe_load_store(T_INT, LS_cmp_swap_weak, Acquire); - case vmIntrinsics::_weakCompareAndSetIntRelease: return inline_unsafe_load_store(T_INT, LS_cmp_swap_weak, Release); - case vmIntrinsics::_weakCompareAndSetInt: return inline_unsafe_load_store(T_INT, LS_cmp_swap_weak, Volatile); - case vmIntrinsics::_weakCompareAndSetLongPlain: return inline_unsafe_load_store(T_LONG, LS_cmp_swap_weak, Relaxed); - case vmIntrinsics::_weakCompareAndSetLongAcquire: return inline_unsafe_load_store(T_LONG, LS_cmp_swap_weak, Acquire); - case vmIntrinsics::_weakCompareAndSetLongRelease: return inline_unsafe_load_store(T_LONG, LS_cmp_swap_weak, Release); - case vmIntrinsics::_weakCompareAndSetLong: return inline_unsafe_load_store(T_LONG, LS_cmp_swap_weak, Volatile); + case vmIntrinsics::_weakCompareAndSetReferencePlain: return inline_unsafe_load_store(T_OBJECT, LS_cmp_swap_weak, Relaxed); + case vmIntrinsics::_weakCompareAndSetReferenceAcquire: return inline_unsafe_load_store(T_OBJECT, LS_cmp_swap_weak, Acquire); + case vmIntrinsics::_weakCompareAndSetReferenceRelease: return inline_unsafe_load_store(T_OBJECT, LS_cmp_swap_weak, Release); + case vmIntrinsics::_weakCompareAndSetReference: return inline_unsafe_load_store(T_OBJECT, LS_cmp_swap_weak, Volatile); + case vmIntrinsics::_weakCompareAndSetBytePlain: return inline_unsafe_load_store(T_BYTE, LS_cmp_swap_weak, Relaxed); + case vmIntrinsics::_weakCompareAndSetByteAcquire: return inline_unsafe_load_store(T_BYTE, LS_cmp_swap_weak, Acquire); + case vmIntrinsics::_weakCompareAndSetByteRelease: return inline_unsafe_load_store(T_BYTE, LS_cmp_swap_weak, Release); + case vmIntrinsics::_weakCompareAndSetByte: return inline_unsafe_load_store(T_BYTE, LS_cmp_swap_weak, Volatile); + case vmIntrinsics::_weakCompareAndSetShortPlain: return inline_unsafe_load_store(T_SHORT, LS_cmp_swap_weak, Relaxed); + case vmIntrinsics::_weakCompareAndSetShortAcquire: return inline_unsafe_load_store(T_SHORT, LS_cmp_swap_weak, Acquire); + case vmIntrinsics::_weakCompareAndSetShortRelease: return inline_unsafe_load_store(T_SHORT, LS_cmp_swap_weak, Release); + case vmIntrinsics::_weakCompareAndSetShort: return inline_unsafe_load_store(T_SHORT, LS_cmp_swap_weak, Volatile); + case vmIntrinsics::_weakCompareAndSetIntPlain: return inline_unsafe_load_store(T_INT, LS_cmp_swap_weak, Relaxed); + case vmIntrinsics::_weakCompareAndSetIntAcquire: return inline_unsafe_load_store(T_INT, LS_cmp_swap_weak, Acquire); + case vmIntrinsics::_weakCompareAndSetIntRelease: return inline_unsafe_load_store(T_INT, LS_cmp_swap_weak, Release); + case vmIntrinsics::_weakCompareAndSetInt: return inline_unsafe_load_store(T_INT, LS_cmp_swap_weak, Volatile); + case vmIntrinsics::_weakCompareAndSetLongPlain: return inline_unsafe_load_store(T_LONG, LS_cmp_swap_weak, Relaxed); + case vmIntrinsics::_weakCompareAndSetLongAcquire: return inline_unsafe_load_store(T_LONG, LS_cmp_swap_weak, Acquire); + case vmIntrinsics::_weakCompareAndSetLongRelease: return inline_unsafe_load_store(T_LONG, LS_cmp_swap_weak, Release); + case vmIntrinsics::_weakCompareAndSetLong: return inline_unsafe_load_store(T_LONG, LS_cmp_swap_weak, Volatile); - case vmIntrinsics::_compareAndExchangeObject: return inline_unsafe_load_store(T_OBJECT, LS_cmp_exchange, Volatile); - case vmIntrinsics::_compareAndExchangeObjectAcquire: return inline_unsafe_load_store(T_OBJECT, LS_cmp_exchange, Acquire); - case vmIntrinsics::_compareAndExchangeObjectRelease: return inline_unsafe_load_store(T_OBJECT, LS_cmp_exchange, Release); - case vmIntrinsics::_compareAndExchangeByte: return inline_unsafe_load_store(T_BYTE, LS_cmp_exchange, Volatile); - case vmIntrinsics::_compareAndExchangeByteAcquire: return inline_unsafe_load_store(T_BYTE, LS_cmp_exchange, Acquire); - case vmIntrinsics::_compareAndExchangeByteRelease: return inline_unsafe_load_store(T_BYTE, LS_cmp_exchange, Release); - case vmIntrinsics::_compareAndExchangeShort: return inline_unsafe_load_store(T_SHORT, LS_cmp_exchange, Volatile); - case vmIntrinsics::_compareAndExchangeShortAcquire: return inline_unsafe_load_store(T_SHORT, LS_cmp_exchange, Acquire); - case vmIntrinsics::_compareAndExchangeShortRelease: return inline_unsafe_load_store(T_SHORT, LS_cmp_exchange, Release); - case vmIntrinsics::_compareAndExchangeInt: return inline_unsafe_load_store(T_INT, LS_cmp_exchange, Volatile); - case vmIntrinsics::_compareAndExchangeIntAcquire: return inline_unsafe_load_store(T_INT, LS_cmp_exchange, Acquire); - case vmIntrinsics::_compareAndExchangeIntRelease: return inline_unsafe_load_store(T_INT, LS_cmp_exchange, Release); - case vmIntrinsics::_compareAndExchangeLong: return inline_unsafe_load_store(T_LONG, LS_cmp_exchange, Volatile); - case vmIntrinsics::_compareAndExchangeLongAcquire: return inline_unsafe_load_store(T_LONG, LS_cmp_exchange, Acquire); - case vmIntrinsics::_compareAndExchangeLongRelease: return inline_unsafe_load_store(T_LONG, LS_cmp_exchange, Release); + case vmIntrinsics::_compareAndExchangeReference: return inline_unsafe_load_store(T_OBJECT, LS_cmp_exchange, Volatile); + case vmIntrinsics::_compareAndExchangeReferenceAcquire: return inline_unsafe_load_store(T_OBJECT, LS_cmp_exchange, Acquire); + case vmIntrinsics::_compareAndExchangeReferenceRelease: return inline_unsafe_load_store(T_OBJECT, LS_cmp_exchange, Release); + case vmIntrinsics::_compareAndExchangeByte: return inline_unsafe_load_store(T_BYTE, LS_cmp_exchange, Volatile); + case vmIntrinsics::_compareAndExchangeByteAcquire: return inline_unsafe_load_store(T_BYTE, LS_cmp_exchange, Acquire); + case vmIntrinsics::_compareAndExchangeByteRelease: return inline_unsafe_load_store(T_BYTE, LS_cmp_exchange, Release); + case vmIntrinsics::_compareAndExchangeShort: return inline_unsafe_load_store(T_SHORT, LS_cmp_exchange, Volatile); + case vmIntrinsics::_compareAndExchangeShortAcquire: return inline_unsafe_load_store(T_SHORT, LS_cmp_exchange, Acquire); + case vmIntrinsics::_compareAndExchangeShortRelease: return inline_unsafe_load_store(T_SHORT, LS_cmp_exchange, Release); + case vmIntrinsics::_compareAndExchangeInt: return inline_unsafe_load_store(T_INT, LS_cmp_exchange, Volatile); + case vmIntrinsics::_compareAndExchangeIntAcquire: return inline_unsafe_load_store(T_INT, LS_cmp_exchange, Acquire); + case vmIntrinsics::_compareAndExchangeIntRelease: return inline_unsafe_load_store(T_INT, LS_cmp_exchange, Release); + case vmIntrinsics::_compareAndExchangeLong: return inline_unsafe_load_store(T_LONG, LS_cmp_exchange, Volatile); + case vmIntrinsics::_compareAndExchangeLongAcquire: return inline_unsafe_load_store(T_LONG, LS_cmp_exchange, Acquire); + case vmIntrinsics::_compareAndExchangeLongRelease: return inline_unsafe_load_store(T_LONG, LS_cmp_exchange, Release); case vmIntrinsics::_getAndAddByte: return inline_unsafe_load_store(T_BYTE, LS_get_add, Volatile); case vmIntrinsics::_getAndAddShort: return inline_unsafe_load_store(T_SHORT, LS_get_add, Volatile); @@ -729,7 +729,7 @@ bool LibraryCallKit::try_to_inline(int predicate) { case vmIntrinsics::_getAndSetShort: return inline_unsafe_load_store(T_SHORT, LS_get_set, Volatile); case vmIntrinsics::_getAndSetInt: return inline_unsafe_load_store(T_INT, LS_get_set, Volatile); case vmIntrinsics::_getAndSetLong: return inline_unsafe_load_store(T_LONG, LS_get_set, Volatile); - case vmIntrinsics::_getAndSetObject: return inline_unsafe_load_store(T_OBJECT, LS_get_set, Volatile); + case vmIntrinsics::_getAndSetReference: return inline_unsafe_load_store(T_OBJECT, LS_get_set, Volatile); case vmIntrinsics::_loadFence: case vmIntrinsics::_storeFence: @@ -2344,14 +2344,14 @@ bool LibraryCallKit::inline_unsafe_access(bool is_store, const BasicType type, c ciSignature* sig = callee()->signature(); #ifdef ASSERT if (!is_store) { - // Object getObject(Object base, int/long offset), etc. + // Object getReference(Object base, int/long offset), etc. BasicType rtype = sig->return_type()->basic_type(); assert(rtype == type, "getter must return the expected value"); assert(sig->count() == 2, "oop getter has 2 arguments"); assert(sig->type_at(0)->basic_type() == T_OBJECT, "getter base is object"); assert(sig->type_at(1)->basic_type() == T_LONG, "getter offset is correct"); } else { - // void putObject(Object base, int/long offset, Object x), etc. + // void putReference(Object base, int/long offset, Object x), etc. assert(sig->return_type()->basic_type() == T_VOID, "putter must not return a value"); assert(sig->count() == 3, "oop putter has 3 arguments"); assert(sig->type_at(0)->basic_type() == T_OBJECT, "putter base is object"); @@ -2422,7 +2422,7 @@ bool LibraryCallKit::inline_unsafe_access(bool is_store, const BasicType type, c bt = adr_type->is_aryptr()->elem()->array_element_basic_type(); } if (bt == T_ARRAY || bt == T_NARROWOOP) { - // accessing an array field with getObject is not a mismatch + // accessing an array field with getReference is not a mismatch bt = T_OBJECT; } if ((bt == T_OBJECT) != (type == T_OBJECT)) { @@ -2521,16 +2521,16 @@ bool LibraryCallKit::inline_unsafe_access(bool is_store, const BasicType type, c // // LS_cmp_swap: // -// boolean compareAndSetObject(Object o, long offset, Object expected, Object x); +// boolean compareAndSetReference(Object o, long offset, Object expected, Object x); // boolean compareAndSetInt( Object o, long offset, int expected, int x); // boolean compareAndSetLong( Object o, long offset, long expected, long x); // // LS_cmp_swap_weak: // -// boolean weakCompareAndSetObject( Object o, long offset, Object expected, Object x); -// boolean weakCompareAndSetObjectPlain( Object o, long offset, Object expected, Object x); -// boolean weakCompareAndSetObjectAcquire(Object o, long offset, Object expected, Object x); -// boolean weakCompareAndSetObjectRelease(Object o, long offset, Object expected, Object x); +// boolean weakCompareAndSetReference( Object o, long offset, Object expected, Object x); +// boolean weakCompareAndSetReferencePlain( Object o, long offset, Object expected, Object x); +// boolean weakCompareAndSetReferenceAcquire(Object o, long offset, Object expected, Object x); +// boolean weakCompareAndSetReferenceRelease(Object o, long offset, Object expected, Object x); // // boolean weakCompareAndSetInt( Object o, long offset, int expected, int x); // boolean weakCompareAndSetIntPlain( Object o, long offset, int expected, int x); @@ -2544,9 +2544,9 @@ bool LibraryCallKit::inline_unsafe_access(bool is_store, const BasicType type, c // // LS_cmp_exchange: // -// Object compareAndExchangeObjectVolatile(Object o, long offset, Object expected, Object x); -// Object compareAndExchangeObjectAcquire( Object o, long offset, Object expected, Object x); -// Object compareAndExchangeObjectRelease( Object o, long offset, Object expected, Object x); +// Object compareAndExchangeReferenceVolatile(Object o, long offset, Object expected, Object x); +// Object compareAndExchangeReferenceAcquire( Object o, long offset, Object expected, Object x); +// Object compareAndExchangeReferenceRelease( Object o, long offset, Object expected, Object x); // // Object compareAndExchangeIntVolatile( Object o, long offset, Object expected, Object x); // Object compareAndExchangeIntAcquire( Object o, long offset, Object expected, Object x); diff --git a/src/hotspot/share/opto/macro.cpp b/src/hotspot/share/opto/macro.cpp index fbbd4e489d8..8ab63709b6d 100644 --- a/src/hotspot/share/opto/macro.cpp +++ b/src/hotspot/share/opto/macro.cpp @@ -434,7 +434,10 @@ Node *PhaseMacroExpand::value_from_mem_phi(Node *mem, BasicType ft, const Type * if (val == mem) { values.at_put(j, mem); } else if (val->is_Store()) { - values.at_put(j, val->in(MemNode::ValueIn)); + Node* n = val->in(MemNode::ValueIn); + BarrierSetC2* bs = BarrierSet::barrier_set()->barrier_set_c2(); + n = bs->step_over_gc_barrier(n); + values.at_put(j, n); } else if(val->is_Proj() && val->in(0) == alloc) { values.at_put(j, _igvn.zerocon(ft)); } else if (val->is_Phi()) { @@ -546,7 +549,10 @@ Node *PhaseMacroExpand::value_from_mem(Node *sfpt_mem, Node *sfpt_ctl, BasicType // hit a sentinel, return appropriate 0 value return _igvn.zerocon(ft); } else if (mem->is_Store()) { - return mem->in(MemNode::ValueIn); + Node* n = mem->in(MemNode::ValueIn); + BarrierSetC2* bs = BarrierSet::barrier_set()->barrier_set_c2(); + n = bs->step_over_gc_barrier(n); + return n; } else if (mem->is_Phi()) { // attempt to produce a Phi reflecting the values on the input paths of the Phi Node_Stack value_phis(a, 8); diff --git a/src/hotspot/share/opto/memnode.cpp b/src/hotspot/share/opto/memnode.cpp index 14cd6e3bae8..690dea97131 100644 --- a/src/hotspot/share/opto/memnode.cpp +++ b/src/hotspot/share/opto/memnode.cpp @@ -924,8 +924,10 @@ Node* LoadNode::can_see_arraycopy_value(Node* st, PhaseGVN* phase) const { if (ac->as_ArrayCopy()->is_clonebasic()) { assert(ld_alloc != NULL, "need an alloc"); assert(addp->is_AddP(), "address must be addp"); - assert(addp->in(AddPNode::Base) == ac->in(ArrayCopyNode::Dest)->in(AddPNode::Base), "strange pattern"); - assert(addp->in(AddPNode::Address) == ac->in(ArrayCopyNode::Dest)->in(AddPNode::Address), "strange pattern"); + assert(ac->in(ArrayCopyNode::Dest)->is_AddP(), "dest must be an address"); + BarrierSetC2* bs = BarrierSet::barrier_set()->barrier_set_c2(); + assert(bs->step_over_gc_barrier(addp->in(AddPNode::Base)) == bs->step_over_gc_barrier(ac->in(ArrayCopyNode::Dest)->in(AddPNode::Base)), "strange pattern"); + assert(bs->step_over_gc_barrier(addp->in(AddPNode::Address)) == bs->step_over_gc_barrier(ac->in(ArrayCopyNode::Dest)->in(AddPNode::Address)), "strange pattern"); addp->set_req(AddPNode::Base, src->in(AddPNode::Base)); addp->set_req(AddPNode::Address, src->in(AddPNode::Address)); } else { @@ -1081,6 +1083,8 @@ Node* MemNode::can_see_stored_value(Node* st, PhaseTransform* phase) const { (tp != NULL) && tp->is_ptr_to_boxed_value()) { intptr_t ignore = 0; Node* base = AddPNode::Ideal_base_and_offset(ld_adr, phase, ignore); + BarrierSetC2* bs = BarrierSet::barrier_set()->barrier_set_c2(); + base = bs->step_over_gc_barrier(base); if (base != NULL && base->is_Proj() && base->as_Proj()->_con == TypeFunc::Parms && base->in(0)->is_CallStaticJava() && diff --git a/src/hotspot/share/opto/node.cpp b/src/hotspot/share/opto/node.cpp index acbc68a2fc8..9ed9ab33c59 100644 --- a/src/hotspot/share/opto/node.cpp +++ b/src/hotspot/share/opto/node.cpp @@ -1396,7 +1396,7 @@ static void kill_dead_code( Node *dead, PhaseIterGVN *igvn ) { // and remove_globally_dead_node(). igvn->add_users_to_worklist( n ); } else { - BarrierSet::barrier_set()->barrier_set_c2()->enqueue_useful_gc_barrier(igvn->_worklist, n); + BarrierSet::barrier_set()->barrier_set_c2()->enqueue_useful_gc_barrier(igvn, n); } } } diff --git a/src/hotspot/share/opto/phaseX.cpp b/src/hotspot/share/opto/phaseX.cpp index 0ec4fef7502..9b7b00df296 100644 --- a/src/hotspot/share/opto/phaseX.cpp +++ b/src/hotspot/share/opto/phaseX.cpp @@ -1375,7 +1375,7 @@ void PhaseIterGVN::remove_globally_dead_node( Node *dead ) { assert(!(i < imax), "sanity"); } } else { - BarrierSet::barrier_set()->barrier_set_c2()->enqueue_useful_gc_barrier(_worklist, in); + BarrierSet::barrier_set()->barrier_set_c2()->enqueue_useful_gc_barrier(this, in); } if (ReduceFieldZeroing && dead->is_Load() && i == MemNode::Memory && in->is_Proj() && in->in(0) != NULL && in->in(0)->is_Initialize()) { @@ -2089,6 +2089,8 @@ void Node::set_req_X( uint i, Node *n, PhaseIterGVN *igvn ) { default: break; } + + BarrierSet::barrier_set()->barrier_set_c2()->enqueue_useful_gc_barrier(igvn, old); } } diff --git a/src/hotspot/share/opto/subnode.cpp b/src/hotspot/share/opto/subnode.cpp index 657b7145d0a..f2e416d6c61 100644 --- a/src/hotspot/share/opto/subnode.cpp +++ b/src/hotspot/share/opto/subnode.cpp @@ -883,9 +883,7 @@ static inline Node* isa_java_mirror_load(PhaseGVN* phase, Node* n) { // LoadBarrier?(LoadP(LoadP(AddP(foo:Klass, #java_mirror)))) // or NULL if not matching. BarrierSetC2* bs = BarrierSet::barrier_set()->barrier_set_c2(); - if (bs->is_gc_barrier_node(n)) { n = bs->step_over_gc_barrier(n); - } if (n->Opcode() != Op_LoadP) return NULL; @@ -959,8 +957,14 @@ Node *CmpPNode::Ideal( PhaseGVN *phase, bool can_reshape ) { if (k1 && (k2 || conk2)) { Node* lhs = k1; Node* rhs = (k2 != NULL) ? k2 : conk2; - this->set_req(1, lhs); - this->set_req(2, rhs); + PhaseIterGVN* igvn = phase->is_IterGVN(); + if (igvn != NULL) { + set_req_X(1, lhs, igvn); + set_req_X(2, rhs, igvn); + } else { + set_req(1, lhs); + set_req(2, rhs); + } return this; } } diff --git a/src/hotspot/share/prims/jvmtiExport.hpp b/src/hotspot/share/prims/jvmtiExport.hpp index 0e27799472b..42c9000693a 100644 --- a/src/hotspot/share/prims/jvmtiExport.hpp +++ b/src/hotspot/share/prims/jvmtiExport.hpp @@ -538,7 +538,7 @@ class JvmtiSampledObjectAllocEventCollector : public JvmtiObjectAllocEventCollec JvmtiSampledObjectAllocEventCollector() NOT_JVMTI_RETURN; ~JvmtiSampledObjectAllocEventCollector() NOT_JVMTI_RETURN; bool is_sampled_object_alloc_event() { return true; } - static bool object_alloc_is_safe_to_sample(); + static bool object_alloc_is_safe_to_sample() NOT_JVMTI_RETURN_(false); }; // Marker class to disable the posting of VMObjectAlloc events diff --git a/src/hotspot/share/prims/unsafe.cpp b/src/hotspot/share/prims/unsafe.cpp index cbc93654ecf..2775123fe37 100644 --- a/src/hotspot/share/prims/unsafe.cpp +++ b/src/hotspot/share/prims/unsafe.cpp @@ -257,28 +257,28 @@ public: // These functions allow a null base pointer with an arbitrary address. // But if the base pointer is non-null, the offset should make some sense. // That is, it should be in the range [0, MAX_OBJECT_SIZE]. -UNSAFE_ENTRY(jobject, Unsafe_GetObject(JNIEnv *env, jobject unsafe, jobject obj, jlong offset)) { +UNSAFE_ENTRY(jobject, Unsafe_GetReference(JNIEnv *env, jobject unsafe, jobject obj, jlong offset)) { oop p = JNIHandles::resolve(obj); assert_field_offset_sane(p, offset); oop v = HeapAccess ::oop_load_at(p, offset); return JNIHandles::make_local(env, v); } UNSAFE_END -UNSAFE_ENTRY(void, Unsafe_PutObject(JNIEnv *env, jobject unsafe, jobject obj, jlong offset, jobject x_h)) { +UNSAFE_ENTRY(void, Unsafe_PutReference(JNIEnv *env, jobject unsafe, jobject obj, jlong offset, jobject x_h)) { oop x = JNIHandles::resolve(x_h); oop p = JNIHandles::resolve(obj); assert_field_offset_sane(p, offset); HeapAccess ::oop_store_at(p, offset, x); } UNSAFE_END -UNSAFE_ENTRY(jobject, Unsafe_GetObjectVolatile(JNIEnv *env, jobject unsafe, jobject obj, jlong offset)) { +UNSAFE_ENTRY(jobject, Unsafe_GetReferenceVolatile(JNIEnv *env, jobject unsafe, jobject obj, jlong offset)) { oop p = JNIHandles::resolve(obj); assert_field_offset_sane(p, offset); oop v = HeapAccess ::oop_load_at(p, offset); return JNIHandles::make_local(env, v); } UNSAFE_END -UNSAFE_ENTRY(void, Unsafe_PutObjectVolatile(JNIEnv *env, jobject unsafe, jobject obj, jlong offset, jobject x_h)) { +UNSAFE_ENTRY(void, Unsafe_PutReferenceVolatile(JNIEnv *env, jobject unsafe, jobject obj, jlong offset, jobject x_h)) { oop x = JNIHandles::resolve(x_h); oop p = JNIHandles::resolve(obj); assert_field_offset_sane(p, offset); @@ -864,7 +864,7 @@ UNSAFE_ENTRY(void, Unsafe_ThrowException(JNIEnv *env, jobject unsafe, jthrowable // JSR166 ------------------------------------------------------------------ -UNSAFE_ENTRY(jobject, Unsafe_CompareAndExchangeObject(JNIEnv *env, jobject unsafe, jobject obj, jlong offset, jobject e_h, jobject x_h)) { +UNSAFE_ENTRY(jobject, Unsafe_CompareAndExchangeReference(JNIEnv *env, jobject unsafe, jobject obj, jlong offset, jobject e_h, jobject x_h)) { oop x = JNIHandles::resolve(x_h); oop e = JNIHandles::resolve(e_h); oop p = JNIHandles::resolve(obj); @@ -895,7 +895,7 @@ UNSAFE_ENTRY(jlong, Unsafe_CompareAndExchangeLong(JNIEnv *env, jobject unsafe, j } } UNSAFE_END -UNSAFE_ENTRY(jboolean, Unsafe_CompareAndSetObject(JNIEnv *env, jobject unsafe, jobject obj, jlong offset, jobject e_h, jobject x_h)) { +UNSAFE_ENTRY(jboolean, Unsafe_CompareAndSetReference(JNIEnv *env, jobject unsafe, jobject obj, jlong offset, jobject e_h, jobject x_h)) { oop x = JNIHandles::resolve(x_h); oop e = JNIHandles::resolve(e_h); oop p = JNIHandles::resolve(obj); @@ -1034,10 +1034,10 @@ UNSAFE_ENTRY(jint, Unsafe_GetLoadAverage0(JNIEnv *env, jobject unsafe, jdoubleAr static JNINativeMethod jdk_internal_misc_Unsafe_methods[] = { - {CC "getObject", CC "(" OBJ "J)" OBJ "", FN_PTR(Unsafe_GetObject)}, - {CC "putObject", CC "(" OBJ "J" OBJ ")V", FN_PTR(Unsafe_PutObject)}, - {CC "getObjectVolatile",CC "(" OBJ "J)" OBJ "", FN_PTR(Unsafe_GetObjectVolatile)}, - {CC "putObjectVolatile",CC "(" OBJ "J" OBJ ")V", FN_PTR(Unsafe_PutObjectVolatile)}, + {CC "getReference", CC "(" OBJ "J)" OBJ "", FN_PTR(Unsafe_GetReference)}, + {CC "putReference", CC "(" OBJ "J" OBJ ")V", FN_PTR(Unsafe_PutReference)}, + {CC "getReferenceVolatile", CC "(" OBJ "J)" OBJ, FN_PTR(Unsafe_GetReferenceVolatile)}, + {CC "putReferenceVolatile", CC "(" OBJ "J" OBJ ")V", FN_PTR(Unsafe_PutReferenceVolatile)}, {CC "getUncompressedObject", CC "(" ADR ")" OBJ, FN_PTR(Unsafe_GetUncompressedObject)}, @@ -1067,10 +1067,10 @@ static JNINativeMethod jdk_internal_misc_Unsafe_methods[] = { {CC "defineClass0", CC "(" DC_Args ")" CLS, FN_PTR(Unsafe_DefineClass0)}, {CC "allocateInstance", CC "(" CLS ")" OBJ, FN_PTR(Unsafe_AllocateInstance)}, {CC "throwException", CC "(" THR ")V", FN_PTR(Unsafe_ThrowException)}, - {CC "compareAndSetObject",CC "(" OBJ "J" OBJ "" OBJ ")Z", FN_PTR(Unsafe_CompareAndSetObject)}, + {CC "compareAndSetReference",CC "(" OBJ "J" OBJ "" OBJ ")Z", FN_PTR(Unsafe_CompareAndSetReference)}, {CC "compareAndSetInt", CC "(" OBJ "J""I""I"")Z", FN_PTR(Unsafe_CompareAndSetInt)}, {CC "compareAndSetLong", CC "(" OBJ "J""J""J"")Z", FN_PTR(Unsafe_CompareAndSetLong)}, - {CC "compareAndExchangeObject", CC "(" OBJ "J" OBJ "" OBJ ")" OBJ, FN_PTR(Unsafe_CompareAndExchangeObject)}, + {CC "compareAndExchangeReference", CC "(" OBJ "J" OBJ "" OBJ ")" OBJ, FN_PTR(Unsafe_CompareAndExchangeReference)}, {CC "compareAndExchangeInt", CC "(" OBJ "J""I""I"")I", FN_PTR(Unsafe_CompareAndExchangeInt)}, {CC "compareAndExchangeLong", CC "(" OBJ "J""J""J"")J", FN_PTR(Unsafe_CompareAndExchangeLong)}, diff --git a/src/hotspot/share/runtime/reflection.cpp b/src/hotspot/share/runtime/reflection.cpp index bfde295902b..1eb8f10d860 100644 --- a/src/hotspot/share/runtime/reflection.cpp +++ b/src/hotspot/share/runtime/reflection.cpp @@ -326,13 +326,6 @@ static Klass* basic_type_mirror_to_arrayklass(oop basic_type_mirror, TRAPS) { } } -#ifdef ASSERT -static oop basic_type_arrayklass_to_mirror(Klass* basic_type_arrayklass, TRAPS) { - BasicType type = TypeArrayKlass::cast(basic_type_arrayklass)->element_type(); - return Universe::java_mirror(type); -} -#endif - arrayOop Reflection::reflect_new_array(oop element_mirror, jint length, TRAPS) { if (element_mirror == NULL) { THROW_0(vmSymbols::java_lang_NullPointerException()); @@ -396,35 +389,6 @@ arrayOop Reflection::reflect_new_multi_array(oop element_mirror, typeArrayOop di } -oop Reflection::array_component_type(oop mirror, TRAPS) { - if (java_lang_Class::is_primitive(mirror)) { - return NULL; - } - - Klass* klass = java_lang_Class::as_Klass(mirror); - if (!klass->is_array_klass()) { - return NULL; - } - - oop result = java_lang_Class::component_mirror(mirror); -#ifdef ASSERT - oop result2 = NULL; - if (ArrayKlass::cast(klass)->dimension() == 1) { - if (klass->is_typeArray_klass()) { - result2 = basic_type_arrayklass_to_mirror(klass, CHECK_NULL); - } else { - result2 = ObjArrayKlass::cast(klass)->element_klass()->java_mirror(); - } - } else { - Klass* lower_dim = ArrayKlass::cast(klass)->lower_dimension(); - assert(lower_dim->is_array_klass(), "just checking"); - result2 = lower_dim->java_mirror(); - } - assert(oopDesc::equals(result, result2), "results must be consistent"); -#endif //ASSERT - return result; -} - static bool under_unsafe_anonymous_host(const InstanceKlass* ik, const InstanceKlass* unsafe_anonymous_host) { DEBUG_ONLY(int inf_loop_check = 1000 * 1000 * 1000); for (;;) { diff --git a/src/hotspot/share/runtime/reflection.hpp b/src/hotspot/share/runtime/reflection.hpp index e36696c3845..c2b55f61341 100644 --- a/src/hotspot/share/runtime/reflection.hpp +++ b/src/hotspot/share/runtime/reflection.hpp @@ -1,5 +1,5 @@ /* - * Copyright (c) 1997, 2017, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 1997, 2018, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -73,8 +73,6 @@ class Reflection: public AllStatic { // Reflective array access. Returns type code. Throws ArrayIndexOutOfBoundsException. static BasicType array_get(jvalue* value, arrayOop a, int index, TRAPS); static void array_set(jvalue* value, arrayOop a, int index, BasicType value_type, TRAPS); - // Returns mirror on array element type (NULL for basic type arrays and non-arrays). - static oop array_component_type(oop mirror, TRAPS); // Object creation static arrayOop reflect_new_array(oop element_mirror, jint length, TRAPS); diff --git a/src/java.base/share/classes/java/io/BufferedInputStream.java b/src/java.base/share/classes/java/io/BufferedInputStream.java index 32d0b3f8958..b384a12c0c9 100644 --- a/src/java.base/share/classes/java/io/BufferedInputStream.java +++ b/src/java.base/share/classes/java/io/BufferedInputStream.java @@ -238,7 +238,7 @@ class BufferedInputStream extends FilterInputStream { nsz = marklimit; byte[] nbuf = new byte[nsz]; System.arraycopy(buffer, 0, nbuf, 0, pos); - if (!U.compareAndSetObject(this, BUF_OFFSET, buffer, nbuf)) { + if (!U.compareAndSetReference(this, BUF_OFFSET, buffer, nbuf)) { // Can't replace buf if there was an async close. // Note: This would need to be changed if fill() // is ever made accessible to multiple threads. @@ -482,7 +482,7 @@ class BufferedInputStream extends FilterInputStream { public void close() throws IOException { byte[] buffer; while ( (buffer = buf) != null) { - if (U.compareAndSetObject(this, BUF_OFFSET, buffer, null)) { + if (U.compareAndSetReference(this, BUF_OFFSET, buffer, null)) { InputStream input = in; in = null; if (input != null) diff --git a/src/java.base/share/classes/java/io/File.java b/src/java.base/share/classes/java/io/File.java index 6bf3fe708aa..c37767c38db 100644 --- a/src/java.base/share/classes/java/io/File.java +++ b/src/java.base/share/classes/java/io/File.java @@ -2237,7 +2237,7 @@ public class File if (sep != separatorChar) pathField = pathField.replace(sep, separatorChar); String path = fs.normalize(pathField); - UNSAFE.putObject(this, PATH_OFFSET, path); + UNSAFE.putReference(this, PATH_OFFSET, path); UNSAFE.putIntVolatile(this, PREFIX_LENGTH_OFFSET, fs.prefixLength(path)); } diff --git a/src/java.base/share/classes/java/io/ObjectStreamClass.java b/src/java.base/share/classes/java/io/ObjectStreamClass.java index 954e4a0e30a..18f13837122 100644 --- a/src/java.base/share/classes/java/io/ObjectStreamClass.java +++ b/src/java.base/share/classes/java/io/ObjectStreamClass.java @@ -2135,7 +2135,7 @@ public class ObjectStreamClass implements Serializable { switch (typeCodes[i]) { case 'L': case '[': - vals[offsets[i]] = unsafe.getObject(obj, readKeys[i]); + vals[offsets[i]] = unsafe.getReference(obj, readKeys[i]); break; default: @@ -2190,7 +2190,7 @@ public class ObjectStreamClass implements Serializable { obj.getClass().getName()); } if (!dryRun) - unsafe.putObject(obj, key, val); + unsafe.putReference(obj, key, val); break; default: diff --git a/src/java.base/share/classes/java/lang/Class.java b/src/java.base/share/classes/java/lang/Class.java index 904ace62070..f5704174485 100644 --- a/src/java.base/share/classes/java/lang/Class.java +++ b/src/java.base/share/classes/java/lang/Class.java @@ -405,7 +405,7 @@ public final class Class implements java.io.Serializable, /** - * Returns the {@code Class} with the given + * Returns the {@code Class} with the given * binary name in the given module. * * This method attempts to locate, load, and link the class or interface. @@ -427,7 +427,7 @@ public final class Class
implements java.io.Serializable, * loads a class in another module. * * @param module A module - * @param name The binary name + * @param name The binary name * of the class * @return {@code Class} object of the given name defined in the given module; * {@code null} if not found. @@ -2904,19 +2904,19 @@ public final class Class implements java.io.Serializable, static boolean casReflectionData(Class> clazz, SoftReference > oldData, SoftReference > newData) { - return unsafe.compareAndSetObject(clazz, reflectionDataOffset, oldData, newData); + return unsafe.compareAndSetReference(clazz, reflectionDataOffset, oldData, newData); } static boolean casAnnotationType(Class> clazz, AnnotationType oldType, AnnotationType newType) { - return unsafe.compareAndSetObject(clazz, annotationTypeOffset, oldType, newType); + return unsafe.compareAndSetReference(clazz, annotationTypeOffset, oldType, newType); } static boolean casAnnotationData(Class> clazz, AnnotationData oldData, AnnotationData newData) { - return unsafe.compareAndSetObject(clazz, annotationDataOffset, oldData, newData); + return unsafe.compareAndSetReference(clazz, annotationDataOffset, oldData, newData); } } diff --git a/src/java.base/share/classes/java/lang/ClassLoader.java b/src/java.base/share/classes/java/lang/ClassLoader.java index ed2c827847c..f6dedb93139 100644 --- a/src/java.base/share/classes/java/lang/ClassLoader.java +++ b/src/java.base/share/classes/java/lang/ClassLoader.java @@ -3002,7 +3002,7 @@ public abstract class ClassLoader { Class> k = ClassLoader.class; long offset; offset = unsafe.objectFieldOffset(k, name); - return unsafe.compareAndSetObject(this, offset, null, obj); + return unsafe.compareAndSetReference(this, offset, null, obj); } } diff --git a/src/java.base/share/classes/java/lang/StackWalker.java b/src/java.base/share/classes/java/lang/StackWalker.java index af20b79771c..009b70c6eb4 100644 --- a/src/java.base/share/classes/java/lang/StackWalker.java +++ b/src/java.base/share/classes/java/lang/StackWalker.java @@ -100,7 +100,7 @@ public final class StackWalker { */ public interface StackFrame { /** - * Gets the binary name + * Gets the binary name * of the declaring class of the method represented by this stack frame. * * @return the binary name of the declaring class of the method diff --git a/src/java.base/share/classes/java/lang/invoke/CallSite.java b/src/java.base/share/classes/java/lang/invoke/CallSite.java index faa31125430..8b0eff5da2e 100644 --- a/src/java.base/share/classes/java/lang/invoke/CallSite.java +++ b/src/java.base/share/classes/java/lang/invoke/CallSite.java @@ -287,7 +287,7 @@ public class CallSite { } /*package-private*/ MethodHandle getTargetVolatile() { - return (MethodHandle) UNSAFE.getObjectVolatile(this, getTargetOffset()); + return (MethodHandle) UNSAFE.getReferenceVolatile(this, getTargetOffset()); } /*package-private*/ void setTargetVolatile(MethodHandle newTarget) { diff --git a/src/java.base/share/classes/java/lang/invoke/ClassSpecializer.java b/src/java.base/share/classes/java/lang/invoke/ClassSpecializer.java index b1d75a5ac09..b06c2ab745d 100644 --- a/src/java.base/share/classes/java/lang/invoke/ClassSpecializer.java +++ b/src/java.base/share/classes/java/lang/invoke/ClassSpecializer.java @@ -940,7 +940,7 @@ abstract class ClassSpecializer .SpeciesDat Object base = MethodHandleNatives.staticFieldBase(sdField); long offset = MethodHandleNatives.staticFieldOffset(sdField); UNSAFE.loadFence(); - return metaType.cast(UNSAFE.getObject(base, offset)); + return metaType.cast(UNSAFE.getReference(base, offset)); } catch (Error err) { throw err; } catch (Exception ex) { @@ -970,7 +970,7 @@ abstract class ClassSpecializer .SpeciesDat Object base = MethodHandleNatives.staticFieldBase(sdField); long offset = MethodHandleNatives.staticFieldOffset(sdField); UNSAFE.storeFence(); - UNSAFE.putObject(base, offset, speciesData); + UNSAFE.putReference(base, offset, speciesData); UNSAFE.storeFence(); } catch (Error err) { throw err; diff --git a/src/java.base/share/classes/java/lang/invoke/DirectMethodHandle.java b/src/java.base/share/classes/java/lang/invoke/DirectMethodHandle.java index 68a7719cbe1..d789e59d1e5 100644 --- a/src/java.base/share/classes/java/lang/invoke/DirectMethodHandle.java +++ b/src/java.base/share/classes/java/lang/invoke/DirectMethodHandle.java @@ -655,7 +655,7 @@ class DirectMethodHandle extends MethodHandle { case LONG: return GET_LONG_VOLATILE; case FLOAT: return GET_FLOAT_VOLATILE; case DOUBLE: return GET_DOUBLE_VOLATILE; - case OBJECT: return GET_OBJECT_VOLATILE; + case OBJECT: return GET_REFERENCE_VOLATILE; } } else { switch (wrapper) { @@ -667,7 +667,7 @@ class DirectMethodHandle extends MethodHandle { case LONG: return GET_LONG; case FLOAT: return GET_FLOAT; case DOUBLE: return GET_DOUBLE; - case OBJECT: return GET_OBJECT; + case OBJECT: return GET_REFERENCE; } } } else { @@ -681,7 +681,7 @@ class DirectMethodHandle extends MethodHandle { case LONG: return PUT_LONG_VOLATILE; case FLOAT: return PUT_FLOAT_VOLATILE; case DOUBLE: return PUT_DOUBLE_VOLATILE; - case OBJECT: return PUT_OBJECT_VOLATILE; + case OBJECT: return PUT_REFERENCE_VOLATILE; } } else { switch (wrapper) { @@ -693,7 +693,7 @@ class DirectMethodHandle extends MethodHandle { case LONG: return PUT_LONG; case FLOAT: return PUT_FLOAT; case DOUBLE: return PUT_DOUBLE; - case OBJECT: return PUT_OBJECT; + case OBJECT: return PUT_REFERENCE; } } } diff --git a/src/java.base/share/classes/java/lang/invoke/InvokerBytecodeGenerator.java b/src/java.base/share/classes/java/lang/invoke/InvokerBytecodeGenerator.java index 1770fba2a0c..8a2fb4ff682 100644 --- a/src/java.base/share/classes/java/lang/invoke/InvokerBytecodeGenerator.java +++ b/src/java.base/share/classes/java/lang/invoke/InvokerBytecodeGenerator.java @@ -653,7 +653,7 @@ class InvokerBytecodeGenerator { case LINK_TO_TARGET_METHOD: // fall-through case GENERIC_INVOKER: // fall-through case GENERIC_LINKER: return resolveFrom(name, invokerType.basicType(), Invokers.Holder.class); - case GET_OBJECT: // fall-through + case GET_REFERENCE: // fall-through case GET_BOOLEAN: // fall-through case GET_BYTE: // fall-through case GET_CHAR: // fall-through @@ -662,7 +662,7 @@ class InvokerBytecodeGenerator { case GET_LONG: // fall-through case GET_FLOAT: // fall-through case GET_DOUBLE: // fall-through - case PUT_OBJECT: // fall-through + case PUT_REFERENCE: // fall-through case PUT_BOOLEAN: // fall-through case PUT_BYTE: // fall-through case PUT_CHAR: // fall-through diff --git a/src/java.base/share/classes/java/lang/invoke/LambdaForm.java b/src/java.base/share/classes/java/lang/invoke/LambdaForm.java index 139038bcdbd..aec4775d8a5 100644 --- a/src/java.base/share/classes/java/lang/invoke/LambdaForm.java +++ b/src/java.base/share/classes/java/lang/invoke/LambdaForm.java @@ -296,10 +296,10 @@ class LambdaForm { DIRECT_NEW_INVOKE_SPECIAL("DMH.newInvokeSpecial", "newInvokeSpecial"), DIRECT_INVOKE_INTERFACE("DMH.invokeInterface", "invokeInterface"), DIRECT_INVOKE_STATIC_INIT("DMH.invokeStaticInit", "invokeStaticInit"), - GET_OBJECT("getObject"), - PUT_OBJECT("putObject"), - GET_OBJECT_VOLATILE("getObjectVolatile"), - PUT_OBJECT_VOLATILE("putObjectVolatile"), + GET_REFERENCE("getReference"), + PUT_REFERENCE("putReference"), + GET_REFERENCE_VOLATILE("getReferenceVolatile"), + PUT_REFERENCE_VOLATILE("putReferenceVolatile"), GET_INT("getInt"), PUT_INT("putInt"), GET_INT_VOLATILE("getIntVolatile"), diff --git a/src/java.base/share/classes/java/lang/invoke/LambdaFormEditor.java b/src/java.base/share/classes/java/lang/invoke/LambdaFormEditor.java index 4ebcd51dcd6..5f91f8f412a 100644 --- a/src/java.base/share/classes/java/lang/invoke/LambdaFormEditor.java +++ b/src/java.base/share/classes/java/lang/invoke/LambdaFormEditor.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2014, 2017, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2014, 2018, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -85,7 +85,8 @@ class LambdaFormEditor { PERMUTE_ARGS = 13, LOCAL_TYPES = 14, FOLD_SELECT_ARGS = 15, - FOLD_SELECT_ARGS_TO_VOID = 16; + FOLD_SELECT_ARGS_TO_VOID = 16, + FILTER_SELECT_ARGS = 17; private static final boolean STRESS_TEST = false; // turn on to disable most packing private static final int @@ -730,21 +731,23 @@ class LambdaFormEditor { Name getCombiner = new Name(newData.getterFunction(oldData.fieldCount()), newBaseAddress); Object[] combinerArgs = new Object[1 + combinerArity]; combinerArgs[0] = getCombiner; - Name[] newParams; + Name newParam = null; if (keepArguments) { - newParams = new Name[0]; for (int i = 0; i < combinerArity; i++) { combinerArgs[i + 1] = lambdaForm.parameter(1 + argPositions[i]); assert (basicType(combinerType.parameterType(i)) == lambdaForm.parameterType(1 + argPositions[i])); } } else { - newParams = new Name[combinerArity]; - for (int i = 0; i < newParams.length; i++) { - newParams[i] = lambdaForm.parameter(1 + argPositions[i]); + newParam = new Name(pos, BasicType.basicType(combinerType.returnType())); + for (int i = 0; i < combinerArity; i++) { + int argPos = 1 + argPositions[i]; + if (argPos == pos) { + combinerArgs[i + 1] = newParam; + } else { + combinerArgs[i + 1] = lambdaForm.parameter(argPos); + } assert (basicType(combinerType.parameterType(i)) == lambdaForm.parameterType(1 + argPositions[i])); } - System.arraycopy(newParams, 0, - combinerArgs, 1, combinerArity); } Name callCombiner = new Name(combinerType, combinerArgs); @@ -755,12 +758,13 @@ class LambdaFormEditor { // insert new arguments, if needed int argPos = pos + resultArity; // skip result parameter - for (Name newParam : newParams) { + if (newParam != null) { buf.insertParameter(argPos++, newParam); + exprPos++; } - assert(buf.lastIndexOf(callCombiner) == exprPos+1+newParams.length); + assert(buf.lastIndexOf(callCombiner) == exprPos+1); if (!dropResult) { - buf.replaceParameterByCopy(pos, exprPos+1+newParams.length); + buf.replaceParameterByCopy(pos, exprPos+1); } return buf.endEdit(); @@ -845,6 +849,20 @@ class LambdaFormEditor { return putInCache(key, form); } + LambdaForm filterArgumentsForm(int filterPos, MethodType combinerType, int ... argPositions) { + byte kind = Transform.FILTER_SELECT_ARGS; + int[] keyArgs = Arrays.copyOf(argPositions, argPositions.length + 1); + keyArgs[argPositions.length] = filterPos; + Transform key = Transform.of(kind, keyArgs); + LambdaForm form = getInCache(key); + if (form != null) { + assert(form.arity == lambdaForm.arity); + return form; + } + form = makeArgumentCombinationForm(filterPos, combinerType, argPositions, false, false); + return putInCache(key, form); + } + LambdaForm permuteArgumentsForm(int skip, int[] reorder) { assert(skip == 1); // skip only the leading MH argument, names[0] int length = lambdaForm.names.length; diff --git a/src/java.base/share/classes/java/lang/invoke/MethodHandle.java b/src/java.base/share/classes/java/lang/invoke/MethodHandle.java index 5a089225f56..dda3859f303 100644 --- a/src/java.base/share/classes/java/lang/invoke/MethodHandle.java +++ b/src/java.base/share/classes/java/lang/invoke/MethodHandle.java @@ -1663,7 +1663,7 @@ assertEquals("[three, thee, tee]", asListFix.invoke((Object)argv).toString()); assert(newForm.customized == null || newForm.customized == this); if (form == newForm) return; newForm.prepare(); // as in MethodHandle. - UNSAFE.putObject(this, FORM_OFFSET, newForm); + UNSAFE.putReference(this, FORM_OFFSET, newForm); UNSAFE.fullFence(); } diff --git a/src/java.base/share/classes/java/lang/invoke/MethodHandles.java b/src/java.base/share/classes/java/lang/invoke/MethodHandles.java index e9b4244fd8f..4d6c466b6e2 100644 --- a/src/java.base/share/classes/java/lang/invoke/MethodHandles.java +++ b/src/java.base/share/classes/java/lang/invoke/MethodHandles.java @@ -4316,28 +4316,6 @@ assertEquals("boojum", (String) catTrace.invokeExact("boo", "jum")); return result; } - /** - * As {@see foldArguments(MethodHandle, int, MethodHandle)}, but with the - * added capability of selecting the arguments from the targets parameters - * to call the combiner with. This allows us to avoid some simple cases of - * permutations and padding the combiner with dropArguments to select the - * right argument, which may ultimately produce fewer intermediaries. - */ - static MethodHandle foldArguments(MethodHandle target, int pos, MethodHandle combiner, int ... argPositions) { - MethodType targetType = target.type(); - MethodType combinerType = combiner.type(); - Class> rtype = foldArgumentChecks(pos, targetType, combinerType, argPositions); - BoundMethodHandle result = target.rebind(); - boolean dropResult = rtype == void.class; - LambdaForm lform = result.editor().foldArgumentsForm(1 + pos, dropResult, combinerType.basicType(), argPositions); - MethodType newType = targetType; - if (!dropResult) { - newType = newType.dropParameterTypes(pos, pos + 1); - } - result = result.copyWithExtendL(newType, lform, combiner); - return result; - } - private static Class> foldArgumentChecks(int foldPos, MethodType targetType, MethodType combinerType) { int foldArgs = combinerType.parameterCount(); Class> rtype = combinerType.returnType(); @@ -4359,15 +4337,78 @@ assertEquals("boojum", (String) catTrace.invokeExact("boo", "jum")); return rtype; } - private static Class> foldArgumentChecks(int foldPos, MethodType targetType, MethodType combinerType, int ... argPos) { - int foldArgs = combinerType.parameterCount(); - if (argPos.length != foldArgs) { + /** + * Adapts a target method handle by pre-processing some of its arguments, then calling the target with the result + * of the pre-processing replacing the argument at the given position. + * + * @param target the method handle to invoke after arguments are combined + * @param position the position at which to start folding and at which to insert the folding result; if this is {@code + * 0}, the effect is the same as for {@link #foldArguments(MethodHandle, MethodHandle)}. + * @param combiner method handle to call initially on the incoming arguments + * @param argPositions indexes of the target to pick arguments sent to the combiner from + * @return method handle which incorporates the specified argument folding logic + * @throws NullPointerException if either argument is null + * @throws IllegalArgumentException if either of the following two conditions holds: + * (1) {@code combiner}'s return type is not the same as the argument type at position + * {@code pos} of the target signature; + * (2) the {@code N} argument types at positions {@code argPositions[1...N]} of the target signature are + * not identical with the argument types of {@code combiner}. + */ + /*non-public*/ static MethodHandle filterArgumentsWithCombiner(MethodHandle target, int position, MethodHandle combiner, int ... argPositions) { + return argumentsWithCombiner(true, target, position, combiner, argPositions); + } + + /** + * Adapts a target method handle by pre-processing some of its arguments, calling the target with the result of + * the pre-processing inserted into the original sequence of arguments at the given position. + * + * @param target the method handle to invoke after arguments are combined + * @param position the position at which to start folding and at which to insert the folding result; if this is {@code + * 0}, the effect is the same as for {@link #foldArguments(MethodHandle, MethodHandle)}. + * @param combiner method handle to call initially on the incoming arguments + * @param argPositions indexes of the target to pick arguments sent to the combiner from + * @return method handle which incorporates the specified argument folding logic + * @throws NullPointerException if either argument is null + * @throws IllegalArgumentException if either of the following two conditions holds: + * (1) {@code combiner}'s return type is non-{@code void} and not the same as the argument type at position + * {@code pos} of the target signature; + * (2) the {@code N} argument types at positions {@code argPositions[1...N]} of the target signature + * (skipping {@code position} where the {@code combiner}'s return will be folded in) are not identical + * with the argument types of {@code combiner}. + */ + /*non-public*/ static MethodHandle foldArgumentsWithCombiner(MethodHandle target, int position, MethodHandle combiner, int ... argPositions) { + return argumentsWithCombiner(false, target, position, combiner, argPositions); + } + + private static MethodHandle argumentsWithCombiner(boolean filter, MethodHandle target, int position, MethodHandle combiner, int ... argPositions) { + MethodType targetType = target.type(); + MethodType combinerType = combiner.type(); + Class> rtype = argumentsWithCombinerChecks(position, filter, targetType, combinerType, argPositions); + BoundMethodHandle result = target.rebind(); + + MethodType newType = targetType; + LambdaForm lform; + if (filter) { + lform = result.editor().filterArgumentsForm(1 + position, combinerType.basicType(), argPositions); + } else { + boolean dropResult = rtype == void.class; + lform = result.editor().foldArgumentsForm(1 + position, dropResult, combinerType.basicType(), argPositions); + if (!dropResult) { + newType = newType.dropParameterTypes(position, position + 1); + } + } + result = result.copyWithExtendL(newType, lform, combiner); + return result; + } + + private static Class> argumentsWithCombinerChecks(int position, boolean filter, MethodType targetType, MethodType combinerType, int ... argPos) { + int combinerArgs = combinerType.parameterCount(); + if (argPos.length != combinerArgs) { throw newIllegalArgumentException("combiner and argument map must be equal size", combinerType, argPos.length); } Class> rtype = combinerType.returnType(); - int foldVals = rtype == void.class ? 0 : 1; - boolean ok = true; - for (int i = 0; i < foldArgs; i++) { + + for (int i = 0; i < combinerArgs; i++) { int arg = argPos[i]; if (arg < 0 || arg > targetType.parameterCount()) { throw newIllegalArgumentException("arg outside of target parameterRange", targetType, arg); @@ -4378,11 +4419,9 @@ assertEquals("boojum", (String) catTrace.invokeExact("boo", "jum")); + " -> " + combinerType + ", map: " + Arrays.toString(argPos)); } } - if (ok && foldVals != 0 && combinerType.returnType() != targetType.parameterType(foldPos)) { - ok = false; - } - if (!ok) + if (filter && combinerType.returnType() != targetType.parameterType(position)) { throw misMatchedTypes("target and combiner types", targetType, combinerType); + } return rtype; } diff --git a/src/java.base/share/classes/java/lang/invoke/MethodType.java b/src/java.base/share/classes/java/lang/invoke/MethodType.java index 29c456b8564..1edfabdad3e 100644 --- a/src/java.base/share/classes/java/lang/invoke/MethodType.java +++ b/src/java.base/share/classes/java/lang/invoke/MethodType.java @@ -1245,8 +1245,8 @@ s.writeObject(this.parameterArray()); // store them into the implementation-specific final fields. checkRtype(rtype); checkPtypes(ptypes); - UNSAFE.putObject(this, OffsetHolder.rtypeOffset, rtype); - UNSAFE.putObject(this, OffsetHolder.ptypesOffset, ptypes); + UNSAFE.putReference(this, OffsetHolder.rtypeOffset, rtype); + UNSAFE.putReference(this, OffsetHolder.ptypesOffset, ptypes); } // Support for resetting final fields while deserializing. Implement Holder diff --git a/src/java.base/share/classes/java/lang/invoke/StringConcatFactory.java b/src/java.base/share/classes/java/lang/invoke/StringConcatFactory.java index 23352af0f5d..ddf3de7c00b 100644 --- a/src/java.base/share/classes/java/lang/invoke/StringConcatFactory.java +++ b/src/java.base/share/classes/java/lang/invoke/StringConcatFactory.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2015, 2016, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2015, 2018, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -1533,21 +1533,20 @@ public final class StringConcatFactory { // *ending* index. for (RecipeElement el : recipe.getElements()) { // Do the prepend, and put "new" index at index 1 - mh = MethodHandles.dropArguments(mh, 2, int.class); switch (el.getTag()) { case TAG_CONST: { MethodHandle prepender = MethodHandles.insertArguments(prepender(String.class), 3, el.getValue()); - mh = MethodHandles.foldArguments(mh, 1, prepender, - 2, 0, 3 // index, storage, coder + mh = MethodHandles.filterArgumentsWithCombiner(mh, 1, prepender, + 1, 0, 2 // index, storage, coder ); break; } case TAG_ARG: { int pos = el.getArgPos(); MethodHandle prepender = prepender(ptypes[pos]); - mh = MethodHandles.foldArguments(mh, 1, prepender, - 2, 0, 3, // index, storage, coder - 4 + pos // selected argument + mh = MethodHandles.filterArgumentsWithCombiner(mh, 1, prepender, + 1, 0, 2, // index, storage, coder + 3 + pos // selected argument ); break; } @@ -1557,7 +1556,7 @@ public final class StringConcatFactory { } // Fold in byte[] instantiation at argument 0 - mh = MethodHandles.foldArguments(mh, 0, NEW_ARRAY, + mh = MethodHandles.foldArgumentsWithCombiner(mh, 0, NEW_ARRAY, 1, 2 // index, coder ); @@ -1572,7 +1571,7 @@ public final class StringConcatFactory { // and deduce the coder from there. Arguments would be either converted to Strings // during the initial filtering, or handled by primitive specializations in CODER_MIXERS. // - // The method handle shape after all length and coder mixers is: + // The method handle shape before and after all length and coder mixers is: // (int, byte, )String = ("index", "coder", ) byte initialCoder = INITIAL_CODER; int initialLen = 0; // initial length, in characters @@ -1589,44 +1588,27 @@ public final class StringConcatFactory { Class> argClass = ptypes[ac]; MethodHandle lm = lengthMixer(argClass); - // Read these bottom up: - if (argClass.isPrimitive() && argClass != char.class) { - - // 3. Drop old index, producing ("new-index", "coder", ) - mh = MethodHandles.dropArguments(mh, 1, int.class); - - // 2. Compute "new-index", producing ("new-index", "old-index", "coder", ) - // Length mixer needs old index, plus the appropriate argument - mh = MethodHandles.foldArguments(mh, 0, lm, - 1, // old-index - 3 + ac // selected argument + // Compute new "index" in-place using old value plus the appropriate argument. + mh = MethodHandles.filterArgumentsWithCombiner(mh, 0, lm, + 0, // old-index + 2 + ac // selected argument ); - // 1. The mh shape here is ("old-index", "coder", ); we don't need to recalculate - // the coder for non-char primitive arguments - } else { MethodHandle cm = coderMixer(argClass); - // 4. Drop old index and coder, producing ("new-index", "new-coder", ) - mh = MethodHandles.dropArguments(mh, 2, int.class, byte.class); - - // 3. Compute "new-index", producing ("new-index", "new-coder", "old-index", "old-coder", ) - // Length mixer needs old index, plus the appropriate argument - mh = MethodHandles.foldArguments(mh, 0, lm, - 2, // old-index - 4 + ac // selected argument + // Compute new "index" in-place using old value plus the appropriate argument. + mh = MethodHandles.filterArgumentsWithCombiner(mh, 0, lm, + 0, // old-index + 2 + ac // selected argument ); - // 2. Compute "new-coder", producing ("new-coder", "old-index", "old-coder", ) - // Coder mixer needs old coder, plus the appropriate argument. - mh = MethodHandles.foldArguments(mh, 0, cm, - 2, // old-coder - 3 + ac // selected argument + // Compute new "coder" in-place using old value plus the appropriate argument. + mh = MethodHandles.filterArgumentsWithCombiner(mh, 1, cm, + 1, // old-coder + 2 + ac // selected argument ); - - // 1. The mh shape here is ("old-index", "old-coder", ) } break; diff --git a/src/java.base/share/classes/java/lang/invoke/VarHandle.java b/src/java.base/share/classes/java/lang/invoke/VarHandle.java index 37f048b3847..2f2af8cf659 100644 --- a/src/java.base/share/classes/java/lang/invoke/VarHandle.java +++ b/src/java.base/share/classes/java/lang/invoke/VarHandle.java @@ -1999,7 +1999,7 @@ public abstract class VarHandle { /*non-public*/ final void updateVarForm(VarForm newVForm) { if (vform == newVForm) return; - UNSAFE.putObject(this, VFORM_OFFSET, newVForm); + UNSAFE.putReference(this, VFORM_OFFSET, newVForm); UNSAFE.fullFence(); } diff --git a/src/java.base/share/classes/java/lang/invoke/VarHandles.java b/src/java.base/share/classes/java/lang/invoke/VarHandles.java index 055550863e3..5477f956caf 100644 --- a/src/java.base/share/classes/java/lang/invoke/VarHandles.java +++ b/src/java.base/share/classes/java/lang/invoke/VarHandles.java @@ -34,8 +34,8 @@ final class VarHandles { long foffset = MethodHandleNatives.objectFieldOffset(f); if (!type.isPrimitive()) { return f.isFinal() && !isWriteAllowedOnFinalFields - ? new VarHandleObjects.FieldInstanceReadOnly(refc, foffset, type) - : new VarHandleObjects.FieldInstanceReadWrite(refc, foffset, type); + ? new VarHandleReferences.FieldInstanceReadOnly(refc, foffset, type) + : new VarHandleReferences.FieldInstanceReadWrite(refc, foffset, type); } else if (type == boolean.class) { return f.isFinal() && !isWriteAllowedOnFinalFields @@ -95,8 +95,8 @@ final class VarHandles { long foffset = MethodHandleNatives.staticFieldOffset(f); if (!type.isPrimitive()) { return f.isFinal() && !isWriteAllowedOnFinalFields - ? new VarHandleObjects.FieldStaticReadOnly(base, foffset, type) - : new VarHandleObjects.FieldStaticReadWrite(base, foffset, type); + ? new VarHandleReferences.FieldStaticReadOnly(base, foffset, type) + : new VarHandleReferences.FieldStaticReadWrite(base, foffset, type); } else if (type == boolean.class) { return f.isFinal() && !isWriteAllowedOnFinalFields @@ -155,7 +155,7 @@ final class VarHandles { int ashift = 31 - Integer.numberOfLeadingZeros(ascale); if (!componentType.isPrimitive()) { - return new VarHandleObjects.Array(aoffset, ashift, arrayClass); + return new VarHandleReferences.Array(aoffset, ashift, arrayClass); } else if (componentType == boolean.class) { return new VarHandleBooleans.Array(aoffset, ashift); diff --git a/src/java.base/share/classes/java/lang/invoke/X-VarHandleByteArrayView.java.template b/src/java.base/share/classes/java/lang/invoke/X-VarHandleByteArrayView.java.template index 416c16b3aab..ac8fd6708c0 100644 --- a/src/java.base/share/classes/java/lang/invoke/X-VarHandleByteArrayView.java.template +++ b/src/java.base/share/classes/java/lang/invoke/X-VarHandleByteArrayView.java.template @@ -186,10 +186,17 @@ final class VarHandleByteArrayAs$Type$s extends VarHandleByteArrayBase { @ForceInline static boolean compareAndSet(ArrayHandle handle, Object oba, int index, $type$ expected, $type$ value) { byte[] ba = (byte[]) oba; +#if[Object] + return UNSAFE.compareAndSetReference( + ba, + address(ba, index(ba, index)), + convEndian(handle.be, expected), convEndian(handle.be, value)); +#else[Object] return UNSAFE.compareAndSet$RawType$( ba, address(ba, index(ba, index)), convEndian(handle.be, expected), convEndian(handle.be, value)); +#end[Object] } @ForceInline @@ -261,11 +268,19 @@ final class VarHandleByteArrayAs$Type$s extends VarHandleByteArrayBase { @ForceInline static $type$ getAndSet(ArrayHandle handle, Object oba, int index, $type$ value) { byte[] ba = (byte[]) oba; +#if[Object] + return convEndian(handle.be, + UNSAFE.getAndSetReference( + ba, + address(ba, index(ba, index)), + convEndian(handle.be, value))); +#else[Object] return convEndian(handle.be, UNSAFE.getAndSet$RawType$( ba, address(ba, index(ba, index)), convEndian(handle.be, value))); +#end[Object] } @ForceInline @@ -537,13 +552,13 @@ final class VarHandleByteArrayAs$Type$s extends VarHandleByteArrayBase { ByteBuffer bb = (ByteBuffer) Objects.requireNonNull(obb); #if[floatingPoint] $rawType$ rawValue = UNSAFE.get$RawType$Unaligned( - UNSAFE.getObject(bb, BYTE_BUFFER_HB), + UNSAFE.getReference(bb, BYTE_BUFFER_HB), ((long) index(bb, index)) + UNSAFE.getLong(bb, BUFFER_ADDRESS), handle.be); return $Type$.$rawType$BitsTo$Type$(rawValue); #else[floatingPoint] return UNSAFE.get$Type$Unaligned( - UNSAFE.getObject(bb, BYTE_BUFFER_HB), + UNSAFE.getReference(bb, BYTE_BUFFER_HB), ((long) index(bb, index)) + UNSAFE.getLong(bb, BUFFER_ADDRESS), handle.be); #end[floatingPoint] @@ -554,13 +569,13 @@ final class VarHandleByteArrayAs$Type$s extends VarHandleByteArrayBase { ByteBuffer bb = (ByteBuffer) Objects.requireNonNull(obb); #if[floatingPoint] UNSAFE.put$RawType$Unaligned( - UNSAFE.getObject(bb, BYTE_BUFFER_HB), + UNSAFE.getReference(bb, BYTE_BUFFER_HB), ((long) indexRO(bb, index)) + UNSAFE.getLong(bb, BUFFER_ADDRESS), $Type$.$type$ToRaw$RawType$Bits(value), handle.be); #else[floatingPoint] UNSAFE.put$Type$Unaligned( - UNSAFE.getObject(bb, BYTE_BUFFER_HB), + UNSAFE.getReference(bb, BYTE_BUFFER_HB), ((long) indexRO(bb, index)) + UNSAFE.getLong(bb, BUFFER_ADDRESS), value, handle.be); @@ -572,7 +587,7 @@ final class VarHandleByteArrayAs$Type$s extends VarHandleByteArrayBase { ByteBuffer bb = (ByteBuffer) Objects.requireNonNull(obb); return convEndian(handle.be, UNSAFE.get$RawType$Volatile( - UNSAFE.getObject(bb, BYTE_BUFFER_HB), + UNSAFE.getReference(bb, BYTE_BUFFER_HB), address(bb, index(bb, index)))); } @@ -580,7 +595,7 @@ final class VarHandleByteArrayAs$Type$s extends VarHandleByteArrayBase { static void setVolatile(ByteBufferHandle handle, Object obb, int index, $type$ value) { ByteBuffer bb = (ByteBuffer) Objects.requireNonNull(obb); UNSAFE.put$RawType$Volatile( - UNSAFE.getObject(bb, BYTE_BUFFER_HB), + UNSAFE.getReference(bb, BYTE_BUFFER_HB), address(bb, indexRO(bb, index)), convEndian(handle.be, value)); } @@ -590,7 +605,7 @@ final class VarHandleByteArrayAs$Type$s extends VarHandleByteArrayBase { ByteBuffer bb = (ByteBuffer) Objects.requireNonNull(obb); return convEndian(handle.be, UNSAFE.get$RawType$Acquire( - UNSAFE.getObject(bb, BYTE_BUFFER_HB), + UNSAFE.getReference(bb, BYTE_BUFFER_HB), address(bb, index(bb, index)))); } @@ -598,7 +613,7 @@ final class VarHandleByteArrayAs$Type$s extends VarHandleByteArrayBase { static void setRelease(ByteBufferHandle handle, Object obb, int index, $type$ value) { ByteBuffer bb = (ByteBuffer) Objects.requireNonNull(obb); UNSAFE.put$RawType$Release( - UNSAFE.getObject(bb, BYTE_BUFFER_HB), + UNSAFE.getReference(bb, BYTE_BUFFER_HB), address(bb, indexRO(bb, index)), convEndian(handle.be, value)); } @@ -608,7 +623,7 @@ final class VarHandleByteArrayAs$Type$s extends VarHandleByteArrayBase { ByteBuffer bb = (ByteBuffer) Objects.requireNonNull(obb); return convEndian(handle.be, UNSAFE.get$RawType$Opaque( - UNSAFE.getObject(bb, BYTE_BUFFER_HB), + UNSAFE.getReference(bb, BYTE_BUFFER_HB), address(bb, index(bb, index)))); } @@ -616,7 +631,7 @@ final class VarHandleByteArrayAs$Type$s extends VarHandleByteArrayBase { static void setOpaque(ByteBufferHandle handle, Object obb, int index, $type$ value) { ByteBuffer bb = (ByteBuffer) Objects.requireNonNull(obb); UNSAFE.put$RawType$Opaque( - UNSAFE.getObject(bb, BYTE_BUFFER_HB), + UNSAFE.getReference(bb, BYTE_BUFFER_HB), address(bb, indexRO(bb, index)), convEndian(handle.be, value)); } @@ -625,10 +640,17 @@ final class VarHandleByteArrayAs$Type$s extends VarHandleByteArrayBase { @ForceInline static boolean compareAndSet(ByteBufferHandle handle, Object obb, int index, $type$ expected, $type$ value) { ByteBuffer bb = (ByteBuffer) Objects.requireNonNull(obb); - return UNSAFE.compareAndSet$RawType$( - UNSAFE.getObject(bb, BYTE_BUFFER_HB), +#if[Object] + return UNSAFE.compareAndSetReference( + UNSAFE.getReference(bb, BYTE_BUFFER_HB), address(bb, indexRO(bb, index)), convEndian(handle.be, expected), convEndian(handle.be, value)); +#else[Object] + return UNSAFE.compareAndSet$RawType$( + UNSAFE.getReference(bb, BYTE_BUFFER_HB), + address(bb, indexRO(bb, index)), + convEndian(handle.be, expected), convEndian(handle.be, value)); +#end[Object] } @ForceInline @@ -636,7 +658,7 @@ final class VarHandleByteArrayAs$Type$s extends VarHandleByteArrayBase { ByteBuffer bb = (ByteBuffer) Objects.requireNonNull(obb); return convEndian(handle.be, UNSAFE.compareAndExchange$RawType$( - UNSAFE.getObject(bb, BYTE_BUFFER_HB), + UNSAFE.getReference(bb, BYTE_BUFFER_HB), address(bb, indexRO(bb, index)), convEndian(handle.be, expected), convEndian(handle.be, value))); } @@ -646,7 +668,7 @@ final class VarHandleByteArrayAs$Type$s extends VarHandleByteArrayBase { ByteBuffer bb = (ByteBuffer) Objects.requireNonNull(obb); return convEndian(handle.be, UNSAFE.compareAndExchange$RawType$Acquire( - UNSAFE.getObject(bb, BYTE_BUFFER_HB), + UNSAFE.getReference(bb, BYTE_BUFFER_HB), address(bb, indexRO(bb, index)), convEndian(handle.be, expected), convEndian(handle.be, value))); } @@ -656,7 +678,7 @@ final class VarHandleByteArrayAs$Type$s extends VarHandleByteArrayBase { ByteBuffer bb = (ByteBuffer) Objects.requireNonNull(obb); return convEndian(handle.be, UNSAFE.compareAndExchange$RawType$Release( - UNSAFE.getObject(bb, BYTE_BUFFER_HB), + UNSAFE.getReference(bb, BYTE_BUFFER_HB), address(bb, indexRO(bb, index)), convEndian(handle.be, expected), convEndian(handle.be, value))); } @@ -665,7 +687,7 @@ final class VarHandleByteArrayAs$Type$s extends VarHandleByteArrayBase { static boolean weakCompareAndSetPlain(ByteBufferHandle handle, Object obb, int index, $type$ expected, $type$ value) { ByteBuffer bb = (ByteBuffer) Objects.requireNonNull(obb); return UNSAFE.weakCompareAndSet$RawType$Plain( - UNSAFE.getObject(bb, BYTE_BUFFER_HB), + UNSAFE.getReference(bb, BYTE_BUFFER_HB), address(bb, indexRO(bb, index)), convEndian(handle.be, expected), convEndian(handle.be, value)); } @@ -674,7 +696,7 @@ final class VarHandleByteArrayAs$Type$s extends VarHandleByteArrayBase { static boolean weakCompareAndSet(ByteBufferHandle handle, Object obb, int index, $type$ expected, $type$ value) { ByteBuffer bb = (ByteBuffer) Objects.requireNonNull(obb); return UNSAFE.weakCompareAndSet$RawType$( - UNSAFE.getObject(bb, BYTE_BUFFER_HB), + UNSAFE.getReference(bb, BYTE_BUFFER_HB), address(bb, indexRO(bb, index)), convEndian(handle.be, expected), convEndian(handle.be, value)); } @@ -683,7 +705,7 @@ final class VarHandleByteArrayAs$Type$s extends VarHandleByteArrayBase { static boolean weakCompareAndSetAcquire(ByteBufferHandle handle, Object obb, int index, $type$ expected, $type$ value) { ByteBuffer bb = (ByteBuffer) Objects.requireNonNull(obb); return UNSAFE.weakCompareAndSet$RawType$Acquire( - UNSAFE.getObject(bb, BYTE_BUFFER_HB), + UNSAFE.getReference(bb, BYTE_BUFFER_HB), address(bb, indexRO(bb, index)), convEndian(handle.be, expected), convEndian(handle.be, value)); } @@ -692,7 +714,7 @@ final class VarHandleByteArrayAs$Type$s extends VarHandleByteArrayBase { static boolean weakCompareAndSetRelease(ByteBufferHandle handle, Object obb, int index, $type$ expected, $type$ value) { ByteBuffer bb = (ByteBuffer) Objects.requireNonNull(obb); return UNSAFE.weakCompareAndSet$RawType$Release( - UNSAFE.getObject(bb, BYTE_BUFFER_HB), + UNSAFE.getReference(bb, BYTE_BUFFER_HB), address(bb, indexRO(bb, index)), convEndian(handle.be, expected), convEndian(handle.be, value)); } @@ -700,11 +722,19 @@ final class VarHandleByteArrayAs$Type$s extends VarHandleByteArrayBase { @ForceInline static $type$ getAndSet(ByteBufferHandle handle, Object obb, int index, $type$ value) { ByteBuffer bb = (ByteBuffer) Objects.requireNonNull(obb); +#if[Object] return convEndian(handle.be, - UNSAFE.getAndSet$RawType$( - UNSAFE.getObject(bb, BYTE_BUFFER_HB), + UNSAFE.getAndSetReference( + UNSAFE.getReference(bb, BYTE_BUFFER_HB), address(bb, indexRO(bb, index)), convEndian(handle.be, value))); +#else[Object] + return convEndian(handle.be, + UNSAFE.getAndSet$RawType$( + UNSAFE.getReference(bb, BYTE_BUFFER_HB), + address(bb, indexRO(bb, index)), + convEndian(handle.be, value))); +#end[Object] } @ForceInline @@ -712,7 +742,7 @@ final class VarHandleByteArrayAs$Type$s extends VarHandleByteArrayBase { ByteBuffer bb = (ByteBuffer) Objects.requireNonNull(obb); return convEndian(handle.be, UNSAFE.getAndSet$RawType$Acquire( - UNSAFE.getObject(bb, BYTE_BUFFER_HB), + UNSAFE.getReference(bb, BYTE_BUFFER_HB), address(bb, indexRO(bb, index)), convEndian(handle.be, value))); } @@ -722,7 +752,7 @@ final class VarHandleByteArrayAs$Type$s extends VarHandleByteArrayBase { ByteBuffer bb = (ByteBuffer) Objects.requireNonNull(obb); return convEndian(handle.be, UNSAFE.getAndSet$RawType$Release( - UNSAFE.getObject(bb, BYTE_BUFFER_HB), + UNSAFE.getReference(bb, BYTE_BUFFER_HB), address(bb, indexRO(bb, index)), convEndian(handle.be, value))); } @@ -734,7 +764,7 @@ final class VarHandleByteArrayAs$Type$s extends VarHandleByteArrayBase { ByteBuffer bb = (ByteBuffer) Objects.requireNonNull(obb); if (handle.be == BE) { return UNSAFE.getAndAdd$RawType$( - UNSAFE.getObject(bb, BYTE_BUFFER_HB), + UNSAFE.getReference(bb, BYTE_BUFFER_HB), address(bb, indexRO(bb, index)), delta); } else { @@ -747,7 +777,7 @@ final class VarHandleByteArrayAs$Type$s extends VarHandleByteArrayBase { ByteBuffer bb = (ByteBuffer) Objects.requireNonNull(obb); if (handle.be == BE) { return UNSAFE.getAndAdd$RawType$Acquire( - UNSAFE.getObject(bb, BYTE_BUFFER_HB), + UNSAFE.getReference(bb, BYTE_BUFFER_HB), address(bb, indexRO(bb, index)), delta); } else { @@ -760,7 +790,7 @@ final class VarHandleByteArrayAs$Type$s extends VarHandleByteArrayBase { ByteBuffer bb = (ByteBuffer) Objects.requireNonNull(obb); if (handle.be == BE) { return UNSAFE.getAndAdd$RawType$Release( - UNSAFE.getObject(bb, BYTE_BUFFER_HB), + UNSAFE.getReference(bb, BYTE_BUFFER_HB), address(bb, indexRO(bb, index)), delta); } else { @@ -771,7 +801,7 @@ final class VarHandleByteArrayAs$Type$s extends VarHandleByteArrayBase { @ForceInline static $type$ getAndAddConvEndianWithCAS(ByteBuffer bb, int index, $type$ delta) { $type$ nativeExpectedValue, expectedValue; - Object base = UNSAFE.getObject(bb, BYTE_BUFFER_HB); + Object base = UNSAFE.getReference(bb, BYTE_BUFFER_HB); long offset = address(bb, indexRO(bb, index)); do { nativeExpectedValue = UNSAFE.get$RawType$Volatile(base, offset); @@ -788,7 +818,7 @@ final class VarHandleByteArrayAs$Type$s extends VarHandleByteArrayBase { ByteBuffer bb = (ByteBuffer) Objects.requireNonNull(obb); if (handle.be == BE) { return UNSAFE.getAndBitwiseOr$RawType$( - UNSAFE.getObject(bb, BYTE_BUFFER_HB), + UNSAFE.getReference(bb, BYTE_BUFFER_HB), address(bb, indexRO(bb, index)), value); } else { @@ -801,7 +831,7 @@ final class VarHandleByteArrayAs$Type$s extends VarHandleByteArrayBase { ByteBuffer bb = (ByteBuffer) Objects.requireNonNull(obb); if (handle.be == BE) { return UNSAFE.getAndBitwiseOr$RawType$Release( - UNSAFE.getObject(bb, BYTE_BUFFER_HB), + UNSAFE.getReference(bb, BYTE_BUFFER_HB), address(bb, indexRO(bb, index)), value); } else { @@ -814,7 +844,7 @@ final class VarHandleByteArrayAs$Type$s extends VarHandleByteArrayBase { ByteBuffer bb = (ByteBuffer) Objects.requireNonNull(obb); if (handle.be == BE) { return UNSAFE.getAndBitwiseOr$RawType$Acquire( - UNSAFE.getObject(bb, BYTE_BUFFER_HB), + UNSAFE.getReference(bb, BYTE_BUFFER_HB), address(bb, indexRO(bb, index)), value); } else { @@ -825,7 +855,7 @@ final class VarHandleByteArrayAs$Type$s extends VarHandleByteArrayBase { @ForceInline static $type$ getAndBitwiseOrConvEndianWithCAS(ByteBuffer bb, int index, $type$ value) { $type$ nativeExpectedValue, expectedValue; - Object base = UNSAFE.getObject(bb, BYTE_BUFFER_HB); + Object base = UNSAFE.getReference(bb, BYTE_BUFFER_HB); long offset = address(bb, indexRO(bb, index)); do { nativeExpectedValue = UNSAFE.get$RawType$Volatile(base, offset); @@ -840,7 +870,7 @@ final class VarHandleByteArrayAs$Type$s extends VarHandleByteArrayBase { ByteBuffer bb = (ByteBuffer) Objects.requireNonNull(obb); if (handle.be == BE) { return UNSAFE.getAndBitwiseAnd$RawType$( - UNSAFE.getObject(bb, BYTE_BUFFER_HB), + UNSAFE.getReference(bb, BYTE_BUFFER_HB), address(bb, indexRO(bb, index)), value); } else { @@ -853,7 +883,7 @@ final class VarHandleByteArrayAs$Type$s extends VarHandleByteArrayBase { ByteBuffer bb = (ByteBuffer) Objects.requireNonNull(obb); if (handle.be == BE) { return UNSAFE.getAndBitwiseAnd$RawType$Release( - UNSAFE.getObject(bb, BYTE_BUFFER_HB), + UNSAFE.getReference(bb, BYTE_BUFFER_HB), address(bb, indexRO(bb, index)), value); } else { @@ -866,7 +896,7 @@ final class VarHandleByteArrayAs$Type$s extends VarHandleByteArrayBase { ByteBuffer bb = (ByteBuffer) Objects.requireNonNull(obb); if (handle.be == BE) { return UNSAFE.getAndBitwiseAnd$RawType$Acquire( - UNSAFE.getObject(bb, BYTE_BUFFER_HB), + UNSAFE.getReference(bb, BYTE_BUFFER_HB), address(bb, indexRO(bb, index)), value); } else { @@ -877,7 +907,7 @@ final class VarHandleByteArrayAs$Type$s extends VarHandleByteArrayBase { @ForceInline static $type$ getAndBitwiseAndConvEndianWithCAS(ByteBuffer bb, int index, $type$ value) { $type$ nativeExpectedValue, expectedValue; - Object base = UNSAFE.getObject(bb, BYTE_BUFFER_HB); + Object base = UNSAFE.getReference(bb, BYTE_BUFFER_HB); long offset = address(bb, indexRO(bb, index)); do { nativeExpectedValue = UNSAFE.get$RawType$Volatile(base, offset); @@ -893,7 +923,7 @@ final class VarHandleByteArrayAs$Type$s extends VarHandleByteArrayBase { ByteBuffer bb = (ByteBuffer) Objects.requireNonNull(obb); if (handle.be == BE) { return UNSAFE.getAndBitwiseXor$RawType$( - UNSAFE.getObject(bb, BYTE_BUFFER_HB), + UNSAFE.getReference(bb, BYTE_BUFFER_HB), address(bb, indexRO(bb, index)), value); } else { @@ -906,7 +936,7 @@ final class VarHandleByteArrayAs$Type$s extends VarHandleByteArrayBase { ByteBuffer bb = (ByteBuffer) Objects.requireNonNull(obb); if (handle.be == BE) { return UNSAFE.getAndBitwiseXor$RawType$Release( - UNSAFE.getObject(bb, BYTE_BUFFER_HB), + UNSAFE.getReference(bb, BYTE_BUFFER_HB), address(bb, indexRO(bb, index)), value); } else { @@ -919,7 +949,7 @@ final class VarHandleByteArrayAs$Type$s extends VarHandleByteArrayBase { ByteBuffer bb = (ByteBuffer) Objects.requireNonNull(obb); if (handle.be == BE) { return UNSAFE.getAndBitwiseXor$RawType$Acquire( - UNSAFE.getObject(bb, BYTE_BUFFER_HB), + UNSAFE.getReference(bb, BYTE_BUFFER_HB), address(bb, indexRO(bb, index)), value); } else { @@ -930,7 +960,7 @@ final class VarHandleByteArrayAs$Type$s extends VarHandleByteArrayBase { @ForceInline static $type$ getAndBitwiseXorConvEndianWithCAS(ByteBuffer bb, int index, $type$ value) { $type$ nativeExpectedValue, expectedValue; - Object base = UNSAFE.getObject(bb, BYTE_BUFFER_HB); + Object base = UNSAFE.getReference(bb, BYTE_BUFFER_HB); long offset = address(bb, indexRO(bb, index)); do { nativeExpectedValue = UNSAFE.get$RawType$Volatile(base, offset); diff --git a/src/java.base/share/classes/java/math/BigDecimal.java b/src/java.base/share/classes/java/math/BigDecimal.java index ed7efa787a4..646c556ee6c 100644 --- a/src/java.base/share/classes/java/math/BigDecimal.java +++ b/src/java.base/share/classes/java/math/BigDecimal.java @@ -4079,7 +4079,7 @@ public class BigDecimal extends Number implements Comparable { } static void setIntValVolatile(BigDecimal bd, BigInteger val) { - unsafe.putObjectVolatile(bd, intValOffset, val); + unsafe.putReferenceVolatile(bd, intValOffset, val); } } diff --git a/src/java.base/share/classes/java/math/BigInteger.java b/src/java.base/share/classes/java/math/BigInteger.java index 5fd51b57ea5..b12fb7710ce 100644 --- a/src/java.base/share/classes/java/math/BigInteger.java +++ b/src/java.base/share/classes/java/math/BigInteger.java @@ -4600,7 +4600,7 @@ public class BigInteger extends Number implements Comparable { } static void putMag(BigInteger bi, int[] magnitude) { - unsafe.putObject(bi, magOffset, magnitude); + unsafe.putReference(bi, magOffset, magnitude); } } diff --git a/src/java.base/share/classes/java/net/Inet6Address.java b/src/java.base/share/classes/java/net/Inet6Address.java index 8e1b0858bd4..abf3cd877aa 100644 --- a/src/java.base/share/classes/java/net/Inet6Address.java +++ b/src/java.base/share/classes/java/net/Inet6Address.java @@ -641,7 +641,7 @@ class Inet6Address extends InetAddress { ipaddress, scope_id, scope_id_set, scope_ifname, scope_ifname_set ); - UNSAFE.putObject(this, FIELDS_OFFSET, h); + UNSAFE.putReference(this, FIELDS_OFFSET, h); } /** diff --git a/src/java.base/share/classes/java/net/InetAddress.java b/src/java.base/share/classes/java/net/InetAddress.java index 907de3c15ee..e9b1ae00014 100644 --- a/src/java.base/share/classes/java/net/InetAddress.java +++ b/src/java.base/share/classes/java/net/InetAddress.java @@ -1734,7 +1734,7 @@ class InetAddress implements java.io.Serializable { throw new InvalidObjectException("invalid address family type: " + family); } InetAddressHolder h = new InetAddressHolder(host, address, family); - UNSAFE.putObject(this, FIELDS_OFFSET, h); + UNSAFE.putReference(this, FIELDS_OFFSET, h); } /* needed because the serializable fields no longer exist */ diff --git a/src/java.base/share/classes/java/net/InetSocketAddress.java b/src/java.base/share/classes/java/net/InetSocketAddress.java index bc37087a833..bb447dd9740 100644 --- a/src/java.base/share/classes/java/net/InetSocketAddress.java +++ b/src/java.base/share/classes/java/net/InetSocketAddress.java @@ -293,7 +293,7 @@ public class InetSocketAddress InetSocketAddressHolder h = new InetSocketAddressHolder(oisHostname, oisAddr, oisPort); - UNSAFE.putObject(this, FIELDS_OFFSET, h); + UNSAFE.putReference(this, FIELDS_OFFSET, h); } private void readObjectNoData() diff --git a/src/java.base/share/classes/java/net/SocketInputStream.java b/src/java.base/share/classes/java/net/SocketInputStream.java index 717f37067ee..1a08aa05a01 100644 --- a/src/java.base/share/classes/java/net/SocketInputStream.java +++ b/src/java.base/share/classes/java/net/SocketInputStream.java @@ -232,11 +232,8 @@ class SocketInputStream extends FileInputStream { * @return the number of immediately available bytes */ public int available() throws IOException { - if (eof) { - return 0; - } else { - return impl.available(); - } + int available = impl.available(); + return eof ? 0 : available; } /** diff --git a/src/java.base/share/classes/java/util/Random.java b/src/java.base/share/classes/java/util/Random.java index 5098592dfd9..6c07ec453ce 100644 --- a/src/java.base/share/classes/java/util/Random.java +++ b/src/java.base/share/classes/java/util/Random.java @@ -1222,6 +1222,6 @@ class Random implements java.io.Serializable { } catch (Exception ex) { throw new Error(ex); } } private void resetSeed(long seedVal) { - unsafe.putObjectVolatile(this, seedOffset, new AtomicLong(seedVal)); + unsafe.putReferenceVolatile(this, seedOffset, new AtomicLong(seedVal)); } } diff --git a/src/java.base/share/classes/java/util/concurrent/ConcurrentHashMap.java b/src/java.base/share/classes/java/util/concurrent/ConcurrentHashMap.java index 409b8614791..4556c6caafd 100644 --- a/src/java.base/share/classes/java/util/concurrent/ConcurrentHashMap.java +++ b/src/java.base/share/classes/java/util/concurrent/ConcurrentHashMap.java @@ -757,16 +757,16 @@ public class ConcurrentHashMap extends AbstractMap @SuppressWarnings("unchecked") static final Node tabAt(Node [] tab, int i) { - return (Node )U.getObjectAcquire(tab, ((long)i << ASHIFT) + ABASE); + return (Node )U.getReferenceAcquire(tab, ((long)i << ASHIFT) + ABASE); } static final boolean casTabAt(Node [] tab, int i, Node c, Node v) { - return U.compareAndSetObject(tab, ((long)i << ASHIFT) + ABASE, c, v); + return U.compareAndSetReference(tab, ((long)i << ASHIFT) + ABASE, c, v); } static final void setTabAt(Node [] tab, int i, Node v) { - U.putObjectRelease(tab, ((long)i << ASHIFT) + ABASE, v); + U.putReferenceRelease(tab, ((long)i << ASHIFT) + ABASE, v); } /* ---------------- Fields -------------- */ diff --git a/src/java.base/share/classes/java/util/concurrent/ThreadLocalRandom.java b/src/java.base/share/classes/java/util/concurrent/ThreadLocalRandom.java index c20d2b3488f..5eff9498a0b 100644 --- a/src/java.base/share/classes/java/util/concurrent/ThreadLocalRandom.java +++ b/src/java.base/share/classes/java/util/concurrent/ThreadLocalRandom.java @@ -976,13 +976,13 @@ public class ThreadLocalRandom extends Random { * Erases ThreadLocals by nulling out Thread maps. */ static final void eraseThreadLocals(Thread thread) { - U.putObject(thread, THREADLOCALS, null); - U.putObject(thread, INHERITABLETHREADLOCALS, null); + U.putReference(thread, THREADLOCALS, null); + U.putReference(thread, INHERITABLETHREADLOCALS, null); } static final void setInheritedAccessControlContext(Thread thread, AccessControlContext acc) { - U.putObjectRelease(thread, INHERITEDACCESSCONTROLCONTEXT, acc); + U.putReferenceRelease(thread, INHERITEDACCESSCONTROLCONTEXT, acc); } // Serialization support diff --git a/src/java.base/share/classes/java/util/concurrent/atomic/AtomicReferenceFieldUpdater.java b/src/java.base/share/classes/java/util/concurrent/atomic/AtomicReferenceFieldUpdater.java index 062e797c496..96fb99e8a0f 100644 --- a/src/java.base/share/classes/java/util/concurrent/atomic/AtomicReferenceFieldUpdater.java +++ b/src/java.base/share/classes/java/util/concurrent/atomic/AtomicReferenceFieldUpdater.java @@ -439,39 +439,39 @@ public abstract class AtomicReferenceFieldUpdater { public final boolean compareAndSet(T obj, V expect, V update) { accessCheck(obj); valueCheck(update); - return U.compareAndSetObject(obj, offset, expect, update); + return U.compareAndSetReference(obj, offset, expect, update); } public final boolean weakCompareAndSet(T obj, V expect, V update) { // same implementation as strong form for now accessCheck(obj); valueCheck(update); - return U.compareAndSetObject(obj, offset, expect, update); + return U.compareAndSetReference(obj, offset, expect, update); } public final void set(T obj, V newValue) { accessCheck(obj); valueCheck(newValue); - U.putObjectVolatile(obj, offset, newValue); + U.putReferenceVolatile(obj, offset, newValue); } public final void lazySet(T obj, V newValue) { accessCheck(obj); valueCheck(newValue); - U.putObjectRelease(obj, offset, newValue); + U.putReferenceRelease(obj, offset, newValue); } @SuppressWarnings("unchecked") public final V get(T obj) { accessCheck(obj); - return (V)U.getObjectVolatile(obj, offset); + return (V)U.getReferenceVolatile(obj, offset); } @SuppressWarnings("unchecked") public final V getAndSet(T obj, V newValue) { accessCheck(obj); valueCheck(newValue); - return (V)U.getAndSetObject(obj, offset, newValue); + return (V)U.getAndSetReference(obj, offset, newValue); } } } diff --git a/src/java.base/share/classes/java/util/concurrent/locks/LockSupport.java b/src/java.base/share/classes/java/util/concurrent/locks/LockSupport.java index b3ef8d05096..87e7c40ce5f 100644 --- a/src/java.base/share/classes/java/util/concurrent/locks/LockSupport.java +++ b/src/java.base/share/classes/java/util/concurrent/locks/LockSupport.java @@ -141,7 +141,7 @@ public class LockSupport { private static void setBlocker(Thread t, Object arg) { // Even though volatile, hotspot doesn't need a write barrier here. - U.putObject(t, PARKBLOCKER, arg); + U.putReference(t, PARKBLOCKER, arg); } /** @@ -291,7 +291,7 @@ public class LockSupport { public static Object getBlocker(Thread t) { if (t == null) throw new NullPointerException(); - return U.getObjectVolatile(t, PARKBLOCKER); + return U.getReferenceVolatile(t, PARKBLOCKER); } /** diff --git a/src/java.base/share/classes/java/util/zip/ZipUtils.java b/src/java.base/share/classes/java/util/zip/ZipUtils.java index e868ccbf34f..bc45492b182 100644 --- a/src/java.base/share/classes/java/util/zip/ZipUtils.java +++ b/src/java.base/share/classes/java/util/zip/ZipUtils.java @@ -25,7 +25,6 @@ package java.util.zip; -import java.nio.Buffer; import java.nio.ByteBuffer; import java.nio.file.attribute.FileTime; import java.security.AccessController; @@ -40,7 +39,6 @@ import java.util.concurrent.TimeUnit; import static java.util.zip.ZipConstants.ENDHDR; import jdk.internal.misc.Unsafe; -import sun.nio.ch.DirectBuffer; class ZipUtils { @@ -295,7 +293,7 @@ class ZipUtils { private static final long byteBufferOffsetOffset = unsafe.objectFieldOffset(ByteBuffer.class, "offset"); static byte[] getBufferArray(ByteBuffer byteBuffer) { - return (byte[]) unsafe.getObject(byteBuffer, byteBufferArrayOffset); + return (byte[]) unsafe.getReference(byteBuffer, byteBufferArrayOffset); } static int getBufferOffset(ByteBuffer byteBuffer) { diff --git a/src/java.base/share/classes/jdk/internal/misc/InnocuousThread.java b/src/java.base/share/classes/jdk/internal/misc/InnocuousThread.java index e62a0321a7f..4c50d6f1746 100644 --- a/src/java.base/share/classes/jdk/internal/misc/InnocuousThread.java +++ b/src/java.base/share/classes/jdk/internal/misc/InnocuousThread.java @@ -98,8 +98,8 @@ public final class InnocuousThread extends Thread { private InnocuousThread(ThreadGroup group, Runnable target, String name, ClassLoader tccl) { super(group, target, name, 0L, false); - UNSAFE.putObjectRelease(this, INHERITEDACCESSCONTROLCONTEXT, ACC); - UNSAFE.putObjectRelease(this, CONTEXTCLASSLOADER, tccl); + UNSAFE.putReferenceRelease(this, INHERITEDACCESSCONTROLCONTEXT, ACC); + UNSAFE.putReferenceRelease(this, CONTEXTCLASSLOADER, tccl); } @Override @@ -120,8 +120,8 @@ public final class InnocuousThread extends Thread { * Drops all thread locals (and inherited thread locals). */ public final void eraseThreadLocals() { - UNSAFE.putObject(this, THREAD_LOCALS, null); - UNSAFE.putObject(this, INHERITABLE_THREAD_LOCALS, null); + UNSAFE.putReference(this, THREAD_LOCALS, null); + UNSAFE.putReference(this, INHERITABLE_THREAD_LOCALS, null); } // ensure run method is run only once @@ -158,10 +158,10 @@ public final class InnocuousThread extends Thread { long tg = UNSAFE.objectFieldOffset(tk, "group"); long gp = UNSAFE.objectFieldOffset(gk, "parent"); ThreadGroup group = (ThreadGroup) - UNSAFE.getObject(Thread.currentThread(), tg); + UNSAFE.getReference(Thread.currentThread(), tg); while (group != null) { - ThreadGroup parent = (ThreadGroup)UNSAFE.getObject(group, gp); + ThreadGroup parent = (ThreadGroup)UNSAFE.getReference(group, gp); if (parent == null) break; group = parent; diff --git a/src/java.base/share/classes/jdk/internal/misc/Unsafe.java b/src/java.base/share/classes/jdk/internal/misc/Unsafe.java index d09c158cfd4..2868c3b66f4 100644 --- a/src/java.base/share/classes/jdk/internal/misc/Unsafe.java +++ b/src/java.base/share/classes/jdk/internal/misc/Unsafe.java @@ -179,7 +179,7 @@ public final class Unsafe { * @see #getInt(Object, long) */ @HotSpotIntrinsicCandidate - public native Object getObject(Object o, long offset); + public native Object getReference(Object o, long offset); /** * Stores a reference value into a given Java variable. @@ -192,7 +192,7 @@ public final class Unsafe { * @see #putInt(Object, long, int) */ @HotSpotIntrinsicCandidate - public native void putObject(Object o, long offset, Object x); + public native void putReference(Object o, long offset, Object x); /** @see #getInt(Object, long) */ @HotSpotIntrinsicCandidate @@ -1297,55 +1297,55 @@ public final class Unsafe { * @return {@code true} if successful */ @HotSpotIntrinsicCandidate - public final native boolean compareAndSetObject(Object o, long offset, + public final native boolean compareAndSetReference(Object o, long offset, + Object expected, + Object x); + + @HotSpotIntrinsicCandidate + public final native Object compareAndExchangeReference(Object o, long offset, + Object expected, + Object x); + + @HotSpotIntrinsicCandidate + public final Object compareAndExchangeReferenceAcquire(Object o, long offset, + Object expected, + Object x) { + return compareAndExchangeReference(o, offset, expected, x); + } + + @HotSpotIntrinsicCandidate + public final Object compareAndExchangeReferenceRelease(Object o, long offset, + Object expected, + Object x) { + return compareAndExchangeReference(o, offset, expected, x); + } + + @HotSpotIntrinsicCandidate + public final boolean weakCompareAndSetReferencePlain(Object o, long offset, + Object expected, + Object x) { + return compareAndSetReference(o, offset, expected, x); + } + + @HotSpotIntrinsicCandidate + public final boolean weakCompareAndSetReferenceAcquire(Object o, long offset, + Object expected, + Object x) { + return compareAndSetReference(o, offset, expected, x); + } + + @HotSpotIntrinsicCandidate + public final boolean weakCompareAndSetReferenceRelease(Object o, long offset, + Object expected, + Object x) { + return compareAndSetReference(o, offset, expected, x); + } + + @HotSpotIntrinsicCandidate + public final boolean weakCompareAndSetReference(Object o, long offset, Object expected, - Object x); - - @HotSpotIntrinsicCandidate - public final native Object compareAndExchangeObject(Object o, long offset, - Object expected, - Object x); - - @HotSpotIntrinsicCandidate - public final Object compareAndExchangeObjectAcquire(Object o, long offset, - Object expected, - Object x) { - return compareAndExchangeObject(o, offset, expected, x); - } - - @HotSpotIntrinsicCandidate - public final Object compareAndExchangeObjectRelease(Object o, long offset, - Object expected, - Object x) { - return compareAndExchangeObject(o, offset, expected, x); - } - - @HotSpotIntrinsicCandidate - public final boolean weakCompareAndSetObjectPlain(Object o, long offset, - Object expected, - Object x) { - return compareAndSetObject(o, offset, expected, x); - } - - @HotSpotIntrinsicCandidate - public final boolean weakCompareAndSetObjectAcquire(Object o, long offset, - Object expected, - Object x) { - return compareAndSetObject(o, offset, expected, x); - } - - @HotSpotIntrinsicCandidate - public final boolean weakCompareAndSetObjectRelease(Object o, long offset, - Object expected, - Object x) { - return compareAndSetObject(o, offset, expected, x); - } - - @HotSpotIntrinsicCandidate - public final boolean weakCompareAndSetObject(Object o, long offset, - Object expected, - Object x) { - return compareAndSetObject(o, offset, expected, x); + Object x) { + return compareAndSetReference(o, offset, expected, x); } /** @@ -1958,17 +1958,17 @@ public final class Unsafe { /** * Fetches a reference value from a given Java variable, with volatile - * load semantics. Otherwise identical to {@link #getObject(Object, long)} + * load semantics. Otherwise identical to {@link #getReference(Object, long)} */ @HotSpotIntrinsicCandidate - public native Object getObjectVolatile(Object o, long offset); + public native Object getReferenceVolatile(Object o, long offset); /** * Stores a reference value into a given Java variable, with - * volatile store semantics. Otherwise identical to {@link #putObject(Object, long, Object)} + * volatile store semantics. Otherwise identical to {@link #putReference(Object, long, Object)} */ @HotSpotIntrinsicCandidate - public native void putObjectVolatile(Object o, long offset, Object x); + public native void putReferenceVolatile(Object o, long offset, Object x); /** Volatile version of {@link #getInt(Object, long)} */ @HotSpotIntrinsicCandidate @@ -2036,10 +2036,10 @@ public final class Unsafe { - /** Acquire version of {@link #getObjectVolatile(Object, long)} */ + /** Acquire version of {@link #getReferenceVolatile(Object, long)} */ @HotSpotIntrinsicCandidate - public final Object getObjectAcquire(Object o, long offset) { - return getObjectVolatile(o, offset); + public final Object getReferenceAcquire(Object o, long offset) { + return getReferenceVolatile(o, offset); } /** Acquire version of {@link #getBooleanVolatile(Object, long)} */ @@ -2091,7 +2091,7 @@ public final class Unsafe { } /* - * Versions of {@link #putObjectVolatile(Object, long, Object)} + * Versions of {@link #putReferenceVolatile(Object, long, Object)} * that do not guarantee immediate visibility of the store to * other threads. This method is generally only useful if the * underlying field is a Java volatile (or if an array cell, one @@ -2100,10 +2100,10 @@ public final class Unsafe { * Corresponds to C11 atomic_store_explicit(..., memory_order_release). */ - /** Release version of {@link #putObjectVolatile(Object, long, Object)} */ + /** Release version of {@link #putReferenceVolatile(Object, long, Object)} */ @HotSpotIntrinsicCandidate - public final void putObjectRelease(Object o, long offset, Object x) { - putObjectVolatile(o, offset, x); + public final void putReferenceRelease(Object o, long offset, Object x) { + putReferenceVolatile(o, offset, x); } /** Release version of {@link #putBooleanVolatile(Object, long, boolean)} */ @@ -2156,10 +2156,10 @@ public final class Unsafe { // ------------------------------ Opaque -------------------------------------- - /** Opaque version of {@link #getObjectVolatile(Object, long)} */ + /** Opaque version of {@link #getReferenceVolatile(Object, long)} */ @HotSpotIntrinsicCandidate - public final Object getObjectOpaque(Object o, long offset) { - return getObjectVolatile(o, offset); + public final Object getReferenceOpaque(Object o, long offset) { + return getReferenceVolatile(o, offset); } /** Opaque version of {@link #getBooleanVolatile(Object, long)} */ @@ -2210,10 +2210,10 @@ public final class Unsafe { return getDoubleVolatile(o, offset); } - /** Opaque version of {@link #putObjectVolatile(Object, long, Object)} */ + /** Opaque version of {@link #putReferenceVolatile(Object, long, Object)} */ @HotSpotIntrinsicCandidate - public final void putObjectOpaque(Object o, long offset, Object x) { - putObjectVolatile(o, offset, x); + public final void putReferenceOpaque(Object o, long offset, Object x) { + putReferenceVolatile(o, offset, x); } /** Opaque version of {@link #putBooleanVolatile(Object, long, boolean)} */ @@ -2642,29 +2642,29 @@ public final class Unsafe { * @since 1.8 */ @HotSpotIntrinsicCandidate - public final Object getAndSetObject(Object o, long offset, Object newValue) { + public final Object getAndSetReference(Object o, long offset, Object newValue) { Object v; do { - v = getObjectVolatile(o, offset); - } while (!weakCompareAndSetObject(o, offset, v, newValue)); + v = getReferenceVolatile(o, offset); + } while (!weakCompareAndSetReference(o, offset, v, newValue)); return v; } @ForceInline - public final Object getAndSetObjectRelease(Object o, long offset, Object newValue) { + public final Object getAndSetReferenceRelease(Object o, long offset, Object newValue) { Object v; do { - v = getObject(o, offset); - } while (!weakCompareAndSetObjectRelease(o, offset, v, newValue)); + v = getReference(o, offset); + } while (!weakCompareAndSetReferenceRelease(o, offset, v, newValue)); return v; } @ForceInline - public final Object getAndSetObjectAcquire(Object o, long offset, Object newValue) { + public final Object getAndSetReferenceAcquire(Object o, long offset, Object newValue) { Object v; do { - v = getObjectAcquire(o, offset); - } while (!weakCompareAndSetObjectAcquire(o, offset, v, newValue)); + v = getReferenceAcquire(o, offset); + } while (!weakCompareAndSetReferenceAcquire(o, offset, v, newValue)); return v; } diff --git a/src/java.base/share/classes/jdk/internal/reflect/UnsafeObjectFieldAccessorImpl.java b/src/java.base/share/classes/jdk/internal/reflect/UnsafeObjectFieldAccessorImpl.java index ea3c70045da..40fad3fd027 100644 --- a/src/java.base/share/classes/jdk/internal/reflect/UnsafeObjectFieldAccessorImpl.java +++ b/src/java.base/share/classes/jdk/internal/reflect/UnsafeObjectFieldAccessorImpl.java @@ -34,7 +34,7 @@ class UnsafeObjectFieldAccessorImpl extends UnsafeFieldAccessorImpl { public Object get(Object obj) throws IllegalArgumentException { ensureObj(obj); - return unsafe.getObject(obj, fieldOffset); + return unsafe.getReference(obj, fieldOffset); } public boolean getBoolean(Object obj) throws IllegalArgumentException { @@ -81,7 +81,7 @@ class UnsafeObjectFieldAccessorImpl extends UnsafeFieldAccessorImpl { throwSetIllegalArgumentException(value); } } - unsafe.putObject(obj, fieldOffset, value); + unsafe.putReference(obj, fieldOffset, value); } public void setBoolean(Object obj, boolean z) diff --git a/src/java.base/share/classes/jdk/internal/reflect/UnsafeQualifiedObjectFieldAccessorImpl.java b/src/java.base/share/classes/jdk/internal/reflect/UnsafeQualifiedObjectFieldAccessorImpl.java index fcb45289886..22f007e3f26 100644 --- a/src/java.base/share/classes/jdk/internal/reflect/UnsafeQualifiedObjectFieldAccessorImpl.java +++ b/src/java.base/share/classes/jdk/internal/reflect/UnsafeQualifiedObjectFieldAccessorImpl.java @@ -36,7 +36,7 @@ class UnsafeQualifiedObjectFieldAccessorImpl public Object get(Object obj) throws IllegalArgumentException { ensureObj(obj); - return unsafe.getObjectVolatile(obj, fieldOffset); + return unsafe.getReferenceVolatile(obj, fieldOffset); } public boolean getBoolean(Object obj) throws IllegalArgumentException { @@ -83,7 +83,7 @@ class UnsafeQualifiedObjectFieldAccessorImpl throwSetIllegalArgumentException(value); } } - unsafe.putObjectVolatile(obj, fieldOffset, value); + unsafe.putReferenceVolatile(obj, fieldOffset, value); } public void setBoolean(Object obj, boolean z) diff --git a/src/java.base/share/classes/jdk/internal/reflect/UnsafeQualifiedStaticObjectFieldAccessorImpl.java b/src/java.base/share/classes/jdk/internal/reflect/UnsafeQualifiedStaticObjectFieldAccessorImpl.java index 4b35509bb60..7ea53e866a8 100644 --- a/src/java.base/share/classes/jdk/internal/reflect/UnsafeQualifiedStaticObjectFieldAccessorImpl.java +++ b/src/java.base/share/classes/jdk/internal/reflect/UnsafeQualifiedStaticObjectFieldAccessorImpl.java @@ -35,7 +35,7 @@ class UnsafeQualifiedStaticObjectFieldAccessorImpl } public Object get(Object obj) throws IllegalArgumentException { - return unsafe.getObjectVolatile(base, fieldOffset); + return unsafe.getReferenceVolatile(base, fieldOffset); } public boolean getBoolean(Object obj) throws IllegalArgumentException { @@ -81,7 +81,7 @@ class UnsafeQualifiedStaticObjectFieldAccessorImpl throwSetIllegalArgumentException(value); } } - unsafe.putObjectVolatile(base, fieldOffset, value); + unsafe.putReferenceVolatile(base, fieldOffset, value); } public void setBoolean(Object obj, boolean z) diff --git a/src/java.base/share/classes/jdk/internal/reflect/UnsafeStaticObjectFieldAccessorImpl.java b/src/java.base/share/classes/jdk/internal/reflect/UnsafeStaticObjectFieldAccessorImpl.java index 7381be2ca2f..4b80b669a7b 100644 --- a/src/java.base/share/classes/jdk/internal/reflect/UnsafeStaticObjectFieldAccessorImpl.java +++ b/src/java.base/share/classes/jdk/internal/reflect/UnsafeStaticObjectFieldAccessorImpl.java @@ -33,7 +33,7 @@ class UnsafeStaticObjectFieldAccessorImpl extends UnsafeStaticFieldAccessorImpl } public Object get(Object obj) throws IllegalArgumentException { - return unsafe.getObject(base, fieldOffset); + return unsafe.getReference(base, fieldOffset); } public boolean getBoolean(Object obj) throws IllegalArgumentException { @@ -79,7 +79,7 @@ class UnsafeStaticObjectFieldAccessorImpl extends UnsafeStaticFieldAccessorImpl throwSetIllegalArgumentException(value); } } - unsafe.putObject(base, fieldOffset, value); + unsafe.putReference(base, fieldOffset, value); } public void setBoolean(Object obj, boolean z) diff --git a/src/java.base/share/classes/sun/reflect/annotation/AnnotationInvocationHandler.java b/src/java.base/share/classes/sun/reflect/annotation/AnnotationInvocationHandler.java index d2a8d43796b..bac07af01c0 100644 --- a/src/java.base/share/classes/sun/reflect/annotation/AnnotationInvocationHandler.java +++ b/src/java.base/share/classes/sun/reflect/annotation/AnnotationInvocationHandler.java @@ -624,12 +624,12 @@ class AnnotationInvocationHandler implements InvocationHandler, Serializable { static void setType(AnnotationInvocationHandler o, Class extends Annotation> type) { - unsafe.putObject(o, typeOffset, type); + unsafe.putReference(o, typeOffset, type); } static void setMemberValues(AnnotationInvocationHandler o, Map memberValues) { - unsafe.putObject(o, memberValuesOffset, memberValues); + unsafe.putReference(o, memberValuesOffset, memberValues); } } } diff --git a/src/java.base/share/classes/sun/security/ssl/SignatureScheme.java b/src/java.base/share/classes/sun/security/ssl/SignatureScheme.java index 19c9b55fba8..4d4e6c21cd5 100644 --- a/src/java.base/share/classes/sun/security/ssl/SignatureScheme.java +++ b/src/java.base/share/classes/sun/security/ssl/SignatureScheme.java @@ -356,12 +356,12 @@ enum SignatureScheme { } else if (SSLLogger.isOn && SSLLogger.isOn("ssl,handshake,verbose")) { SSLLogger.finest( - "Ignore disabled signature sheme: " + ss.name); + "Ignore disabled signature scheme: " + ss.name); } } else if (SSLLogger.isOn && SSLLogger.isOn("ssl,handshake,verbose")) { SSLLogger.finest( - "Ignore inactive signature sheme: " + ss.name); + "Ignore inactive signature scheme: " + ss.name); } } diff --git a/src/java.security.jgss/share/classes/sun/security/krb5/PrincipalName.java b/src/java.security.jgss/share/classes/sun/security/krb5/PrincipalName.java index 9e5ec827b5d..eaaa20a8bb0 100644 --- a/src/java.security.jgss/share/classes/sun/security/krb5/PrincipalName.java +++ b/src/java.security.jgss/share/classes/sun/security/krb5/PrincipalName.java @@ -179,7 +179,7 @@ public class PrincipalName implements Cloneable { public Object clone() { try { PrincipalName pName = (PrincipalName) super.clone(); - UNSAFE.putObject(this, NAME_STRINGS_OFFSET, nameStrings.clone()); + UNSAFE.putReference(this, NAME_STRINGS_OFFSET, nameStrings.clone()); return pName; } catch (CloneNotSupportedException ex) { throw new AssertionError("Should never happen"); diff --git a/src/java.security.jgss/share/native/libj2gss/NativeUtil.c b/src/java.security.jgss/share/native/libj2gss/NativeUtil.c index 3fba9fcdbfa..b7ec48ba512 100644 --- a/src/java.security.jgss/share/native/libj2gss/NativeUtil.c +++ b/src/java.security.jgss/share/native/libj2gss/NativeUtil.c @@ -724,17 +724,14 @@ jobject getJavaOID(JNIEnv *env, gss_OID cOid) { if (jbytes == NULL) { return NULL; } - (*env)->SetByteArrayRegion(env, jbytes, 0, 2, (jbyte *) oidHdr); - if ((*env)->ExceptionCheck(env)) { - return NULL; + if (!(*env)->ExceptionCheck(env)) { + (*env)->SetByteArrayRegion(env, jbytes, 0, 2, (jbyte *) oidHdr); } - (*env)->SetByteArrayRegion(env, jbytes, 2, cLen, (jbyte *) cOid->elements); - if ((*env)->ExceptionCheck(env)) { - return NULL; + if (!(*env)->ExceptionCheck(env)) { + (*env)->SetByteArrayRegion(env, jbytes, 2, cLen, (jbyte *) cOid->elements); } - result = (*env)->NewObject(env, CLS_Oid, MID_Oid_ctor1, jbytes); - if ((*env)->ExceptionCheck(env)) { - return NULL; + if (!(*env)->ExceptionCheck(env)) { + result = (*env)->NewObject(env, CLS_Oid, MID_Oid_ctor1, jbytes); } (*env)->DeleteLocalRef(env, jbytes); return result; diff --git a/src/java.xml/share/classes/com/sun/org/apache/xml/internal/utils/SafeThread.java b/src/java.xml/share/classes/com/sun/org/apache/xml/internal/utils/SafeThread.java index 4718d34cae6..fc4dfd5c053 100644 --- a/src/java.xml/share/classes/com/sun/org/apache/xml/internal/utils/SafeThread.java +++ b/src/java.xml/share/classes/com/sun/org/apache/xml/internal/utils/SafeThread.java @@ -74,8 +74,8 @@ public class SafeThread extends Thread { * Drops all thread locals (and inherited thread locals). */ public final void eraseThreadLocals() { - UNSAFE.putObject(this, THREAD_LOCALS, null); - UNSAFE.putObject(this, INHERITABLE_THREAD_LOCALS, null); + UNSAFE.putReference(this, THREAD_LOCALS, null); + UNSAFE.putReference(this, INHERITABLE_THREAD_LOCALS, null); } static { diff --git a/src/jdk.internal.vm.ci/share/classes/jdk.vm.ci.hotspot/src/jdk/vm/ci/hotspot/HotSpotMemoryAccessProviderImpl.java b/src/jdk.internal.vm.ci/share/classes/jdk.vm.ci.hotspot/src/jdk/vm/ci/hotspot/HotSpotMemoryAccessProviderImpl.java index 925bcfb0d1e..948286f732d 100644 --- a/src/jdk.internal.vm.ci/share/classes/jdk.vm.ci.hotspot/src/jdk/vm/ci/hotspot/HotSpotMemoryAccessProviderImpl.java +++ b/src/jdk.internal.vm.ci/share/classes/jdk.vm.ci.hotspot/src/jdk/vm/ci/hotspot/HotSpotMemoryAccessProviderImpl.java @@ -203,7 +203,7 @@ class HotSpotMemoryAccessProviderImpl implements HotSpotMemoryAccessProvider { assert verifyReadRawObject(ret, baseConstant, initialDisplacement); } else { assert runtime.getConfig().useCompressedOops == compressed; - ret = UNSAFE.getObject(base, displacement); + ret = UNSAFE.getReference(base, displacement); } return ret; } @@ -233,7 +233,7 @@ class HotSpotMemoryAccessProviderImpl implements HotSpotMemoryAccessProvider { case Double: return JavaConstant.forDouble(isVolatile ? UNSAFE.getDoubleVolatile(obj, displacement) : UNSAFE.getDouble(obj, displacement)); case Object: - return HotSpotObjectConstantImpl.forObject(isVolatile ? UNSAFE.getObjectVolatile(obj, displacement) : UNSAFE.getObject(obj, displacement)); + return HotSpotObjectConstantImpl.forObject(isVolatile ? UNSAFE.getReferenceVolatile(obj, displacement) : UNSAFE.getReference(obj, displacement)); default: throw new IllegalArgumentException("Unsupported kind: " + kind); } diff --git a/src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot.test/src/org/graalvm/compiler/hotspot/test/CheckGraalIntrinsics.java b/src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot.test/src/org/graalvm/compiler/hotspot/test/CheckGraalIntrinsics.java index 718bdd27554..75aac871fb8 100644 --- a/src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot.test/src/org/graalvm/compiler/hotspot/test/CheckGraalIntrinsics.java +++ b/src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot.test/src/org/graalvm/compiler/hotspot/test/CheckGraalIntrinsics.java @@ -312,8 +312,8 @@ public class CheckGraalIntrinsics extends GraalTest { "jdk/internal/misc/Unsafe.compareAndExchangeIntRelease(Ljava/lang/Object;JII)I", "jdk/internal/misc/Unsafe.compareAndExchangeLongAcquire(Ljava/lang/Object;JJJ)J", "jdk/internal/misc/Unsafe.compareAndExchangeLongRelease(Ljava/lang/Object;JJJ)J", - "jdk/internal/misc/Unsafe.compareAndExchangeObjectAcquire(Ljava/lang/Object;JLjava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;", - "jdk/internal/misc/Unsafe.compareAndExchangeObjectRelease(Ljava/lang/Object;JLjava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;", + "jdk/internal/misc/Unsafe.compareAndExchangeReferenceAcquire(Ljava/lang/Object;JLjava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;", + "jdk/internal/misc/Unsafe.compareAndExchangeReferenceRelease(Ljava/lang/Object;JLjava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;", "jdk/internal/misc/Unsafe.compareAndExchangeShortAcquire(Ljava/lang/Object;JSS)S", "jdk/internal/misc/Unsafe.compareAndExchangeShortRelease(Ljava/lang/Object;JSS)S", @@ -330,10 +330,10 @@ public class CheckGraalIntrinsics extends GraalTest { "jdk/internal/misc/Unsafe.weakCompareAndSetLongAcquire(Ljava/lang/Object;JJJ)Z", "jdk/internal/misc/Unsafe.weakCompareAndSetLongPlain(Ljava/lang/Object;JJJ)Z", "jdk/internal/misc/Unsafe.weakCompareAndSetLongRelease(Ljava/lang/Object;JJJ)Z", - "jdk/internal/misc/Unsafe.weakCompareAndSetObject(Ljava/lang/Object;JLjava/lang/Object;Ljava/lang/Object;)Z", - "jdk/internal/misc/Unsafe.weakCompareAndSetObjectAcquire(Ljava/lang/Object;JLjava/lang/Object;Ljava/lang/Object;)Z", - "jdk/internal/misc/Unsafe.weakCompareAndSetObjectPlain(Ljava/lang/Object;JLjava/lang/Object;Ljava/lang/Object;)Z", - "jdk/internal/misc/Unsafe.weakCompareAndSetObjectRelease(Ljava/lang/Object;JLjava/lang/Object;Ljava/lang/Object;)Z", + "jdk/internal/misc/Unsafe.weakCompareAndSetReference(Ljava/lang/Object;JLjava/lang/Object;Ljava/lang/Object;)Z", + "jdk/internal/misc/Unsafe.weakCompareAndSetReferenceAcquire(Ljava/lang/Object;JLjava/lang/Object;Ljava/lang/Object;)Z", + "jdk/internal/misc/Unsafe.weakCompareAndSetReferencePlain(Ljava/lang/Object;JLjava/lang/Object;Ljava/lang/Object;)Z", + "jdk/internal/misc/Unsafe.weakCompareAndSetReferenceRelease(Ljava/lang/Object;JLjava/lang/Object;Ljava/lang/Object;)Z", "jdk/internal/misc/Unsafe.weakCompareAndSetShort(Ljava/lang/Object;JSS)Z", "jdk/internal/misc/Unsafe.weakCompareAndSetShortAcquire(Ljava/lang/Object;JSS)Z", "jdk/internal/misc/Unsafe.weakCompareAndSetShortPlain(Ljava/lang/Object;JSS)Z", @@ -399,7 +399,7 @@ public class CheckGraalIntrinsics extends GraalTest { "sun/misc/Unsafe.getAndAddLong(Ljava/lang/Object;JJ)J", "sun/misc/Unsafe.getAndSetInt(Ljava/lang/Object;JI)I", "sun/misc/Unsafe.getAndSetLong(Ljava/lang/Object;JJ)J", - "sun/misc/Unsafe.getAndSetObject(Ljava/lang/Object;JLjava/lang/Object;)Ljava/lang/Object;"); + "sun/misc/Unsafe.getAndSetReference(Ljava/lang/Object;JLjava/lang/Object;)Ljava/lang/Object;"); if (isJDK9OrHigher()) { if (!(arch instanceof AArch64)) { @@ -412,7 +412,7 @@ public class CheckGraalIntrinsics extends GraalTest { "jdk/internal/misc/Unsafe.getAndAddLong(Ljava/lang/Object;JJ)J", "jdk/internal/misc/Unsafe.getAndSetInt(Ljava/lang/Object;JI)I", "jdk/internal/misc/Unsafe.getAndSetLong(Ljava/lang/Object;JJ)J", - "jdk/internal/misc/Unsafe.getAndSetObject(Ljava/lang/Object;JLjava/lang/Object;)Ljava/lang/Object;"); + "jdk/internal/misc/Unsafe.getAndSetReference(Ljava/lang/Object;JLjava/lang/Object;)Ljava/lang/Object;"); } add(toBeInvestigated, "jdk/internal/misc/Unsafe.getCharUnaligned(Ljava/lang/Object;J)C", diff --git a/src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.replacements.aarch64/src/org/graalvm/compiler/replacements/aarch64/AArch64GraphBuilderPlugins.java b/src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.replacements.aarch64/src/org/graalvm/compiler/replacements/aarch64/AArch64GraphBuilderPlugins.java index 28faf1332c5..da20c0f1986 100644 --- a/src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.replacements.aarch64/src/org/graalvm/compiler/replacements/aarch64/AArch64GraphBuilderPlugins.java +++ b/src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.replacements.aarch64/src/org/graalvm/compiler/replacements/aarch64/AArch64GraphBuilderPlugins.java @@ -32,6 +32,7 @@ import static org.graalvm.compiler.replacements.nodes.UnaryMathIntrinsicNode.Una import static org.graalvm.compiler.replacements.nodes.UnaryMathIntrinsicNode.UnaryOperation.SIN; import static org.graalvm.compiler.replacements.nodes.UnaryMathIntrinsicNode.UnaryOperation.TAN; import static org.graalvm.compiler.serviceprovider.GraalServices.JAVA_SPECIFICATION_VERSION; +import static org.graalvm.compiler.serviceprovider.GraalServices.Java11OrEarlier; import static org.graalvm.compiler.serviceprovider.GraalServices.Java8OrEarlier; import org.graalvm.compiler.bytecode.BytecodeProvider; @@ -179,8 +180,8 @@ public class AArch64GraphBuilderPlugins { for (JavaKind kind : unsafeJavaKinds) { Class> javaClass = kind == JavaKind.Object ? Object.class : kind.toJavaClass(); - - r.register4("getAndSet" + kind.name(), Receiver.class, Object.class, long.class, javaClass, new InvocationPlugin() { + String kindName = (kind == JavaKind.Object && !Java11OrEarlier) ? "Reference" : kind.name(); + r.register4("getAndSet" + kindName, Receiver.class, Object.class, long.class, javaClass, new InvocationPlugin() { @Override public boolean apply(GraphBuilderContext b, ResolvedJavaMethod targetMethod, Receiver unsafe, ValueNode object, ValueNode offset, ValueNode value) { // Emits a null-check for the otherwise unused receiver @@ -192,7 +193,7 @@ public class AArch64GraphBuilderPlugins { }); if (kind != JavaKind.Boolean && kind.isNumericInteger()) { - r.register4("getAndAdd" + kind.name(), Receiver.class, Object.class, long.class, javaClass, new InvocationPlugin() { + r.register4("getAndAdd" + kindName, Receiver.class, Object.class, long.class, javaClass, new InvocationPlugin() { @Override public boolean apply(GraphBuilderContext b, ResolvedJavaMethod targetMethod, Receiver unsafe, ValueNode object, ValueNode offset, ValueNode delta) { // Emits a null-check for the otherwise unused receiver diff --git a/src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.replacements.amd64/src/org/graalvm/compiler/replacements/amd64/AMD64GraphBuilderPlugins.java b/src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.replacements.amd64/src/org/graalvm/compiler/replacements/amd64/AMD64GraphBuilderPlugins.java index 64b0e405fcf..d5303de3e9f 100644 --- a/src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.replacements.amd64/src/org/graalvm/compiler/replacements/amd64/AMD64GraphBuilderPlugins.java +++ b/src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.replacements.amd64/src/org/graalvm/compiler/replacements/amd64/AMD64GraphBuilderPlugins.java @@ -33,6 +33,7 @@ import static org.graalvm.compiler.replacements.nodes.UnaryMathIntrinsicNode.Una import static org.graalvm.compiler.replacements.nodes.UnaryMathIntrinsicNode.UnaryOperation.SIN; import static org.graalvm.compiler.replacements.nodes.UnaryMathIntrinsicNode.UnaryOperation.TAN; import static org.graalvm.compiler.serviceprovider.GraalServices.JAVA_SPECIFICATION_VERSION; +import static org.graalvm.compiler.serviceprovider.GraalServices.Java11OrEarlier; import static org.graalvm.compiler.serviceprovider.GraalServices.Java8OrEarlier; import java.util.Arrays; @@ -230,18 +231,18 @@ public class AMD64GraphBuilderPlugins { } private static void registerUnsafePlugins(InvocationPlugins plugins, BytecodeProvider replacementsBytecodeProvider, boolean explicitUnsafeNullChecks) { - registerUnsafePlugins(new Registration(plugins, Unsafe.class), explicitUnsafeNullChecks, new JavaKind[]{JavaKind.Int, JavaKind.Long, JavaKind.Object}); + registerUnsafePlugins(new Registration(plugins, Unsafe.class), explicitUnsafeNullChecks, new JavaKind[]{JavaKind.Int, JavaKind.Long, JavaKind.Object}, true); if (!Java8OrEarlier) { registerUnsafePlugins(new Registration(plugins, "jdk.internal.misc.Unsafe", replacementsBytecodeProvider), explicitUnsafeNullChecks, - new JavaKind[]{JavaKind.Boolean, JavaKind.Byte, JavaKind.Char, JavaKind.Short, JavaKind.Int, JavaKind.Long, JavaKind.Object}); + new JavaKind[]{JavaKind.Boolean, JavaKind.Byte, JavaKind.Char, JavaKind.Short, JavaKind.Int, JavaKind.Long, JavaKind.Object}, Java11OrEarlier); } } - private static void registerUnsafePlugins(Registration r, boolean explicitUnsafeNullChecks, JavaKind[] unsafeJavaKinds) { + private static void registerUnsafePlugins(Registration r, boolean explicitUnsafeNullChecks, JavaKind[] unsafeJavaKinds, boolean java11OrEarlier) { for (JavaKind kind : unsafeJavaKinds) { Class> javaClass = kind == JavaKind.Object ? Object.class : kind.toJavaClass(); - - r.register4("getAndSet" + kind.name(), Receiver.class, Object.class, long.class, javaClass, new UnsafeAccessPlugin(kind, explicitUnsafeNullChecks) { + String kindName = (kind == JavaKind.Object && !java11OrEarlier) ? "Reference" : kind.name(); + r.register4("getAndSet" + kindName, Receiver.class, Object.class, long.class, javaClass, new UnsafeAccessPlugin(kind, explicitUnsafeNullChecks) { @Override public boolean apply(GraphBuilderContext b, ResolvedJavaMethod targetMethod, Receiver unsafe, ValueNode object, ValueNode offset, ValueNode value) { // Emits a null-check for the otherwise unused receiver @@ -251,7 +252,7 @@ public class AMD64GraphBuilderPlugins { } }); if (kind != JavaKind.Boolean && kind.isNumericInteger()) { - r.register4("getAndAdd" + kind.name(), Receiver.class, Object.class, long.class, javaClass, new UnsafeAccessPlugin(kind, explicitUnsafeNullChecks) { + r.register4("getAndAdd" + kindName, Receiver.class, Object.class, long.class, javaClass, new UnsafeAccessPlugin(kind, explicitUnsafeNullChecks) { @Override public boolean apply(GraphBuilderContext b, ResolvedJavaMethod targetMethod, Receiver unsafe, ValueNode object, ValueNode offset, ValueNode delta) { // Emits a null-check for the otherwise unused receiver diff --git a/src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.replacements.jdk9.test/src/org/graalvm/compiler/replacements/jdk9/UnsafeReplacementsTest.java b/src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.replacements.jdk9.test/src/org/graalvm/compiler/replacements/jdk9/UnsafeReplacementsTest.java index b56c244d5c5..3ec708c330a 100644 --- a/src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.replacements.jdk9.test/src/org/graalvm/compiler/replacements/jdk9/UnsafeReplacementsTest.java +++ b/src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.replacements.jdk9.test/src/org/graalvm/compiler/replacements/jdk9/UnsafeReplacementsTest.java @@ -121,9 +121,9 @@ public class UnsafeReplacementsTest extends MethodSubstitutionTest { return unsafe.compareAndSetDouble(container, doubleOffset, 0.125, 0.25); } - public static boolean unsafeCompareAndSetObject() { + public static boolean unsafeCompareAndSetReference() { Container container = new Container(); - return unsafe.compareAndSetObject(container, objectOffset, dummyValue, newDummyValue); + return unsafe.compareAndSetReference(container, objectOffset, dummyValue, newDummyValue); } public static boolean unsafeCompareAndExchangeBoolean() { @@ -166,9 +166,9 @@ public class UnsafeReplacementsTest extends MethodSubstitutionTest { return unsafe.compareAndExchangeDouble(container, doubleOffset, 0.125, 0.25); } - public static Object unsafeCompareAndExchangeObject() { + public static Object unsafeCompareAndExchangeReference() { Container container = new Container(); - return unsafe.compareAndExchangeObject(container, objectOffset, dummyValue, newDummyValue); + return unsafe.compareAndExchangeReference(container, objectOffset, dummyValue, newDummyValue); } @Test @@ -183,7 +183,7 @@ public class UnsafeReplacementsTest extends MethodSubstitutionTest { testGraph("unsafeCompareAndSetLong"); testGraph("unsafeCompareAndSetFloat"); testGraph("unsafeCompareAndSetDouble"); - testGraph("unsafeCompareAndSetObject"); + testGraph("unsafeCompareAndSetReference"); testGraph("unsafeCompareAndExchangeBoolean"); testGraph("unsafeCompareAndExchangeByte"); testGraph("unsafeCompareAndExchangeChar"); @@ -192,7 +192,7 @@ public class UnsafeReplacementsTest extends MethodSubstitutionTest { testGraph("unsafeCompareAndExchangeLong"); testGraph("unsafeCompareAndExchangeFloat"); testGraph("unsafeCompareAndExchangeDouble"); - testGraph("unsafeCompareAndExchangeObject"); + testGraph("unsafeCompareAndExchangeReference"); } test("unsafeCompareAndSetBoolean"); test("unsafeCompareAndSetByte"); @@ -202,7 +202,7 @@ public class UnsafeReplacementsTest extends MethodSubstitutionTest { test("unsafeCompareAndSetLong"); test("unsafeCompareAndSetFloat"); test("unsafeCompareAndSetDouble"); - test("unsafeCompareAndSetObject"); + test("unsafeCompareAndSetReference"); test("unsafeCompareAndExchangeBoolean"); test("unsafeCompareAndExchangeByte"); test("unsafeCompareAndExchangeChar"); @@ -211,7 +211,7 @@ public class UnsafeReplacementsTest extends MethodSubstitutionTest { test("unsafeCompareAndExchangeLong"); test("unsafeCompareAndExchangeFloat"); test("unsafeCompareAndExchangeDouble"); - test("unsafeCompareAndExchangeObject"); + test("unsafeCompareAndExchangeReference"); } public static int unsafeGetAndAddByte() { @@ -288,11 +288,11 @@ public class UnsafeReplacementsTest extends MethodSubstitutionTest { return unsafe.getAndSetLong(container, longOffset, 0x12345678abL); } - public static Object unsafeGetAndSetObject() { + public static Object unsafeGetAndSetReference() { Container container = new Container(); container.objectField = null; Container other = new Container(); - return unsafe.getAndSetObject(container, objectOffset, other); + return unsafe.getAndSetReference(container, objectOffset, other); } @Test @@ -307,7 +307,7 @@ public class UnsafeReplacementsTest extends MethodSubstitutionTest { if (target.arch instanceof AMD64 || target.arch instanceof AArch64) { testGraph("unsafeGetAndSetInt"); testGraph("unsafeGetAndSetLong"); - testGraph("unsafeGetAndSetObject"); + testGraph("unsafeGetAndSetReference"); } test("unsafeGetAndSetBoolean"); test("unsafeGetAndSetByte"); @@ -315,7 +315,7 @@ public class UnsafeReplacementsTest extends MethodSubstitutionTest { test("unsafeGetAndSetShort"); test("unsafeGetAndSetInt"); test("unsafeGetAndSetLong"); - test("unsafeGetAndSetObject"); + test("unsafeGetAndSetReference"); } public static void fieldInstance() { @@ -562,10 +562,10 @@ public class UnsafeReplacementsTest extends MethodSubstitutionTest { return unsafe.getDouble(container, doubleOffset); } - public static Object unsafeGetPutObject() { + public static Object unsafeGetPutReference() { Container container = new Container(); - unsafe.putObject(container, objectOffset, "Hello there"); - return unsafe.getObject(container, objectOffset); + unsafe.putReference(container, objectOffset, "Hello there"); + return unsafe.getReference(container, objectOffset); } public static boolean unsafeGetPutBooleanOpaque() { @@ -616,10 +616,10 @@ public class UnsafeReplacementsTest extends MethodSubstitutionTest { return unsafe.getDoubleOpaque(container, doubleOffset); } - public static Object unsafeGetPutObjectOpaque() { + public static Object unsafeGetPutReferenceOpaque() { Container container = new Container(); - unsafe.putObjectOpaque(container, objectOffset, "Hello there"); - return unsafe.getObjectOpaque(container, objectOffset); + unsafe.putReferenceOpaque(container, objectOffset, "Hello there"); + return unsafe.getReferenceOpaque(container, objectOffset); } public static boolean unsafeGetPutBooleanRA() { @@ -670,10 +670,10 @@ public class UnsafeReplacementsTest extends MethodSubstitutionTest { return unsafe.getDoubleAcquire(container, doubleOffset); } - public static Object unsafeGetPutObjectRA() { + public static Object unsafeGetPutReferenceRA() { Container container = new Container(); - unsafe.putObjectRelease(container, objectOffset, "Hello there"); - return unsafe.getObjectAcquire(container, objectOffset); + unsafe.putReferenceRelease(container, objectOffset, "Hello there"); + return unsafe.getReferenceAcquire(container, objectOffset); } public static boolean unsafeGetPutBooleanVolatile() { @@ -724,10 +724,10 @@ public class UnsafeReplacementsTest extends MethodSubstitutionTest { return unsafe.getDoubleVolatile(container, doubleOffset); } - public static Object unsafeGetPutObjectVolatile() { + public static Object unsafeGetPutReferenceVolatile() { Container container = new Container(); - unsafe.putObjectVolatile(container, objectOffset, "Hello there"); - return unsafe.getObjectVolatile(container, objectOffset); + unsafe.putReferenceVolatile(container, objectOffset, "Hello there"); + return unsafe.getReferenceVolatile(container, objectOffset); } @Test @@ -786,7 +786,7 @@ public class UnsafeReplacementsTest extends MethodSubstitutionTest { testGraph("unsafeGetPutLongRA"); testGraph("unsafeGetPutFloatRA"); testGraph("unsafeGetPutDoubleRA"); - testGraph("unsafeGetPutObjectRA"); + testGraph("unsafeGetPutReferenceRA"); test("unsafeGetPutBooleanRA"); test("unsafeGetPutByteRA"); @@ -796,7 +796,7 @@ public class UnsafeReplacementsTest extends MethodSubstitutionTest { test("unsafeGetPutLongRA"); test("unsafeGetPutFloatRA"); test("unsafeGetPutDoubleRA"); - test("unsafeGetPutObjectRA"); + test("unsafeGetPutReferenceRA"); } @Test @@ -809,7 +809,7 @@ public class UnsafeReplacementsTest extends MethodSubstitutionTest { testGraph("unsafeGetPutLongVolatile"); testGraph("unsafeGetPutFloatVolatile"); testGraph("unsafeGetPutDoubleVolatile"); - testGraph("unsafeGetPutObjectVolatile"); + testGraph("unsafeGetPutReferenceVolatile"); test("unsafeGetPutBooleanVolatile"); test("unsafeGetPutByteVolatile"); @@ -819,6 +819,6 @@ public class UnsafeReplacementsTest extends MethodSubstitutionTest { test("unsafeGetPutLongVolatile"); test("unsafeGetPutFloatVolatile"); test("unsafeGetPutDoubleVolatile"); - test("unsafeGetPutObjectVolatile"); + test("unsafeGetPutReferenceVolatile"); } } diff --git a/src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.replacements/src/org/graalvm/compiler/replacements/StandardGraphBuilderPlugins.java b/src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.replacements/src/org/graalvm/compiler/replacements/StandardGraphBuilderPlugins.java index 66731dc2c48..018a4c56a50 100644 --- a/src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.replacements/src/org/graalvm/compiler/replacements/StandardGraphBuilderPlugins.java +++ b/src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.replacements/src/org/graalvm/compiler/replacements/StandardGraphBuilderPlugins.java @@ -33,6 +33,7 @@ import static jdk.vm.ci.code.MemoryBarriers.LOAD_STORE; import static jdk.vm.ci.code.MemoryBarriers.STORE_LOAD; import static jdk.vm.ci.code.MemoryBarriers.STORE_STORE; import static org.graalvm.compiler.nodes.NamedLocationIdentity.OFF_HEAP_LOCATION; +import static org.graalvm.compiler.serviceprovider.GraalServices.Java11OrEarlier; import static org.graalvm.compiler.serviceprovider.GraalServices.Java8OrEarlier; import java.lang.reflect.Array; @@ -270,10 +271,11 @@ public class StandardGraphBuilderPlugins { } private abstract static class UnsafeCompareAndUpdatePluginsRegistrar { - public void register(Registration r, String casPrefix, boolean explicitUnsafeNullChecks, JavaKind[] compareAndSwapTypes) { + public void register(Registration r, String casPrefix, boolean explicitUnsafeNullChecks, JavaKind[] compareAndSwapTypes, boolean java11OrEarlier) { for (JavaKind kind : compareAndSwapTypes) { Class> javaClass = kind == JavaKind.Object ? Object.class : kind.toJavaClass(); - r.register5(casPrefix + kind.name(), Receiver.class, Object.class, long.class, javaClass, javaClass, new UnsafeAccessPlugin(returnKind(kind), explicitUnsafeNullChecks) { + String kindName = (kind == JavaKind.Object && !java11OrEarlier) ? "Reference" : kind.name(); + r.register5(casPrefix + kindName, Receiver.class, Object.class, long.class, javaClass, javaClass, new UnsafeAccessPlugin(returnKind(kind), explicitUnsafeNullChecks) { @Override public boolean apply(GraphBuilderContext b, ResolvedJavaMethod targetMethod, Receiver unsafe, ValueNode object, ValueNode offset, ValueNode expected, ValueNode x) { // Emits a null-check for the otherwise unused receiver @@ -332,10 +334,10 @@ public class StandardGraphBuilderPlugins { private static void registerPlatformSpecificUnsafePlugins(JavaKind[] supportedCasKinds, Registration r, boolean java8OrEarlier, boolean explicitUnsafeNullChecks) { if (java8OrEarlier) { - unsafeCompareAndSwapPluginsRegistrar.register(r, "compareAndSwap", explicitUnsafeNullChecks, new JavaKind[]{JavaKind.Int, JavaKind.Long, JavaKind.Object}); + unsafeCompareAndSwapPluginsRegistrar.register(r, "compareAndSwap", explicitUnsafeNullChecks, new JavaKind[]{JavaKind.Int, JavaKind.Long, JavaKind.Object}, true); } else { - unsafeCompareAndSwapPluginsRegistrar.register(r, "compareAndSet", explicitUnsafeNullChecks, supportedCasKinds); - unsafeCompareAndExchangePluginsRegistrar.register(r, "compareAndExchange", explicitUnsafeNullChecks, supportedCasKinds); + unsafeCompareAndSwapPluginsRegistrar.register(r, "compareAndSet", explicitUnsafeNullChecks, supportedCasKinds, Java11OrEarlier); + unsafeCompareAndExchangePluginsRegistrar.register(r, "compareAndExchange", explicitUnsafeNullChecks, supportedCasKinds, Java11OrEarlier); } } @@ -346,11 +348,11 @@ public class StandardGraphBuilderPlugins { } } - private static void registerUnsafePlugins(Registration r, boolean java8OrEarlier, boolean explicitUnsafeNullChecks) { + private static void registerUnsafePlugins(Registration r, boolean sunMiscUnsafe, boolean explicitUnsafeNullChecks) { for (JavaKind kind : JavaKind.values()) { if ((kind.isPrimitive() && kind != JavaKind.Void) || kind == JavaKind.Object) { Class> javaClass = kind == JavaKind.Object ? Object.class : kind.toJavaClass(); - String kindName = kind.name(); + String kindName = (kind == JavaKind.Object && !sunMiscUnsafe && !Java11OrEarlier) ? "Reference" : kind.name(); String getName = "get" + kindName; String putName = "put" + kindName; // Object-based accesses @@ -360,7 +362,7 @@ public class StandardGraphBuilderPlugins { r.register3(getName + "Volatile", Receiver.class, Object.class, long.class, new UnsafeGetPlugin(kind, AccessKind.VOLATILE, explicitUnsafeNullChecks)); r.register4(putName + "Volatile", Receiver.class, Object.class, long.class, javaClass, new UnsafePutPlugin(kind, AccessKind.VOLATILE, explicitUnsafeNullChecks)); // Ordered object-based accesses - if (java8OrEarlier) { + if (sunMiscUnsafe) { if (kind == JavaKind.Int || kind == JavaKind.Long || kind == JavaKind.Object) { r.register4("putOrdered" + kindName, Receiver.class, Object.class, long.class, javaClass, new UnsafePutPlugin(kind, AccessKind.RELEASE_ACQUIRE, explicitUnsafeNullChecks)); } diff --git a/src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.serviceprovider/src/org/graalvm/compiler/serviceprovider/GraalServices.java b/src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.serviceprovider/src/org/graalvm/compiler/serviceprovider/GraalServices.java index 7c00d76cd2f..076ae021f30 100644 --- a/src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.serviceprovider/src/org/graalvm/compiler/serviceprovider/GraalServices.java +++ b/src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.serviceprovider/src/org/graalvm/compiler/serviceprovider/GraalServices.java @@ -61,6 +61,11 @@ public final class GraalServices { */ public static final boolean Java8OrEarlier = JAVA_SPECIFICATION_VERSION <= 8; + /** + * Determines if the Java runtime is version 11 or earlier. + */ + public static final boolean Java11OrEarlier = JAVA_SPECIFICATION_VERSION <= 11; + private GraalServices() { } diff --git a/src/jdk.jshell/share/classes/jdk/internal/jshell/tool/JShellTool.java b/src/jdk.jshell/share/classes/jdk/internal/jshell/tool/JShellTool.java index 9ccb4e8880e..2243aa614e3 100644 --- a/src/jdk.jshell/share/classes/jdk/internal/jshell/tool/JShellTool.java +++ b/src/jdk.jshell/share/classes/jdk/internal/jshell/tool/JShellTool.java @@ -864,7 +864,7 @@ public class JShellTool implements MessageHandler { */ @Override public void errormsg(String key, Object... args) { - error(messageFormat(key, args)); + error("%s", messageFormat(key, args)); } /** diff --git a/src/jdk.jshell/share/classes/jdk/jshell/CompletenessAnalyzer.java b/src/jdk.jshell/share/classes/jdk/jshell/CompletenessAnalyzer.java index 713169d79bc..fb4e849d3c8 100644 --- a/src/jdk.jshell/share/classes/jdk/jshell/CompletenessAnalyzer.java +++ b/src/jdk.jshell/share/classes/jdk/jshell/CompletenessAnalyzer.java @@ -228,15 +228,15 @@ class CompletenessAnalyzer { // Declarations and type parameters (thus expressions) EXTENDS(TokenKind.EXTENDS, XEXPR|XDECL), // extends COMMA(TokenKind.COMMA, XEXPR|XDECL), // , - AMP(TokenKind.AMP, XEXPR|XDECL), // & - GT(TokenKind.GT, XEXPR|XDECL), // > - LT(TokenKind.LT, XEXPR|XDECL1), // < - LTLT(TokenKind.LTLT, XEXPR|XDECL1), // << - GTGT(TokenKind.GTGT, XEXPR|XDECL), // >> - GTGTGT(TokenKind.GTGTGT, XEXPR|XDECL), // >>> - QUES(TokenKind.QUES, XEXPR|XDECL), // ? + AMP(TokenKind.AMP, XEXPR|XDECL, true), // & + GT(TokenKind.GT, XEXPR|XDECL, true), // > + LT(TokenKind.LT, XEXPR|XDECL1, true), // < + LTLT(TokenKind.LTLT, XEXPR|XDECL1, true), // << + GTGT(TokenKind.GTGT, XEXPR|XDECL, true), // >> + GTGTGT(TokenKind.GTGTGT, XEXPR|XDECL, true), // >>> + QUES(TokenKind.QUES, XEXPR|XDECL, true), // ? DOT(TokenKind.DOT, XEXPR|XDECL), // . - STAR(TokenKind.STAR, XEXPR), // * (MAPPED: DOTSTAR) + STAR(TokenKind.STAR, XEXPR, true), // * (MAPPED: DOTSTAR) // Statement keywords ASSERT(TokenKind.ASSERT, XSTMT1|XSTART), // assert @@ -249,7 +249,7 @@ class CompletenessAnalyzer { FOR(TokenKind.FOR, XSTMT1|XSTART), // for IF(TokenKind.IF, XSTMT1|XSTART), // if RETURN(TokenKind.RETURN, XSTMT1|XTERM|XSTART), // return - SWITCH(TokenKind.SWITCH, XSTMT1|XEXPR), // switch + SWITCH(TokenKind.SWITCH, XSTMT1|XEXPR1), // switch SYNCHRONIZED(TokenKind.SYNCHRONIZED, XSTMT1|XDECL), // synchronized THROW(TokenKind.THROW, XSTMT1|XSTART), // throw TRY(TokenKind.TRY, XSTMT1|XSTART), // try @@ -276,7 +276,7 @@ class CompletenessAnalyzer { SUBSUB(TokenKind.SUBSUB, XEXPR1|XTERM), // -- // Expressions cannot terminate - INSTANCEOF(TokenKind.INSTANCEOF, XEXPR), // instanceof + INSTANCEOF(TokenKind.INSTANCEOF, XEXPR, true), // instanceof NEW(TokenKind.NEW, XEXPR1), // new (MAPPED: COLCOLNEW) SUPER(TokenKind.SUPER, XEXPR1|XDECL), // super -- shouldn't see as rec. But in type parameters ARROW(TokenKind.ARROW, XEXPR), // -> @@ -292,18 +292,18 @@ class CompletenessAnalyzer { BANG(TokenKind.BANG, XEXPR1), // ! TILDE(TokenKind.TILDE, XEXPR1), // ~ COLON(TokenKind.COLON, XEXPR|XTERM), // : - EQEQ(TokenKind.EQEQ, XEXPR), // == - LTEQ(TokenKind.LTEQ, XEXPR), // <= - GTEQ(TokenKind.GTEQ, XEXPR), // >= - BANGEQ(TokenKind.BANGEQ, XEXPR), // != - AMPAMP(TokenKind.AMPAMP, XEXPR), // && - BARBAR(TokenKind.BARBAR, XEXPR), // || - PLUS(TokenKind.PLUS, XEXPR1), // + - SUB(TokenKind.SUB, XEXPR1), // - - SLASH(TokenKind.SLASH, XEXPR), // / - BAR(TokenKind.BAR, XEXPR), // | - CARET(TokenKind.CARET, XEXPR), // ^ - PERCENT(TokenKind.PERCENT, XEXPR), // % + EQEQ(TokenKind.EQEQ, XEXPR, true), // == + LTEQ(TokenKind.LTEQ, XEXPR, true), // <= + GTEQ(TokenKind.GTEQ, XEXPR, true), // >= + BANGEQ(TokenKind.BANGEQ, XEXPR, true), // != + AMPAMP(TokenKind.AMPAMP, XEXPR, true), // && + BARBAR(TokenKind.BARBAR, XEXPR, true), // || + PLUS(TokenKind.PLUS, XEXPR1, true), // + + SUB(TokenKind.SUB, XEXPR1, true), // - + SLASH(TokenKind.SLASH, XEXPR, true), // / + BAR(TokenKind.BAR, XEXPR, true), // | + CARET(TokenKind.CARET, XEXPR, true), // ^ + PERCENT(TokenKind.PERCENT, XEXPR, true), // % PLUSEQ(TokenKind.PLUSEQ, XEXPR), // += SUBEQ(TokenKind.SUBEQ, XEXPR), // -= STAREQ(TokenKind.STAREQ, XEXPR), // *= @@ -330,6 +330,7 @@ class CompletenessAnalyzer { final TokenKind tokenKind; final int belongs; + final boolean valueOp; Function mapping; TK(int b) { @@ -337,8 +338,13 @@ class CompletenessAnalyzer { } TK(TokenKind tokenKind, int b) { + this(tokenKind, b, false); + } + + TK(TokenKind tokenKind, int b, boolean valueOp) { this.tokenKind = tokenKind; this.belongs = b; + this.valueOp = valueOp; this.mapping = null; } @@ -637,6 +643,8 @@ class CompletenessAnalyzer { return parseExpressionStatement(); // Let this gen the status } return error(); + case XSTMT1o | XEXPR1o: + return disambiguateStatementVsExpression(); default: throw new InternalError("Case not covered " + token.kind.belongs + " in " + token.kind); } @@ -685,6 +693,44 @@ class CompletenessAnalyzer { } } + public Completeness disambiguateStatementVsExpression() { + if (token.kind == SWITCH) { + nextToken(); + switch (token.kind) { + case PARENS: + nextToken(); + break; + case UNMATCHED: + nextToken(); + return Completeness.DEFINITELY_INCOMPLETE; + case EOF: + return Completeness.DEFINITELY_INCOMPLETE; + default: + return error(); + } + switch (token.kind) { + case BRACES: + nextToken(); + break; + case UNMATCHED: + nextToken(); + return Completeness.DEFINITELY_INCOMPLETE; + case EOF: + return Completeness.DEFINITELY_INCOMPLETE; + default: + return error(); + } + if (token.kind.valueOp) { + return parseExpressionOptionalSemi(); + } else { + return Completeness.COMPLETE; + } + } else { + throw new InternalError("Unexpected statement/expression not covered " + token.kind.belongs + " in " + token.kind); + } + } + + public Completeness disambiguateDeclarationVsExpression() { // String folding messes up position information. return parseFactory.apply(pt -> { @@ -699,7 +745,7 @@ class CompletenessAnalyzer { case LABELED_STATEMENT: if (shouldAbort(IDENTIFIER)) return checkResult; if (shouldAbort(COLON)) return checkResult; - return parseStatement(); + return parseStatement(); case VARIABLE: case IMPORT: case CLASS: diff --git a/src/jdk.jshell/share/classes/jdk/jshell/ReplParser.java b/src/jdk.jshell/share/classes/jdk/jshell/ReplParser.java index 0287f9ff6b3..460dd59a83e 100644 --- a/src/jdk.jshell/share/classes/jdk/jshell/ReplParser.java +++ b/src/jdk.jshell/share/classes/jdk/jshell/ReplParser.java @@ -160,7 +160,6 @@ class ReplParser extends JavacParser { case WHILE: case DO: case TRY: - case SWITCH: case RETURN: case THROW: case BREAK: diff --git a/src/jdk.unsupported/share/classes/sun/misc/Unsafe.java b/src/jdk.unsupported/share/classes/sun/misc/Unsafe.java index 838f97b604c..29a0088c6b5 100644 --- a/src/jdk.unsupported/share/classes/sun/misc/Unsafe.java +++ b/src/jdk.unsupported/share/classes/sun/misc/Unsafe.java @@ -196,7 +196,7 @@ public final class Unsafe { */ @ForceInline public Object getObject(Object o, long offset) { - return theInternalUnsafe.getObject(o, offset); + return theInternalUnsafe.getReference(o, offset); } /** @@ -211,7 +211,7 @@ public final class Unsafe { */ @ForceInline public void putObject(Object o, long offset, Object x) { - theInternalUnsafe.putObject(o, offset, x); + theInternalUnsafe.putReference(o, offset, x); } /** @see #getInt(Object, long) */ @@ -860,7 +860,7 @@ public final class Unsafe { public final boolean compareAndSwapObject(Object o, long offset, Object expected, Object x) { - return theInternalUnsafe.compareAndSetObject(o, offset, expected, x); + return theInternalUnsafe.compareAndSetReference(o, offset, expected, x); } /** @@ -901,7 +901,7 @@ public final class Unsafe { */ @ForceInline public Object getObjectVolatile(Object o, long offset) { - return theInternalUnsafe.getObjectVolatile(o, offset); + return theInternalUnsafe.getReferenceVolatile(o, offset); } /** @@ -910,7 +910,7 @@ public final class Unsafe { */ @ForceInline public void putObjectVolatile(Object o, long offset, Object x) { - theInternalUnsafe.putObjectVolatile(o, offset, x); + theInternalUnsafe.putReferenceVolatile(o, offset, x); } /** Volatile version of {@link #getInt(Object, long)} */ @@ -1020,7 +1020,7 @@ public final class Unsafe { */ @ForceInline public void putOrderedObject(Object o, long offset, Object x) { - theInternalUnsafe.putObjectRelease(o, offset, x); + theInternalUnsafe.putReferenceRelease(o, offset, x); } /** Ordered/Lazy version of {@link #putIntVolatile(Object, long, int)} */ @@ -1168,7 +1168,7 @@ public final class Unsafe { */ @ForceInline public final Object getAndSetObject(Object o, long offset, Object newValue) { - return theInternalUnsafe.getAndSetObject(o, offset, newValue); + return theInternalUnsafe.getAndSetReference(o, offset, newValue); } diff --git a/test/hotspot/jtreg/compiler/c2/Test7190310_unsafe.java b/test/hotspot/jtreg/compiler/c2/Test7190310_unsafe.java index 5bb7d757d14..d5949037f16 100644 --- a/test/hotspot/jtreg/compiler/c2/Test7190310_unsafe.java +++ b/test/hotspot/jtreg/compiler/c2/Test7190310_unsafe.java @@ -95,12 +95,12 @@ public class Test7190310_unsafe { obj = getRef3(unsafe, t, referent_offset); if (obj != o) { - System.out.println("FAILED: unsafe.getObject(Object, " + referent_offset + ") " + obj + " != " + o); + System.out.println("FAILED: unsafe.getReference(Object, " + referent_offset + ") " + obj + " != " + o); System.exit(97); } obj = getRef4(unsafe, t, referent_offset); if (obj != o) { - System.out.println("FAILED: unsafe.getObject(Test7190310, " + referent_offset + ") " + obj + " != " + o); + System.out.println("FAILED: unsafe.getReference(Test7190310, " + referent_offset + ") " + obj + " != " + o); System.exit(97); } } @@ -115,17 +115,17 @@ public class Test7190310_unsafe { } obj = getRef1(unsafe, ref, referent_offset); if (obj != str) { - System.out.println("FAILED: unsafe.getObject(weakRef, " + referent_offset + ") " + obj + " != " + str); + System.out.println("FAILED: unsafe.getReference(weakRef, " + referent_offset + ") " + obj + " != " + str); return false; } obj = getRef2(unsafe, ref, referent_offset); if (obj != str) { - System.out.println("FAILED: unsafe.getObject(abstRef, " + referent_offset + ") " + obj + " != " + str); + System.out.println("FAILED: unsafe.getReference(abstRef, " + referent_offset + ") " + obj + " != " + str); return false; } obj = getRef3(unsafe, ref, referent_offset); if (obj != str) { - System.out.println("FAILED: unsafe.getObject(Object, " + referent_offset + ") " + obj + " != " + str); + System.out.println("FAILED: unsafe.getReference(Object, " + referent_offset + ") " + obj + " != " + str); return false; } return true; @@ -136,19 +136,19 @@ public class Test7190310_unsafe { } static Object getRef1(Unsafe unsafe, WeakReference ref, long referent_offset) throws Exception { - return unsafe.getObject(ref, referent_offset); + return unsafe.getReference(ref, referent_offset); } static Object getRef2(Unsafe unsafe, Reference ref, long referent_offset) throws Exception { - return unsafe.getObject(ref, referent_offset); + return unsafe.getReference(ref, referent_offset); } static Object getRef3(Unsafe unsafe, Object ref, long referent_offset) throws Exception { - return unsafe.getObject(ref, referent_offset); + return unsafe.getReference(ref, referent_offset); } static Object getRef4(Unsafe unsafe, Test7190310_unsafe ref, long referent_offset) throws Exception { - return unsafe.getObject(ref, referent_offset); + return unsafe.getReference(ref, referent_offset); } } diff --git a/test/hotspot/jtreg/compiler/c2/aarch64/TestUnsafeVolatileCAS.java b/test/hotspot/jtreg/compiler/c2/aarch64/TestUnsafeVolatileCAS.java index 0539af2db79..197b9475fd5 100644 --- a/test/hotspot/jtreg/compiler/c2/aarch64/TestUnsafeVolatileCAS.java +++ b/test/hotspot/jtreg/compiler/c2/aarch64/TestUnsafeVolatileCAS.java @@ -75,6 +75,6 @@ class TestUnsafeVolatileCAS public void testObj(Object x, Object o) { - unsafe.compareAndSetObject(this, f_obj_off, x, o); + unsafe.compareAndSetReference(this, f_obj_off, x, o); } } diff --git a/test/hotspot/jtreg/compiler/c2/aarch64/TestUnsafeVolatileLoad.java b/test/hotspot/jtreg/compiler/c2/aarch64/TestUnsafeVolatileLoad.java index fead760500c..60b4ee7c298 100644 --- a/test/hotspot/jtreg/compiler/c2/aarch64/TestUnsafeVolatileLoad.java +++ b/test/hotspot/jtreg/compiler/c2/aarch64/TestUnsafeVolatileLoad.java @@ -51,6 +51,6 @@ class TestUnsafeVolatileLoad public int testObj() { - return ((Integer)unsafe.getObjectVolatile(this, f_obj_off)); + return ((Integer)unsafe.getReferenceVolatile(this, f_obj_off)); } } diff --git a/test/hotspot/jtreg/compiler/c2/aarch64/TestUnsafeVolatileStore.java b/test/hotspot/jtreg/compiler/c2/aarch64/TestUnsafeVolatileStore.java index 6ad017cfc3e..bded5932e4e 100644 --- a/test/hotspot/jtreg/compiler/c2/aarch64/TestUnsafeVolatileStore.java +++ b/test/hotspot/jtreg/compiler/c2/aarch64/TestUnsafeVolatileStore.java @@ -74,6 +74,6 @@ class TestUnsafeVolatileStore public void testObj(Object o) { - unsafe.putObjectVolatile(this, f_obj_off, o); + unsafe.putReferenceVolatile(this, f_obj_off, o); } } diff --git a/test/hotspot/jtreg/compiler/gcbarriers/UnsafeIntrinsicsTest.java b/test/hotspot/jtreg/compiler/gcbarriers/UnsafeIntrinsicsTest.java index 95324d307cf..5de98975fa7 100644 --- a/test/hotspot/jtreg/compiler/gcbarriers/UnsafeIntrinsicsTest.java +++ b/test/hotspot/jtreg/compiler/gcbarriers/UnsafeIntrinsicsTest.java @@ -25,7 +25,7 @@ * @test * @bug 8059022 * @modules java.base/jdk.internal.misc:+open - * @summary Validate barriers after Unsafe getObject, CAS and swap (GetAndSet) + * @summary Validate barriers after Unsafe getReference, CAS and swap (GetAndSet) * @requires vm.gc.Z & !vm.graal.enabled * @run main/othervm -XX:+UnlockExperimentalVMOptions -XX:+UseZGC -XX:+UnlockDiagnosticVMOptions -XX:+ZUnmapBadViews -XX:ZCollectionInterval=1 -XX:-CreateCoredumpOnCrash -XX:CompileCommand=dontinline,*::mergeImpl* compiler.gcbarriers.UnsafeIntrinsicsTest */ @@ -263,19 +263,19 @@ class Runner implements Runnable { private Node mergeImplLoad(Node startNode, Node expectedNext, Node head) { // Atomic load version - Node temp = (Node) UNSAFE.getObject(startNode, offset); + Node temp = (Node) UNSAFE.getReference(startNode, offset); startNode.setNext(head); return temp; } private Node mergeImplSwap(Node startNode, Node expectedNext, Node head) { // Swap version - return (Node) UNSAFE.getAndSetObject(startNode, offset, head); + return (Node) UNSAFE.getAndSetReference(startNode, offset, head); } private Node mergeImplCAS(Node startNode, Node expectedNext, Node head) { // CAS - should always be true within a single thread - no other thread can have overwritten - if (!UNSAFE.compareAndSetObject(startNode, offset, expectedNext, head)) { + if (!UNSAFE.compareAndSetReference(startNode, offset, expectedNext, head)) { throw new Error("CAS should always succeed on thread local objects, check you barrier implementation"); } return expectedNext; // continue on old circle @@ -283,7 +283,7 @@ class Runner implements Runnable { private Node mergeImplCASFail(Node startNode, Node expectedNext, Node head) { // Force a fail - if (UNSAFE.compareAndSetObject(startNode, offset, "fail", head)) { + if (UNSAFE.compareAndSetReference(startNode, offset, "fail", head)) { throw new Error("This CAS should always fail, check you barrier implementation"); } if (startNode.next() != expectedNext) { @@ -294,7 +294,7 @@ class Runner implements Runnable { private Node mergeImplWeakCAS(Node startNode, Node expectedNext, Node head) { // Weak CAS - should always be true within a single thread - no other thread can have overwritten - if (!UNSAFE.weakCompareAndSetObject(startNode, offset, expectedNext, head)) { + if (!UNSAFE.weakCompareAndSetReference(startNode, offset, expectedNext, head)) { throw new Error("Weak CAS should always succeed on thread local objects, check you barrier implementation"); } return expectedNext; // continue on old circle @@ -302,7 +302,7 @@ class Runner implements Runnable { private Node mergeImplWeakCASFail(Node startNode, Node expectedNext, Node head) { // Force a fail - if (UNSAFE.weakCompareAndSetObject(startNode, offset, "fail", head)) { + if (UNSAFE.weakCompareAndSetReference(startNode, offset, "fail", head)) { throw new Error("This weak CAS should always fail, check you barrier implementation"); } if (startNode.next() != expectedNext) { @@ -313,7 +313,7 @@ class Runner implements Runnable { private Node mergeImplCMPX(Node startNode, Node expectedNext, Node head) { // CmpX - should always be true within a single thread - no other thread can have overwritten - Object res = UNSAFE.compareAndExchangeObject(startNode, offset, expectedNext, head); + Object res = UNSAFE.compareAndExchangeReference(startNode, offset, expectedNext, head); if (!res.equals(expectedNext)) { throw new Error("Fail CmpX should always succeed on thread local objects, check you barrier implementation"); } @@ -321,7 +321,7 @@ class Runner implements Runnable { } private Node mergeImplCMPXFail(Node startNode, Node expectedNext, Node head) { - Object res = UNSAFE.compareAndExchangeObject(startNode, offset, head, head); + Object res = UNSAFE.compareAndExchangeReference(startNode, offset, head, head); if (startNode.next() != expectedNext) { throw new Error("Shouldn't have changed"); } diff --git a/test/hotspot/jtreg/compiler/intrinsics/unsafe/TestCAEAntiDep.java b/test/hotspot/jtreg/compiler/intrinsics/unsafe/TestCAEAntiDep.java index 353c73e43ba..f1e1d8cda80 100644 --- a/test/hotspot/jtreg/compiler/intrinsics/unsafe/TestCAEAntiDep.java +++ b/test/hotspot/jtreg/compiler/intrinsics/unsafe/TestCAEAntiDep.java @@ -25,7 +25,7 @@ /** * @test * @bug 8167298 - * @summary Unsafe.compareAndExchangeObject should keep track of returned type after matching + * @summary Unsafe.compareAndExchangeReference should keep track of returned type after matching * @modules java.base/jdk.internal.misc * @run main/othervm -XX:+IgnoreUnrecognizedVMOptions -XX:-BackgroundCompilation -XX:-UseOnStackReplacement -XX:-UseCompressedOops TestCAEAntiDep * @@ -54,7 +54,7 @@ public class TestCAEAntiDep { } static int m(TestCAEAntiDep test, Object expected, Object x) { - C old = (C)UNSAFE.compareAndExchangeObject(test, O_OFFSET, expected, x); + C old = (C)UNSAFE.compareAndExchangeReference(test, O_OFFSET, expected, x); int res = old.f1; old.f1 = 0x42; return res; diff --git a/test/hotspot/jtreg/compiler/intrinsics/unsafe/TestUnsafeMismatchedArrayFieldAccess.java b/test/hotspot/jtreg/compiler/intrinsics/unsafe/TestUnsafeMismatchedArrayFieldAccess.java index ec115a90032..897d26e7a3f 100644 --- a/test/hotspot/jtreg/compiler/intrinsics/unsafe/TestUnsafeMismatchedArrayFieldAccess.java +++ b/test/hotspot/jtreg/compiler/intrinsics/unsafe/TestUnsafeMismatchedArrayFieldAccess.java @@ -52,7 +52,7 @@ public class TestUnsafeMismatchedArrayFieldAccess { static final long array_offset; void m() { - UNSAFE.getObject(this, array_offset); + UNSAFE.getReference(this, array_offset); } static public void main(String[] args) { diff --git a/test/hotspot/jtreg/compiler/profiling/UnsafeAccess.java b/test/hotspot/jtreg/compiler/profiling/UnsafeAccess.java index eeda6d47241..b7b91e8615b 100644 --- a/test/hotspot/jtreg/compiler/profiling/UnsafeAccess.java +++ b/test/hotspot/jtreg/compiler/profiling/UnsafeAccess.java @@ -49,7 +49,7 @@ public class UnsafeAccess { static Object helperUnsafeAccess(Object o, boolean isObjArray) { if (isObjArray) { - U.putObject(o, off, new Object()); + U.putReference(o, off, new Object()); } return o; } @@ -63,8 +63,8 @@ public class UnsafeAccess { static Object helperUnsafeLoadStore(Object o, boolean isObjArray) { if (isObjArray) { - Object o1 = U.getObject(o, off); - U.compareAndSetObject(o, off, o1, new Object()); + Object o1 = U.getReference(o, off); + U.compareAndSetReference(o, off, o1, new Object()); } return o; } diff --git a/test/hotspot/jtreg/compiler/regalloc/C1ObjectSpillInLogicOp.java b/test/hotspot/jtreg/compiler/regalloc/C1ObjectSpillInLogicOp.java index 82316a8a163..898aa967628 100644 --- a/test/hotspot/jtreg/compiler/regalloc/C1ObjectSpillInLogicOp.java +++ b/test/hotspot/jtreg/compiler/regalloc/C1ObjectSpillInLogicOp.java @@ -24,7 +24,7 @@ /* * @test * @bug 8027751 - * @summary C1 crashes generating G1 post-barrier in Unsafe.getAndSetObject() intrinsic because of the new value spill + * @summary C1 crashes generating G1 post-barrier in Unsafe.getAndSetReference() intrinsic because of the new value spill * @requires vm.gc.G1 * * @run main/othervm -XX:+UseG1GC compiler.regalloc.C1ObjectSpillInLogicOp diff --git a/test/hotspot/jtreg/compiler/unsafe/GetUnsafeObjectG1PreBarrier.java b/test/hotspot/jtreg/compiler/unsafe/GetUnsafeObjectG1PreBarrier.java index d68cfca860a..56bf6c170a2 100644 --- a/test/hotspot/jtreg/compiler/unsafe/GetUnsafeObjectG1PreBarrier.java +++ b/test/hotspot/jtreg/compiler/unsafe/GetUnsafeObjectG1PreBarrier.java @@ -71,6 +71,6 @@ public class GetUnsafeObjectG1PreBarrier { } private void readField(Object o, long fieldOffset) { - unsafe.getObject(o, fieldOffset); + unsafe.getReference(o, fieldOffset); } } diff --git a/test/hotspot/jtreg/compiler/unsafe/JdkInternalMiscUnsafeAccessTestObject.java b/test/hotspot/jtreg/compiler/unsafe/JdkInternalMiscUnsafeAccessTestObject.java index b2e5fc57e1e..41562f28f9d 100644 --- a/test/hotspot/jtreg/compiler/unsafe/JdkInternalMiscUnsafeAccessTestObject.java +++ b/test/hotspot/jtreg/compiler/unsafe/JdkInternalMiscUnsafeAccessTestObject.java @@ -119,141 +119,141 @@ public class JdkInternalMiscUnsafeAccessTestObject { static void testAccess(Object base, long offset) { // Plain { - UNSAFE.putObject(base, offset, "foo"); - Object x = UNSAFE.getObject(base, offset); + UNSAFE.putReference(base, offset, "foo"); + Object x = UNSAFE.getReference(base, offset); assertEquals(x, "foo", "set Object value"); } // Volatile { - UNSAFE.putObjectVolatile(base, offset, "bar"); - Object x = UNSAFE.getObjectVolatile(base, offset); + UNSAFE.putReferenceVolatile(base, offset, "bar"); + Object x = UNSAFE.getReferenceVolatile(base, offset); assertEquals(x, "bar", "putVolatile Object value"); } // Lazy { - UNSAFE.putObjectRelease(base, offset, "foo"); - Object x = UNSAFE.getObjectAcquire(base, offset); + UNSAFE.putReferenceRelease(base, offset, "foo"); + Object x = UNSAFE.getReferenceAcquire(base, offset); assertEquals(x, "foo", "putRelease Object value"); } // Opaque { - UNSAFE.putObjectOpaque(base, offset, "bar"); - Object x = UNSAFE.getObjectOpaque(base, offset); + UNSAFE.putReferenceOpaque(base, offset, "bar"); + Object x = UNSAFE.getReferenceOpaque(base, offset); assertEquals(x, "bar", "putOpaque Object value"); } - UNSAFE.putObject(base, offset, "foo"); + UNSAFE.putReference(base, offset, "foo"); // Compare { - boolean r = UNSAFE.compareAndSetObject(base, offset, "foo", "bar"); + boolean r = UNSAFE.compareAndSetReference(base, offset, "foo", "bar"); assertEquals(r, true, "success compareAndSet Object"); - Object x = UNSAFE.getObject(base, offset); + Object x = UNSAFE.getReference(base, offset); assertEquals(x, "bar", "success compareAndSet Object value"); } { - boolean r = UNSAFE.compareAndSetObject(base, offset, "foo", "baz"); + boolean r = UNSAFE.compareAndSetReference(base, offset, "foo", "baz"); assertEquals(r, false, "failing compareAndSet Object"); - Object x = UNSAFE.getObject(base, offset); + Object x = UNSAFE.getReference(base, offset); assertEquals(x, "bar", "failing compareAndSet Object value"); } // Advanced compare { - Object r = UNSAFE.compareAndExchangeObject(base, offset, "bar", "foo"); + Object r = UNSAFE.compareAndExchangeReference(base, offset, "bar", "foo"); assertEquals(r, "bar", "success compareAndExchange Object"); - Object x = UNSAFE.getObject(base, offset); + Object x = UNSAFE.getReference(base, offset); assertEquals(x, "foo", "success compareAndExchange Object value"); } { - Object r = UNSAFE.compareAndExchangeObject(base, offset, "bar", "baz"); + Object r = UNSAFE.compareAndExchangeReference(base, offset, "bar", "baz"); assertEquals(r, "foo", "failing compareAndExchange Object"); - Object x = UNSAFE.getObject(base, offset); + Object x = UNSAFE.getReference(base, offset); assertEquals(x, "foo", "failing compareAndExchange Object value"); } { - Object r = UNSAFE.compareAndExchangeObjectAcquire(base, offset, "foo", "bar"); + Object r = UNSAFE.compareAndExchangeReferenceAcquire(base, offset, "foo", "bar"); assertEquals(r, "foo", "success compareAndExchangeAcquire Object"); - Object x = UNSAFE.getObject(base, offset); + Object x = UNSAFE.getReference(base, offset); assertEquals(x, "bar", "success compareAndExchangeAcquire Object value"); } { - Object r = UNSAFE.compareAndExchangeObjectAcquire(base, offset, "foo", "baz"); + Object r = UNSAFE.compareAndExchangeReferenceAcquire(base, offset, "foo", "baz"); assertEquals(r, "bar", "failing compareAndExchangeAcquire Object"); - Object x = UNSAFE.getObject(base, offset); + Object x = UNSAFE.getReference(base, offset); assertEquals(x, "bar", "failing compareAndExchangeAcquire Object value"); } { - Object r = UNSAFE.compareAndExchangeObjectRelease(base, offset, "bar", "foo"); + Object r = UNSAFE.compareAndExchangeReferenceRelease(base, offset, "bar", "foo"); assertEquals(r, "bar", "success compareAndExchangeRelease Object"); - Object x = UNSAFE.getObject(base, offset); + Object x = UNSAFE.getReference(base, offset); assertEquals(x, "foo", "success compareAndExchangeRelease Object value"); } { - Object r = UNSAFE.compareAndExchangeObjectRelease(base, offset, "bar", "baz"); + Object r = UNSAFE.compareAndExchangeReferenceRelease(base, offset, "bar", "baz"); assertEquals(r, "foo", "failing compareAndExchangeRelease Object"); - Object x = UNSAFE.getObject(base, offset); + Object x = UNSAFE.getReference(base, offset); assertEquals(x, "foo", "failing compareAndExchangeRelease Object value"); } { boolean success = false; for (int c = 0; c < WEAK_ATTEMPTS && !success; c++) { - success = UNSAFE.weakCompareAndSetObjectPlain(base, offset, "foo", "bar"); + success = UNSAFE.weakCompareAndSetReferencePlain(base, offset, "foo", "bar"); } assertEquals(success, true, "weakCompareAndSetPlain Object"); - Object x = UNSAFE.getObject(base, offset); + Object x = UNSAFE.getReference(base, offset); assertEquals(x, "bar", "weakCompareAndSetPlain Object value"); } { boolean success = false; for (int c = 0; c < WEAK_ATTEMPTS && !success; c++) { - success = UNSAFE.weakCompareAndSetObjectAcquire(base, offset, "bar", "foo"); + success = UNSAFE.weakCompareAndSetReferenceAcquire(base, offset, "bar", "foo"); } assertEquals(success, true, "weakCompareAndSetAcquire Object"); - Object x = UNSAFE.getObject(base, offset); + Object x = UNSAFE.getReference(base, offset); assertEquals(x, "foo", "weakCompareAndSetAcquire Object"); } { boolean success = false; for (int c = 0; c < WEAK_ATTEMPTS && !success; c++) { - success = UNSAFE.weakCompareAndSetObjectRelease(base, offset, "foo", "bar"); + success = UNSAFE.weakCompareAndSetReferenceRelease(base, offset, "foo", "bar"); } assertEquals(success, true, "weakCompareAndSetRelease Object"); - Object x = UNSAFE.getObject(base, offset); + Object x = UNSAFE.getReference(base, offset); assertEquals(x, "bar", "weakCompareAndSetRelease Object"); } { boolean success = false; for (int c = 0; c < WEAK_ATTEMPTS && !success; c++) { - success = UNSAFE.weakCompareAndSetObject(base, offset, "bar", "foo"); + success = UNSAFE.weakCompareAndSetReference(base, offset, "bar", "foo"); } assertEquals(success, true, "weakCompareAndSet Object"); - Object x = UNSAFE.getObject(base, offset); + Object x = UNSAFE.getReference(base, offset); assertEquals(x, "foo", "weakCompareAndSet Object"); } - UNSAFE.putObject(base, offset, "bar"); + UNSAFE.putReference(base, offset, "bar"); // Compare set and get { - Object o = UNSAFE.getAndSetObject(base, offset, "foo"); + Object o = UNSAFE.getAndSetReference(base, offset, "foo"); assertEquals(o, "bar", "getAndSet Object"); - Object x = UNSAFE.getObject(base, offset); + Object x = UNSAFE.getReference(base, offset); assertEquals(x, "foo", "getAndSet Object value"); } diff --git a/test/hotspot/jtreg/compiler/unsafe/MixedUnsafeStoreObject.java b/test/hotspot/jtreg/compiler/unsafe/MixedUnsafeStoreObject.java index e7ff724f528..9665a51a7cc 100644 --- a/test/hotspot/jtreg/compiler/unsafe/MixedUnsafeStoreObject.java +++ b/test/hotspot/jtreg/compiler/unsafe/MixedUnsafeStoreObject.java @@ -54,7 +54,7 @@ public class MixedUnsafeStoreObject { for (int c = 0; c < 20000; c++) { // trigger OSR compilation // java/lang/Object+12 * // _base = InstPtr, _ptr = BotPTR, _field = NULL, mismatched = true - UNSAFE.putObject(t, F_OFFSET, "foo"); + UNSAFE.putReference(t, F_OFFSET, "foo"); } } @@ -62,7 +62,7 @@ public class MixedUnsafeStoreObject { for (int c = 0; c < 20000; c++) { // trigger OSR compilation // ...$T+12 * // _base = InstPtr, _ptr = BotPTR, _field = T.f, mismatched = false - UNSAFE.putObject(t, F_OFFSET, "foo"); + UNSAFE.putReference(t, F_OFFSET, "foo"); } } public static void main(String[] args) { diff --git a/test/hotspot/jtreg/compiler/unsafe/OpaqueAccesses.java b/test/hotspot/jtreg/compiler/unsafe/OpaqueAccesses.java index b71211b5392..a646728b07a 100644 --- a/test/hotspot/jtreg/compiler/unsafe/OpaqueAccesses.java +++ b/test/hotspot/jtreg/compiler/unsafe/OpaqueAccesses.java @@ -78,7 +78,7 @@ public class OpaqueAccesses { private long l1, l2; static Object testFixedOffsetField(Object o) { - return UNSAFE.getObject(o, F_OFFSET); + return UNSAFE.getReference(o, F_OFFSET); } static int testFixedOffsetHeader0(Object o) { @@ -106,11 +106,11 @@ public class OpaqueAccesses { } static Object testFixedBase(long off) { - return UNSAFE.getObject(INSTANCE, off); + return UNSAFE.getReference(INSTANCE, off); } static Object testOpaque(Object o, long off) { - return UNSAFE.getObject(o, off); + return UNSAFE.getReference(o, off); } static int testFixedOffsetHeaderArray0(Object[] arr) { @@ -138,15 +138,15 @@ public class OpaqueAccesses { } static Object testFixedOffsetArray(Object[] arr) { - return UNSAFE.getObject(arr, E_OFFSET); + return UNSAFE.getReference(arr, E_OFFSET); } static Object testFixedBaseArray(long off) { - return UNSAFE.getObject(ARRAY, off); + return UNSAFE.getReference(ARRAY, off); } static Object testOpaqueArray(Object[] o, long off) { - return UNSAFE.getObject(o, off); + return UNSAFE.getReference(o, off); } static final long ADDR = UNSAFE.allocateMemory(10); diff --git a/test/hotspot/jtreg/compiler/unsafe/UnsafeGetConstantField.java b/test/hotspot/jtreg/compiler/unsafe/UnsafeGetConstantField.java index b7a36ca0ee6..51ad5b33ebf 100644 --- a/test/hotspot/jtreg/compiler/unsafe/UnsafeGetConstantField.java +++ b/test/hotspot/jtreg/compiler/unsafe/UnsafeGetConstantField.java @@ -222,6 +222,9 @@ public class UnsafeGetConstantField { return name(); } } + String unsafeTypeName() { + return typeName.equals("Object") ? "Reference" : typeName; + } } static String internalName(Class cls) { @@ -352,7 +355,7 @@ public class UnsafeGetConstantField { } else { mv.visitInsn(ACONST_NULL); } - String name = "put" + type.typeName + nameSuffix; + String name = "put" + type.unsafeTypeName() + nameSuffix; mv.visitMethodInsn(INVOKEVIRTUAL, UNSAFE_NAME, name, "(Ljava/lang/Object;J" + type.desc()+ ")V", false); mv.visitInsn(RETURN); @@ -438,7 +441,7 @@ public class UnsafeGetConstantField { mv.visitFieldInsn(GETSTATIC, className, "t", classDesc); } mv.visitFieldInsn(GETSTATIC, className, "FIELD_OFFSET", "J"); - String name = "get" + type.typeName + nameSuffix; + String name = "get" + type.unsafeTypeName() + nameSuffix; mv.visitMethodInsn(INVOKEVIRTUAL, UNSAFE_NAME, name, "(Ljava/lang/Object;J)" + type.desc(), false); } void wrapResult(MethodVisitor mv) { diff --git a/test/hotspot/jtreg/compiler/unsafe/UnsafeGetStableArrayElement.java b/test/hotspot/jtreg/compiler/unsafe/UnsafeGetStableArrayElement.java index 1ae255da416..6d0a1ebabc6 100644 --- a/test/hotspot/jtreg/compiler/unsafe/UnsafeGetStableArrayElement.java +++ b/test/hotspot/jtreg/compiler/unsafe/UnsafeGetStableArrayElement.java @@ -173,15 +173,15 @@ public class UnsafeGetStableArrayElement { static float testD_F() { return U.getFloat( STABLE_DOUBLE_ARRAY, ARRAY_DOUBLE_BASE_OFFSET); } static double testD_D() { return U.getDouble( STABLE_DOUBLE_ARRAY, ARRAY_DOUBLE_BASE_OFFSET); } - static Object testL_L() { return U.getObject( STABLE_OBJECT_ARRAY, ARRAY_OBJECT_BASE_OFFSET); } - static boolean testL_Z() { return U.getBoolean(STABLE_OBJECT_ARRAY, ARRAY_OBJECT_BASE_OFFSET); } - static byte testL_B() { return U.getByte( STABLE_OBJECT_ARRAY, ARRAY_OBJECT_BASE_OFFSET); } - static short testL_S() { return U.getShort( STABLE_OBJECT_ARRAY, ARRAY_OBJECT_BASE_OFFSET); } - static char testL_C() { return U.getChar( STABLE_OBJECT_ARRAY, ARRAY_OBJECT_BASE_OFFSET); } - static int testL_I() { return U.getInt( STABLE_OBJECT_ARRAY, ARRAY_OBJECT_BASE_OFFSET); } - static long testL_J() { return U.getLong( STABLE_OBJECT_ARRAY, ARRAY_OBJECT_BASE_OFFSET); } - static float testL_F() { return U.getFloat( STABLE_OBJECT_ARRAY, ARRAY_OBJECT_BASE_OFFSET); } - static double testL_D() { return U.getDouble( STABLE_OBJECT_ARRAY, ARRAY_OBJECT_BASE_OFFSET); } + static Object testL_L() { return U.getReference( STABLE_OBJECT_ARRAY, ARRAY_OBJECT_BASE_OFFSET); } + static boolean testL_Z() { return U.getBoolean(STABLE_OBJECT_ARRAY, ARRAY_OBJECT_BASE_OFFSET); } + static byte testL_B() { return U.getByte( STABLE_OBJECT_ARRAY, ARRAY_OBJECT_BASE_OFFSET); } + static short testL_S() { return U.getShort( STABLE_OBJECT_ARRAY, ARRAY_OBJECT_BASE_OFFSET); } + static char testL_C() { return U.getChar( STABLE_OBJECT_ARRAY, ARRAY_OBJECT_BASE_OFFSET); } + static int testL_I() { return U.getInt( STABLE_OBJECT_ARRAY, ARRAY_OBJECT_BASE_OFFSET); } + static long testL_J() { return U.getLong( STABLE_OBJECT_ARRAY, ARRAY_OBJECT_BASE_OFFSET); } + static float testL_F() { return U.getFloat( STABLE_OBJECT_ARRAY, ARRAY_OBJECT_BASE_OFFSET); } + static double testL_D() { return U.getDouble( STABLE_OBJECT_ARRAY, ARRAY_OBJECT_BASE_OFFSET); } static short testS_U() { return U.getShortUnaligned(STABLE_SHORT_ARRAY, ARRAY_SHORT_BASE_OFFSET + 1); } static char testC_U() { return U.getCharUnaligned( STABLE_CHAR_ARRAY, ARRAY_CHAR_BASE_OFFSET + 1); } diff --git a/test/hotspot/jtreg/runtime/SharedArchiveFile/NonBootLoaderClasses.java b/test/hotspot/jtreg/runtime/SharedArchiveFile/NonBootLoaderClasses.java index fea97ba0002..c66f1ffaf24 100644 --- a/test/hotspot/jtreg/runtime/SharedArchiveFile/NonBootLoaderClasses.java +++ b/test/hotspot/jtreg/runtime/SharedArchiveFile/NonBootLoaderClasses.java @@ -34,7 +34,6 @@ import jdk.test.lib.cds.CDSOptions; import jdk.test.lib.cds.CDSTestUtils; import jdk.test.lib.process.OutputAnalyzer; -import jdk.test.lib.process.ProcessTools; public class NonBootLoaderClasses { public static void main(String[] args) throws Exception { @@ -50,16 +49,16 @@ public class NonBootLoaderClasses { CDSTestUtils.createArchiveAndCheck(opts); // Print the shared dictionary and inspect the output - ProcessBuilder pb = ProcessTools.createJavaProcessBuilder( - "-cp", "\"\"", + opts = (new CDSOptions()) + .setUseVersion(false) + .addSuffix( "-cp", "\"\"", "-XX:+UnlockDiagnosticVMOptions", "-XX:SharedArchiveFile=./" + archiveName, "-XX:+PrintSharedArchiveAndExit", "-XX:+PrintSharedDictionary"); - OutputAnalyzer out = CDSTestUtils.executeAndLog(pb, "print-shared-archive"); - CDSTestUtils.checkMappingFailure(out); - - out.shouldContain("archive is valid") - .shouldHaveExitValue(0) // Should report success in error code. - .shouldContain(PLATFORM_CLASS.replace('/', '.')) - .shouldContain(APP_CLASS.replace('/', '.')); + CDSTestUtils.run(opts) + .assertNormalExit(output -> { + output.shouldContain("archive is valid"); + output.shouldContain(PLATFORM_CLASS.replace('/', '.')); + output.shouldContain(APP_CLASS.replace('/', '.')); + }); } } diff --git a/test/hotspot/jtreg/runtime/SharedArchiveFile/PrintSharedArchiveAndExit.java b/test/hotspot/jtreg/runtime/SharedArchiveFile/PrintSharedArchiveAndExit.java index a1760d4f71c..756a0b0999a 100644 --- a/test/hotspot/jtreg/runtime/SharedArchiveFile/PrintSharedArchiveAndExit.java +++ b/test/hotspot/jtreg/runtime/SharedArchiveFile/PrintSharedArchiveAndExit.java @@ -33,7 +33,6 @@ import jdk.test.lib.cds.CDSOptions; import jdk.test.lib.cds.CDSTestUtils; -import jdk.test.lib.process.ProcessTools; import jdk.test.lib.process.OutputAnalyzer; public class PrintSharedArchiveAndExit { @@ -44,23 +43,24 @@ public class PrintSharedArchiveAndExit { CDSTestUtils.checkDump(out); // (1) With a valid archive - ProcessBuilder pb = ProcessTools.createJavaProcessBuilder( - "-XX:+UnlockDiagnosticVMOptions", "-XX:SharedArchiveFile=./" + archiveName, + opts = (new CDSOptions()) + .setUseVersion(false) + .addSuffix( "-XX:+UnlockDiagnosticVMOptions", "-XX:SharedArchiveFile=./" + archiveName, "-XX:+PrintSharedArchiveAndExit", "-version"); - out = CDSTestUtils.executeAndLog(pb, "print-shared-archive-and-version"); - CDSTestUtils.checkMappingFailure(out); + CDSTestUtils.run(opts) + .assertNormalExit(output -> { + output.shouldContain("archive is valid"); + output.shouldNotContain("java version"); // Should not print JVM version + }); - out.shouldContain("archive is valid") - .shouldNotContain("java version") // Should not print JVM version - .shouldHaveExitValue(0); // Should report success in error code. - - pb = ProcessTools.createJavaProcessBuilder( - "-XX:+UnlockDiagnosticVMOptions", "-XX:SharedArchiveFile=./" + archiveName, + opts = (new CDSOptions()) + .setUseVersion(false) + .addSuffix( "-XX:+UnlockDiagnosticVMOptions", "-XX:SharedArchiveFile=./" + archiveName, "-XX:+PrintSharedArchiveAndExit"); - out = CDSTestUtils.executeAndLog(pb, "print-shared-archive"); - CDSTestUtils.checkMappingFailure(out); - out.shouldContain("archive is valid") - .shouldNotContain("Usage:") // Should not print JVM help message - .shouldHaveExitValue(0); // Should report success in error code. + CDSTestUtils.run(opts) + .assertNormalExit(output -> { + output.shouldContain("archive is valid"); + output.shouldNotContain("Usage:"); // Should not print JVM help message + }); } } diff --git a/test/hotspot/jtreg/runtime/Unsafe/GetPutObject.java b/test/hotspot/jtreg/runtime/Unsafe/GetPutObject.java index 2ee272e22ec..ec6fd5ba153 100644 --- a/test/hotspot/jtreg/runtime/Unsafe/GetPutObject.java +++ b/test/hotspot/jtreg/runtime/Unsafe/GetPutObject.java @@ -42,16 +42,16 @@ public class GetPutObject { Field field = Test.class.getField("o"); long offset = unsafe.objectFieldOffset(field); - assertEquals(t.o, unsafe.getObject(t, offset)); + assertEquals(t.o, unsafe.getReference(t, offset)); - unsafe.putObject(t, offset, o); - assertEquals(o, unsafe.getObject(t, offset)); + unsafe.putReference(t, offset, o); + assertEquals(o, unsafe.getReference(t, offset)); Object arrayObject[] = { unsafe, null, new Object() }; int scale = unsafe.arrayIndexScale(arrayObject.getClass()); offset = unsafe.arrayBaseOffset(arrayObject.getClass()); for (int i = 0; i < arrayObject.length; i++) { - assertEquals(unsafe.getObject(arrayObject, offset), arrayObject[i]); + assertEquals(unsafe.getReference(arrayObject, offset), arrayObject[i]); offset += scale; } } diff --git a/test/hotspot/jtreg/runtime/Unsafe/RangeCheck.java b/test/hotspot/jtreg/runtime/Unsafe/RangeCheck.java index b164506b192..4b64ad388cb 100644 --- a/test/hotspot/jtreg/runtime/Unsafe/RangeCheck.java +++ b/test/hotspot/jtreg/runtime/Unsafe/RangeCheck.java @@ -59,7 +59,7 @@ public class RangeCheck { public static class DummyClassWithMainRangeCheck { public static void main(String args[]) throws Exception { Unsafe unsafe = Unsafe.getUnsafe(); - unsafe.getObject(new DummyClassWithMainRangeCheck(), Short.MAX_VALUE); + unsafe.getReference(new DummyClassWithMainRangeCheck(), Short.MAX_VALUE); } } } diff --git a/test/hotspot/jtreg/vmTestbase/gc/gctests/nativeGC01/libnativeGC01.cpp b/test/hotspot/jtreg/vmTestbase/gc/gctests/nativeGC01/libnativeGC01.cpp index 7abbd63c454..63aed51a897 100644 --- a/test/hotspot/jtreg/vmTestbase/gc/gctests/nativeGC01/libnativeGC01.cpp +++ b/test/hotspot/jtreg/vmTestbase/gc/gctests/nativeGC01/libnativeGC01.cpp @@ -27,7 +27,7 @@ extern "C" { /* - * A C function that takes a reference to java Object( a circular Linked list) + * A C function that takes a reference to java Object (a circular Linked list) * and utilizes this reference to do a java method callback to determine the * number of elements in the linked list */ @@ -55,8 +55,8 @@ Java_gc_gctests_nativeGC01_nativeGC01_nativeMethod01 */ clss = env->GetObjectClass(linked_list); - mid2 = env->GetMethodID(clss, "getLength", "()I" ); - if (mid2 == 0) { + mid2 = env->GetMethodID(clss, "getLength", "()I"); + if (mid2 == 0) { printf("couldnt locate method getLength()"); return -1; } diff --git a/test/hotspot/jtreg/vmTestbase/gc/gctests/nativeGC02/libnativeGC02.cpp b/test/hotspot/jtreg/vmTestbase/gc/gctests/nativeGC02/libnativeGC02.cpp index 57d20179c45..e6db8cf6184 100644 --- a/test/hotspot/jtreg/vmTestbase/gc/gctests/nativeGC02/libnativeGC02.cpp +++ b/test/hotspot/jtreg/vmTestbase/gc/gctests/nativeGC02/libnativeGC02.cpp @@ -25,7 +25,7 @@ extern "C" { -/* A C function that takes a reference to java Object( a circular Linked list) +/* A C function that takes a reference to java Object(a circular Linked list) and utilizes this reference to do a java method callback to determine the number of elements in the linked list */ JNIEXPORT jint JNICALL @@ -51,9 +51,9 @@ Java_gc_gctests_nativeGC02_nativeGC02_nativeMethod02 /* force a GC by invoking a callback where System.gc() is called */ - cls = env->GetObjectClass(obj); + cls = env->GetObjectClass(obj); mid = env->GetMethodID(cls, "callbackGC", "()V"); - if (mid == 0){ + if (mid == 0) { printf("couldnt locate method callbackGC()\n"); return -1; } @@ -65,12 +65,12 @@ Java_gc_gctests_nativeGC02_nativeGC02_nativeMethod02 */ clss = env->GetObjectClass(linked_list); - mid2 = env->GetMethodID(clss, "getLength", "(Lnsk/share/gc/CircularLinkedList;)I" ); - if (mid2 == 0 ){ + mid2 = env->GetMethodID(clss, "getLength", "(Lnsk/share/gc/CircularLinkedList;)I"); + if (mid2 == 0) { printf("couldnt locate method getLength(CircularLinkedList)\n"); return -1; } - elementCount = env->CallIntMethod(linked_list, mid2, llist); + elementCount = env->CallIntMethod(linked_list, mid2, llist); return elementCount; } diff --git a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/Allocate/alloc001/alloc001.cpp b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/Allocate/alloc001/alloc001.cpp index 9b358bb2fd2..4285d6d6e87 100644 --- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/Allocate/alloc001/alloc001.cpp +++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/Allocate/alloc001/alloc001.cpp @@ -142,7 +142,7 @@ Java_nsk_jvmti_Allocate_alloc001_check(JNIEnv *env, jclass cls) { break; } - if (printdump == JNI_TRUE && (memCount % 50 == 0) ) { + if (printdump == JNI_TRUE && (memCount % 50 == 0)) { printf(">>> ... done (%dMb)\n", memCount); } } diff --git a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/AttachOnDemand/attach002/attach002Agent00.cpp b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/AttachOnDemand/attach002/attach002Agent00.cpp index e1e7ef19768..2b4c34c7b40 100644 --- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/AttachOnDemand/attach002/attach002Agent00.cpp +++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/AttachOnDemand/attach002/attach002Agent00.cpp @@ -205,7 +205,7 @@ Agent_OnAttach(JavaVM *vm, char *optionsString, void *reserved) memset(&caps, 0, sizeof(caps)); caps.can_generate_all_class_hook_events = 1; caps.can_redefine_classes = 1; - if (!NSK_JVMTI_VERIFY(jvmti->AddCapabilities(&caps)) ) { + if (!NSK_JVMTI_VERIFY(jvmti->AddCapabilities(&caps))) { /* * If VM is run with -Xshare:on agent can't get required capabilities (see 6718407) */ @@ -222,7 +222,7 @@ Agent_OnAttach(JavaVM *vm, char *optionsString, void *reserved) eventCallbacks.ClassLoad = classLoadHandler; eventCallbacks.ClassPrepare = classPrepareHandler; eventCallbacks.ClassFileLoadHook = classFileLoadHoockHandler; - if (!NSK_JVMTI_VERIFY(jvmti->SetEventCallbacks(&eventCallbacks, sizeof(eventCallbacks))) ) { + if (!NSK_JVMTI_VERIFY(jvmti->SetEventCallbacks(&eventCallbacks, sizeof(eventCallbacks)))) { return JNI_ERR; } diff --git a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/AttachOnDemand/attach002a/attach002aAgent00.cpp b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/AttachOnDemand/attach002a/attach002aAgent00.cpp index 7cc40cc82fd..f859058fbb2 100644 --- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/AttachOnDemand/attach002a/attach002aAgent00.cpp +++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/AttachOnDemand/attach002a/attach002aAgent00.cpp @@ -106,13 +106,13 @@ Agent_OnAttach(JavaVM *vm, char *optionsString, void *reserved) memset(&caps, 0, sizeof(caps)); caps.can_redefine_classes = 1; caps.can_generate_vm_object_alloc_events = 1; - if (!NSK_JVMTI_VERIFY(jvmti->AddCapabilities(&caps)) ) { + if (!NSK_JVMTI_VERIFY(jvmti->AddCapabilities(&caps))) { return JNI_ERR; } memset(&eventCallbacks,0, sizeof(eventCallbacks)); eventCallbacks.VMObjectAlloc = vmObjectAllocHandler; - if (!NSK_JVMTI_VERIFY(jvmti->SetEventCallbacks(&eventCallbacks, sizeof(eventCallbacks))) ) { + if (!NSK_JVMTI_VERIFY(jvmti->SetEventCallbacks(&eventCallbacks, sizeof(eventCallbacks)))) { return JNI_ERR; } diff --git a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/AttachOnDemand/attach008/attach008Agent00.cpp b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/AttachOnDemand/attach008/attach008Agent00.cpp index f46eccf0cf1..8bdf4d083b7 100644 --- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/AttachOnDemand/attach008/attach008Agent00.cpp +++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/AttachOnDemand/attach008/attach008Agent00.cpp @@ -123,14 +123,14 @@ Agent_OnAttach(JavaVM *vm, char *optionsString, void *reserved) memset(&caps, 0, sizeof(caps)); caps.can_generate_monitor_events = 1; - if (!NSK_JVMTI_VERIFY(jvmti->AddCapabilities(&caps)) ) { + if (!NSK_JVMTI_VERIFY(jvmti->AddCapabilities(&caps))) { return JNI_ERR; } memset(&eventCallbacks,0, sizeof(eventCallbacks)); eventCallbacks.MonitorContendedEntered = monitorContentedEnteredHandler; eventCallbacks.MonitorContendedEnter = monitorContentedEnterHandler; - if (!NSK_JVMTI_VERIFY(jvmti->SetEventCallbacks(&eventCallbacks, sizeof(eventCallbacks))) ) { + if (!NSK_JVMTI_VERIFY(jvmti->SetEventCallbacks(&eventCallbacks, sizeof(eventCallbacks)))) { return JNI_ERR; } diff --git a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/AttachOnDemand/attach009/attach009Agent00.cpp b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/AttachOnDemand/attach009/attach009Agent00.cpp index 7a5be6d5784..6cdfd2e6292 100644 --- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/AttachOnDemand/attach009/attach009Agent00.cpp +++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/AttachOnDemand/attach009/attach009Agent00.cpp @@ -82,7 +82,7 @@ classLoadHandler(jvmtiEnv *jvmti, return; } - if (!NSK_JVMTI_VERIFY(jvmti->SetEventNotificationMode(JVMTI_ENABLE, JVMTI_EVENT_CLASS_LOAD, thread) ) ) { + if (!NSK_JVMTI_VERIFY(jvmti->SetEventNotificationMode(JVMTI_ENABLE, JVMTI_EVENT_CLASS_LOAD, thread))) { NSK_COMPLAIN1("Failed to enable events for thread '%s'\n", mainThreadName); nsk_aod_agentFinished(jni, agentName, 0); return; @@ -141,7 +141,7 @@ Agent_OnAttach(JavaVM *vm, char *optionsString, void *reserved) memset(&eventCallbacks,0, sizeof(eventCallbacks)); eventCallbacks.ClassLoad = classLoadHandler; - if (!NSK_JVMTI_VERIFY(jvmti->SetEventCallbacks(&eventCallbacks, sizeof(eventCallbacks))) ) { + if (!NSK_JVMTI_VERIFY(jvmti->SetEventCallbacks(&eventCallbacks, sizeof(eventCallbacks)))) { return JNI_ERR; } diff --git a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/AttachOnDemand/attach012/attach012Agent00.cpp b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/AttachOnDemand/attach012/attach012Agent00.cpp index 17ef6332a21..5ccf7de0bee 100644 --- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/AttachOnDemand/attach012/attach012Agent00.cpp +++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/AttachOnDemand/attach012/attach012Agent00.cpp @@ -65,7 +65,7 @@ Agent_OnAttach(JavaVM *vm, char *optionsString, void *reserved) if (!NSK_VERIFY((jvmti = nsk_jvmti_createJVMTIEnv(vm, reserved)) != NULL)) return JNI_ERR; - if (!NSK_JVMTI_VERIFY(jvmti->GetPotentialCapabilities(&caps)) ) { + if (!NSK_JVMTI_VERIFY(jvmti->GetPotentialCapabilities(&caps))) { return JNI_ERR; } @@ -75,7 +75,7 @@ Agent_OnAttach(JavaVM *vm, char *optionsString, void *reserved) NSK_DISPLAY1("%s: trying to get all potential capabilities:\n", agentName); - if (!NSK_JVMTI_VERIFY(jvmti->AddCapabilities(&caps)) ) { + if (!NSK_JVMTI_VERIFY(jvmti->AddCapabilities(&caps))) { return JNI_ERR; } diff --git a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/AttachOnDemand/attach014/attach014Agent00.cpp b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/AttachOnDemand/attach014/attach014Agent00.cpp index 67c5b53970b..a708c6dc101 100644 --- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/AttachOnDemand/attach014/attach014Agent00.cpp +++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/AttachOnDemand/attach014/attach014Agent00.cpp @@ -104,7 +104,7 @@ Agent_OnAttach(JavaVM *vm, char *optionsString, void *reserved) memset(&eventCallbacks,0, sizeof(eventCallbacks)); eventCallbacks.ClassLoad = classLoadHandler; - if (!NSK_JVMTI_VERIFY(jvmti->SetEventCallbacks(&eventCallbacks, sizeof(eventCallbacks))) ) { + if (!NSK_JVMTI_VERIFY(jvmti->SetEventCallbacks(&eventCallbacks, sizeof(eventCallbacks)))) { return JNI_ERR; } diff --git a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/AttachOnDemand/attach015/attach015Agent00.cpp b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/AttachOnDemand/attach015/attach015Agent00.cpp index 562d36c4338..93fe6f7e9f9 100644 --- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/AttachOnDemand/attach015/attach015Agent00.cpp +++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/AttachOnDemand/attach015/attach015Agent00.cpp @@ -97,7 +97,7 @@ Agent_OnAttach(JavaVM *vm, char *optionsString, void *reserved) memset(&eventCallbacks,0, sizeof(eventCallbacks)); eventCallbacks.ClassPrepare = classPrepareHandler; - if (!NSK_JVMTI_VERIFY(jvmti->SetEventCallbacks(&eventCallbacks, sizeof(eventCallbacks))) ) { + if (!NSK_JVMTI_VERIFY(jvmti->SetEventCallbacks(&eventCallbacks, sizeof(eventCallbacks)))) { return JNI_ERR; } diff --git a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/AttachOnDemand/attach015/attach015Agent01.cpp b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/AttachOnDemand/attach015/attach015Agent01.cpp index 26f92d03a5b..b9429a058e5 100644 --- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/AttachOnDemand/attach015/attach015Agent01.cpp +++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/AttachOnDemand/attach015/attach015Agent01.cpp @@ -97,7 +97,7 @@ Agent_OnAttach(JavaVM *vm, char *optionsString, void *reserved) memset(&eventCallbacks,0, sizeof(eventCallbacks)); eventCallbacks.ClassLoad = classLoadHandler; - if (!NSK_JVMTI_VERIFY(jvmti->SetEventCallbacks(&eventCallbacks, sizeof(eventCallbacks))) ) { + if (!NSK_JVMTI_VERIFY(jvmti->SetEventCallbacks(&eventCallbacks, sizeof(eventCallbacks)))) { return JNI_ERR; } diff --git a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/AttachOnDemand/attach020/attach020Agent00.cpp b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/AttachOnDemand/attach020/attach020Agent00.cpp index 6f12b7c26d5..a77f1b46a8b 100644 --- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/AttachOnDemand/attach020/attach020Agent00.cpp +++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/AttachOnDemand/attach020/attach020Agent00.cpp @@ -118,7 +118,7 @@ int startAuxiliaryThread(jvmtiEnv* jvmti, JNIEnv* jni) { if (!NSK_VERIFY((thread = nsk_jvmti_aod_createThread(jni)) != NULL)) return NSK_FALSE; - if (!NSK_JVMTI_VERIFY(jvmti->RunAgentThread(thread, auxiliaryThreadFunction, NULL, JVMTI_THREAD_NORM_PRIORITY ))) { + if (!NSK_JVMTI_VERIFY(jvmti->RunAgentThread(thread, auxiliaryThreadFunction, NULL, JVMTI_THREAD_NORM_PRIORITY))) { return NSK_FALSE; } @@ -165,14 +165,14 @@ Agent_OnAttach(JavaVM *vm, char *optionsString, void *reserved) memset(&caps, 0, sizeof(caps)); caps.can_generate_garbage_collection_events = 1; - if (!NSK_JVMTI_VERIFY(jvmti->AddCapabilities(&caps)) ) { + if (!NSK_JVMTI_VERIFY(jvmti->AddCapabilities(&caps))) { return JNI_ERR; } memset(&eventCallbacks,0, sizeof(eventCallbacks)); eventCallbacks.GarbageCollectionStart = garbageCollectionStartHandler; eventCallbacks.GarbageCollectionFinish = garbageCollectionFinishHandler; - if (!NSK_JVMTI_VERIFY(jvmti->SetEventCallbacks(&eventCallbacks, sizeof(eventCallbacks))) ) { + if (!NSK_JVMTI_VERIFY(jvmti->SetEventCallbacks(&eventCallbacks, sizeof(eventCallbacks)))) { return JNI_ERR; } diff --git a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/AttachOnDemand/attach021/attach021Agent00.cpp b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/AttachOnDemand/attach021/attach021Agent00.cpp index 0428050acc4..59b43e3eb59 100644 --- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/AttachOnDemand/attach021/attach021Agent00.cpp +++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/AttachOnDemand/attach021/attach021Agent00.cpp @@ -142,13 +142,13 @@ Agent_OnAttach(JavaVM *vm, char *optionsString, void *reserved) memset(&caps, 0, sizeof(caps)); caps.can_tag_objects = 1; caps.can_generate_object_free_events = 1; - if (!NSK_JVMTI_VERIFY(jvmti->AddCapabilities(&caps)) ) { + if (!NSK_JVMTI_VERIFY(jvmti->AddCapabilities(&caps))) { return JNI_ERR; } memset(&eventCallbacks,0, sizeof(eventCallbacks)); eventCallbacks.ObjectFree = objectFreeHandler; - if (!NSK_JVMTI_VERIFY(jvmti->SetEventCallbacks(&eventCallbacks, sizeof(eventCallbacks))) ) { + if (!NSK_JVMTI_VERIFY(jvmti->SetEventCallbacks(&eventCallbacks, sizeof(eventCallbacks)))) { return JNI_ERR; } diff --git a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/AttachOnDemand/attach022/attach022Agent00.cpp b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/AttachOnDemand/attach022/attach022Agent00.cpp index fe99b80dc03..3a61c0bccbf 100644 --- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/AttachOnDemand/attach022/attach022Agent00.cpp +++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/AttachOnDemand/attach022/attach022Agent00.cpp @@ -203,14 +203,14 @@ Agent_OnAttach(JavaVM *vm, char *optionsString, void *reserved) caps.can_tag_objects = 1; caps.can_generate_object_free_events = 1; caps.can_generate_vm_object_alloc_events = 1; - if (!NSK_JVMTI_VERIFY(jvmti->AddCapabilities(&caps)) ) { + if (!NSK_JVMTI_VERIFY(jvmti->AddCapabilities(&caps))) { return JNI_ERR; } memset(&eventCallbacks,0, sizeof(eventCallbacks)); eventCallbacks.ObjectFree = objectFreeHandler; eventCallbacks.VMObjectAlloc = vmObjectAllocHandler; - if (!NSK_JVMTI_VERIFY(jvmti->SetEventCallbacks(&eventCallbacks, sizeof(eventCallbacks))) ) { + if (!NSK_JVMTI_VERIFY(jvmti->SetEventCallbacks(&eventCallbacks, sizeof(eventCallbacks)))) { return JNI_ERR; } diff --git a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/AttachOnDemand/attach037/attach037Agent00.cpp b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/AttachOnDemand/attach037/attach037Agent00.cpp index b56383f6c96..452bbb80fc8 100644 --- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/AttachOnDemand/attach037/attach037Agent00.cpp +++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/AttachOnDemand/attach037/attach037Agent00.cpp @@ -122,14 +122,14 @@ Agent_OnAttach(JavaVM *vm, char *optionsString, void *reserved) memset(&caps, 0, sizeof(caps)); caps.can_generate_monitor_events = 1; - if (!NSK_JVMTI_VERIFY(jvmti->AddCapabilities(&caps)) ) { + if (!NSK_JVMTI_VERIFY(jvmti->AddCapabilities(&caps))) { return JNI_ERR; } memset(&eventCallbacks,0, sizeof(eventCallbacks)); eventCallbacks.MonitorWaited = monitorWaitedHandler; eventCallbacks.MonitorWait = monitorWaitHandler; - if (!NSK_JVMTI_VERIFY(jvmti->SetEventCallbacks(&eventCallbacks, sizeof(eventCallbacks))) ) { + if (!NSK_JVMTI_VERIFY(jvmti->SetEventCallbacks(&eventCallbacks, sizeof(eventCallbacks)))) { return JNI_ERR; } diff --git a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/AttachOnDemand/attach038/attach038Agent00.cpp b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/AttachOnDemand/attach038/attach038Agent00.cpp index b6b24a5331e..95a9d1e10d1 100644 --- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/AttachOnDemand/attach038/attach038Agent00.cpp +++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/AttachOnDemand/attach038/attach038Agent00.cpp @@ -119,7 +119,7 @@ Agent_OnAttach(JavaVM *vm, char *optionsString, void *reserved) memset(&eventCallbacks,0, sizeof(eventCallbacks)); eventCallbacks.ThreadEnd = threadEndHandler; eventCallbacks.ThreadStart = threadStartHandler; - if (!NSK_JVMTI_VERIFY(jvmti->SetEventCallbacks(&eventCallbacks, sizeof(eventCallbacks))) ) { + if (!NSK_JVMTI_VERIFY(jvmti->SetEventCallbacks(&eventCallbacks, sizeof(eventCallbacks)))) { return JNI_ERR; } diff --git a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/AttachOnDemand/attach039/attach039Agent00.cpp b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/AttachOnDemand/attach039/attach039Agent00.cpp index 52178d35085..4301c20cf0f 100644 --- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/AttachOnDemand/attach039/attach039Agent00.cpp +++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/AttachOnDemand/attach039/attach039Agent00.cpp @@ -68,7 +68,7 @@ int startNewThread(jvmtiEnv* jvmti, JNIEnv* jni) { if (!NSK_VERIFY((thread = nsk_jvmti_aod_createThreadWithName(jni, STARTED_THREAD_NAME)) != NULL)) return NSK_FALSE; - if (!NSK_JVMTI_VERIFY(jvmti->RunAgentThread(thread, startedThreadFunction, NULL, JVMTI_THREAD_NORM_PRIORITY ))) { + if (!NSK_JVMTI_VERIFY(jvmti->RunAgentThread(thread, startedThreadFunction, NULL, JVMTI_THREAD_NORM_PRIORITY))) { return NSK_FALSE; } @@ -154,7 +154,7 @@ Agent_OnAttach(JavaVM *vm, char *optionsString, void *reserved) memset(&eventCallbacks,0, sizeof(eventCallbacks)); eventCallbacks.ThreadEnd = threadEndHandler; eventCallbacks.ThreadStart = threadStartHandler; - if (!NSK_JVMTI_VERIFY(jvmti->SetEventCallbacks(&eventCallbacks, sizeof(eventCallbacks))) ) { + if (!NSK_JVMTI_VERIFY(jvmti->SetEventCallbacks(&eventCallbacks, sizeof(eventCallbacks)))) { return JNI_ERR; } diff --git a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/AttachOnDemand/attach040/attach040Agent00.cpp b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/AttachOnDemand/attach040/attach040Agent00.cpp index bf3aa7b4f1e..9c49920874f 100644 --- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/AttachOnDemand/attach040/attach040Agent00.cpp +++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/AttachOnDemand/attach040/attach040Agent00.cpp @@ -150,7 +150,7 @@ Agent_OnAttach(JavaVM *vm, char *optionsString, void *reserved) memset(&eventCallbacks,0, sizeof(eventCallbacks)); eventCallbacks.ThreadStart = threadStartHandler; - if (!NSK_JVMTI_VERIFY(jvmti->SetEventCallbacks(&eventCallbacks, sizeof(eventCallbacks))) ) { + if (!NSK_JVMTI_VERIFY(jvmti->SetEventCallbacks(&eventCallbacks, sizeof(eventCallbacks)))) { return JNI_ERR; } diff --git a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/AttachOnDemand/attach041/attach041Agent00.cpp b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/AttachOnDemand/attach041/attach041Agent00.cpp index e1129d05095..79288ff446c 100644 --- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/AttachOnDemand/attach041/attach041Agent00.cpp +++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/AttachOnDemand/attach041/attach041Agent00.cpp @@ -172,7 +172,7 @@ Agent_OnAttach(JavaVM *vm, char *optionsString, void *reserved) memset(&eventCallbacks,0, sizeof(eventCallbacks)); eventCallbacks.ThreadStart = threadStartHandler; - if (!NSK_JVMTI_VERIFY(jvmti->SetEventCallbacks(&eventCallbacks, sizeof(eventCallbacks))) ) { + if (!NSK_JVMTI_VERIFY(jvmti->SetEventCallbacks(&eventCallbacks, sizeof(eventCallbacks)))) { return JNI_ERR; } diff --git a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/AttachOnDemand/attach042/attach042Agent00.cpp b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/AttachOnDemand/attach042/attach042Agent00.cpp index df8dc63ed8b..2cff5fd0595 100644 --- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/AttachOnDemand/attach042/attach042Agent00.cpp +++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/AttachOnDemand/attach042/attach042Agent00.cpp @@ -136,7 +136,7 @@ Agent_OnAttach(JavaVM *vm, char *optionsString, void *reserved) memset(&eventCallbacks,0, sizeof(eventCallbacks)); eventCallbacks.ThreadStart = threadStartHandler; - if (!NSK_JVMTI_VERIFY(jvmti->SetEventCallbacks(&eventCallbacks, sizeof(eventCallbacks))) ) { + if (!NSK_JVMTI_VERIFY(jvmti->SetEventCallbacks(&eventCallbacks, sizeof(eventCallbacks)))) { return JNI_ERR; } diff --git a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/AttachOnDemand/attach045/attach045Agent00.cpp b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/AttachOnDemand/attach045/attach045Agent00.cpp index 31369ce892e..3683debe12d 100644 --- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/AttachOnDemand/attach045/attach045Agent00.cpp +++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/AttachOnDemand/attach045/attach045Agent00.cpp @@ -114,7 +114,7 @@ Agent_OnAttach(JavaVM *vm, char *optionsString, void *reserved) memset(&eventCallbacks,0, sizeof(eventCallbacks)); eventCallbacks.ClassLoad = classLoadHandler; - if (!NSK_JVMTI_VERIFY(jvmti->SetEventCallbacks(&eventCallbacks, sizeof(eventCallbacks))) ) { + if (!NSK_JVMTI_VERIFY(jvmti->SetEventCallbacks(&eventCallbacks, sizeof(eventCallbacks)))) { return JNI_ERR; } diff --git a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/AttachOnDemand/attach045/attach045Agent01.cpp b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/AttachOnDemand/attach045/attach045Agent01.cpp index 93ec8bc6d10..695b50b777c 100644 --- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/AttachOnDemand/attach045/attach045Agent01.cpp +++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/AttachOnDemand/attach045/attach045Agent01.cpp @@ -125,7 +125,7 @@ Agent_OnAttach(JavaVM *vm, char *optionsString, void *reserved) memset(&eventCallbacks,0, sizeof(eventCallbacks)); eventCallbacks.ClassPrepare = classPrepareHandler; - if (!NSK_JVMTI_VERIFY(jvmti->SetEventCallbacks(&eventCallbacks, sizeof(eventCallbacks))) ) { + if (!NSK_JVMTI_VERIFY(jvmti->SetEventCallbacks(&eventCallbacks, sizeof(eventCallbacks)))) { return JNI_ERR; } diff --git a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/AttachOnDemand/attach045/attach045Agent02.cpp b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/AttachOnDemand/attach045/attach045Agent02.cpp index c18df3e7264..b9316692bc5 100644 --- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/AttachOnDemand/attach045/attach045Agent02.cpp +++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/AttachOnDemand/attach045/attach045Agent02.cpp @@ -146,7 +146,7 @@ Agent_OnAttach(JavaVM *vm, char *optionsString, void *reserved) memset(&eventCallbacks,0, sizeof(eventCallbacks)); eventCallbacks.ThreadStart = threadStartHandler; eventCallbacks.ThreadEnd = threadEndHandler; - if (!NSK_JVMTI_VERIFY(jvmti->SetEventCallbacks(&eventCallbacks, sizeof(eventCallbacks))) ) { + if (!NSK_JVMTI_VERIFY(jvmti->SetEventCallbacks(&eventCallbacks, sizeof(eventCallbacks)))) { return JNI_ERR; } diff --git a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/AttachOnDemand/attach045/attach045Agent03.cpp b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/AttachOnDemand/attach045/attach045Agent03.cpp index 6db7f98556b..16915db6c64 100644 --- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/AttachOnDemand/attach045/attach045Agent03.cpp +++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/AttachOnDemand/attach045/attach045Agent03.cpp @@ -135,13 +135,13 @@ Agent_OnAttach(JavaVM *vm, char *optionsString, void *reserved) memset(&caps, 0, sizeof(caps)); caps.can_generate_vm_object_alloc_events = 1; - if (!NSK_JVMTI_VERIFY(jvmti->AddCapabilities(&caps)) ) { + if (!NSK_JVMTI_VERIFY(jvmti->AddCapabilities(&caps))) { return JNI_ERR; } memset(&eventCallbacks,0, sizeof(eventCallbacks)); eventCallbacks.VMObjectAlloc = VMObjectAllocHandler; - if (!NSK_JVMTI_VERIFY(jvmti->SetEventCallbacks(&eventCallbacks, sizeof(eventCallbacks))) ) { + if (!NSK_JVMTI_VERIFY(jvmti->SetEventCallbacks(&eventCallbacks, sizeof(eventCallbacks)))) { return JNI_ERR; } diff --git a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/AttachOnDemand/attach046/attach046Agent00.cpp b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/AttachOnDemand/attach046/attach046Agent00.cpp index 2325e16b38b..fe96e40f320 100644 --- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/AttachOnDemand/attach046/attach046Agent00.cpp +++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/AttachOnDemand/attach046/attach046Agent00.cpp @@ -113,13 +113,13 @@ Agent_OnAttach(JavaVM *vm, char *optionsString, void *reserved) memset(&caps, 0, sizeof(caps)); caps.can_redefine_classes = 1; - if (!NSK_JVMTI_VERIFY(jvmti->AddCapabilities(&caps)) ) { + if (!NSK_JVMTI_VERIFY(jvmti->AddCapabilities(&caps))) { return JNI_ERR; } memset(&eventCallbacks,0, sizeof(eventCallbacks)); eventCallbacks.ClassLoad = classLoadHandler; - if (!NSK_JVMTI_VERIFY(jvmti->SetEventCallbacks(&eventCallbacks, sizeof(eventCallbacks))) ) { + if (!NSK_JVMTI_VERIFY(jvmti->SetEventCallbacks(&eventCallbacks, sizeof(eventCallbacks)))) { return JNI_ERR; } diff --git a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/FieldAccess/fieldacc003/fieldacc003.cpp b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/FieldAccess/fieldacc003/fieldacc003.cpp index d47d42600ff..e9c131c6921 100644 --- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/FieldAccess/fieldacc003/fieldacc003.cpp +++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/FieldAccess/fieldacc003/fieldacc003.cpp @@ -165,7 +165,7 @@ void JNICALL FieldAccess(jvmtiEnv *jvmti_env, JNIEnv *env, } if (watch.m_sig == NULL || strcmp(watch.m_sig, watches[i].m_sig) != 0) { - printf("(watch#%" PRIuPTR " ) wrong method sig: \"%s\"", + printf("(watch#%" PRIuPTR ") wrong method sig: \"%s\"", i, watch.m_sig); printf(", expected: \"%s\"\n", watches[i].m_sig); result = STATUS_FAILED; diff --git a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/ForceEarlyReturn/ForceEarlyReturn001/ForceEarlyReturn001.cpp b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/ForceEarlyReturn/ForceEarlyReturn001/ForceEarlyReturn001.cpp index dac37905695..c3eed7356cc 100644 --- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/ForceEarlyReturn/ForceEarlyReturn001/ForceEarlyReturn001.cpp +++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/ForceEarlyReturn/ForceEarlyReturn001/ForceEarlyReturn001.cpp @@ -44,10 +44,7 @@ Java_nsk_jvmti_ForceEarlyReturn_ForceEarlyReturn001_suspendThread ( , jobject earlyReturnThread ) { - if (!NSK_JVMTI_VERIFY( - jvmti ->SuspendThread (earlyReturnThread ) - ) - ) + if (!NSK_JVMTI_VERIFY(jvmti->SuspendThread(earlyReturnThread))) return JNI_FALSE; return JNI_TRUE; @@ -62,10 +59,7 @@ Java_nsk_jvmti_ForceEarlyReturn_ForceEarlyReturn001_resumeThread ( , jobject earlyReturnThread ) { - if (!NSK_JVMTI_VERIFY( - jvmti ->ResumeThread (earlyReturnThread ) - ) - ) + if (!NSK_JVMTI_VERIFY(jvmti->ResumeThread(earlyReturnThread))) return JNI_FALSE; return JNI_TRUE; @@ -81,10 +75,7 @@ Java_nsk_jvmti_ForceEarlyReturn_ForceEarlyReturn001_doForceEarlyReturnObject ( , jobject valueToReturn ) { - if (!NSK_JVMTI_VERIFY( - jvmti ->ForceEarlyReturnObject (earlyReturnThread , valueToReturn ) - ) - ) + if (!NSK_JVMTI_VERIFY(jvmti->ForceEarlyReturnObject(earlyReturnThread, valueToReturn))) return JNI_FALSE; return JNI_TRUE; @@ -100,10 +91,7 @@ Java_nsk_jvmti_ForceEarlyReturn_ForceEarlyReturn001_doForceEarlyReturnInt( , jint valueToReturn ) { - if (!NSK_JVMTI_VERIFY( - jvmti ->ForceEarlyReturnInt (earlyReturnThread , valueToReturn ) - ) - ) + if (!NSK_JVMTI_VERIFY(jvmti->ForceEarlyReturnInt(earlyReturnThread, valueToReturn))) return JNI_FALSE; return JNI_TRUE; @@ -119,10 +107,7 @@ Java_nsk_jvmti_ForceEarlyReturn_ForceEarlyReturn001_doForceEarlyReturnLong ( , jlong valueToReturn ) { - if (!NSK_JVMTI_VERIFY( - jvmti ->ForceEarlyReturnLong (earlyReturnThread , valueToReturn ) - ) - ) + if (!NSK_JVMTI_VERIFY(jvmti->ForceEarlyReturnLong(earlyReturnThread, valueToReturn))) return JNI_FALSE; return JNI_TRUE; @@ -138,10 +123,7 @@ Java_nsk_jvmti_ForceEarlyReturn_ForceEarlyReturn001_doForceEarlyReturnFloat ( , jfloat valueToReturn ) { - if (!NSK_JVMTI_VERIFY( - jvmti ->ForceEarlyReturnFloat (earlyReturnThread , valueToReturn ) - ) - ) + if (!NSK_JVMTI_VERIFY(jvmti->ForceEarlyReturnFloat(earlyReturnThread, valueToReturn))) return JNI_FALSE; return JNI_TRUE; @@ -157,10 +139,7 @@ Java_nsk_jvmti_ForceEarlyReturn_ForceEarlyReturn001_doForceEarlyReturnDouble ( , jdouble valueToReturn ) { - if (!NSK_JVMTI_VERIFY( - jvmti ->ForceEarlyReturnDouble (earlyReturnThread , valueToReturn ) - ) - ) + if (!NSK_JVMTI_VERIFY(jvmti->ForceEarlyReturnDouble(earlyReturnThread, valueToReturn))) return JNI_FALSE; return JNI_TRUE; @@ -175,10 +154,7 @@ Java_nsk_jvmti_ForceEarlyReturn_ForceEarlyReturn001_doForceEarlyReturnVoid ( , jthread earlyReturnThread ) { - if (!NSK_JVMTI_VERIFY( - jvmti ->ForceEarlyReturnVoid (earlyReturnThread ) - ) - ) + if (!NSK_JVMTI_VERIFY(jvmti->ForceEarlyReturnVoid(earlyReturnThread))) return JNI_FALSE; return JNI_TRUE; @@ -202,24 +178,17 @@ jint Agent_Initialize(JavaVM *vm, char *options, void *reserved) { jvmtiCapabilities caps; - if (!NSK_VERIFY( - (jvmti = nsk_jvmti_createJVMTIEnv(vm, reserved)) != NULL - ) - ) + if (!NSK_VERIFY((jvmti = nsk_jvmti_createJVMTIEnv(vm, reserved)) != NULL)) return JNI_ERR; - if (!NSK_JVMTI_VERIFY(jvmti ->GetCapabilities (&caps) - ) - ) + if (!NSK_JVMTI_VERIFY(jvmti->GetCapabilities(&caps))) return JNI_ERR; // Register all necessary JVM capabilities caps.can_force_early_return = 1; caps.can_suspend = 1; - if (!NSK_JVMTI_VERIFY(jvmti ->AddCapabilities (&caps) - ) - ) + if (!NSK_JVMTI_VERIFY(jvmti->AddCapabilities(&caps))) return JNI_ERR; return JNI_OK; diff --git a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/GetThreadState/thrstat002/thrstat002.cpp b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/GetThreadState/thrstat002/thrstat002.cpp index a7bfea1143a..b9551aeb3f2 100644 --- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/GetThreadState/thrstat002/thrstat002.cpp +++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/GetThreadState/thrstat002/thrstat002.cpp @@ -245,8 +245,8 @@ Java_nsk_jvmti_GetThreadState_thrstat002_checkStatus(JNIEnv *env, jclass cls, return; } - printf( "START checkStatus for \"thr1\" (0x%p%s), check state: %s\n", - thr_ptr, suspStr, TranslateState(state[statInd]) ); + printf("START checkStatus for \"thr1\" (0x%p%s), check state: %s\n", + thr_ptr, suspStr, TranslateState(state[statInd])); timeout_is_reached = JNI_TRUE; for (millis = WAIT_START, waited_millis=0; millis < wait_time; millis <<= 1) { diff --git a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/GetThreadState/thrstat005/thrstat005.cpp b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/GetThreadState/thrstat005/thrstat005.cpp index a483c519b34..4514b356eb1 100644 --- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/GetThreadState/thrstat005/thrstat005.cpp +++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/GetThreadState/thrstat005/thrstat005.cpp @@ -101,13 +101,13 @@ jint Agent_Initialize(JavaVM *jvm, char *options, void *reserved) { jint res; res = jvm->GetEnv((void **) &g_ppJvmtiEnv, JVMTI_VERSION_1_1); - if ( res != JNI_OK || ! g_ppJvmtiEnv ) { + if (res != JNI_OK || !g_ppJvmtiEnv) { printf("Agent_OnLoad: Error: GetEnv returned error or NULL\n"); return JNI_ERR; } error = g_ppJvmtiEnv->CreateRawMonitor("beast", &g_waitMon); - if ( error != JVMTI_ERROR_NONE ) { + if (error != JVMTI_ERROR_NONE) { reportError("Agent_OnLoad: error creating raw monitor", error); return JNI_ERR; } @@ -139,21 +139,21 @@ Java_nsk_jvmti_GetThreadState_thrstat005_checkThreadState(JNIEnv * pEnv, jclass printf("GetThreadState = %x. Masked: %x. Must be: %x\n", thrState, maskedThrState, g_ThreadState[stateIdx]); fflush(stdout); - if ( maskedThrState == g_ThreadState[stateIdx] ) + if (maskedThrState == g_ThreadState[stateIdx]) return JNI_TRUE; printf("checkThreadState: wait %d ms\n", waitTime); fflush(stdout); - if ( (res = g_ppJvmtiEnv->RawMonitorEnter(g_waitMon)) != JVMTI_ERROR_NONE + if ((res = g_ppJvmtiEnv->RawMonitorEnter(g_waitMon)) != JVMTI_ERROR_NONE || (res = g_ppJvmtiEnv->RawMonitorWait(g_waitMon, waitTime)) != JVMTI_ERROR_NONE - || (res = g_ppJvmtiEnv->RawMonitorExit(g_waitMon)) != JVMTI_ERROR_NONE ) { + || (res = g_ppJvmtiEnv->RawMonitorExit(g_waitMon)) != JVMTI_ERROR_NONE) { reportError("GetThreadState: unexpected error", res); return JNI_FALSE; } waitTime <<= 1; - } while ( waitTime < g_waitTime ); + } while (waitTime < g_waitTime); return JNI_FALSE; } diff --git a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/IterateOverHeap/iterheap004/iterheap004.cpp b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/IterateOverHeap/iterheap004/iterheap004.cpp index 3450ad6705c..54eb590a962 100644 --- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/IterateOverHeap/iterheap004/iterheap004.cpp +++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/IterateOverHeap/iterheap004/iterheap004.cpp @@ -86,7 +86,7 @@ heapObjectCallbackForSecondIteration(jlong class_tag, long ind = (long)((*tag_ptr) - 1); - if (ind < 0 || ind > objectDescCount ) { + if (ind < 0 || ind > objectDescCount) { NSK_COMPLAIN1("heapObjectCallbackForSecondIteration: invalid object tag value: %d\n", (long)*tag_ptr); nsk_jvmti_setFailStatus(); callbackAborted = 1; diff --git a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/IterateOverHeap/iterheap006/iterheap006.cpp b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/IterateOverHeap/iterheap006/iterheap006.cpp index ec9bf6e9aa9..9e387542ca3 100644 --- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/IterateOverHeap/iterheap006/iterheap006.cpp +++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/IterateOverHeap/iterheap006/iterheap006.cpp @@ -46,7 +46,7 @@ heapObjectCallback(jlong class_tag, void* storage_data) { if (!NSK_JVMTI_VERIFY( - st_jvmti->SetEnvironmentLocalStorage(storage_data ))) { + st_jvmti->SetEnvironmentLocalStorage(storage_data))) { nsk_jvmti_setFailStatus(); } @@ -86,7 +86,7 @@ agentProc(jvmtiEnv* jvmti, JNIEnv* jni, void* arg) { if (strcmp(storage_data, (char *)storage_ptr) != 0) { NSK_COMPLAIN2("Local storage was corrupted: %s ,\n\texpected value: %s\n", - (char *)storage_ptr, storage_data ); + (char *)storage_ptr, storage_data); nsk_jvmti_setFailStatus(); } } diff --git a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/IterateOverHeap/iterheap007/iterheap007.cpp b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/IterateOverHeap/iterheap007/iterheap007.cpp index 3d818cd32ae..467fd6bc796 100644 --- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/IterateOverHeap/iterheap007/iterheap007.cpp +++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/IterateOverHeap/iterheap007/iterheap007.cpp @@ -45,8 +45,7 @@ heapObjectCallback(jlong class_tag, jlong* tag_ptr, void* user_data) { - if (!NSK_JVMTI_VERIFY( - st_jvmti->GetCurrentThreadCpuTimerInfo(&timer_info1 ))) { + if (!NSK_JVMTI_VERIFY(st_jvmti->GetCurrentThreadCpuTimerInfo(&timer_info1))) { nsk_jvmti_setFailStatus(); } /* Check the returned jvmtiTimerInfo structure */ @@ -64,14 +63,12 @@ heapObjectCallback(jlong class_tag, } /* ---------------------------------------------------------------------- */ - if (!NSK_JVMTI_VERIFY( - st_jvmti->GetCurrentThreadCpuTime(&nanos ))) { + if (!NSK_JVMTI_VERIFY(st_jvmti->GetCurrentThreadCpuTime(&nanos))) { nsk_jvmti_setFailStatus(); } /* ---------------------------------------------------------------------- */ - if (!NSK_JVMTI_VERIFY( - st_jvmti->GetTimerInfo(&timer_info2 ))) { + if (!NSK_JVMTI_VERIFY(st_jvmti->GetTimerInfo(&timer_info2))) { nsk_jvmti_setFailStatus(); } /* Check the returned jvmtiTimerInfo structure */ @@ -90,8 +87,7 @@ heapObjectCallback(jlong class_tag, /* ---------------------------------------------------------------------- */ nanos = 0; - if (!NSK_JVMTI_VERIFY( - st_jvmti->GetTime(&nanos ))) { + if (!NSK_JVMTI_VERIFY(st_jvmti->GetTime(&nanos))) { nsk_jvmti_setFailStatus(); } @@ -112,8 +108,8 @@ agentProc(jvmtiEnv* jvmti, JNIEnv* jni, void* arg) { { NSK_DISPLAY0("Calling IterateOverHeap with filter JVMTI_HEAP_OBJECT_EITHER\n"); { - if (!NSK_JVMTI_VERIFY( - jvmti->IterateOverHeap(JVMTI_HEAP_OBJECT_EITHER, heapObjectCallback, (void *)user_data))) { + if (!NSK_JVMTI_VERIFY(jvmti->IterateOverHeap( + JVMTI_HEAP_OBJECT_EITHER, heapObjectCallback, (void *)user_data))) { nsk_jvmti_setFailStatus(); } } @@ -159,8 +155,7 @@ jint Agent_Initialize(JavaVM *jvm, char *options, void *reserved) { caps.can_tag_objects = 1; caps.can_get_current_thread_cpu_time = 1; - if (!NSK_JVMTI_VERIFY( - jvmti->AddCapabilities(&caps))) { + if (!NSK_JVMTI_VERIFY(jvmti->AddCapabilities(&caps))) { return JNI_ERR; } } diff --git a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/IterateOverInstancesOfClass/iterinstcls006/iterinstcls006.cpp b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/IterateOverInstancesOfClass/iterinstcls006/iterinstcls006.cpp index e74db0cfeca..56868adb9b7 100644 --- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/IterateOverInstancesOfClass/iterinstcls006/iterinstcls006.cpp +++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/IterateOverInstancesOfClass/iterinstcls006/iterinstcls006.cpp @@ -90,13 +90,13 @@ agentProc(jvmtiEnv* jvmti, JNIEnv* jni, void* arg) { if (storage_data != storage_ptr) { NSK_COMPLAIN2("Local storage address was corrupted: %p ,\n\texpected value: %p\n", - storage_ptr, storage_data); + storage_ptr, storage_data); nsk_jvmti_setFailStatus(); } if (strcmp(storage_data, (char *)storage_ptr) != 0) { NSK_COMPLAIN2("Local storage was corrupted: %s ,\n\texpected value: %s\n", - (char *)storage_ptr, storage_data ); + (char *)storage_ptr, storage_data); nsk_jvmti_setFailStatus(); } } while (0); diff --git a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/IterateOverObjectsReachableFromObject/iterobjreachobj002/iterobjreachobj002.cpp b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/IterateOverObjectsReachableFromObject/iterobjreachobj002/iterobjreachobj002.cpp index 9ea087e0e9b..2bc628d73d2 100644 --- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/IterateOverObjectsReachableFromObject/iterobjreachobj002/iterobjreachobj002.cpp +++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/IterateOverObjectsReachableFromObject/iterobjreachobj002/iterobjreachobj002.cpp @@ -54,13 +54,13 @@ static ObjectDesc *objectDescBuf; /** jvmtiObjectReferenceCallback for first iteration. */ jvmtiIterationControl JNICALL -objectReferenceCallback1( jvmtiObjectReferenceKind reference_kind, - jlong class_tag, - jlong size, - jlong* tag_ptr, - jlong referrer_tag, - jint referrer_index, - void* user_data) { +objectReferenceCallback1(jvmtiObjectReferenceKind reference_kind, + jlong class_tag, + jlong size, + jlong* tag_ptr, + jlong referrer_tag, + jint referrer_index, + void* user_data) { objectCount++; /* Set tag */ @@ -80,13 +80,13 @@ objectReferenceCallback1( jvmtiObjectReferenceKind reference_kind, /** jvmtiObjectReferenceCallback for second iteration. */ jvmtiIterationControl JNICALL -objectReferenceCallback2( jvmtiObjectReferenceKind reference_kind, - jlong class_tag, - jlong size, - jlong* tag_ptr, - jlong referrer_tag, - jint referrer_index, - void* user_data) { +objectReferenceCallback2(jvmtiObjectReferenceKind reference_kind, + jlong class_tag, + jlong size, + jlong* tag_ptr, + jlong referrer_tag, + jint referrer_index, + void* user_data) { objectCount--; diff --git a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/IterateOverObjectsReachableFromObject/iterobjreachobj003/iterobjreachobj003.cpp b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/IterateOverObjectsReachableFromObject/iterobjreachobj003/iterobjreachobj003.cpp index dd9c5a94bb1..0bca38f4ada 100644 --- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/IterateOverObjectsReachableFromObject/iterobjreachobj003/iterobjreachobj003.cpp +++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/IterateOverObjectsReachableFromObject/iterobjreachobj003/iterobjreachobj003.cpp @@ -40,13 +40,13 @@ static const char* objectFieldName = "object"; /* ============================================================================= */ jvmtiIterationControl JNICALL -objectReferenceCallback( jvmtiObjectReferenceKind reference_kind, - jlong class_tag, - jlong size, - jlong* tag_ptr, - jlong referrer_tag, - jint referrer_index, - void* user_data) { +objectReferenceCallback(jvmtiObjectReferenceKind reference_kind, + jlong class_tag, + jlong size, + jlong* tag_ptr, + jlong referrer_tag, + jint referrer_index, + void* user_data) { const char* name = "monitorName"; jrawMonitorID monitor_ptr = NULL; diff --git a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/IterateOverObjectsReachableFromObject/iterobjreachobj004/iterobjreachobj004.cpp b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/IterateOverObjectsReachableFromObject/iterobjreachobj004/iterobjreachobj004.cpp index 344a1e14d05..d363e18c754 100644 --- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/IterateOverObjectsReachableFromObject/iterobjreachobj004/iterobjreachobj004.cpp +++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/IterateOverObjectsReachableFromObject/iterobjreachobj004/iterobjreachobj004.cpp @@ -42,13 +42,13 @@ static const char* objectFieldName = "object"; /* ============================================================================= */ jvmtiIterationControl JNICALL -objectReferenceCallback( jvmtiObjectReferenceKind reference_kind, - jlong class_tag, - jlong size, - jlong* tag_ptr, - jlong referrer_tag, - jint referrer_index, - void* user_data) { +objectReferenceCallback(jvmtiObjectReferenceKind reference_kind, + jlong class_tag, + jlong size, + jlong* tag_ptr, + jlong referrer_tag, + jint referrer_index, + void* user_data) { objCounter++; @@ -115,13 +115,13 @@ agentProc(jvmtiEnv* jvmti, JNIEnv* jni, void* arg) { if (storage_data != storage_ptr) { NSK_COMPLAIN2("Local storage address was corrupted: %p ,\n\texpected value: %p\n", - storage_ptr, storage_data); + storage_ptr, storage_data); nsk_jvmti_setFailStatus(); } if (strcmp(storage_data, (char *)storage_ptr) != 0) { NSK_COMPLAIN2("Local storage was corrupted: %s ,\n\texpected value: %s\n", - (char *)storage_ptr, storage_data ); + (char *)storage_ptr, storage_data); nsk_jvmti_setFailStatus(); } } while (0); diff --git a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/IterateOverObjectsReachableFromObject/iterobjreachobj005/iterobjreachobj005.cpp b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/IterateOverObjectsReachableFromObject/iterobjreachobj005/iterobjreachobj005.cpp index d49edd1b3e2..cbba7ba2902 100644 --- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/IterateOverObjectsReachableFromObject/iterobjreachobj005/iterobjreachobj005.cpp +++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/IterateOverObjectsReachableFromObject/iterobjreachobj005/iterobjreachobj005.cpp @@ -42,13 +42,13 @@ static const char* objectFieldName = "object"; /* ============================================================================= */ jvmtiIterationControl JNICALL -objectReferenceCallback( jvmtiObjectReferenceKind reference_kind, - jlong class_tag, - jlong size, - jlong* tag_ptr, - jlong referrer_tag, - jint referrer_index, - void* user_data) { +objectReferenceCallback(jvmtiObjectReferenceKind reference_kind, + jlong class_tag, + jlong size, + jlong* tag_ptr, + jlong referrer_tag, + jint referrer_index, + void* user_data) { objCounter++; diff --git a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/IterateOverReachableObjects/iterreachobj002/iterreachobj002.cpp b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/IterateOverReachableObjects/iterreachobj002/iterreachobj002.cpp index d904150488d..f732196a778 100644 --- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/IterateOverReachableObjects/iterreachobj002/iterreachobj002.cpp +++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/IterateOverReachableObjects/iterreachobj002/iterreachobj002.cpp @@ -64,11 +64,11 @@ ObjectFree(jvmtiEnv *jvmti_env, jlong tag) { /** jvmtiHeapRootCallback for first iteration. */ jvmtiIterationControl JNICALL -heapRootCallbackForFirstObjectsIteration( jvmtiHeapRootKind root_kind, - jlong class_tag, - jlong size, - jlong* tag_ptr, - void* user_data) { +heapRootCallbackForFirstObjectsIteration(jvmtiHeapRootKind root_kind, + jlong class_tag, + jlong size, + jlong* tag_ptr, + void* user_data) { if (*tag_ptr != 0) return JVMTI_ITERATION_CONTINUE; @@ -94,11 +94,11 @@ heapRootCallbackForFirstObjectsIteration( jvmtiHeapRootKind root_kind, /** jvmtiHeapRootCallback for second iteration. */ jvmtiIterationControl JNICALL -heapRootCallbackForSecondObjectsIteration( jvmtiHeapRootKind root_kind, - jlong class_tag, - jlong size, - jlong* tag_ptr, - void* user_data) { +heapRootCallbackForSecondObjectsIteration(jvmtiHeapRootKind root_kind, + jlong class_tag, + jlong size, + jlong* tag_ptr, + void* user_data) { long ind = (long)((*tag_ptr) - 1); @@ -108,7 +108,7 @@ heapRootCallbackForSecondObjectsIteration( jvmtiHeapRootKind root_kind, ObjectDesc *objectDesc = objectDescArr[ind]; jlong tag = (*objectDesc).tag; */ - if (ind < 0 || ind > objectCountMax ) { + if (ind < 0 || ind > objectCountMax) { NSK_COMPLAIN1("heapRootCallbackForSecondObjectsIteration: invalid object tag value: %d\n", (long)*tag_ptr); nsk_jvmti_setFailStatus(); callbackAborted = 1; @@ -138,15 +138,15 @@ heapRootCallbackForSecondObjectsIteration( jvmtiHeapRootKind root_kind, /** jvmtiStackReferenceCallback for first iteration. */ jvmtiIterationControl JNICALL -stackReferenceCallbackForFirstObjectsIteration( jvmtiHeapRootKind root_kind, - jlong class_tag, - jlong size, - jlong* tag_ptr, - jlong thread_tag, - jint depth, - jmethodID method, - jint slot, - void* user_data) { +stackReferenceCallbackForFirstObjectsIteration(jvmtiHeapRootKind root_kind, + jlong class_tag, + jlong size, + jlong* tag_ptr, + jlong thread_tag, + jint depth, + jmethodID method, + jint slot, + void* user_data) { if (*tag_ptr != 0) return JVMTI_ITERATION_CONTINUE; @@ -172,15 +172,15 @@ stackReferenceCallbackForFirstObjectsIteration( jvmtiHeapRootKind root_kind, /** jvmtiStackReferenceCallback for second iteration. */ jvmtiIterationControl JNICALL -stackReferenceCallbackForSecondObjectsIteration( jvmtiHeapRootKind root_kind, - jlong class_tag, - jlong size, - jlong* tag_ptr, - jlong thread_tag, - jint depth, - jmethodID method, - jint slot, - void* user_data) { +stackReferenceCallbackForSecondObjectsIteration(jvmtiHeapRootKind root_kind, + jlong class_tag, + jlong size, + jlong* tag_ptr, + jlong thread_tag, + jint depth, + jmethodID method, + jint slot, + void* user_data) { long ind = (long)((*tag_ptr) - 1); @@ -190,7 +190,7 @@ stackReferenceCallbackForSecondObjectsIteration( jvmtiHeapRootKind root_kind, ObjectDesc *objectDesc = objectDescArr[ind]; jlong tag = (*objectDesc).tag; */ - if (ind < 0 || ind > objectCountMax ) { + if (ind < 0 || ind > objectCountMax) { NSK_COMPLAIN1("stackReferenceCallbackForSecondObjectsIteration: invalid object tag value: %d\n", (long)*tag_ptr); nsk_jvmti_setFailStatus(); callbackAborted = 1; @@ -220,13 +220,13 @@ stackReferenceCallbackForSecondObjectsIteration( jvmtiHeapRootKind root_kind, /** jvmtiObjectReferenceCallback for first iteration. */ jvmtiIterationControl JNICALL -objectReferenceCallbackForFirstObjectsIteration( jvmtiObjectReferenceKind reference_kind, - jlong class_tag, - jlong size, - jlong* tag_ptr, - jlong referrer_tag, - jint referrer_index, - void* user_data) { +objectReferenceCallbackForFirstObjectsIteration(jvmtiObjectReferenceKind reference_kind, + jlong class_tag, + jlong size, + jlong* tag_ptr, + jlong referrer_tag, + jint referrer_index, + void* user_data) { if (*tag_ptr != 0) return JVMTI_ITERATION_CONTINUE; @@ -252,13 +252,13 @@ objectReferenceCallbackForFirstObjectsIteration( jvmtiObjectReferenceKind refere /** jvmtiObjectReferenceCallback for second iteration. */ jvmtiIterationControl JNICALL -objectReferenceCallbackForSecondObjectsIteration( jvmtiObjectReferenceKind reference_kind, - jlong class_tag, - jlong size, - jlong* tag_ptr, - jlong referrer_tag, - jint referrer_index, - void* user_data) { +objectReferenceCallbackForSecondObjectsIteration(jvmtiObjectReferenceKind reference_kind, + jlong class_tag, + jlong size, + jlong* tag_ptr, + jlong referrer_tag, + jint referrer_index, + void* user_data) { long ind = (long)((*tag_ptr) - 1); @@ -268,7 +268,7 @@ objectReferenceCallbackForSecondObjectsIteration( jvmtiObjectReferenceKind refer ObjectDesc *objectDesc = objectDescArr[ind]; jlong tag = (*objectDesc).tag; */ - if (ind < 0 || ind > objectCountMax ) { + if (ind < 0 || ind > objectCountMax) { NSK_COMPLAIN1("objectReferenceCallbackForSecondObjectsIteration: invalid object tag value: %d\n", (long)*tag_ptr); nsk_jvmti_setFailStatus(); callbackAborted = 1; diff --git a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/IterateOverReachableObjects/iterreachobj003/iterreachobj003.cpp b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/IterateOverReachableObjects/iterreachobj003/iterreachobj003.cpp index 2c67e8a7044..2f8ba14ad66 100644 --- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/IterateOverReachableObjects/iterreachobj003/iterreachobj003.cpp +++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/IterateOverReachableObjects/iterreachobj003/iterreachobj003.cpp @@ -44,11 +44,11 @@ static jvmtiEnv* st_jvmti = NULL; /* jvmtiHeapRootCallback */ jvmtiIterationControl JNICALL -heapRootCallback( jvmtiHeapRootKind root_kind, - jlong class_tag, - jlong size, - jlong* tag_ptr, - void* user_data) { +heapRootCallback(jvmtiHeapRootKind root_kind, + jlong class_tag, + jlong size, + jlong* tag_ptr, + void* user_data) { jrawMonitorID monitor_ptr = NULL; @@ -104,15 +104,15 @@ heapRootCallback( jvmtiHeapRootKind root_kind, /* jvmtiStackReferenceCallback */ jvmtiIterationControl JNICALL -stackReferenceCallback( jvmtiHeapRootKind root_kind, - jlong class_tag, - jlong size, - jlong* tag_ptr, - jlong thread_tag, - jint depth, - jmethodID method, - jint slot, - void* user_data) { +stackReferenceCallback(jvmtiHeapRootKind root_kind, + jlong class_tag, + jlong size, + jlong* tag_ptr, + jlong thread_tag, + jint depth, + jmethodID method, + jint slot, + void* user_data) { jrawMonitorID monitor_ptr = NULL; @@ -169,13 +169,13 @@ stackReferenceCallback( jvmtiHeapRootKind root_kind, /* jvmtiObjectReferenceCallback */ jvmtiIterationControl JNICALL -objectReferenceCallback( jvmtiObjectReferenceKind reference_kind, - jlong class_tag, - jlong size, - jlong* tag_ptr, - jlong referrer_tag, - jint referrer_index, - void* user_data) { +objectReferenceCallback(jvmtiObjectReferenceKind reference_kind, + jlong class_tag, + jlong size, + jlong* tag_ptr, + jlong referrer_tag, + jint referrer_index, + void* user_data) { jrawMonitorID monitor_ptr = NULL; diff --git a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/IterateOverReachableObjects/iterreachobj004/iterreachobj004.cpp b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/IterateOverReachableObjects/iterreachobj004/iterreachobj004.cpp index 99a20befcc2..6557dbf9d5b 100644 --- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/IterateOverReachableObjects/iterreachobj004/iterreachobj004.cpp +++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/IterateOverReachableObjects/iterreachobj004/iterreachobj004.cpp @@ -46,11 +46,11 @@ static void *storage_ptr = NULL; /* jvmtiHeapRootCallback */ jvmtiIterationControl JNICALL -heapRootCallback( jvmtiHeapRootKind root_kind, - jlong class_tag, - jlong size, - jlong* tag_ptr, - void* user_data) { +heapRootCallback(jvmtiHeapRootKind root_kind, + jlong class_tag, + jlong size, + jlong* tag_ptr, + void* user_data) { *tag_ptr = (jlong)++objCounter; @@ -66,14 +66,14 @@ heapRootCallback( jvmtiHeapRootKind root_kind, if (storage_data != storage_ptr) { NSK_COMPLAIN2("heapRootCallback: Local storage address was corrupted: %p ,\n\texpected value: %p\n", - storage_ptr, storage_data); + storage_ptr, storage_data); nsk_jvmti_setFailStatus(); return JVMTI_ITERATION_ABORT; } if (strcmp(storage_data, (char *)storage_ptr) != 0) { NSK_COMPLAIN2("heapRootCallback: Local storage was corrupted: %s ,\n\texpected value: %s\n", - (char *)storage_ptr, storage_data ); + (char *)storage_ptr, storage_data); nsk_jvmti_setFailStatus(); return JVMTI_ITERATION_ABORT; } @@ -86,15 +86,15 @@ heapRootCallback( jvmtiHeapRootKind root_kind, /* jvmtiStackReferenceCallback */ jvmtiIterationControl JNICALL -stackReferenceCallback( jvmtiHeapRootKind root_kind, - jlong class_tag, - jlong size, - jlong* tag_ptr, - jlong thread_tag, - jint depth, - jmethodID method, - jint slot, - void* user_data) { +stackReferenceCallback(jvmtiHeapRootKind root_kind, + jlong class_tag, + jlong size, + jlong* tag_ptr, + jlong thread_tag, + jint depth, + jmethodID method, + jint slot, + void* user_data) { *tag_ptr = (jlong)++objCounter; @@ -110,14 +110,14 @@ stackReferenceCallback( jvmtiHeapRootKind root_kind, if (storage_data != storage_ptr) { NSK_COMPLAIN2("stackReferenceCallback: Local storage address was corrupted: %p ,\n\texpected value: %p\n", - storage_ptr, storage_data); + storage_ptr, storage_data); nsk_jvmti_setFailStatus(); return JVMTI_ITERATION_ABORT; } if (strcmp(storage_data, (char *)storage_ptr) != 0) { NSK_COMPLAIN2("stackReferenceCallback: Local storage was corrupted: %s ,\n\texpected value: %s\n", - (char *)storage_ptr, storage_data ); + (char *)storage_ptr, storage_data); nsk_jvmti_setFailStatus(); return JVMTI_ITERATION_ABORT; } @@ -131,13 +131,13 @@ stackReferenceCallback( jvmtiHeapRootKind root_kind, /* jvmtiObjectReferenceCallback */ jvmtiIterationControl JNICALL -objectReferenceCallback( jvmtiObjectReferenceKind reference_kind, - jlong class_tag, - jlong size, - jlong* tag_ptr, - jlong referrer_tag, - jint referrer_index, - void* user_data) { +objectReferenceCallback(jvmtiObjectReferenceKind reference_kind, + jlong class_tag, + jlong size, + jlong* tag_ptr, + jlong referrer_tag, + jint referrer_index, + void* user_data) { *tag_ptr = (jlong)++objCounter; @@ -153,14 +153,14 @@ objectReferenceCallback( jvmtiObjectReferenceKind reference_kind, if (storage_data != storage_ptr) { NSK_COMPLAIN2("objectReferenceCallback: Local storage address was corrupted: %p ,\n\texpected value: %p\n", - storage_ptr, storage_data); + storage_ptr, storage_data); nsk_jvmti_setFailStatus(); return JVMTI_ITERATION_ABORT; } if (strcmp(storage_data, (char *)storage_ptr) != 0) { NSK_COMPLAIN2("objectReferenceCallback: Local storage was corrupted: %s ,\n\texpected value: %s\n", - (char *)storage_ptr, storage_data ); + (char *)storage_ptr, storage_data); nsk_jvmti_setFailStatus(); return JVMTI_ITERATION_ABORT; } diff --git a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/IterateOverReachableObjects/iterreachobj005/iterreachobj005.cpp b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/IterateOverReachableObjects/iterreachobj005/iterreachobj005.cpp index ec10be7e443..27137426b19 100644 --- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/IterateOverReachableObjects/iterreachobj005/iterreachobj005.cpp +++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/IterateOverReachableObjects/iterreachobj005/iterreachobj005.cpp @@ -43,11 +43,11 @@ static jvmtiTimerInfo timer_info1, timer_info2; /* jvmtiHeapRootCallback */ jvmtiIterationControl JNICALL -heapRootCallback( jvmtiHeapRootKind root_kind, - jlong class_tag, - jlong size, - jlong* tag_ptr, - void* user_data) { +heapRootCallback(jvmtiHeapRootKind root_kind, + jlong class_tag, + jlong size, + jlong* tag_ptr, + void* user_data) { *tag_ptr = (jlong)++objCounter; @@ -108,15 +108,15 @@ heapRootCallback( jvmtiHeapRootKind root_kind, /* jvmtiStackReferenceCallback */ jvmtiIterationControl JNICALL -stackReferenceCallback( jvmtiHeapRootKind root_kind, - jlong class_tag, - jlong size, - jlong* tag_ptr, - jlong thread_tag, - jint depth, - jmethodID method, - jint slot, - void* user_data) { +stackReferenceCallback(jvmtiHeapRootKind root_kind, + jlong class_tag, + jlong size, + jlong* tag_ptr, + jlong thread_tag, + jint depth, + jmethodID method, + jint slot, + void* user_data) { *tag_ptr = (jlong)++objCounter; @@ -178,13 +178,13 @@ stackReferenceCallback( jvmtiHeapRootKind root_kind, /* jvmtiObjectReferenceCallback */ jvmtiIterationControl JNICALL -objectReferenceCallback( jvmtiObjectReferenceKind reference_kind, - jlong class_tag, - jlong size, - jlong* tag_ptr, - jlong referrer_tag, - jint referrer_index, - void* user_data) { +objectReferenceCallback(jvmtiObjectReferenceKind reference_kind, + jlong class_tag, + jlong size, + jlong* tag_ptr, + jlong referrer_tag, + jint referrer_index, + void* user_data) { *tag_ptr = (jlong)++objCounter; diff --git a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/ResourceExhausted/resexhausted.cpp b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/ResourceExhausted/resexhausted.cpp index ecc47dcc239..c6e795837e6 100644 --- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/ResourceExhausted/resexhausted.cpp +++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/ResourceExhausted/resexhausted.cpp @@ -77,26 +77,26 @@ jint Agent_Initialize(JavaVM *vm, char *options, void *reserved) jvmtiEventCallbacks callbacks; jvmtiCapabilities capabilities; - if ( ! NSK_VERIFY(nsk_jvmti_parseOptions(options))) + if (!NSK_VERIFY(nsk_jvmti_parseOptions(options))) return JNI_ERR; - if ( ! NSK_VERIFY((gJvmti = nsk_jvmti_createJVMTIEnv(vm, reserved)) != NULL) ) + if (!NSK_VERIFY((gJvmti = nsk_jvmti_createJVMTIEnv(vm, reserved)) != NULL)) return JNI_ERR; memset(&capabilities, 0, sizeof(jvmtiCapabilities)); capabilities.can_generate_resource_exhaustion_heap_events = 1; capabilities.can_generate_resource_exhaustion_threads_events = 1; - if ( ! NSK_JVMTI_VERIFY(gJvmti->AddCapabilities(&capabilities)) ) + if (!NSK_JVMTI_VERIFY(gJvmti->AddCapabilities(&capabilities))) return JNI_ERR; memset((void *)&callbacks, 0, sizeof(jvmtiEventCallbacks)); callbacks.ResourceExhausted = resourceExhausted; - if ( ! NSK_JVMTI_VERIFY(gJvmti->SetEventCallbacks(&callbacks, sizeof(callbacks))) ) + if (!NSK_JVMTI_VERIFY(gJvmti->SetEventCallbacks(&callbacks, sizeof(callbacks)))) return JNI_ERR; - if ( ! NSK_JVMTI_VERIFY(gJvmti->SetEventNotificationMode(JVMTI_ENABLE, - JVMTI_EVENT_RESOURCE_EXHAUSTED, - NULL) ) ) + if (!NSK_JVMTI_VERIFY(gJvmti->SetEventNotificationMode(JVMTI_ENABLE, + JVMTI_EVENT_RESOURCE_EXHAUSTED, + NULL))) return JNI_ERR; return JNI_OK; diff --git a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/ResumeThreadList/resumethrdlst002/resumethrdlst002.cpp b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/ResumeThreadList/resumethrdlst002/resumethrdlst002.cpp index 0aa26616579..36caf52c147 100644 --- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/ResumeThreadList/resumethrdlst002/resumethrdlst002.cpp +++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/ResumeThreadList/resumethrdlst002/resumethrdlst002.cpp @@ -250,7 +250,7 @@ callbackThreadEnd(jvmtiEnv* jvmti, JNIEnv* jni, jthread thread) { int i = 0; jvmtiError e = jvmti->RawMonitorEnter(eventsReceivedMtx); - if ( !NSK_JVMTI_VERIFY(e) ) { + if (!NSK_JVMTI_VERIFY(e)) { NSK_DISPLAY1(" ... ERROR entering raw monitor for thread %p\n", (void *) thread); return; } @@ -323,7 +323,7 @@ jint Agent_Initialize(JavaVM *jvm, char *options, void *reserved) { /* create a mutex for the eventsReceived variable */ { - if ( ! NSK_JVMTI_VERIFY(jvmti->CreateRawMonitor("eventsReceived", &eventsReceivedMtx))) { + if (!NSK_JVMTI_VERIFY(jvmti->CreateRawMonitor("eventsReceived", &eventsReceivedMtx))) { return JNI_ERR; } } diff --git a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/SetExtensionEventCallback/setextevent001/setextevent001.cpp b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/SetExtensionEventCallback/setextevent001/setextevent001.cpp index 722e529ac72..9088e6047f2 100644 --- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/SetExtensionEventCallback/setextevent001/setextevent001.cpp +++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/SetExtensionEventCallback/setextevent001/setextevent001.cpp @@ -36,7 +36,7 @@ static jlong timeout = 0; /* ============================================================================= */ static void JNICALL -callbackExtensionEvent(jvmtiEnv* jvmti, ... ) { +callbackExtensionEvent(jvmtiEnv* jvmti, ...) { NSK_DISPLAY0(" event: callbackExtensionEvent\n"); } diff --git a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/SetLocalVariable/setlocal001/setlocal001.cpp b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/SetLocalVariable/setlocal001/setlocal001.cpp index 64d0a3787bb..2616951f029 100644 --- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/SetLocalVariable/setlocal001/setlocal001.cpp +++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/SetLocalVariable/setlocal001/setlocal001.cpp @@ -258,7 +258,7 @@ jint Agent_Initialize(JavaVM *jvm, char *options, void *reserved) { jvmtiError err; res = jvm->GetEnv((void **) &jvmti, JVMTI_VERSION_1_1); - if ( res != JNI_OK || jvmti == NULL ) { + if (res != JNI_OK || jvmti == NULL) { printf("Wrong result of a valid call to GetEnv !\n"); return JNI_ERR; } diff --git a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/SetVerboseFlag/setvrbflag001/setvrbflag001.cpp b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/SetVerboseFlag/setvrbflag001/setvrbflag001.cpp index 1e4fae7f7f5..bc254115f5d 100644 --- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/SetVerboseFlag/setvrbflag001/setvrbflag001.cpp +++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/SetVerboseFlag/setvrbflag001/setvrbflag001.cpp @@ -43,36 +43,28 @@ static jvmtiPhase phase; /* Check SetVerboseFlag function */ static int checkSetVerboseFlag(jvmtiEnv *jvmti) { - if (!NSK_JVMTI_VERIFY( - NSK_CPP_STUB3(SetVerboseFlag, jvmti, JVMTI_VERBOSE_OTHER, JNI_TRUE))) + if (!NSK_JVMTI_VERIFY(jvmti->SetVerboseFlag(JVMTI_VERBOSE_OTHER, JNI_TRUE))) return NSK_FALSE; - if (!NSK_JVMTI_VERIFY( - NSK_CPP_STUB3(SetVerboseFlag, jvmti, JVMTI_VERBOSE_OTHER, JNI_FALSE))) + if (!NSK_JVMTI_VERIFY(jvmti->SetVerboseFlag(JVMTI_VERBOSE_OTHER, JNI_FALSE))) return NSK_FALSE; - if (!NSK_JVMTI_VERIFY( - NSK_CPP_STUB3(SetVerboseFlag, jvmti, JVMTI_VERBOSE_GC, JNI_TRUE))) + if (!NSK_JVMTI_VERIFY(jvmti->SetVerboseFlag(JVMTI_VERBOSE_GC, JNI_TRUE))) return NSK_FALSE; - if (!NSK_JVMTI_VERIFY( - NSK_CPP_STUB3(SetVerboseFlag, jvmti, JVMTI_VERBOSE_GC, JNI_FALSE))) + if (!NSK_JVMTI_VERIFY(jvmti->SetVerboseFlag(JVMTI_VERBOSE_GC, JNI_FALSE))) return NSK_FALSE; - if (!NSK_JVMTI_VERIFY( - NSK_CPP_STUB3(SetVerboseFlag, jvmti, JVMTI_VERBOSE_CLASS, JNI_TRUE))) + if (!NSK_JVMTI_VERIFY(jvmti->SetVerboseFlag(JVMTI_VERBOSE_CLASS, JNI_TRUE))) return NSK_FALSE; - if (!NSK_JVMTI_VERIFY( - NSK_CPP_STUB3(SetVerboseFlag, jvmti, JVMTI_VERBOSE_CLASS, JNI_FALSE))) + if (!NSK_JVMTI_VERIFY(jvmti->SetVerboseFlag(JVMTI_VERBOSE_CLASS, JNI_FALSE))) return NSK_FALSE; - if (!NSK_JVMTI_VERIFY( - NSK_CPP_STUB3(SetVerboseFlag, jvmti, JVMTI_VERBOSE_JNI, JNI_TRUE))) + if (!NSK_JVMTI_VERIFY(jvmti->SetVerboseFlag(JVMTI_VERBOSE_JNI, JNI_TRUE))) return NSK_FALSE; - if (!NSK_JVMTI_VERIFY( - NSK_CPP_STUB3(SetVerboseFlag, jvmti, JVMTI_VERBOSE_JNI, JNI_FALSE))) + if (!NSK_JVMTI_VERIFY(jvmti->SetVerboseFlag(JVMTI_VERBOSE_JNI, JNI_FALSE))) return NSK_FALSE; return NSK_TRUE; @@ -83,7 +75,7 @@ static int checkSetVerboseFlag(jvmtiEnv *jvmti) { void JNICALL VMInit(jvmtiEnv *jvmti, JNIEnv* jni, jthread thread) { - if (!NSK_JVMTI_VERIFY(NSK_CPP_STUB2(GetPhase, jvmti, &phase))) + if (!NSK_JVMTI_VERIFY(jvmti->GetPhase(&phase))) nsk_jvmti_setFailStatus(); NSK_DISPLAY1("Phase: %s\n", TranslatePhase(phase)); @@ -105,10 +97,10 @@ ClassFileLoadHook(jvmtiEnv *jvmti, JNIEnv *jni, unsigned char** new_class_data) { jvmtiPhase curr_phase; - if (!NSK_JVMTI_VERIFY(NSK_CPP_STUB2(RawMonitorEnter, jvmti, access_lock))) + if (!NSK_JVMTI_VERIFY(jvmti->RawMonitorEnter(access_lock))) nsk_jvmti_setFailStatus(); - if (!NSK_JVMTI_VERIFY(NSK_CPP_STUB2(GetPhase, jvmti, &curr_phase))) + if (!NSK_JVMTI_VERIFY(jvmti->GetPhase(&curr_phase))) nsk_jvmti_setFailStatus(); if (phase != curr_phase) { @@ -121,7 +113,7 @@ ClassFileLoadHook(jvmtiEnv *jvmti, JNIEnv *jni, nsk_jvmti_setFailStatus(); } - if (!NSK_JVMTI_VERIFY(NSK_CPP_STUB2(RawMonitorExit, jvmti, access_lock))) + if (!NSK_JVMTI_VERIFY(jvmti->RawMonitorExit(access_lock))) nsk_jvmti_setFailStatus(); } @@ -135,7 +127,7 @@ agentProc(jvmtiEnv *jvmti, JNIEnv* jni, void* arg) { if (!nsk_jvmti_waitForSync(timeout)) return; - if (!NSK_JVMTI_VERIFY(NSK_CPP_STUB2(GetPhase, jvmti, &phase))) + if (!NSK_JVMTI_VERIFY(jvmti->GetPhase(&phase))) nsk_jvmti_setFailStatus(); NSK_DISPLAY1("Phase: %s\n", TranslatePhase(phase)); @@ -181,12 +173,10 @@ jint Agent_Initialize(JavaVM *jvm, char *options, void *reserved) { return JNI_ERR; /* Create data access lock */ - if (!NSK_JVMTI_VERIFY( - NSK_CPP_STUB3(CreateRawMonitor, jvmti, - "_access_lock", &access_lock))) + if (!NSK_JVMTI_VERIFY(jvmti->CreateRawMonitor("_access_lock", &access_lock))) return JNI_ERR; - if (!NSK_JVMTI_VERIFY(NSK_CPP_STUB2(GetPhase, jvmti, &phase))) + if (!NSK_JVMTI_VERIFY(jvmti->GetPhase(&phase))) return JNI_ERR; NSK_DISPLAY1("Phase: %s\n", TranslatePhase(phase)); @@ -199,21 +189,17 @@ jint Agent_Initialize(JavaVM *jvm, char *options, void *reserved) { memset(&callbacks, 0, sizeof(callbacks)); callbacks.VMInit = &VMInit; callbacks.ClassFileLoadHook = &ClassFileLoadHook; - if (!NSK_JVMTI_VERIFY( - NSK_CPP_STUB3(SetEventCallbacks, jvmti, - &callbacks, sizeof(callbacks)))) + if (!NSK_JVMTI_VERIFY(jvmti->SetEventCallbacks(&callbacks, sizeof(callbacks)))) return JNI_ERR; /* enable VMInit event */ if (!NSK_JVMTI_VERIFY( - NSK_CPP_STUB4(SetEventNotificationMode, jvmti, JVMTI_ENABLE, - JVMTI_EVENT_VM_INIT, NULL))) + jvmti->SetEventNotificationMode(JVMTI_ENABLE, JVMTI_EVENT_VM_INIT, NULL))) return JNI_ERR; /* enable ClassFileLoadHook event */ if (!NSK_JVMTI_VERIFY( - NSK_CPP_STUB4(SetEventNotificationMode, jvmti, JVMTI_ENABLE, - JVMTI_EVENT_CLASS_FILE_LOAD_HOOK, NULL))) + jvmti->SetEventNotificationMode(JVMTI_ENABLE, JVMTI_EVENT_CLASS_FILE_LOAD_HOOK, NULL))) return JNI_ERR; /* register agent proc and arg */ diff --git a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/SetVerboseFlag/setvrbflag002/setvrbflag002.cpp b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/SetVerboseFlag/setvrbflag002/setvrbflag002.cpp index de4085a95c4..8e43f0cb58b 100644 --- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/SetVerboseFlag/setvrbflag002/setvrbflag002.cpp +++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/SetVerboseFlag/setvrbflag002/setvrbflag002.cpp @@ -47,8 +47,7 @@ agentProc(jvmtiEnv *jvmti, JNIEnv* jni, void* arg) { NSK_DISPLAY0("Check on JVMTI_ERROR_ILLEGAL_ARGUMENT\n"); if (!NSK_JVMTI_VERIFY_CODE(JVMTI_ERROR_ILLEGAL_ARGUMENT, - NSK_CPP_STUB3(SetVerboseFlag, jvmti, - (jvmtiVerboseFlag)(-1), JNI_TRUE))) + jvmti->SetVerboseFlag((jvmtiVerboseFlag)(-1), JNI_TRUE))) nsk_jvmti_setFailStatus(); /* resume debugee after last sync */ diff --git a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/SingleStep/singlestep001/singlestep001.cpp b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/SingleStep/singlestep001/singlestep001.cpp index e79c78b32c4..40300f989a2 100644 --- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/SingleStep/singlestep001/singlestep001.cpp +++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/SingleStep/singlestep001/singlestep001.cpp @@ -63,15 +63,11 @@ static jrawMonitorID agent_lock; static void setBP(jvmtiEnv *jvmti_env, JNIEnv *env, jclass klass) { jmethodID mid; - if (!NSK_JNI_VERIFY(env, (mid = NSK_CPP_STUB4(GetMethodID, - env, klass, METHODS[0], METHOD_SIGS[0])) != NULL)) - NSK_CPP_STUB2(FatalError, env, - "failed to get ID for the java method\n"); + if (!NSK_JNI_VERIFY(env, (mid = env->GetMethodID(klass, METHODS[0], METHOD_SIGS[0])) != NULL)) + env->FatalError("failed to get ID for the java method\n"); - if (!NSK_JVMTI_VERIFY(NSK_CPP_STUB3(SetBreakpoint, - jvmti_env, mid, 0))) - NSK_CPP_STUB2(FatalError, env, - "failed to set breakpoint\n"); + if (!NSK_JVMTI_VERIFY(jvmti_env->SetBreakpoint(mid, 0))) + env->FatalError("failed to set breakpoint\n"); } /** callback functions **/ @@ -82,10 +78,8 @@ ClassLoad(jvmtiEnv *jvmti_env, JNIEnv *env, jthread thread, jclass klass) { jvmti->RawMonitorEnter(agent_lock); if (vm_started) { - if (!NSK_JVMTI_VERIFY(NSK_CPP_STUB4(GetClassSignature, - jvmti_env, klass, &sig, &generic))) - NSK_CPP_STUB2(FatalError, env, - "failed to obtain a class signature\n"); + if (!NSK_JVMTI_VERIFY(jvmti_env->GetClassSignature(klass, &sig, &generic))) + env->FatalError("failed to obtain a class signature\n"); if (sig != NULL && (strcmp(sig, CLASS_SIG) == 0)) { NSK_DISPLAY1( @@ -106,20 +100,16 @@ Breakpoint(jvmtiEnv *jvmti_env, JNIEnv *env, jthread thr, jmethodID method, char *sig, *generic; NSK_DISPLAY0("Breakpoint event received\n"); - if (!NSK_JVMTI_VERIFY(NSK_CPP_STUB3(GetMethodDeclaringClass, - jvmti_env, method, &klass))) + if (!NSK_JVMTI_VERIFY(jvmti_env->GetMethodDeclaringClass(method, &klass))) NSK_COMPLAIN0("TEST FAILURE: unable to get method declaring class\n\n"); - if (!NSK_JVMTI_VERIFY(NSK_CPP_STUB4(GetClassSignature, - jvmti_env, klass, &sig, &generic))) - NSK_CPP_STUB2(FatalError, env, - "Breakpoint: failed to obtain a class signature\n"); + if (!NSK_JVMTI_VERIFY(jvmti_env->GetClassSignature(klass, &sig, &generic))) + env->FatalError("Breakpoint: failed to obtain a class signature\n"); if (sig != NULL && (strcmp(sig, CLASS_SIG) == 0)) { NSK_DISPLAY1("method declaring class \"%s\"\n\tenabling SingleStep events ...\n", sig); - if (!NSK_JVMTI_VERIFY(NSK_CPP_STUB4(SetEventNotificationMode, - jvmti_env, JVMTI_ENABLE, JVMTI_EVENT_SINGLE_STEP, thr))) { + if (!NSK_JVMTI_VERIFY(jvmti_env->SetEventNotificationMode(JVMTI_ENABLE, JVMTI_EVENT_SINGLE_STEP, thr))) { result = STATUS_FAILED; NSK_COMPLAIN0("TEST FAILURE: cannot enable SingleStep events\n\n"); } @@ -142,20 +132,17 @@ SingleStep(jvmtiEnv *jvmti_env, JNIEnv* jni_env, jthread thread, NSK_DISPLAY0(">>>> SingleStep event received\n"); - if (!NSK_JVMTI_VERIFY(NSK_CPP_STUB5(GetMethodName, - jvmti_env, method, &methNam, &methSig, NULL))) { + if (!NSK_JVMTI_VERIFY(jvmti_env->GetMethodName(method, &methNam, &methSig, NULL))) { result = STATUS_FAILED; NSK_COMPLAIN0("TEST FAILED: unable to get method name during SingleStep callback\n\n"); return; } - if (!NSK_JVMTI_VERIFY(NSK_CPP_STUB3(GetMethodDeclaringClass, - jvmti_env, method, &klass))) { + if (!NSK_JVMTI_VERIFY(jvmti_env->GetMethodDeclaringClass(method, &klass))) { result = STATUS_FAILED; NSK_COMPLAIN0("TEST FAILED: unable to get method declaring class during SingleStep callback\n\n"); return; } - if (!NSK_JVMTI_VERIFY(NSK_CPP_STUB4(GetClassSignature, - jvmti_env, klass, &sig, &generic))) { + if (!NSK_JVMTI_VERIFY(jvmti_env->GetClassSignature(klass, &sig, &generic))) { result = STATUS_FAILED; NSK_COMPLAIN0("TEST FAILED: unable to obtain a class signature during SingleStep callback\n\n"); return; @@ -187,21 +174,18 @@ SingleStep(jvmtiEnv *jvmti_env, JNIEnv* jni_env, jthread thread, "CHECK PASSED: SingleStep event received for the method \"%s\" as expected\n" "\tdisabling the event generation\n", methNam); - if (!NSK_JVMTI_VERIFY(NSK_CPP_STUB4(SetEventNotificationMode, - jvmti_env, JVMTI_DISABLE, JVMTI_EVENT_SINGLE_STEP, thread))) { + if (!NSK_JVMTI_VERIFY(jvmti_env->SetEventNotificationMode(JVMTI_DISABLE, JVMTI_EVENT_SINGLE_STEP, thread))) { result = STATUS_FAILED; NSK_COMPLAIN0("TEST FAILED: cannot disable SingleStep events\n\n"); } } } - if (!NSK_JVMTI_VERIFY(NSK_CPP_STUB2(Deallocate, - jvmti_env, (unsigned char*) methNam))) { + if (!NSK_JVMTI_VERIFY(jvmti_env->Deallocate((unsigned char*) methNam))) { result = STATUS_FAILED; NSK_COMPLAIN0("TEST FAILED: unable to deallocate memory pointed to method name\n\n"); } - if (!NSK_JVMTI_VERIFY(NSK_CPP_STUB2(Deallocate, - jvmti_env, (unsigned char*) methSig))) { + if (!NSK_JVMTI_VERIFY(jvmti_env->Deallocate((unsigned char*) methSig))) { result = STATUS_FAILED; NSK_COMPLAIN0("TEST FAILED: unable to deallocate memory pointed to method signature\n\n"); } @@ -261,12 +245,10 @@ jint Agent_Initialize(JavaVM *jvm, char *options, void *reserved) { memset(&caps, 0, sizeof(jvmtiCapabilities)); caps.can_generate_breakpoint_events = 1; caps.can_generate_single_step_events = 1; - if (!NSK_JVMTI_VERIFY(NSK_CPP_STUB2(AddCapabilities, - jvmti, &caps))) + if (!NSK_JVMTI_VERIFY(jvmti->AddCapabilities(&caps))) return JNI_ERR; - if (!NSK_JVMTI_VERIFY(NSK_CPP_STUB2(GetCapabilities, - jvmti, &caps))) + if (!NSK_JVMTI_VERIFY(jvmti->GetCapabilities(&caps))) return JNI_ERR; if (!caps.can_generate_single_step_events) @@ -279,24 +261,19 @@ jint Agent_Initialize(JavaVM *jvm, char *options, void *reserved) { callbacks.Breakpoint = &Breakpoint; callbacks.SingleStep = &SingleStep; callbacks.VMStart = &VMStart; - if (!NSK_JVMTI_VERIFY(NSK_CPP_STUB3(SetEventCallbacks, - jvmti, &callbacks, sizeof(callbacks)))) + if (!NSK_JVMTI_VERIFY(jvmti->SetEventCallbacks(&callbacks, sizeof(callbacks)))) return JNI_ERR; NSK_DISPLAY0("setting event callbacks done\nenabling JVMTI events ...\n"); - if (!NSK_JVMTI_VERIFY(NSK_CPP_STUB4(SetEventNotificationMode, - jvmti, JVMTI_ENABLE, JVMTI_EVENT_VM_START, NULL))) + if (!NSK_JVMTI_VERIFY(jvmti->SetEventNotificationMode(JVMTI_ENABLE, JVMTI_EVENT_VM_START, NULL))) return JNI_ERR; - if (!NSK_JVMTI_VERIFY(NSK_CPP_STUB4(SetEventNotificationMode, - jvmti, JVMTI_ENABLE, JVMTI_EVENT_CLASS_LOAD, NULL))) + if (!NSK_JVMTI_VERIFY(jvmti->SetEventNotificationMode(JVMTI_ENABLE, JVMTI_EVENT_CLASS_LOAD, NULL))) return JNI_ERR; - if (!NSK_JVMTI_VERIFY(NSK_CPP_STUB4(SetEventNotificationMode, - jvmti, JVMTI_ENABLE, JVMTI_EVENT_BREAKPOINT, NULL))) + if (!NSK_JVMTI_VERIFY(jvmti->SetEventNotificationMode(JVMTI_ENABLE, JVMTI_EVENT_BREAKPOINT, NULL))) return JNI_ERR; NSK_DISPLAY0("enabling the events done\n\n"); - if (!NSK_JVMTI_VERIFY(NSK_CPP_STUB3(CreateRawMonitor, - jvmti, "agent lock", &agent_lock))) + if (!NSK_JVMTI_VERIFY(jvmti->CreateRawMonitor("agent lock", &agent_lock))) return JNI_ERR; return JNI_OK; diff --git a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/SingleStep/singlestep002/singlestep002.cpp b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/SingleStep/singlestep002/singlestep002.cpp index 5c0fc36ebb4..3fd27126db6 100644 --- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/SingleStep/singlestep002/singlestep002.cpp +++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/SingleStep/singlestep002/singlestep002.cpp @@ -50,8 +50,7 @@ SingleStep(jvmtiEnv *jvmti_env, JNIEnv* jni_env, jthread thread, jmethodID method, jlocation location) { jvmtiPhase phase; - if (!NSK_JVMTI_VERIFY(NSK_CPP_STUB2(GetPhase, - jvmti_env, &phase))) { + if (!NSK_JVMTI_VERIFY(jvmti_env->GetPhase(&phase))) { result = STATUS_FAILED; NSK_COMPLAIN0("TEST FAILED: unable to obtain phase of the VM execution during SingleStep callback\n\n"); } @@ -105,12 +104,10 @@ jint Agent_Initialize(JavaVM *jvm, char *options, void *reserved) { /* add capability to generate compiled method events */ memset(&caps, 0, sizeof(jvmtiCapabilities)); caps.can_generate_single_step_events = 1; - if (!NSK_JVMTI_VERIFY(NSK_CPP_STUB2(AddCapabilities, - jvmti, &caps))) + if (!NSK_JVMTI_VERIFY(jvmti->AddCapabilities(&caps))) return JNI_ERR; - if (!NSK_JVMTI_VERIFY(NSK_CPP_STUB2(GetCapabilities, - jvmti, &caps))) + if (!NSK_JVMTI_VERIFY(jvmti->GetCapabilities(&caps))) return JNI_ERR; if (!caps.can_generate_single_step_events) @@ -121,16 +118,13 @@ jint Agent_Initialize(JavaVM *jvm, char *options, void *reserved) { (void) memset(&callbacks, 0, sizeof(callbacks)); callbacks.SingleStep = &SingleStep; callbacks.VMDeath = &VMDeath; - if (!NSK_JVMTI_VERIFY(NSK_CPP_STUB3(SetEventCallbacks, - jvmti, &callbacks, sizeof(callbacks)))) + if (!NSK_JVMTI_VERIFY(jvmti->SetEventCallbacks(&callbacks, sizeof(callbacks)))) return JNI_ERR; NSK_DISPLAY0("setting event callbacks done\nenabling JVMTI events ...\n"); - if (!NSK_JVMTI_VERIFY(NSK_CPP_STUB4(SetEventNotificationMode, - jvmti, JVMTI_ENABLE, JVMTI_EVENT_SINGLE_STEP, NULL))) + if (!NSK_JVMTI_VERIFY(jvmti->SetEventNotificationMode(JVMTI_ENABLE, JVMTI_EVENT_SINGLE_STEP, NULL))) return JNI_ERR; - if (!NSK_JVMTI_VERIFY(NSK_CPP_STUB4(SetEventNotificationMode, - jvmti, JVMTI_ENABLE, JVMTI_EVENT_VM_DEATH, NULL))) + if (!NSK_JVMTI_VERIFY(jvmti->SetEventNotificationMode(JVMTI_ENABLE, JVMTI_EVENT_VM_DEATH, NULL))) return JNI_ERR; NSK_DISPLAY0("enabling the events done\n\n"); diff --git a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/SingleStep/singlestep003/singlestep003.cpp b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/SingleStep/singlestep003/singlestep003.cpp index 25f8351d4da..7b399f062a5 100644 --- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/SingleStep/singlestep003/singlestep003.cpp +++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/SingleStep/singlestep003/singlestep003.cpp @@ -64,15 +64,11 @@ static jvmtiEventCallbacks callbacks; static void setBP(jvmtiEnv *jvmti_env, JNIEnv *env, jclass klass) { jmethodID mid; - if (!NSK_JNI_VERIFY(env, (mid = NSK_CPP_STUB4(GetMethodID, - env, klass, METHODS[0][0], METHODS[0][1])) != NULL)) - NSK_CPP_STUB2(FatalError, env, - "failed to get ID for the java method\n"); + if (!NSK_JNI_VERIFY(env, (mid = env->GetMethodID(klass, METHODS[0][0], METHODS[0][1])) != NULL)) + env->FatalError("failed to get ID for the java method\n"); - if (!NSK_JVMTI_VERIFY(NSK_CPP_STUB3(SetBreakpoint, - jvmti_env, mid, 0))) - NSK_CPP_STUB2(FatalError, env, - "failed to set breakpoint\n"); + if (!NSK_JVMTI_VERIFY(jvmti_env->SetBreakpoint(mid, 0))) + env->FatalError("failed to set breakpoint\n"); } /** callback functions **/ @@ -80,10 +76,8 @@ void JNICALL ClassLoad(jvmtiEnv *jvmti_env, JNIEnv *env, jthread thread, jclass klass) { char *sig, *generic; - if (!NSK_JVMTI_VERIFY(NSK_CPP_STUB4(GetClassSignature, - jvmti_env, klass, &sig, &generic))) - NSK_CPP_STUB2(FatalError, env, - "failed to obtain a class signature\n"); + if (!NSK_JVMTI_VERIFY(jvmti_env->GetClassSignature(klass, &sig, &generic))) + env->FatalError("failed to obtain a class signature\n"); if (sig != NULL && (strcmp(sig, CLASS_SIG) == 0)) { NSK_DISPLAY1( @@ -101,20 +95,16 @@ Breakpoint(jvmtiEnv *jvmti_env, JNIEnv *env, jthread thr, jmethodID method, char *sig, *generic; NSK_DISPLAY0("Breakpoint event received\n"); - if (!NSK_JVMTI_VERIFY(NSK_CPP_STUB3(GetMethodDeclaringClass, - jvmti_env, method, &klass))) + if (!NSK_JVMTI_VERIFY(jvmti_env->GetMethodDeclaringClass(method, &klass))) NSK_COMPLAIN0("TEST FAILURE: unable to get method declaring class\n\n"); - if (!NSK_JVMTI_VERIFY(NSK_CPP_STUB4(GetClassSignature, - jvmti_env, klass, &sig, &generic))) - NSK_CPP_STUB2(FatalError, env, - "Breakpoint: failed to obtain a class signature\n"); + if (!NSK_JVMTI_VERIFY(jvmti_env->GetClassSignature(klass, &sig, &generic))) + env->FatalError("Breakpoint: failed to obtain a class signature\n"); if (sig != NULL && (strcmp(sig, CLASS_SIG) == 0)) { NSK_DISPLAY1("method declaring class \"%s\"\n\tenabling SingleStep events ...\n", sig); - if (!NSK_JVMTI_VERIFY(NSK_CPP_STUB4(SetEventNotificationMode, - jvmti_env, JVMTI_ENABLE, JVMTI_EVENT_SINGLE_STEP, thr))) { + if (!NSK_JVMTI_VERIFY(jvmti_env->SetEventNotificationMode(JVMTI_ENABLE, JVMTI_EVENT_SINGLE_STEP, thr))) { result = STATUS_FAILED; NSK_COMPLAIN0("TEST FAILURE: cannot enable SingleStep events\n\n"); } @@ -138,20 +128,17 @@ SingleStep(jvmtiEnv *jvmti_env, JNIEnv* jni_env, jthread thread, NSK_DISPLAY0(">>>> SingleStep event received\n"); - if (!NSK_JVMTI_VERIFY(NSK_CPP_STUB5(GetMethodName, - jvmti_env, method, &methNam, &methSig, NULL))) { + if (!NSK_JVMTI_VERIFY(jvmti_env->GetMethodName(method, &methNam, &methSig, NULL))) { result = STATUS_FAILED; NSK_COMPLAIN0("TEST FAILED: unable to get method name during SingleStep callback\n\n"); return; } - if (!NSK_JVMTI_VERIFY(NSK_CPP_STUB3(GetMethodDeclaringClass, - jvmti_env, method, &klass))) { + if (!NSK_JVMTI_VERIFY(jvmti_env->GetMethodDeclaringClass(method, &klass))) { result = STATUS_FAILED; NSK_COMPLAIN0("TEST FAILED: unable to get method declaring class during SingleStep callback\n\n"); return; } - if (!NSK_JVMTI_VERIFY(NSK_CPP_STUB4(GetClassSignature, - jvmti_env, klass, &sig, &generic))) { + if (!NSK_JVMTI_VERIFY(jvmti_env->GetClassSignature(klass, &sig, &generic))) { result = STATUS_FAILED; NSK_COMPLAIN0("TEST FAILED: unable to obtain a class signature during SingleStep callback\n\n"); return; @@ -186,8 +173,7 @@ SingleStep(jvmtiEnv *jvmti_env, JNIEnv* jni_env, jthread thread, if (i == (METH_NUM-1)) { NSK_DISPLAY0("Disabling the single step event generation\n"); - if (!NSK_JVMTI_VERIFY(NSK_CPP_STUB4(SetEventNotificationMode, - jvmti_env, JVMTI_DISABLE, JVMTI_EVENT_SINGLE_STEP, thread))) { + if (!NSK_JVMTI_VERIFY(jvmti_env->SetEventNotificationMode(JVMTI_DISABLE, JVMTI_EVENT_SINGLE_STEP, thread))) { result = STATUS_FAILED; NSK_COMPLAIN0("TEST FAILED: cannot disable SingleStep events\n\n"); } @@ -196,13 +182,11 @@ SingleStep(jvmtiEnv *jvmti_env, JNIEnv* jni_env, jthread thread, } } - if (!NSK_JVMTI_VERIFY(NSK_CPP_STUB2(Deallocate, - jvmti_env, (unsigned char*) methNam))) { + if (!NSK_JVMTI_VERIFY(jvmti_env->Deallocate((unsigned char*) methNam))) { result = STATUS_FAILED; NSK_COMPLAIN0("TEST FAILED: unable to deallocate memory pointed to method name\n\n"); } - if (!NSK_JVMTI_VERIFY(NSK_CPP_STUB2(Deallocate, - jvmti_env, (unsigned char*) methSig))) { + if (!NSK_JVMTI_VERIFY(jvmti_env->Deallocate((unsigned char*) methSig))) { result = STATUS_FAILED; NSK_COMPLAIN0("TEST FAILED: unable to deallocate memory pointed to method signature\n\n"); } @@ -278,12 +262,10 @@ jint Agent_Initialize(JavaVM *jvm, char *options, void *reserved) { memset(&caps, 0, sizeof(jvmtiCapabilities)); caps.can_generate_breakpoint_events = 1; caps.can_generate_single_step_events = 1; - if (!NSK_JVMTI_VERIFY(NSK_CPP_STUB2(AddCapabilities, - jvmti, &caps))) + if (!NSK_JVMTI_VERIFY(jvmti->AddCapabilities(&caps))) return JNI_ERR; - if (!NSK_JVMTI_VERIFY(NSK_CPP_STUB2(GetCapabilities, - jvmti, &caps))) + if (!NSK_JVMTI_VERIFY(jvmti->GetCapabilities(&caps))) return JNI_ERR; if (!caps.can_generate_single_step_events) NSK_DISPLAY0("Warning: generation of single step events is not implemented\n"); @@ -294,16 +276,13 @@ jint Agent_Initialize(JavaVM *jvm, char *options, void *reserved) { callbacks.ClassLoad = &ClassLoad; callbacks.Breakpoint = &Breakpoint; callbacks.SingleStep = &SingleStep; - if (!NSK_JVMTI_VERIFY(NSK_CPP_STUB3(SetEventCallbacks, - jvmti, &callbacks, sizeof(callbacks)))) + if (!NSK_JVMTI_VERIFY(jvmti->SetEventCallbacks(&callbacks, sizeof(callbacks)))) return JNI_ERR; NSK_DISPLAY0("setting event callbacks done\nenabling JVMTI events ...\n"); - if (!NSK_JVMTI_VERIFY(NSK_CPP_STUB4(SetEventNotificationMode, - jvmti, JVMTI_ENABLE, JVMTI_EVENT_CLASS_LOAD, NULL))) + if (!NSK_JVMTI_VERIFY(jvmti->SetEventNotificationMode(JVMTI_ENABLE, JVMTI_EVENT_CLASS_LOAD, NULL))) return JNI_ERR; - if (!NSK_JVMTI_VERIFY(NSK_CPP_STUB4(SetEventNotificationMode, - jvmti, JVMTI_ENABLE, JVMTI_EVENT_BREAKPOINT, NULL))) + if (!NSK_JVMTI_VERIFY(jvmti->SetEventNotificationMode(JVMTI_ENABLE, JVMTI_EVENT_BREAKPOINT, NULL))) return JNI_ERR; NSK_DISPLAY0("enabling the events done\n\n"); diff --git a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/StopThread/stopthrd007/stopthrd007.cpp b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/StopThread/stopthrd007/stopthrd007.cpp index 276434fa402..da23414ab5c 100644 --- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/StopThread/stopthrd007/stopthrd007.cpp +++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/StopThread/stopthrd007/stopthrd007.cpp @@ -62,8 +62,7 @@ static int prepare(jvmtiEnv* jvmti, JNIEnv* jni) { NSK_DISPLAY0("Prepare: find tested threads\n"); /* get all live threads */ - if (!NSK_JVMTI_VERIFY( - NSK_CPP_STUB3(GetAllThreads, jvmti, &threads_count, &threads))) + if (!NSK_JVMTI_VERIFY(jvmti->GetAllThreads(&threads_count, &threads))) return NSK_FALSE; if (!NSK_VERIFY(threads_count > 0 && threads != NULL)) @@ -75,8 +74,7 @@ static int prepare(jvmtiEnv* jvmti, JNIEnv* jni) { return NSK_FALSE; /* get thread information */ - if (!NSK_JVMTI_VERIFY( - NSK_CPP_STUB3(GetThreadInfo, jvmti, threads[i], &info))) + if (!NSK_JVMTI_VERIFY(jvmti->GetThreadInfo(threads[i], &info))) return NSK_FALSE; NSK_DISPLAY3(" thread #%d (%s): %p\n", i, info.name, threads[i]); @@ -93,23 +91,19 @@ static int prepare(jvmtiEnv* jvmti, JNIEnv* jni) { } } - if (!NSK_JVMTI_VERIFY( - NSK_CPP_STUB2(Deallocate, jvmti, (unsigned char*)threads))) + if (!NSK_JVMTI_VERIFY(jvmti->Deallocate((unsigned char*)threads))) return NSK_FALSE; NSK_DISPLAY0("Prepare: create new instance of ThreadDeath exception\n"); - if (!NSK_JNI_VERIFY(jni, (cls = - NSK_CPP_STUB2(FindClass, jni, THREAD_DEATH_CLASS_NAME)) != NULL)) + if (!NSK_JNI_VERIFY(jni, (cls = jni->FindClass(THREAD_DEATH_CLASS_NAME)) != NULL)) return NSK_FALSE; if (!NSK_JNI_VERIFY(jni, (ctor = - NSK_CPP_STUB4(GetMethodID, jni, cls, - THREAD_DEATH_CTOR_NAME, THREAD_DEATH_CTOR_SIGNATURE)) != NULL)) + jni->GetMethodID(cls, THREAD_DEATH_CTOR_NAME, THREAD_DEATH_CTOR_SIGNATURE)) != NULL)) return NSK_FALSE; - if (!NSK_JNI_VERIFY(jni, (threadDeath = - NSK_CPP_STUB3(NewObject, jni, cls, ctor)) != NULL)) + if (!NSK_JNI_VERIFY(jni, (threadDeath = jni->NewObject(cls, ctor)) != NULL)) return NSK_FALSE; return NSK_TRUE; @@ -133,8 +127,7 @@ agentProc(jvmtiEnv* jvmti, JNIEnv* jni, void* arg) { if (!NSK_VERIFY(runningThread != NULL)) { nsk_jvmti_setFailStatus(); } else { - if (!NSK_JVMTI_VERIFY(NSK_CPP_STUB3(StopThread, - jvmti, runningThread, threadDeath))) + if (!NSK_JVMTI_VERIFY(jvmti->StopThread(runningThread, threadDeath))) nsk_jvmti_setFailStatus(); } @@ -142,8 +135,7 @@ agentProc(jvmtiEnv* jvmti, JNIEnv* jni, void* arg) { if (!NSK_VERIFY(waitingThread != NULL)) { nsk_jvmti_setFailStatus(); } else { - if (!NSK_JVMTI_VERIFY(NSK_CPP_STUB3(StopThread, - jvmti, waitingThread, threadDeath))) + if (!NSK_JVMTI_VERIFY(jvmti->StopThread(waitingThread, threadDeath))) nsk_jvmti_setFailStatus(); } @@ -151,8 +143,7 @@ agentProc(jvmtiEnv* jvmti, JNIEnv* jni, void* arg) { if (!NSK_VERIFY(sleepingThread != NULL)) { nsk_jvmti_setFailStatus(); } else { - if (!NSK_JVMTI_VERIFY(NSK_CPP_STUB3(StopThread, - jvmti, sleepingThread, threadDeath))) + if (!NSK_JVMTI_VERIFY(jvmti->StopThread(sleepingThread, threadDeath))) nsk_jvmti_setFailStatus(); } @@ -194,7 +185,7 @@ jint Agent_Initialize(JavaVM *jvm, char *options, void *reserved) { memset(&caps, 0, sizeof(caps)); caps.can_signal_thread = 1; - if (!NSK_JVMTI_VERIFY(NSK_CPP_STUB2(AddCapabilities, jvmti, &caps))) { + if (!NSK_JVMTI_VERIFY(jvmti->AddCapabilities(&caps))) { return JNI_ERR; } diff --git a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/SuspendThread/suspendthrd001/suspendthrd001.cpp b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/SuspendThread/suspendthrd001/suspendthrd001.cpp index 11df7d9c515..5d346b9bf98 100644 --- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/SuspendThread/suspendthrd001/suspendthrd001.cpp +++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/SuspendThread/suspendthrd001/suspendthrd001.cpp @@ -58,8 +58,7 @@ agentProc(jvmtiEnv* jvmti, JNIEnv* jni, void* arg) { NSK_DISPLAY1(" ... found thread: %p\n", (void*)testedThread); NSK_DISPLAY1("Suspend thread: %p\n", (void*)testedThread); - if (!NSK_JVMTI_VERIFY( - NSK_CPP_STUB2(SuspendThread, jvmti, testedThread))) { + if (!NSK_JVMTI_VERIFY(jvmti->SuspendThread(testedThread))) { nsk_jvmti_setFailStatus(); return; } @@ -72,8 +71,7 @@ agentProc(jvmtiEnv* jvmti, JNIEnv* jni, void* arg) { { jint state = 0; - if (!NSK_JVMTI_VERIFY( - NSK_CPP_STUB3(GetThreadState, jvmti, testedThread, &state))) { + if (!NSK_JVMTI_VERIFY(jvmti->GetThreadState(testedThread, &state))) { nsk_jvmti_setFailStatus(); } NSK_DISPLAY2(" ... got state vector: %s (%d)\n", @@ -88,8 +86,7 @@ agentProc(jvmtiEnv* jvmti, JNIEnv* jni, void* arg) { } NSK_DISPLAY1("Resume thread: %p\n", (void*)testedThread); - if (!NSK_JVMTI_VERIFY( - NSK_CPP_STUB2(ResumeThread, jvmti, testedThread))) { + if (!NSK_JVMTI_VERIFY(jvmti->ResumeThread(testedThread))) { nsk_jvmti_setFailStatus(); } @@ -98,7 +95,7 @@ agentProc(jvmtiEnv* jvmti, JNIEnv* jni, void* arg) { return; NSK_DISPLAY0("Delete thread reference\n"); - NSK_TRACE(NSK_CPP_STUB2(DeleteGlobalRef, jni, testedThread)); + NSK_TRACE(jni->DeleteGlobalRef(testedThread)); } NSK_DISPLAY0("Let debugee to finish\n"); @@ -139,8 +136,7 @@ jint Agent_Initialize(JavaVM *jvm, char *options, void *reserved) { jvmtiCapabilities suspendCaps; memset(&suspendCaps, 0, sizeof(suspendCaps)); suspendCaps.can_suspend = 1; - if (!NSK_JVMTI_VERIFY( - NSK_CPP_STUB2(AddCapabilities, jvmti, &suspendCaps))) + if (!NSK_JVMTI_VERIFY(jvmti->AddCapabilities(&suspendCaps))) return JNI_ERR; } diff --git a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/SuspendThread/suspendthrd002/suspendthrd002.cpp b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/SuspendThread/suspendthrd002/suspendthrd002.cpp index 1f3502f4dd0..98a415315b4 100644 --- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/SuspendThread/suspendthrd002/suspendthrd002.cpp +++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/SuspendThread/suspendthrd002/suspendthrd002.cpp @@ -75,8 +75,7 @@ agentProc(jvmtiEnv* jvmti, JNIEnv* jni, void* arg) { return; NSK_DISPLAY1("Suspend thread: %p\n", (void*)testedThread); - if (!NSK_JVMTI_VERIFY( - NSK_CPP_STUB2(SuspendThread, jvmti, testedThread))) { + if (!NSK_JVMTI_VERIFY(jvmti->SuspendThread(testedThread))) { nsk_jvmti_setFailStatus(); return; } @@ -104,8 +103,7 @@ agentProc(jvmtiEnv* jvmti, JNIEnv* jni, void* arg) { return; NSK_DISPLAY1("Resume thread: %p\n", (void*)testedThread); - if (!NSK_JVMTI_VERIFY( - NSK_CPP_STUB2(ResumeThread, jvmti, testedThread))) { + if (!NSK_JVMTI_VERIFY(jvmti->ResumeThread(testedThread))) { nsk_jvmti_setFailStatus(); } @@ -114,7 +112,7 @@ agentProc(jvmtiEnv* jvmti, JNIEnv* jni, void* arg) { return; NSK_DISPLAY0("Delete thread reference\n"); - NSK_TRACE(NSK_CPP_STUB2(DeleteGlobalRef, jni, testedThread)); + NSK_TRACE(jni->DeleteGlobalRef(testedThread)); } NSK_DISPLAY0("Let debugee to finish\n"); @@ -129,7 +127,7 @@ JNIEXPORT void JNICALL callbackThreadEnd(jvmtiEnv* jvmti, JNIEnv* jni, jthread thread) { /* check if event is for tested thread */ if (thread != NULL && - NSK_CPP_STUB3(IsSameObject, jni, testedThread, thread)) { + jni->IsSameObject(testedThread, thread)) { NSK_DISPLAY1(" ... received THREAD_END event for tested thread: %p\n", (void*)thread); eventsReceived++; } else { @@ -170,8 +168,7 @@ jint Agent_Initialize(JavaVM *jvm, char *options, void *reserved) { jvmtiCapabilities suspendCaps; memset(&suspendCaps, 0, sizeof(suspendCaps)); suspendCaps.can_suspend = 1; - if (!NSK_JVMTI_VERIFY( - NSK_CPP_STUB2(AddCapabilities, jvmti, &suspendCaps))) + if (!NSK_JVMTI_VERIFY(jvmti->AddCapabilities(&suspendCaps))) return JNI_ERR; } @@ -180,8 +177,7 @@ jint Agent_Initialize(JavaVM *jvm, char *options, void *reserved) { jvmtiEventCallbacks callbacks; memset(&callbacks, 0, sizeof(callbacks)); callbacks.ThreadEnd = callbackThreadEnd; - if (!NSK_JVMTI_VERIFY( - NSK_CPP_STUB3(SetEventCallbacks, jvmti, &callbacks, sizeof(callbacks)))) + if (!NSK_JVMTI_VERIFY(jvmti->SetEventCallbacks(&callbacks, sizeof(callbacks)))) return JNI_ERR; } diff --git a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/SuspendThread/suspendthrd003/suspendthrd003.cpp b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/SuspendThread/suspendthrd003/suspendthrd003.cpp index 75c074d371d..68a33e4975d 100644 --- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/SuspendThread/suspendthrd003/suspendthrd003.cpp +++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/SuspendThread/suspendthrd003/suspendthrd003.cpp @@ -63,8 +63,7 @@ agentProc(jvmtiEnv* jvmti, JNIEnv* jni, void* arg) { NSK_DISPLAY1(" ... found thread: %p\n", (void*)testedThread); NSK_DISPLAY1("Suspend thread: %p\n", (void*)testedThread); - if (!NSK_JVMTI_VERIFY( - NSK_CPP_STUB2(SuspendThread, jvmti, testedThread))) { + if (!NSK_JVMTI_VERIFY(jvmti->SuspendThread(testedThread))) { nsk_jvmti_setFailStatus(); return; } @@ -78,8 +77,7 @@ agentProc(jvmtiEnv* jvmti, JNIEnv* jni, void* arg) { { jint state = 0; - if (!NSK_JVMTI_VERIFY( - NSK_CPP_STUB3(GetThreadState, jvmti, testedThread, &state))) { + if (!NSK_JVMTI_VERIFY(jvmti->GetThreadState(testedThread, &state))) { nsk_jvmti_setFailStatus(); } NSK_DISPLAY2(" ... got state vector: %s (%d)\n", @@ -94,8 +92,7 @@ agentProc(jvmtiEnv* jvmti, JNIEnv* jni, void* arg) { } NSK_DISPLAY1("Resume thread: %p\n", (void*)testedThread); - if (!NSK_JVMTI_VERIFY( - NSK_CPP_STUB2(ResumeThread, jvmti, testedThread))) { + if (!NSK_JVMTI_VERIFY(jvmti->ResumeThread(testedThread))) { nsk_jvmti_setFailStatus(); } /* Original agentProc test block ends here. */ @@ -107,7 +104,7 @@ agentProc(jvmtiEnv* jvmti, JNIEnv* jni, void* arg) { for (late_count = 0; late_count < N_LATE_CALLS; late_count++) { jvmtiError l_err; printf("INFO: Late suspend thread: %p\n", (void*)testedThread); - l_err = NSK_CPP_STUB2(SuspendThread, jvmti, testedThread); + l_err = jvmti->SuspendThread(testedThread); if (l_err != JVMTI_ERROR_NONE) { printf("INFO: Late suspend thread err: %d\n", l_err); // testedThread has exited so we're done with late calls @@ -117,8 +114,7 @@ agentProc(jvmtiEnv* jvmti, JNIEnv* jni, void* arg) { // Only resume a thread if suspend worked. Using NSK_DISPLAY1() // here because we want ResumeThread() to be faster. NSK_DISPLAY1("INFO: Late resume thread: %p\n", (void*)testedThread); - if (!NSK_JVMTI_VERIFY( - NSK_CPP_STUB2(ResumeThread, jvmti, testedThread))) { + if (!NSK_JVMTI_VERIFY(jvmti->ResumeThread(testedThread))) { nsk_jvmti_setFailStatus(); } } @@ -137,7 +133,7 @@ agentProc(jvmtiEnv* jvmti, JNIEnv* jni, void* arg) { return; NSK_DISPLAY0("Delete thread reference\n"); - NSK_TRACE(NSK_CPP_STUB2(DeleteGlobalRef, jni, testedThread)); + NSK_TRACE(jni->DeleteGlobalRef(testedThread)); } NSK_DISPLAY0("Let debugee to finish\n"); @@ -180,8 +176,7 @@ jint Agent_Initialize(JavaVM *jvm, char *options, void *reserved) { jvmtiCapabilities suspendCaps; memset(&suspendCaps, 0, sizeof(suspendCaps)); suspendCaps.can_suspend = 1; - if (!NSK_JVMTI_VERIFY( - NSK_CPP_STUB2(AddCapabilities, jvmti, &suspendCaps))) + if (!NSK_JVMTI_VERIFY(jvmti->AddCapabilities(&suspendCaps))) return JNI_ERR; } diff --git a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/SuspendThreadList/suspendthrdlst001/suspendthrdlst001.cpp b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/SuspendThreadList/suspendthrdlst001/suspendthrdlst001.cpp index c8e30acef06..bf17ed9a711 100644 --- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/SuspendThreadList/suspendthrdlst001/suspendthrdlst001.cpp +++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/SuspendThreadList/suspendthrdlst001/suspendthrdlst001.cpp @@ -62,18 +62,16 @@ agentProc(jvmtiEnv* jvmti, JNIEnv* jni, void* arg) { int i; NSK_DISPLAY1("Allocate threads array: %d threads\n", threadsCount); - if (!NSK_JVMTI_VERIFY( - NSK_CPP_STUB3(Allocate, jvmti, (threadsCount * sizeof(jthread)), - (unsigned char**)&threads))) { + if (!NSK_JVMTI_VERIFY(jvmti->Allocate((threadsCount * sizeof(jthread)), + (unsigned char**)&threads))) { nsk_jvmti_setFailStatus(); return; } NSK_DISPLAY1(" ... allocated array: %p\n", (void*)threads); NSK_DISPLAY1("Allocate results array: %d threads\n", threadsCount); - if (!NSK_JVMTI_VERIFY( - NSK_CPP_STUB3(Allocate, jvmti, (threadsCount * sizeof(jvmtiError)), - (unsigned char**)&results))) { + if (!NSK_JVMTI_VERIFY(jvmti->Allocate((threadsCount * sizeof(jvmtiError)), + (unsigned char**)&results))) { nsk_jvmti_setFailStatus(); return; } @@ -84,8 +82,7 @@ agentProc(jvmtiEnv* jvmti, JNIEnv* jni, void* arg) { return; NSK_DISPLAY0("Suspend threads list\n"); - if (!NSK_JVMTI_VERIFY( - NSK_CPP_STUB4(SuspendThreadList, jvmti, threadsCount, threads, results))) { + if (!NSK_JVMTI_VERIFY(jvmti->SuspendThreadList(threadsCount, threads, results))) { nsk_jvmti_setFailStatus(); return; } @@ -107,8 +104,7 @@ agentProc(jvmtiEnv* jvmti, JNIEnv* jni, void* arg) { jint state = 0; NSK_DISPLAY2(" thread #%d (%p):\n", i, (void*)threads[i]); - if (!NSK_JVMTI_VERIFY( - NSK_CPP_STUB3(GetThreadState, jvmti, threads[i], &state))) { + if (!NSK_JVMTI_VERIFY(jvmti->GetThreadState(threads[i], &state))) { nsk_jvmti_setFailStatus(); } NSK_DISPLAY2(" ... got state vector: %s (%d)\n", @@ -123,8 +119,7 @@ agentProc(jvmtiEnv* jvmti, JNIEnv* jni, void* arg) { } NSK_DISPLAY0("Resume threads list\n"); - if (!NSK_JVMTI_VERIFY( - NSK_CPP_STUB4(ResumeThreadList, jvmti, threadsCount, threads, results))) { + if (!NSK_JVMTI_VERIFY(jvmti->ResumeThreadList(threadsCount, threads, results))) { nsk_jvmti_setFailStatus(); return; } @@ -136,18 +131,16 @@ agentProc(jvmtiEnv* jvmti, JNIEnv* jni, void* arg) { NSK_DISPLAY0("Delete threads references\n"); for (i = 0; i < threadsCount; i++) { if (threads[i] != NULL) - NSK_TRACE(NSK_CPP_STUB2(DeleteGlobalRef, jni, threads[i])); + NSK_TRACE(jni->DeleteGlobalRef(threads[i])); } NSK_DISPLAY1("Deallocate threads array: %p\n", (void*)threads); - if (!NSK_JVMTI_VERIFY( - NSK_CPP_STUB2(Deallocate, jvmti, (unsigned char*)threads))) { + if (!NSK_JVMTI_VERIFY(jvmti->Deallocate((unsigned char*)threads))) { nsk_jvmti_setFailStatus(); } NSK_DISPLAY1("Deallocate results array: %p\n", (void*)results); - if (!NSK_JVMTI_VERIFY( - NSK_CPP_STUB2(Deallocate, jvmti, (unsigned char*)results))) { + if (!NSK_JVMTI_VERIFY(jvmti->Deallocate((unsigned char*)results))) { nsk_jvmti_setFailStatus(); } } @@ -173,8 +166,7 @@ static int fillThreadsByName(jvmtiEnv* jvmti, JNIEnv* jni, foundThreads[i] = NULL; } - if (!NSK_JVMTI_VERIFY( - NSK_CPP_STUB3(GetAllThreads, jvmti, &count, &threads))) { + if (!NSK_JVMTI_VERIFY(jvmti->GetAllThreads(&count, &threads))) { nsk_jvmti_setFailStatus(); return NSK_FALSE; } @@ -183,8 +175,7 @@ static int fillThreadsByName(jvmtiEnv* jvmti, JNIEnv* jni, for (i = 0; i < count; i++) { jvmtiThreadInfo info; - if (!NSK_JVMTI_VERIFY( - NSK_CPP_STUB3(GetThreadInfo, jvmti, threads[i], &info))) { + if (!NSK_JVMTI_VERIFY(jvmti->GetThreadInfo(threads[i], &info))) { nsk_jvmti_setFailStatus(); break; } @@ -199,8 +190,7 @@ static int fillThreadsByName(jvmtiEnv* jvmti, JNIEnv* jni, } - if (!NSK_JVMTI_VERIFY( - NSK_CPP_STUB2(Deallocate, jvmti, (unsigned char*)threads))) { + if (!NSK_JVMTI_VERIFY(jvmti->Deallocate((unsigned char*)threads))) { nsk_jvmti_setFailStatus(); return NSK_FALSE; } @@ -218,7 +208,7 @@ static int fillThreadsByName(jvmtiEnv* jvmti, JNIEnv* jni, NSK_DISPLAY1("Make global references for threads: %d threads\n", foundCount); for (i = 0; i < foundCount; i++) { if (!NSK_JNI_VERIFY(jni, (foundThreads[i] = (jthread) - NSK_CPP_STUB2(NewGlobalRef, jni, foundThreads[i])) != NULL)) { + jni->NewGlobalRef(foundThreads[i])) != NULL)) { nsk_jvmti_setFailStatus(); return NSK_FALSE; } @@ -266,8 +256,7 @@ jint Agent_Initialize(JavaVM *jvm, char *options, void *reserved) { jvmtiCapabilities suspendCaps; memset(&suspendCaps, 0, sizeof(suspendCaps)); suspendCaps.can_suspend = 1; - if (!NSK_JVMTI_VERIFY( - NSK_CPP_STUB2(AddCapabilities, jvmti, &suspendCaps))) + if (!NSK_JVMTI_VERIFY(jvmti->AddCapabilities(&suspendCaps))) return JNI_ERR; } diff --git a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/SuspendThreadList/suspendthrdlst002/suspendthrdlst002.cpp b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/SuspendThreadList/suspendthrdlst002/suspendthrdlst002.cpp index c78ff7d3a5d..1145bb3c1cb 100644 --- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/SuspendThreadList/suspendthrdlst002/suspendthrdlst002.cpp +++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/SuspendThreadList/suspendthrdlst002/suspendthrdlst002.cpp @@ -73,18 +73,16 @@ agentProc(jvmtiEnv* jvmti, JNIEnv* jni, void* arg) { int i; NSK_DISPLAY1("Allocate threads array: %d threads\n", threadsCount); - if (!NSK_JVMTI_VERIFY( - NSK_CPP_STUB3(Allocate, jvmti, (threadsCount * sizeof(jthread)), - (unsigned char**)&threads))) { + if (!NSK_JVMTI_VERIFY(jvmti->Allocate((threadsCount * sizeof(jthread)), + (unsigned char**)&threads))) { nsk_jvmti_setFailStatus(); return; } NSK_DISPLAY1(" ... allocated array: %p\n", (void*)threads); NSK_DISPLAY1("Allocate results array: %d threads\n", threadsCount); - if (!NSK_JVMTI_VERIFY( - NSK_CPP_STUB3(Allocate, jvmti, (threadsCount * sizeof(jvmtiError)), - (unsigned char**)&results))) { + if (!NSK_JVMTI_VERIFY(jvmti->Allocate((threadsCount * sizeof(jvmtiError)), + (unsigned char**)&results))) { nsk_jvmti_setFailStatus(); return; } @@ -95,8 +93,7 @@ agentProc(jvmtiEnv* jvmti, JNIEnv* jni, void* arg) { return; NSK_DISPLAY0("Suspend threads list\n"); - if (!NSK_JVMTI_VERIFY( - NSK_CPP_STUB4(SuspendThreadList, jvmti, threadsCount, threads, results))) { + if (!NSK_JVMTI_VERIFY(jvmti->SuspendThreadList(threadsCount, threads, results))) { nsk_jvmti_setFailStatus(); return; } @@ -138,8 +135,7 @@ agentProc(jvmtiEnv* jvmti, JNIEnv* jni, void* arg) { return; NSK_DISPLAY0("Resume threads list\n"); - if (!NSK_JVMTI_VERIFY( - NSK_CPP_STUB4(ResumeThreadList, jvmti, threadsCount, threads, results))) { + if (!NSK_JVMTI_VERIFY(jvmti->ResumeThreadList(threadsCount, threads, results))) { nsk_jvmti_setFailStatus(); return; } @@ -151,18 +147,16 @@ agentProc(jvmtiEnv* jvmti, JNIEnv* jni, void* arg) { NSK_DISPLAY0("Delete threads references\n"); for (i = 0; i < threadsCount; i++) { if (threads[i] != NULL) - NSK_TRACE(NSK_CPP_STUB2(DeleteGlobalRef, jni, threads[i])); + NSK_TRACE(jni->DeleteGlobalRef(threads[i])); } NSK_DISPLAY1("Deallocate threads array: %p\n", (void*)threads); - if (!NSK_JVMTI_VERIFY( - NSK_CPP_STUB2(Deallocate, jvmti, (unsigned char*)threads))) { + if (!NSK_JVMTI_VERIFY(jvmti->Deallocate((unsigned char*)threads))) { nsk_jvmti_setFailStatus(); } NSK_DISPLAY1("Deallocate results array: %p\n", (void*)results); - if (!NSK_JVMTI_VERIFY( - NSK_CPP_STUB2(Deallocate, jvmti, (unsigned char*)results))) { + if (!NSK_JVMTI_VERIFY(jvmti->Deallocate((unsigned char*)results))) { nsk_jvmti_setFailStatus(); } } @@ -188,8 +182,7 @@ static int fillThreadsByName(jvmtiEnv* jvmti, JNIEnv* jni, foundThreads[i] = NULL; } - if (!NSK_JVMTI_VERIFY( - NSK_CPP_STUB3(GetAllThreads, jvmti, &count, &threads))) { + if (!NSK_JVMTI_VERIFY(jvmti->GetAllThreads(&count, &threads))) { nsk_jvmti_setFailStatus(); return NSK_FALSE; } @@ -198,8 +191,7 @@ static int fillThreadsByName(jvmtiEnv* jvmti, JNIEnv* jni, for (i = 0; i < count; i++) { jvmtiThreadInfo info; - if (!NSK_JVMTI_VERIFY( - NSK_CPP_STUB3(GetThreadInfo, jvmti, threads[i], &info))) { + if (!NSK_JVMTI_VERIFY(jvmti->GetThreadInfo(threads[i], &info))) { nsk_jvmti_setFailStatus(); break; } @@ -214,8 +206,7 @@ static int fillThreadsByName(jvmtiEnv* jvmti, JNIEnv* jni, } - if (!NSK_JVMTI_VERIFY( - NSK_CPP_STUB2(Deallocate, jvmti, (unsigned char*)threads))) { + if (!NSK_JVMTI_VERIFY(jvmti->Deallocate((unsigned char*)threads))) { nsk_jvmti_setFailStatus(); return NSK_FALSE; } @@ -233,7 +224,7 @@ static int fillThreadsByName(jvmtiEnv* jvmti, JNIEnv* jni, NSK_DISPLAY1("Make global references for threads: %d threads\n", foundCount); for (i = 0; i < foundCount; i++) { if (!NSK_JNI_VERIFY(jni, (foundThreads[i] = (jthread) - NSK_CPP_STUB2(NewGlobalRef, jni, foundThreads[i])) != NULL)) { + jni->NewGlobalRef(foundThreads[i])) != NULL)) { nsk_jvmti_setFailStatus(); return NSK_FALSE; } @@ -253,7 +244,7 @@ callbackThreadEnd(jvmtiEnv* jvmti, JNIEnv* jni, jthread thread) { /* check if event is for tested thread */ for (i = 0; i < threadsCount; i++) { if (thread != NULL && - NSK_CPP_STUB3(IsSameObject, jni, threads[i], thread)) { + jni->IsSameObject(threads[i], thread)) { NSK_DISPLAY2(" ... received THREAD_END event for thread #%d: %p\n", i, (void*)thread); eventsReceived++; @@ -301,8 +292,7 @@ jint Agent_Initialize(JavaVM *jvm, char *options, void *reserved) { jvmtiCapabilities suspendCaps; memset(&suspendCaps, 0, sizeof(suspendCaps)); suspendCaps.can_suspend = 1; - if (!NSK_JVMTI_VERIFY( - NSK_CPP_STUB2(AddCapabilities, jvmti, &suspendCaps))) + if (!NSK_JVMTI_VERIFY(jvmti->AddCapabilities(&suspendCaps))) return JNI_ERR; } @@ -311,8 +301,7 @@ jint Agent_Initialize(JavaVM *jvm, char *options, void *reserved) { jvmtiEventCallbacks callbacks; memset(&callbacks, 0, sizeof(callbacks)); callbacks.ThreadEnd = callbackThreadEnd; - if (!NSK_JVMTI_VERIFY( - NSK_CPP_STUB3(SetEventCallbacks, jvmti, &callbacks, sizeof(callbacks)))) + if (!NSK_JVMTI_VERIFY(jvmti->SetEventCallbacks(&callbacks, sizeof(callbacks)))) return JNI_ERR; } diff --git a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/ThreadEnd/threadend002/threadend002.cpp b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/ThreadEnd/threadend002/threadend002.cpp index ad970f96fd8..0d7840435c9 100644 --- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/ThreadEnd/threadend002/threadend002.cpp +++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/ThreadEnd/threadend002/threadend002.cpp @@ -57,9 +57,7 @@ enableEvent(jvmtiEventMode enable, jvmtiEvent event) { NSK_DISPLAY1("disabling %s\n", TranslateEvent(event)); } - if (!NSK_JVMTI_VERIFY( - NSK_CPP_STUB4(SetEventNotificationMode, jvmti, enable, - event, NULL))) { + if (!NSK_JVMTI_VERIFY(jvmti->SetEventNotificationMode(enable, event, NULL))) { nsk_jvmti_setFailStatus(); return NSK_FALSE; } @@ -92,10 +90,7 @@ setCallBacks() { eventCallbacks.ThreadEnd = cbThreadEnd; - if (!NSK_JVMTI_VERIFY( - NSK_CPP_STUB3(SetEventCallbacks, jvmti, - &eventCallbacks, - sizeof(eventCallbacks)))) + if (!NSK_JVMTI_VERIFY(jvmti->SetEventCallbacks(&eventCallbacks, sizeof(eventCallbacks)))) return NSK_FALSE; return NSK_TRUE; diff --git a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/ThreadStart/threadstart002/threadstart002.cpp b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/ThreadStart/threadstart002/threadstart002.cpp index b2b33af46f1..34218ff344e 100644 --- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/ThreadStart/threadstart002/threadstart002.cpp +++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/ThreadStart/threadstart002/threadstart002.cpp @@ -119,17 +119,17 @@ debug_agent(jvmtiEnv* jvmti, JNIEnv* jni, void *p) { /* Notify VMInit callback as well as ThreadStart callback (if any) * that agent thread has been started */ - if (!NSK_JVMTI_VERIFY(NSK_CPP_STUB2(RawMonitorEnter, jvmti, agent_start_lock))) { + if (!NSK_JVMTI_VERIFY(jvmti->RawMonitorEnter(agent_start_lock))) { result = STATUS_FAILED; NSK_COMPLAIN0("[agent] failed to acquire agent_start_lock\n"); } - if (!NSK_JVMTI_VERIFY(NSK_CPP_STUB2(RawMonitorNotifyAll, jvmti, agent_start_lock))) { + if (!NSK_JVMTI_VERIFY(jvmti->RawMonitorNotifyAll(agent_start_lock))) { result = STATUS_FAILED; NSK_COMPLAIN0("[agent] failed to notify about agent_start_lock\n"); } - if (!NSK_JVMTI_VERIFY(NSK_CPP_STUB2(RawMonitorExit, jvmti, agent_start_lock))) { + if (!NSK_JVMTI_VERIFY(jvmti->RawMonitorExit(agent_start_lock))) { result = STATUS_FAILED; NSK_COMPLAIN0("[agent] failed to release agent_start_lock\n"); } @@ -138,16 +138,16 @@ debug_agent(jvmtiEnv* jvmti, JNIEnv* jni, void *p) { debug_agent_started = JNI_TRUE; - if (!NSK_JVMTI_VERIFY(NSK_CPP_STUB2(RawMonitorEnter, jvmti, thr_start_lock))) { + if (!NSK_JVMTI_VERIFY(jvmti->RawMonitorEnter(thr_start_lock))) { result = STATUS_FAILED; NSK_COMPLAIN0("[agent] failed to enter thr_start_lock\n"); } while (terminate_debug_agent != JNI_TRUE) { - if (next_thread == NULL ) { + if (next_thread == NULL) { /* wait till new thread will be created and started */ - if (!NSK_JVMTI_VERIFY(NSK_CPP_STUB3(RawMonitorWait, jvmti, thr_start_lock, (jlong)0))) { + if (!NSK_JVMTI_VERIFY(jvmti->RawMonitorWait(thr_start_lock, (jlong)0))) { result = STATUS_FAILED; NSK_COMPLAIN0("[agent] Failed while waiting thr_start_lock\n"); } @@ -155,9 +155,9 @@ debug_agent(jvmtiEnv* jvmti, JNIEnv* jni, void *p) { if (next_thread != NULL) { /* hmm, why NewGlobalRef is called one more time??? - * next_thread = NSK_CPP_STUB2(NewGlobalRef, env, next_thread); + * next_thread = env->NewGlobalRef(next_thread); */ - if (!NSK_JVMTI_VERIFY(NSK_CPP_STUB2(SuspendThread, jvmti, next_thread))) { + if (!NSK_JVMTI_VERIFY(jvmti->SuspendThread(next_thread))) { result = STATUS_FAILED; NSK_COMPLAIN1("[agent] Failed to suspend thread#%d\n", eventsCount); } @@ -165,17 +165,17 @@ debug_agent(jvmtiEnv* jvmti, JNIEnv* jni, void *p) { NSK_DISPLAY2(">>> [agent] thread#%d %s suspended ...\n", eventsCount, inf.name); /* these dummy calls provoke VM to hang */ - temp = NSK_CPP_STUB2(NewGlobalRef, env, next_thread); - NSK_CPP_STUB2(DeleteGlobalRef, env, temp); + temp = env->NewGlobalRef(next_thread); + env->DeleteGlobalRef(temp); - if (!NSK_JVMTI_VERIFY(NSK_CPP_STUB2(ResumeThread, jvmti, next_thread))) { + if (!NSK_JVMTI_VERIFY(jvmti->ResumeThread(next_thread))) { result = STATUS_FAILED; NSK_COMPLAIN1("[agent] Failed to resume thread#%d\n", eventsCount); } NSK_DISPLAY2(">>> [agent] thread#%d %s resumed ...\n", eventsCount, inf.name); - if (!NSK_JVMTI_VERIFY(NSK_CPP_STUB3(GetThreadState, jvmti, next_thread, &thrStat))) { + if (!NSK_JVMTI_VERIFY(jvmti->GetThreadState(next_thread, &thrStat))) { result = STATUS_FAILED; NSK_COMPLAIN1("[agent] Failed to get thread state for thread#%d\n", eventsCount); } @@ -185,26 +185,26 @@ debug_agent(jvmtiEnv* jvmti, JNIEnv* jni, void *p) { if (thrStat & JVMTI_THREAD_STATE_SUSPENDED) { NSK_COMPLAIN1("[agent] \"%s\" was not resumed\n", inf.name); - NSK_CPP_STUB2(FatalError, env, "[agent] could not recover"); + env->FatalError("[agent] could not recover"); } - NSK_CPP_STUB2(DeleteGlobalRef, env, next_thread); + env->DeleteGlobalRef(next_thread); next_thread = NULL; /* Notify ThreadStart callback that thread has been resumed */ - if (!NSK_JVMTI_VERIFY(NSK_CPP_STUB2(RawMonitorEnter, jvmti, thr_resume_lock))) { + if (!NSK_JVMTI_VERIFY(jvmti->RawMonitorEnter(thr_resume_lock))) { NSK_COMPLAIN0("[agent] Failed to acquire thr_resume_lock\n"); result = STATUS_FAILED; } debug_agent_timed_out = JNI_FALSE; - if (!NSK_JVMTI_VERIFY(NSK_CPP_STUB2(RawMonitorNotify, jvmti, thr_resume_lock))) { + if (!NSK_JVMTI_VERIFY(jvmti->RawMonitorNotify(thr_resume_lock))) { NSK_COMPLAIN0("[agent] Failed to notifing about thr_resume_lock\n"); result = STATUS_FAILED; } - if (!NSK_JVMTI_VERIFY(NSK_CPP_STUB2(RawMonitorExit, jvmti, thr_resume_lock))) { + if (!NSK_JVMTI_VERIFY(jvmti->RawMonitorExit(thr_resume_lock))) { NSK_COMPLAIN0("[agent] Failed to release thr_resume_lock\n"); result = STATUS_FAILED; } @@ -215,7 +215,7 @@ debug_agent(jvmtiEnv* jvmti, JNIEnv* jni, void *p) { * We don't call RawMonitorExit(thr_start_lock) in the loop so we don't * lose any notify calls. */ - if (!NSK_JVMTI_VERIFY(NSK_CPP_STUB2(RawMonitorExit, jvmti, thr_start_lock))) { + if (!NSK_JVMTI_VERIFY(jvmti->RawMonitorExit(thr_start_lock))) { NSK_COMPLAIN0("[agent] Failed to release thr_start_lock\n"); result = STATUS_FAILED; } @@ -230,7 +230,7 @@ void JNICALL ThreadStart(jvmtiEnv *jvmti_env, JNIEnv *env, jthread thread) { NSK_DISPLAY0(">>> [ThreadStart hook] start\n"); /* skip if thread is 'agent thread' */ - if (NSK_CPP_STUB3(IsSameObject, env, agent_thread, thread) == JNI_TRUE) { + if (env->IsSameObject(agent_thread, thread) == JNI_TRUE) { NSK_DISPLAY0(">>> [ThreadStart hook] skip agent thread\n"); NSK_DISPLAY0(">>> [ThreadStart hook] end\n"); return; @@ -240,7 +240,7 @@ void JNICALL ThreadStart(jvmtiEnv *jvmti_env, JNIEnv *env, jthread thread) { * (otherwise can fail while waiting on thr_resume_thread due to timeout) */ if (debug_agent_started != JNI_TRUE) { - if (!NSK_JVMTI_VERIFY(NSK_CPP_STUB2(RawMonitorEnter, jvmti_env, agent_start_lock))) { + if (!NSK_JVMTI_VERIFY(jvmti_env->RawMonitorEnter(agent_start_lock))) { NSK_COMPLAIN0("[ThreadStart hook] Failed to acquire agent_start_lock\n"); result = STATUS_FAILED; } @@ -248,14 +248,13 @@ void JNICALL ThreadStart(jvmtiEnv *jvmti_env, JNIEnv *env, jthread thread) { while (debug_agent_started != JNI_TRUE) { NSK_DISPLAY1(">>> [ThreadStart hook] waiting %dms for agent thread to start\n", WAIT_TIME); - if (!NSK_JVMTI_VERIFY(NSK_CPP_STUB3(RawMonitorWait, - jvmti_env, agent_start_lock, (jlong)WAIT_TIME))) { + if (!NSK_JVMTI_VERIFY(jvmti_env->RawMonitorWait(agent_start_lock, (jlong)WAIT_TIME))) { NSK_COMPLAIN0("[ThreadStart hook] Failed to wait for agent_start_lock\n"); result = STATUS_FAILED; } } - if (!NSK_JVMTI_VERIFY(NSK_CPP_STUB2(RawMonitorExit, jvmti_env, agent_start_lock))) { + if (!NSK_JVMTI_VERIFY(jvmti_env->RawMonitorExit(agent_start_lock))) { NSK_COMPLAIN0("[ThreadStart hook] Failed to release agent_start_lock\n"); result = STATUS_FAILED; } @@ -263,7 +262,7 @@ void JNICALL ThreadStart(jvmtiEnv *jvmti_env, JNIEnv *env, jthread thread) { /* get JVMTI phase */ - if (!NSK_JVMTI_VERIFY(NSK_CPP_STUB2(GetPhase, jvmti_env, &phase))) { + if (!NSK_JVMTI_VERIFY(jvmti_env->GetPhase(&phase))) { NSK_COMPLAIN0("[ThreadStart hook] Failed to get JVMTI phase\n"); result = STATUS_FAILED; } @@ -271,7 +270,7 @@ void JNICALL ThreadStart(jvmtiEnv *jvmti_env, JNIEnv *env, jthread thread) { /* Acquire event lock, * so only one StartThread callback could be proceeded at the time */ - if (!NSK_JVMTI_VERIFY(NSK_CPP_STUB2(RawMonitorEnter, jvmti_env, thr_event_lock))) { + if (!NSK_JVMTI_VERIFY(jvmti_env->RawMonitorEnter(thr_event_lock))) { NSK_COMPLAIN0("[ThreadStart hook] Failed to acquire thr_event_lock\n"); result = STATUS_FAILED; } @@ -281,8 +280,7 @@ void JNICALL ThreadStart(jvmtiEnv *jvmti_env, JNIEnv *env, jthread thread) { inf.name = (char*) "UNKNOWN"; if (phase == JVMTI_PHASE_LIVE) { /* GetThreadInfo may only be called during the live phase */ - if (!NSK_JVMTI_VERIFY( - NSK_CPP_STUB3(GetThreadInfo, jvmti_env, thread, &inf))) { + if (!NSK_JVMTI_VERIFY(jvmti_env->GetThreadInfo(thread, &inf))) { NSK_COMPLAIN1("[ThreadStart hook] Failed to get thread infor for thread#%d\n", eventsCount); result = STATUS_FAILED; } @@ -291,7 +289,7 @@ void JNICALL ThreadStart(jvmtiEnv *jvmti_env, JNIEnv *env, jthread thread) { NSK_DISPLAY2(">>> [ThreadStart hook] thread#%d: %s\n", eventsCount, inf.name); /* Acquire thr_start_lock */ - if (!NSK_JVMTI_VERIFY(NSK_CPP_STUB2(RawMonitorEnter, jvmti_env, thr_start_lock))) { + if (!NSK_JVMTI_VERIFY(jvmti_env->RawMonitorEnter(thr_start_lock))) { NSK_COMPLAIN1("[ThreadStart hook] thread#%d failed to acquire thr_start_lock\n", eventsCount); result = STATUS_FAILED; } @@ -299,46 +297,45 @@ void JNICALL ThreadStart(jvmtiEnv *jvmti_env, JNIEnv *env, jthread thread) { /* Acquire thr_resume_lock before we release thr_start_lock to prevent * debug agent from notifying us before we are ready. */ - if (!NSK_JVMTI_VERIFY(NSK_CPP_STUB2(RawMonitorEnter, jvmti_env, thr_resume_lock))) { + if (!NSK_JVMTI_VERIFY(jvmti_env->RawMonitorEnter(thr_resume_lock))) { NSK_COMPLAIN1("[ThreadStart hook] thread#%d failed to acquire thr_resume_lock\n", eventsCount); result = STATUS_FAILED; } /* Store thread */ - next_thread = NSK_CPP_STUB2(NewGlobalRef, env, thread); + next_thread = env->NewGlobalRef(thread); debug_agent_timed_out = JNI_TRUE; /* Notify agent thread about new started thread and let agent thread to work with it */ - if (!NSK_JVMTI_VERIFY(NSK_CPP_STUB2(RawMonitorNotify, jvmti_env, thr_start_lock))) { + if (!NSK_JVMTI_VERIFY(jvmti_env->RawMonitorNotify(thr_start_lock))) { NSK_COMPLAIN1("[ThreadStart hook] thread#%d failed to notify about thr_start_lock\n", eventsCount); result = STATUS_FAILED; } - if (!NSK_JVMTI_VERIFY(NSK_CPP_STUB2(RawMonitorExit, jvmti_env, thr_start_lock))) { + if (!NSK_JVMTI_VERIFY(jvmti_env->RawMonitorExit(thr_start_lock))) { NSK_COMPLAIN1("[ThreadStart hook] thread#%d failed to release thr_start_lock\n", eventsCount); result = STATUS_FAILED; } /* Wait till this started thread will be resumed by agent thread */ - if (!NSK_JVMTI_VERIFY(NSK_CPP_STUB3(RawMonitorWait, - jvmti_env, thr_resume_lock, (jlong)WAIT_TIME ))) { + if (!NSK_JVMTI_VERIFY(jvmti_env->RawMonitorWait(thr_resume_lock, (jlong)WAIT_TIME))) { NSK_COMPLAIN1("[ThreadStart hook] thread#%d failed while waiting for thr_resume_lock\n", eventsCount); result = STATUS_FAILED; } if (debug_agent_timed_out == JNI_TRUE) { NSK_COMPLAIN1("[ThreadStart hook] \"%s\": debug agent timed out\n", inf.name); - NSK_CPP_STUB2(FatalError, env, "[ThreadStart hook] could not recover"); + env->FatalError("[ThreadStart hook] could not recover"); } /* Release thr_resume_lock lock */ - if (!NSK_JVMTI_VERIFY(NSK_CPP_STUB2(RawMonitorExit, jvmti_env, thr_resume_lock))) { + if (!NSK_JVMTI_VERIFY(jvmti_env->RawMonitorExit(thr_resume_lock))) { NSK_COMPLAIN1("[ThreadStart hook] thread#%d failed to release thr_resume_lock\n", eventsCount); result = STATUS_FAILED; } /* check that thread is not in SUSPENDED state */ - if (!NSK_JVMTI_VERIFY(NSK_CPP_STUB3(GetThreadState, jvmti_env, thread, &thrStat))) { + if (!NSK_JVMTI_VERIFY(jvmti_env->GetThreadState(thread, &thrStat))) { NSK_COMPLAIN1("[ThreadStart hook] Failed to get thread state for thread#%d\n", eventsCount); result = STATUS_FAILED; } @@ -348,13 +345,13 @@ void JNICALL ThreadStart(jvmtiEnv *jvmti_env, JNIEnv *env, jthread thread) { if (thrStat & JVMTI_THREAD_STATE_SUSPENDED) { NSK_COMPLAIN1("[ThreadStart hook] \"%s\" was self-suspended\n", inf.name); - NSK_CPP_STUB2(FatalError, env, "[ThreadStart hook] could not recover"); + env->FatalError("[ThreadStart hook] could not recover"); } eventsCount++; } - if (!NSK_JVMTI_VERIFY(NSK_CPP_STUB2(RawMonitorExit, jvmti_env, thr_event_lock))) { + if (!NSK_JVMTI_VERIFY(jvmti_env->RawMonitorExit(thr_event_lock))) { NSK_COMPLAIN0("[ThreadStart hook] Failed to release thr_event_lock\n"); result = STATUS_FAILED; } @@ -368,37 +365,33 @@ void JNICALL VMInit(jvmtiEnv *jvmti_env, JNIEnv *env, jthread thr) { NSK_DISPLAY0(">>> VMInit event: start\n"); - if (!NSK_JVMTI_VERIFY(NSK_CPP_STUB4(SetEventNotificationMode, - jvmti_env, JVMTI_ENABLE, JVMTI_EVENT_THREAD_START, NULL))) { + if (!NSK_JVMTI_VERIFY(jvmti_env->SetEventNotificationMode(JVMTI_ENABLE, JVMTI_EVENT_THREAD_START, NULL))) { NSK_COMPLAIN0("TEST FAILED: failed to enable JVMTI_EVENT_THREAD_START\n"); return; } /* Start agent thread */ - if (!NSK_VERIFY((cls = - NSK_CPP_STUB2(FindClass, env, "java/lang/Thread")) != NULL)) { + if (!NSK_VERIFY((cls = env->FindClass("java/lang/Thread")) != NULL)) { result = STATUS_FAILED; NSK_COMPLAIN0("TEST FAILED: Cannot start agent thread: FindClass() failed\n"); return; } - if (!NSK_VERIFY((mid = - NSK_CPP_STUB4(GetMethodID, env, cls, " ", "()V")) != NULL)) { + if (!NSK_VERIFY((mid = env->GetMethodID(cls, " ", "()V")) != NULL)) { result = STATUS_FAILED; NSK_COMPLAIN0("TEST FAILED: Cannot start agent thread: GetMethodID() failed\n"); return; } - if (!NSK_VERIFY((agent_thread = - NSK_CPP_STUB3(NewObject, env, cls, mid)) != NULL)) { + if (!NSK_VERIFY((agent_thread = env->NewObject(cls, mid)) != NULL)) { result = STATUS_FAILED; NSK_COMPLAIN0("Cannot start agent thread: NewObject() failed\n"); return; } - agent_thread = (jthread) NSK_CPP_STUB2(NewGlobalRef, env, agent_thread); + agent_thread = (jthread) env->NewGlobalRef(agent_thread); if (agent_thread == NULL) { result = STATUS_FAILED; NSK_COMPLAIN0("Cannot create global reference for agent_thread\n"); @@ -410,23 +403,22 @@ void JNICALL VMInit(jvmtiEnv *jvmti_env, JNIEnv *env, jthread thr) { * debug_agent from notifying us before we are ready. */ - if (!NSK_JVMTI_VERIFY(NSK_CPP_STUB2(RawMonitorEnter, jvmti_env, agent_start_lock))) { + if (!NSK_JVMTI_VERIFY(jvmti_env->RawMonitorEnter(agent_start_lock))) { result = STATUS_FAILED; NSK_COMPLAIN0("TEST FAILED: failed to enter agent_start_lock\n"); } - if (!NSK_JVMTI_VERIFY(NSK_CPP_STUB5(RunAgentThread, - jvmti_env, agent_thread, debug_agent, NULL, JVMTI_THREAD_NORM_PRIORITY))) { + if (!NSK_JVMTI_VERIFY(jvmti_env->RunAgentThread(agent_thread, debug_agent, NULL, JVMTI_THREAD_NORM_PRIORITY))) { result = STATUS_FAILED; NSK_COMPLAIN0("TEST FAILED: failed to create agent thread\n"); } - if (!NSK_JVMTI_VERIFY(NSK_CPP_STUB3(RawMonitorWait, jvmti_env, agent_start_lock, (jlong)0))) { + if (!NSK_JVMTI_VERIFY(jvmti_env->RawMonitorWait(agent_start_lock, (jlong)0))) { result = STATUS_FAILED; NSK_COMPLAIN0("TEST FAILED: failed to wait agent_start_lock\n"); } - if (!NSK_JVMTI_VERIFY(NSK_CPP_STUB2(RawMonitorExit, jvmti_env, agent_start_lock))) { + if (!NSK_JVMTI_VERIFY(jvmti_env->RawMonitorExit(agent_start_lock))) { result = STATUS_FAILED; NSK_COMPLAIN0("TEST FAILED: failed to exit agent_start_lock\n"); } @@ -464,17 +456,17 @@ jint Agent_Initialize(JavaVM *jvm, char *options, void *reserved) { return JNI_ERR; } - if (!NSK_JVMTI_VERIFY(NSK_CPP_STUB2(GetPotentialCapabilities, jvmti, &caps))) { + if (!NSK_JVMTI_VERIFY(jvmti->GetPotentialCapabilities(&caps))) { NSK_COMPLAIN0("TEST FAILED: failed to get potential capabilities\n"); return JNI_ERR; } - if (!NSK_JVMTI_VERIFY(NSK_CPP_STUB2(AddCapabilities, jvmti, &caps))) { + if (!NSK_JVMTI_VERIFY(jvmti->AddCapabilities(&caps))) { NSK_COMPLAIN0("TEST FAILED: failed to add capabilities during agent load\n"); return JNI_ERR; } - if (!NSK_JVMTI_VERIFY(NSK_CPP_STUB2(GetCapabilities, jvmti, &caps))) { + if (!NSK_JVMTI_VERIFY(jvmti->GetCapabilities(&caps))) { NSK_COMPLAIN0("TEST FAILED: failed to get capabilities\n"); return JNI_ERR; } @@ -484,22 +476,22 @@ jint Agent_Initialize(JavaVM *jvm, char *options, void *reserved) { } /* create raw monitors */ - if (!NSK_JVMTI_VERIFY(NSK_CPP_STUB3(CreateRawMonitor, jvmti, "_agent_start_lock", &agent_start_lock))) { + if (!NSK_JVMTI_VERIFY(jvmti->CreateRawMonitor("_agent_start_lock", &agent_start_lock))) { NSK_COMPLAIN0("TEST FAILED: failed to create agent_start_lock\n"); return JNI_ERR; } - if (!NSK_JVMTI_VERIFY(NSK_CPP_STUB3(CreateRawMonitor, jvmti, "_thr_event_lock", &thr_event_lock))) { + if (!NSK_JVMTI_VERIFY(jvmti->CreateRawMonitor("_thr_event_lock", &thr_event_lock))) { NSK_COMPLAIN0("TEST FAILED: failed to create thr_event_lock\n"); return JNI_ERR; } - if (!NSK_JVMTI_VERIFY(NSK_CPP_STUB3(CreateRawMonitor, jvmti, "_thr_start_lock", &thr_start_lock))) { + if (!NSK_JVMTI_VERIFY(jvmti->CreateRawMonitor("_thr_start_lock", &thr_start_lock))) { NSK_COMPLAIN0("TEST FAILED: failed to create thr_start_lock\n"); return JNI_ERR; } - if (!NSK_JVMTI_VERIFY(NSK_CPP_STUB3(CreateRawMonitor, jvmti, "_thr_resume_lock", &thr_resume_lock))) { + if (!NSK_JVMTI_VERIFY(jvmti->CreateRawMonitor("_thr_resume_lock", &thr_resume_lock))) { NSK_COMPLAIN0("TEST FAILED: failed to create thr_resume_lock\n"); return JNI_ERR; } @@ -508,19 +500,17 @@ jint Agent_Initialize(JavaVM *jvm, char *options, void *reserved) { callbacks.VMDeath = &VMDeath; callbacks.ThreadStart = &ThreadStart; - if (!NSK_JVMTI_VERIFY(NSK_CPP_STUB3(SetEventCallbacks, jvmti, &callbacks, sizeof(callbacks)))) { + if (!NSK_JVMTI_VERIFY(jvmti->SetEventCallbacks(&callbacks, sizeof(callbacks)))) { NSK_COMPLAIN0("TEST FAILED: failed to set event callbacks\n"); return JNI_ERR; } - if (!NSK_JVMTI_VERIFY(NSK_CPP_STUB4(SetEventNotificationMode, - jvmti, JVMTI_ENABLE, JVMTI_EVENT_VM_INIT, NULL))) { + if (!NSK_JVMTI_VERIFY(jvmti->SetEventNotificationMode(JVMTI_ENABLE, JVMTI_EVENT_VM_INIT, NULL))) { NSK_COMPLAIN0("TEST FAILED: failed to enable JVMTI_EVENT_VM_INIT\n"); return JNI_ERR; } - if (!NSK_JVMTI_VERIFY(NSK_CPP_STUB4(SetEventNotificationMode, - jvmti, JVMTI_ENABLE, JVMTI_EVENT_VM_DEATH, NULL))) { + if (!NSK_JVMTI_VERIFY(jvmti->SetEventNotificationMode(JVMTI_ENABLE, JVMTI_EVENT_VM_DEATH, NULL))) { NSK_COMPLAIN0("TEST FAILED: failed to enable JVMTI_EVENT_VM_DEATH\n"); return JNI_ERR; } diff --git a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/VMDeath/vmdeath001/vmdeath001.cpp b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/VMDeath/vmdeath001/vmdeath001.cpp index dadf59c3d6e..887b217608d 100644 --- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/VMDeath/vmdeath001/vmdeath001.cpp +++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/VMDeath/vmdeath001/vmdeath001.cpp @@ -48,8 +48,7 @@ VMDeath(jvmtiEnv *jvmti_env, JNIEnv *env) { NSK_DISPLAY0("CHECK PASSED: VMDeath event received\n"); - if (!NSK_JVMTI_VERIFY(NSK_CPP_STUB2(GetPhase, - jvmti, &phase))) + if (!NSK_JVMTI_VERIFY(jvmti->GetPhase(&phase))) exit(95 + STATUS_FAILED); if (phase != JVMTI_PHASE_LIVE) { @@ -88,13 +87,11 @@ jint Agent_Initialize(JavaVM *jvm, char *options, void *reserved) { NSK_DISPLAY0("setting event callbacks ...\n"); (void) memset(&callbacks, 0, sizeof(callbacks)); callbacks.VMDeath = &VMDeath; - if (!NSK_JVMTI_VERIFY(NSK_CPP_STUB3(SetEventCallbacks, - jvmti, &callbacks, sizeof(callbacks)))) + if (!NSK_JVMTI_VERIFY(jvmti->SetEventCallbacks(&callbacks, sizeof(callbacks)))) return JNI_ERR; NSK_DISPLAY0("setting event callbacks done\nenabling VMDeath event ...\n"); - if (!NSK_JVMTI_VERIFY(NSK_CPP_STUB4(SetEventNotificationMode, - jvmti, JVMTI_ENABLE, JVMTI_EVENT_VM_DEATH, NULL))) + if (!NSK_JVMTI_VERIFY(jvmti->SetEventNotificationMode(JVMTI_ENABLE, JVMTI_EVENT_VM_DEATH, NULL))) return JNI_ERR; NSK_DISPLAY0("enabling VMDeath event done\n"); diff --git a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/VMObjectAlloc/vmobjalloc001/vmobjalloc001.cpp b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/VMObjectAlloc/vmobjalloc001/vmobjalloc001.cpp index 47c8d749287..0b88c68aeef 100644 --- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/VMObjectAlloc/vmobjalloc001/vmobjalloc001.cpp +++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/VMObjectAlloc/vmobjalloc001/vmobjalloc001.cpp @@ -61,8 +61,7 @@ VMObjectAlloc(jvmtiEnv *jvmti, JNIEnv* jni, jthread thread, jobject object, eventsCount++; - if (!NSK_JVMTI_VERIFY(NSK_CPP_STUB4(GetClassSignature, jvmti, - object_klass, &signature, &generic))) { + if (!NSK_JVMTI_VERIFY(jvmti->GetClassSignature(object_klass, &signature, &generic))) { nsk_jvmti_setFailStatus(); return; } @@ -70,10 +69,10 @@ VMObjectAlloc(jvmtiEnv *jvmti, JNIEnv* jni, jthread thread, jobject object, NSK_DISPLAY2("VMObjectAlloc: \"%s\", size=%d\n", signature, size); if (signature != NULL) - NSK_CPP_STUB2(Deallocate, jvmti, (unsigned char*)signature); + jvmti->Deallocate((unsigned char*)signature); if (generic != NULL) - NSK_CPP_STUB2(Deallocate, jvmti, (unsigned char*)generic); + jvmti->Deallocate((unsigned char*)generic); } @@ -130,21 +129,18 @@ jint Agent_Initialize(JavaVM *jvm, char *options, void *reserved) { memset(&caps, 0, sizeof(caps)); caps.can_generate_vm_object_alloc_events = 1; - if (!NSK_JVMTI_VERIFY(NSK_CPP_STUB2(AddCapabilities, jvmti, &caps))) { + if (!NSK_JVMTI_VERIFY(jvmti->AddCapabilities(&caps))) { return JNI_ERR; } memset(&callbacks, 0, sizeof(callbacks)); callbacks.VMObjectAlloc= &VMObjectAlloc; - if (!NSK_JVMTI_VERIFY( - NSK_CPP_STUB3(SetEventCallbacks, jvmti, - &callbacks, sizeof(callbacks)))) + if (!NSK_JVMTI_VERIFY(jvmti->SetEventCallbacks(&callbacks, sizeof(callbacks)))) return JNI_ERR; /* enable VMObjectAlloc event */ if (!NSK_JVMTI_VERIFY( - NSK_CPP_STUB4(SetEventNotificationMode, jvmti, JVMTI_ENABLE, - JVMTI_EVENT_VM_OBJECT_ALLOC, NULL))) + jvmti->SetEventNotificationMode(JVMTI_ENABLE, JVMTI_EVENT_VM_OBJECT_ALLOC, NULL))) return JNI_ERR; /* register agent proc and arg */ diff --git a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/allocation/AP01/ap01t001/ap01t001.cpp b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/allocation/AP01/ap01t001/ap01t001.cpp index 1dae1f2118a..6530b4d1368 100644 --- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/allocation/AP01/ap01t001/ap01t001.cpp +++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/allocation/AP01/ap01t001/ap01t001.cpp @@ -63,7 +63,7 @@ VMDeath(jvmtiEnv *jvmti_env, JNIEnv *env) { NSK_DISPLAY0("VMDeath event received\n"); - if (obj_free != (EXP_OBJ_NUMBER - 1) ) { + if (obj_free != (EXP_OBJ_NUMBER - 1)) { NSK_COMPLAIN2( "Received unexpected number of ObjectFree events: %d\n" "\texpected number: %d\n", @@ -88,15 +88,15 @@ heapObjectCallback(jlong class_tag, } jvmtiIterationControl JNICALL -stackReferenceCallback( jvmtiHeapRootKind root_kind, - jlong class_tag, - jlong size, - jlong* tag_ptr, - jlong thread_tag, - jint depth, - jmethodID method, - jint slot, - void* user_data) { +stackReferenceCallback(jvmtiHeapRootKind root_kind, + jlong class_tag, + jlong size, + jlong* tag_ptr, + jlong thread_tag, + jint depth, + jmethodID method, + jint slot, + void* user_data) { if (class_tag == DEBUGEE_CLASS_TAG && *tag_ptr == 0) { obj_count++; @@ -107,11 +107,11 @@ stackReferenceCallback( jvmtiHeapRootKind root_kind, } jvmtiIterationControl JNICALL -heapRootCallback( jvmtiHeapRootKind root_kind, - jlong class_tag, - jlong size, - jlong* tag_ptr, - void* user_data) { +heapRootCallback(jvmtiHeapRootKind root_kind, + jlong class_tag, + jlong size, + jlong* tag_ptr, + void* user_data) { if (class_tag == DEBUGEE_CLASS_TAG && *tag_ptr == 0) { obj_count++; @@ -122,13 +122,13 @@ heapRootCallback( jvmtiHeapRootKind root_kind, } jvmtiIterationControl JNICALL -objectReferenceCallback( jvmtiObjectReferenceKind reference_kind, - jlong class_tag, - jlong size, - jlong* tag_ptr, - jlong referrer_tag, - jint referrer_index, - void* user_data) { +objectReferenceCallback(jvmtiObjectReferenceKind reference_kind, + jlong class_tag, + jlong size, + jlong* tag_ptr, + jlong referrer_tag, + jint referrer_index, + void* user_data) { if (class_tag == DEBUGEE_CLASS_TAG && *tag_ptr == 0) { obj_count++; @@ -142,17 +142,17 @@ objectReferenceCallback( jvmtiObjectReferenceKind reference_kind, /************************/ JNIEXPORT jobject JNICALL -Java_nsk_jvmti_scenarios_allocation_AP01_ap01t001_newObject( JNIEnv* jni, jclass cls ) { +Java_nsk_jvmti_scenarios_allocation_AP01_ap01t001_newObject(JNIEnv* jni, jclass cls) { jmethodID cid; jobject result; - if (!NSK_JNI_VERIFY(jni, (cid = jni->GetMethodID(cls, " ", "()V" )) != NULL)) { + if (!NSK_JNI_VERIFY(jni, (cid = jni->GetMethodID(cls, " ", "()V")) != NULL)) { NSK_COMPLAIN0("newObject: GetMethodID returned NULL\n\n"); nsk_jvmti_setFailStatus(); return NULL; } - if (!NSK_JNI_VERIFY(jni, ( result = jni->NewObject(cls, cid)) != NULL)) { + if (!NSK_JNI_VERIFY(jni, (result = jni->NewObject(cls, cid)) != NULL)) { NSK_COMPLAIN0("newObject: NewObject returned NULL\n\n"); nsk_jvmti_setFailStatus(); @@ -163,18 +163,18 @@ Java_nsk_jvmti_scenarios_allocation_AP01_ap01t001_newObject( JNIEnv* jni, jclass } JNIEXPORT jobject JNICALL -Java_nsk_jvmti_scenarios_allocation_AP01_ap01t001_allocObject( JNIEnv* jni, jclass cls ) { +Java_nsk_jvmti_scenarios_allocation_AP01_ap01t001_allocObject(JNIEnv* jni, jclass cls) { jmethodID cid; jobject result; - if (!NSK_JNI_VERIFY(jni, ( cid = jni->GetMethodID(cls, " ", "()V" )) != NULL)) { + if (!NSK_JNI_VERIFY(jni, (cid = jni->GetMethodID(cls, " ", "()V")) != NULL)) { NSK_COMPLAIN0("allocObject: GetMethodID returned NULL\n\n"); nsk_jvmti_setFailStatus(); return NULL; } - if (!NSK_JNI_VERIFY(jni, ( result = jni->AllocObject(cls)) != NULL)) { + if (!NSK_JNI_VERIFY(jni, (result = jni->AllocObject(cls)) != NULL)) { NSK_COMPLAIN0("allocObject: AllocObject returned NULL\n\n"); nsk_jvmti_setFailStatus(); diff --git a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/allocation/AP02/ap02t001/ap02t001.cpp b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/allocation/AP02/ap02t001/ap02t001.cpp index 60e52d1dd3b..409784d43ea 100644 --- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/allocation/AP02/ap02t001/ap02t001.cpp +++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/allocation/AP02/ap02t001/ap02t001.cpp @@ -66,15 +66,15 @@ heapObjectCallback(jlong class_tag, } jvmtiIterationControl JNICALL -stackReferenceCallback( jvmtiHeapRootKind root_kind, - jlong class_tag, - jlong size, - jlong* tag_ptr, - jlong thread_tag, - jint depth, - jmethodID method, - jint slot, - void* user_data) { +stackReferenceCallback(jvmtiHeapRootKind root_kind, + jlong class_tag, + jlong size, + jlong* tag_ptr, + jlong thread_tag, + jint depth, + jmethodID method, + jint slot, + void* user_data) { if (class_tag == TESTED_CLASS_TAG) { obj_count++; @@ -86,14 +86,14 @@ stackReferenceCallback( jvmtiHeapRootKind root_kind, /************************/ JNIEXPORT void JNICALL -Java_nsk_jvmti_scenarios_allocation_AP02_ap02t001_throwException( JNIEnv* jni, - jclass cls, - jclass exception_cls ) { +Java_nsk_jvmti_scenarios_allocation_AP02_ap02t001_throwException(JNIEnv* jni, + jclass cls, + jclass exception_cls) { jint result; - result = jni->ThrowNew(exception_cls, "Got expected exception thrown from native code" ); + result = jni->ThrowNew(exception_cls, "Got expected exception thrown from native code"); if (result != 0) { - NSK_COMPLAIN1("throwException: Unable to throw exception in native code: %d\n\n", result ); + NSK_COMPLAIN1("throwException: Unable to throw exception in native code: %d\n\n", result); nsk_jvmti_setFailStatus(); } else { NSK_DISPLAY0("throwException: ThrowNew returned success code: 0\n\n"); diff --git a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/allocation/AP03/ap03t001/ap03t001.cpp b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/allocation/AP03/ap03t001/ap03t001.cpp index d5b16bef9d3..0ebfdadeafc 100644 --- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/allocation/AP03/ap03t001/ap03t001.cpp +++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/allocation/AP03/ap03t001/ap03t001.cpp @@ -69,13 +69,13 @@ heapObjectCallback(jlong class_tag, } jvmtiIterationControl JNICALL -objectReferenceCallback( jvmtiObjectReferenceKind reference_kind, - jlong class_tag, - jlong size, - jlong* tag_ptr, - jlong referrer_tag, - jint referrer_index, - void* user_data) { +objectReferenceCallback(jvmtiObjectReferenceKind reference_kind, + jlong class_tag, + jlong size, + jlong* tag_ptr, + jlong referrer_tag, + jint referrer_index, + void* user_data) { if (class_tag == DEBUGEE_CLASS_TAG && *tag_ptr != 0) { obj_count++; @@ -88,7 +88,7 @@ objectReferenceCallback( jvmtiObjectReferenceKind reference_kind, /************************/ JNIEXPORT void JNICALL -Java_nsk_jvmti_scenarios_allocation_AP03_ap03t001_setTag( JNIEnv* jni, jobject obj, jlong tag) { +Java_nsk_jvmti_scenarios_allocation_AP03_ap03t001_setTag(JNIEnv* jni, jobject obj, jlong tag) { if (!NSK_JVMTI_VERIFY(jvmti->SetTag(obj, tag))) { nsk_jvmti_setFailStatus(); @@ -160,13 +160,13 @@ agentProc(jvmtiEnv* jvmti, JNIEnv* jni, void* arg) { } if (!NSK_JNI_VERIFY(jni, (fid = - jni->GetStaticFieldID(debugeeClass, "catcher", DEBUGEE_SIGNATURE)) != NULL )) { + jni->GetStaticFieldID(debugeeClass, "catcher", DEBUGEE_SIGNATURE)) != NULL)) { nsk_jvmti_setFailStatus(); break; } if (!NSK_JNI_VERIFY(jni, (catcher = - jni->GetStaticObjectField(debugeeClass, fid)) != NULL )) { + jni->GetStaticObjectField(debugeeClass, fid)) != NULL)) { NSK_COMPLAIN0("GetStaticObjectField returned NULL for 'catcher' field value\n\n"); nsk_jvmti_setFailStatus(); break; diff --git a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/allocation/AP04/ap04t001/ap04t001.cpp b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/allocation/AP04/ap04t001/ap04t001.cpp index 9e89ca1c5f6..cf79fe945a1 100644 --- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/allocation/AP04/ap04t001/ap04t001.cpp +++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/allocation/AP04/ap04t001/ap04t001.cpp @@ -109,10 +109,10 @@ static int getCounter(volatile int* counterPtr) { /***********************************************************************/ jvmtiIterationControl JNICALL -heapObjectCallback( jlong class_tag, - jlong size, - jlong* tag_ptr, - void* user_data) { +heapObjectCallback(jlong class_tag, + jlong size, + jlong* tag_ptr, + void* user_data) { int count = 0; @@ -133,11 +133,11 @@ heapObjectCallback( jlong class_tag, /* jvmtiHeapRootCallback */ jvmtiIterationControl JNICALL -heapRootCallback( jvmtiHeapRootKind root_kind, - jlong class_tag, - jlong size, - jlong* tag_ptr, - void* user_data) { +heapRootCallback(jvmtiHeapRootKind root_kind, + jlong class_tag, + jlong size, + jlong* tag_ptr, + void* user_data) { int count = 0; @@ -158,15 +158,15 @@ heapRootCallback( jvmtiHeapRootKind root_kind, /* jvmtiStackReferenceCallback */ jvmtiIterationControl JNICALL -stackReferenceCallback( jvmtiHeapRootKind root_kind, - jlong class_tag, - jlong size, - jlong* tag_ptr, - jlong thread_tag, - jint depth, - jmethodID method, - jint slot, - void* user_data) { +stackReferenceCallback(jvmtiHeapRootKind root_kind, + jlong class_tag, + jlong size, + jlong* tag_ptr, + jlong thread_tag, + jint depth, + jmethodID method, + jint slot, + void* user_data) { int count = 0; @@ -188,13 +188,13 @@ stackReferenceCallback( jvmtiHeapRootKind root_kind, /* jvmtiObjectReferenceCallback */ jvmtiIterationControl JNICALL -objectReferenceCallback( jvmtiObjectReferenceKind reference_kind, - jlong class_tag, - jlong size, - jlong* tag_ptr, - jlong referrer_tag, - jint referrer_index, - void* user_data) { +objectReferenceCallback(jvmtiObjectReferenceKind reference_kind, + jlong class_tag, + jlong size, + jlong* tag_ptr, + jlong referrer_tag, + jint referrer_index, + void* user_data) { int count = 0; @@ -237,10 +237,10 @@ GarbageCollectionFinish(jvmtiEnv *jvmti_env) { /***********************************************************************/ JNIEXPORT void JNICALL -Java_nsk_jvmti_scenarios_allocation_AP04_ap04t001_setTag( JNIEnv* jni, - jclass klass, - jobject target, /* object to be tagged */ - jlong tag ) { +Java_nsk_jvmti_scenarios_allocation_AP04_ap04t001_setTag(JNIEnv* jni, + jclass klass, + jobject target, /* object to be tagged */ + jlong tag) { if (!NSK_JVMTI_VERIFY(jvmti->SetTag(target, tag))) { nsk_jvmti_setFailStatus(); @@ -248,7 +248,7 @@ Java_nsk_jvmti_scenarios_allocation_AP04_ap04t001_setTag( JNIEnv* jni, } JNIEXPORT void JNICALL -Java_nsk_jvmti_scenarios_allocation_AP04_ap04t001_forceGC( JNIEnv* jni, +Java_nsk_jvmti_scenarios_allocation_AP04_ap04t001_forceGC(JNIEnv* jni, jclass klass) { NSK_DISPLAY0(" run: ForceGarbageCollection\n"); @@ -258,8 +258,8 @@ NSK_DISPLAY0(" run: ForceGarbageCollection\n"); } JNIEXPORT void JNICALL -Java_nsk_jvmti_scenarios_allocation_AP04_ap04t001_runIterateOverHeap( JNIEnv* jni, - jclass klass ) { +Java_nsk_jvmti_scenarios_allocation_AP04_ap04t001_runIterateOverHeap(JNIEnv* jni, + jclass klass) { int count = 0; setCounter(&errorCount, 0); @@ -286,8 +286,8 @@ Java_nsk_jvmti_scenarios_allocation_AP04_ap04t001_runIterateOverHeap( JNIEnv* jn } JNIEXPORT void JNICALL -Java_nsk_jvmti_scenarios_allocation_AP04_ap04t001_runIterateOverReachableObjects( JNIEnv* jni, - jclass klass ) { +Java_nsk_jvmti_scenarios_allocation_AP04_ap04t001_runIterateOverReachableObjects(JNIEnv* jni, + jclass klass) { int count = 0; setCounter(&errorCount, 0); @@ -315,8 +315,8 @@ Java_nsk_jvmti_scenarios_allocation_AP04_ap04t001_runIterateOverReachableObjects } JNIEXPORT void JNICALL -Java_nsk_jvmti_scenarios_allocation_AP04_ap04t001_runIterateOverInstancesOfClass( JNIEnv* jni, - jclass klass ) { +Java_nsk_jvmti_scenarios_allocation_AP04_ap04t001_runIterateOverInstancesOfClass(JNIEnv* jni, + jclass klass) { int count = 0; setCounter(&errorCount, 0); @@ -344,14 +344,14 @@ Java_nsk_jvmti_scenarios_allocation_AP04_ap04t001_runIterateOverInstancesOfClass } JNIEXPORT void JNICALL -Java_nsk_jvmti_scenarios_allocation_AP04_ap04t001_runIterateOverObjectsReachableFromObject( JNIEnv* jni, - jclass klass ) { +Java_nsk_jvmti_scenarios_allocation_AP04_ap04t001_runIterateOverObjectsReachableFromObject(JNIEnv* jni, + jclass klass) { jobject root = NULL; int count = 0; if (!NSK_JNI_VERIFY(jni, (root = - jni->GetStaticObjectField(debugeeClass, rootFieldID)) != NULL )) { + jni->GetStaticObjectField(debugeeClass, rootFieldID)) != NULL)) { NSK_COMPLAIN0("GetStaticObjectField returned NULL for 'root' field value\n\n"); nsk_jvmti_setFailStatus(); return; @@ -402,14 +402,14 @@ agentProc(jvmtiEnv* jvmti, JNIEnv* jni, void* arg) { NSK_DISPLAY1("Find ID of 'root' field: %s\n", ROOT_SIGNATURE); if (!NSK_JNI_VERIFY(jni, (rootFieldID = - jni->GetStaticFieldID(debugeeClass, "root", ROOT_SIGNATURE)) != NULL )) { + jni->GetStaticFieldID(debugeeClass, "root", ROOT_SIGNATURE)) != NULL)) { nsk_jvmti_setFailStatus(); return; } NSK_DISPLAY1("Find ID of 'unlockSecondary' method: %s\n", ROOT_SIGNATURE); if (!NSK_JNI_VERIFY(jni, (unlockSecondaryID = - jni->GetStaticMethodID(debugeeClass, "unlockSecondary", "()V")) != NULL )) { + jni->GetStaticMethodID(debugeeClass, "unlockSecondary", "()V")) != NULL)) { nsk_jvmti_setFailStatus(); return; } diff --git a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/unit/FollowReferences/followref001/followref001.cpp b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/unit/FollowReferences/followref001/followref001.cpp index 6472f72804a..797dbc73b6b 100644 --- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/unit/FollowReferences/followref001/followref001.cpp +++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/unit/FollowReferences/followref001/followref001.cpp @@ -142,10 +142,8 @@ static int initObjectDescList(jvmtiEnv* jvmti, printf("Allocate memory for objects list: %d objects\n", *objectsCount); fflush(0); - if (!NSK_JVMTI_VERIFY( - NSK_CPP_STUB3(Allocate, jvmti, - (*objectsCount * sizeof(ObjectDesc)), - (unsigned char**) objectDescList))) { + if (!NSK_JVMTI_VERIFY(jvmti->Allocate((*objectsCount * sizeof(ObjectDesc)), + (unsigned char**) objectDescList))) { nsk_jvmti_setFailStatus(); return NSK_FALSE; } @@ -180,8 +178,7 @@ static int getAndTagClasses(jvmtiEnv* jvmti, jclass* chainObjectClass) { - if (!NSK_JNI_VERIFY(jni, (*debugeeClass = - NSK_CPP_STUB2(FindClass, jni, DEBUGEE_CLASS_NAME)) != NULL)) { + if (!NSK_JNI_VERIFY(jni, (*debugeeClass = jni->FindClass(DEBUGEE_CLASS_NAME)) != NULL)) { nsk_jvmti_setFailStatus(); return NSK_FALSE; } @@ -190,14 +187,12 @@ static int getAndTagClasses(jvmtiEnv* jvmti, fflush(0); if (!NSK_JNI_VERIFY(jni, (*rootObjectClass = - NSK_CPP_STUB2(FindClass, jni, ROOT_OBJECT_CLASS_NAME)) != NULL)) { + jni->FindClass(ROOT_OBJECT_CLASS_NAME)) != NULL)) { nsk_jvmti_setFailStatus(); return NSK_FALSE; } - if (!NSK_JVMTI_VERIFY(NSK_CPP_STUB3(SetTag, jvmti, - *rootObjectClass, - ROOT_CLASS_TAG))) { + if (!NSK_JVMTI_VERIFY(jvmti->SetTag(*rootObjectClass, ROOT_CLASS_TAG))) { nsk_jvmti_setFailStatus(); } @@ -208,14 +203,12 @@ static int getAndTagClasses(jvmtiEnv* jvmti, if (!NSK_JNI_VERIFY(jni, (*chainObjectClass = - NSK_CPP_STUB2(FindClass, jni, CHAIN_OBJECT_CLASS_NAME)) != NULL)) { + jni->FindClass(CHAIN_OBJECT_CLASS_NAME)) != NULL)) { nsk_jvmti_setFailStatus(); return NSK_FALSE; } - if (!NSK_JVMTI_VERIFY(NSK_CPP_STUB3(SetTag, jvmti, - *chainObjectClass, - CHAIN_CLASS_TAG))) { + if (!NSK_JVMTI_VERIFY(jvmti->SetTag(*chainObjectClass, CHAIN_CLASS_TAG))) { nsk_jvmti_setFailStatus(); } printf("\nFound chain object class: 0x%p, tag=%ld\n %s\n", @@ -241,10 +234,7 @@ static int getFieldsAndObjects(jvmtiEnv* jvmti, jfieldID rootObjectField = NULL; if (!NSK_JNI_VERIFY(jni, (rootObjectField = - NSK_CPP_STUB4(GetStaticFieldID, jni, - debugeeClass, - OBJECT_FIELD_NAME, - ROOT_OBJECT_CLASS_SIG)) != NULL)) { + jni->GetStaticFieldID(debugeeClass, OBJECT_FIELD_NAME, ROOT_OBJECT_CLASS_SIG)) != NULL)) { nsk_jvmti_setFailStatus(); return NSK_FALSE; } @@ -253,9 +243,7 @@ static int getFieldsAndObjects(jvmtiEnv* jvmti, fflush(0); if (!NSK_JNI_VERIFY(jni, (*reachableChainField = - NSK_CPP_STUB4(GetFieldID, jni, rootObjectClass, - REACHABLE_CHAIN_FIELD_NAME, - CHAIN_OBJECT_CLASS_SIG)) != NULL)) { + jni->GetFieldID(rootObjectClass, REACHABLE_CHAIN_FIELD_NAME, CHAIN_OBJECT_CLASS_SIG)) != NULL)) { nsk_jvmti_setFailStatus(); return NSK_FALSE; } @@ -264,9 +252,7 @@ static int getFieldsAndObjects(jvmtiEnv* jvmti, fflush(0); if (!NSK_JNI_VERIFY(jni, (*unreachableChainField = - NSK_CPP_STUB4(GetFieldID, jni, rootObjectClass, - UNREACHABLE_CHAIN_FIELD_NAME, - CHAIN_OBJECT_CLASS_SIG)) != NULL)) { + jni->GetFieldID(rootObjectClass, UNREACHABLE_CHAIN_FIELD_NAME, CHAIN_OBJECT_CLASS_SIG)) != NULL)) { nsk_jvmti_setFailStatus(); return NSK_FALSE; } @@ -276,8 +262,7 @@ static int getFieldsAndObjects(jvmtiEnv* jvmti, fflush(0); if (!NSK_JNI_VERIFY(jni, (*nextField = - NSK_CPP_STUB4(GetFieldID, jni, chainObjectClass, - NEXT_FIELD_NAME, CHAIN_OBJECT_CLASS_SIG)) != NULL)) { + jni->GetFieldID(chainObjectClass, NEXT_FIELD_NAME, CHAIN_OBJECT_CLASS_SIG)) != NULL)) { nsk_jvmti_setFailStatus(); return NSK_FALSE; } @@ -286,16 +271,14 @@ static int getFieldsAndObjects(jvmtiEnv* jvmti, fflush(0); if (!NSK_JNI_VERIFY(jni, (*rootObjectPtr = - NSK_CPP_STUB3(GetStaticObjectField, jni, - debugeeClass, rootObjectField)) != NULL)) { + jni->GetStaticObjectField(debugeeClass, rootObjectField)) != NULL)) { nsk_jvmti_setFailStatus(); return NSK_FALSE; } printf("\nFound root object: 0x%p\n", (void*) *rootObjectPtr); fflush(0); - if (!NSK_JNI_VERIFY(jni, (*rootObjectPtr = - NSK_CPP_STUB2(NewGlobalRef, jni, *rootObjectPtr)) != NULL)) { + if (!NSK_JNI_VERIFY(jni, (*rootObjectPtr = jni->NewGlobalRef(*rootObjectPtr)) != NULL)) { nsk_jvmti_setFailStatus(); return NSK_FALSE; } @@ -328,8 +311,7 @@ static int getAndTagChainObjects( count--; tag++; - if (!NSK_JNI_VERIFY(jni, (nextObj = - NSK_CPP_STUB3(GetObjectField, jni, currObj, refField)) != NULL)) { + if (!NSK_JNI_VERIFY(jni, (nextObj = jni->GetObjectField(currObj, refField)) != NULL)) { nsk_jvmti_setFailStatus(); return NSK_FALSE; } @@ -339,7 +321,7 @@ static int getAndTagChainObjects( objectDescList[count].exp_found++; } - if (!NSK_JVMTI_VERIFY(NSK_CPP_STUB3(SetTag, jvmti, nextObj, objTag))) { + if (!NSK_JVMTI_VERIFY(jvmti->SetTag(nextObj, objTag))) { nsk_jvmti_setFailStatus(); } printf(" tag=%-5ld object=0x%p\n", (long)objTag, (void*)nextObj); @@ -359,7 +341,7 @@ static int getAndTagChainObjects( return NSK_FALSE; } - NSK_TRACE(NSK_CPP_STUB2(DeleteLocalRef, jni, nextObj)); + NSK_TRACE(jni->DeleteLocalRef(nextObj)); return NSK_TRUE; } /* getAndTagChainObjects */ @@ -411,9 +393,7 @@ static int getAndTagTestedObjects( printf("\nObtain and tag chain objects:\n"); printf(" root tested object:\n"); - if (!NSK_JVMTI_VERIFY(NSK_CPP_STUB3(SetTag, jvmti, - *rootObjectPtr, - ROOT_OBJECT_TAG)) + if (!NSK_JVMTI_VERIFY(jvmti->SetTag(*rootObjectPtr, ROOT_OBJECT_TAG)) ) { nsk_jvmti_setFailStatus(); } @@ -531,13 +511,12 @@ static int releaseTestedObjects(jvmtiEnv* jvmti, { if (rootObject != NULL) { printf("Release object reference to root tested object: 0x%p\n", rootObject); - NSK_TRACE(NSK_CPP_STUB2(DeleteGlobalRef, jni, rootObject)); + NSK_TRACE(jni->DeleteGlobalRef(rootObject)); } if (objectDescList != NULL) { printf("Deallocate objects list: 0x%p\n", (void*)objectDescList); - if (!NSK_JVMTI_VERIFY( - NSK_CPP_STUB2(Deallocate, jvmti, (unsigned char*)objectDescList))) { + if (!NSK_JVMTI_VERIFY(jvmti->Deallocate((unsigned char*)objectDescList))) { nsk_jvmti_setFailStatus(); } } @@ -786,14 +765,11 @@ agentProc(jvmtiEnv* jvmti, JNIEnv* jni, void* arg) { printf(">>> Start iteration from root tested object: 0x%p\n\n", rootObject); fflush(0); - if (!NSK_JVMTI_VERIFY( - NSK_CPP_STUB6(FollowReferences, jvmti, - (jint) 0, /* heap_filter */ - (jclass) NULL, /* class */ - rootObject, /* initial_object */ - &heapCallbacks, - (const void *) &fakeUserData)) - ) { + if (!NSK_JVMTI_VERIFY(jvmti->FollowReferences((jint) 0, /* heap_filter */ + (jclass) NULL, /* class */ + rootObject, /* initial_object */ + &heapCallbacks, + (const void *) &fakeUserData))) { nsk_jvmti_setFailStatus(); return; } @@ -856,7 +832,7 @@ jint Agent_Initialize(JavaVM *jvm, char *options, void *reserved) { memset(&caps, 0, sizeof(caps)); caps.can_tag_objects = 1; - if (!NSK_JVMTI_VERIFY(NSK_CPP_STUB2(AddCapabilities, jvmti, &caps))) { + if (!NSK_JVMTI_VERIFY(jvmti->AddCapabilities(&caps))) { return JNI_ERR; } } diff --git a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/unit/FollowReferences/followref002/followref002.cpp b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/unit/FollowReferences/followref002/followref002.cpp index e70df51b349..95d7642fb6c 100644 --- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/unit/FollowReferences/followref002/followref002.cpp +++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/unit/FollowReferences/followref002/followref002.cpp @@ -119,8 +119,7 @@ static int getAndTagChainObjects( count--; tag++; - if (!NSK_JNI_VERIFY(jni, (obj = - NSK_CPP_STUB3(GetObjectField, jni, firstObject, firstField)) != NULL)) { + if (!NSK_JNI_VERIFY(jni, (obj = jni->GetObjectField(firstObject, firstField)) != NULL)) { nsk_jvmti_setFailStatus(); return NSK_FALSE; } @@ -130,7 +129,7 @@ static int getAndTagChainObjects( objectDescList[count].exp_found++; } - if (!NSK_JVMTI_VERIFY(NSK_CPP_STUB3(SetTag, jvmti, obj, objTag))) { + if (!NSK_JVMTI_VERIFY(jvmti->SetTag(obj, objTag))) { nsk_jvmti_setFailStatus(); } printf(" tag=%-5ld object=0x%p\n", (long)objTag, (void*)obj); @@ -147,7 +146,7 @@ static int getAndTagChainObjects( return NSK_FALSE; } - NSK_TRACE(NSK_CPP_STUB2(DeleteLocalRef, jni, obj)); + NSK_TRACE(jni->DeleteLocalRef(obj)); return NSK_TRUE; } /* getAndTagChainObjects */ @@ -174,9 +173,8 @@ static int getAndTagTestedObjects( printf("Allocate memory for objects list: %d objects\n", *objectsCount); fflush(0); - if (!NSK_JVMTI_VERIFY( - NSK_CPP_STUB3(Allocate, jvmti, (*objectsCount * sizeof(ObjectDesc)), - (unsigned char**)objectDescList))) { + if (!NSK_JVMTI_VERIFY(jvmti->Allocate((*objectsCount * sizeof(ObjectDesc)), + (unsigned char**)objectDescList))) { nsk_jvmti_setFailStatus(); return NSK_FALSE; } @@ -196,8 +194,7 @@ static int getAndTagTestedObjects( printf("Find debugee class: %s\n", DEBUGEE_CLASS_NAME); fflush(0); - if (!NSK_JNI_VERIFY(jni, (debugeeClass = - NSK_CPP_STUB2(FindClass, jni, DEBUGEE_CLASS_NAME)) != NULL)) { + if (!NSK_JNI_VERIFY(jni, (debugeeClass = jni->FindClass(DEBUGEE_CLASS_NAME)) != NULL)) { nsk_jvmti_setFailStatus(); return NSK_FALSE; } @@ -205,14 +202,13 @@ static int getAndTagTestedObjects( printf("Find root object class: %s\n", ROOT_OBJECT_CLASS_NAME); fflush(0); - if (!NSK_JNI_VERIFY(jni, (rootObjectClass = - NSK_CPP_STUB2(FindClass, jni, ROOT_OBJECT_CLASS_NAME)) != NULL)) { + if (!NSK_JNI_VERIFY(jni, (rootObjectClass = jni->FindClass(ROOT_OBJECT_CLASS_NAME)) != NULL)) { nsk_jvmti_setFailStatus(); return NSK_FALSE; } printf(" ... found class: 0x%p\n", (void*)rootObjectClass); - if (!NSK_JVMTI_VERIFY(NSK_CPP_STUB3(SetTag, jvmti, rootObjectClass, rootClassTag))) { + if (!NSK_JVMTI_VERIFY(jvmti->SetTag(rootObjectClass, rootClassTag))) { nsk_jvmti_setFailStatus(); } printf(" tag=%-5ld rootClass=0x%p\n", (long)rootClassTag, (void*)rootObjectClass); @@ -220,13 +216,13 @@ static int getAndTagTestedObjects( printf("Find chain object class: %s\n", CHAIN_OBJECT_CLASS_NAME); fflush(0); if (!NSK_JNI_VERIFY(jni, (chainObjectClass = - NSK_CPP_STUB2(FindClass, jni, CHAIN_OBJECT_CLASS_NAME)) != NULL)) { + jni->FindClass(CHAIN_OBJECT_CLASS_NAME)) != NULL)) { nsk_jvmti_setFailStatus(); return NSK_FALSE; } printf(" ... found class: 0x%p\n", (void*)chainObjectClass); - if (!NSK_JVMTI_VERIFY(NSK_CPP_STUB3(SetTag, jvmti, chainObjectClass, chainClassTag))) { + if (!NSK_JVMTI_VERIFY(jvmti->SetTag(chainObjectClass, chainClassTag))) { nsk_jvmti_setFailStatus(); } printf(" tag=%-5ld chainClass=0x%p\n", (long)chainClassTag, (void*)chainObjectClass); @@ -234,8 +230,7 @@ static int getAndTagTestedObjects( printf("Find static field in debugee class: %s\n", OBJECT_FIELD_NAME); fflush(0); if (!NSK_JNI_VERIFY(jni, (objectField = - NSK_CPP_STUB4(GetStaticFieldID, jni, debugeeClass, - OBJECT_FIELD_NAME, ROOT_OBJECT_CLASS_SIG)) != NULL)) { + jni->GetStaticFieldID(debugeeClass, OBJECT_FIELD_NAME, ROOT_OBJECT_CLASS_SIG)) != NULL)) { nsk_jvmti_setFailStatus(); return NSK_FALSE; } @@ -244,8 +239,7 @@ static int getAndTagTestedObjects( printf("Find instance field in root object class: %s\n", REACHABLE_CHAIN_FIELD_NAME); fflush(0); if (!NSK_JNI_VERIFY(jni, (reachableChainField = - NSK_CPP_STUB4(GetFieldID, jni, rootObjectClass, - REACHABLE_CHAIN_FIELD_NAME, CHAIN_OBJECT_CLASS_SIG)) != NULL)) { + jni->GetFieldID(rootObjectClass, REACHABLE_CHAIN_FIELD_NAME, CHAIN_OBJECT_CLASS_SIG)) != NULL)) { nsk_jvmti_setFailStatus(); return NSK_FALSE; } @@ -254,8 +248,7 @@ static int getAndTagTestedObjects( printf("Find instance field in root object class: %s\n", UNREACHABLE_CHAIN_FIELD_NAME); fflush(0); if (!NSK_JNI_VERIFY(jni, (unreachableChainField = - NSK_CPP_STUB4(GetFieldID, jni, rootObjectClass, - UNREACHABLE_CHAIN_FIELD_NAME, CHAIN_OBJECT_CLASS_SIG)) != NULL)) { + jni->GetFieldID(rootObjectClass, UNREACHABLE_CHAIN_FIELD_NAME, CHAIN_OBJECT_CLASS_SIG)) != NULL)) { nsk_jvmti_setFailStatus(); return NSK_FALSE; } @@ -264,8 +257,7 @@ static int getAndTagTestedObjects( printf("Find instance field in chain object class: %s\n", TAIL_FIELD_NAME); fflush(0); if (!NSK_JNI_VERIFY(jni, (tailField = - NSK_CPP_STUB4(GetFieldID, jni, chainObjectClass, - TAIL_FIELD_NAME, CHAIN_OBJECT_CLASS_SIG)) != NULL)) { + jni->GetFieldID(chainObjectClass, TAIL_FIELD_NAME, CHAIN_OBJECT_CLASS_SIG)) != NULL)) { nsk_jvmti_setFailStatus(); return NSK_FALSE; } @@ -274,16 +266,14 @@ static int getAndTagTestedObjects( printf("Get root object from static field: %s\n", OBJECT_FIELD_NAME); fflush(0); if (!NSK_JNI_VERIFY(jni, (*rootObject = - NSK_CPP_STUB3(GetStaticObjectField, jni, debugeeClass, - objectField)) != NULL)) { + jni->GetStaticObjectField(debugeeClass, objectField)) != NULL)) { nsk_jvmti_setFailStatus(); return NSK_FALSE; } printf(" ... got object: 0x%p\n", (void*)*rootObject); fflush(0); - if (!NSK_JNI_VERIFY(jni, (*rootObject = - NSK_CPP_STUB2(NewGlobalRef, jni, *rootObject)) != NULL)) { + if (!NSK_JNI_VERIFY(jni, (*rootObject = jni->NewGlobalRef(*rootObject)) != NULL)) { nsk_jvmti_setFailStatus(); return NSK_FALSE; } @@ -293,7 +283,7 @@ static int getAndTagTestedObjects( printf(" root tested object:\n"); fflush(0); - if (!NSK_JVMTI_VERIFY(NSK_CPP_STUB3(SetTag, jvmti, *rootObject, rootObjectTag))) { + if (!NSK_JVMTI_VERIFY(jvmti->SetTag(*rootObject, rootObjectTag))) { nsk_jvmti_setFailStatus(); } printf(" tag=%-5ld object=0x%p\n", (long)rootObjectTag, (void*)*rootObject); @@ -406,13 +396,12 @@ static int releaseTestedObjects(jvmtiEnv* jvmti, JNIEnv* jni, int chainLength, ObjectDesc* objectDescList, jobject rootObject) { if (rootObject != NULL) { printf("Release object reference to root tested object: 0x%p\n", rootObject); - NSK_TRACE(NSK_CPP_STUB2(DeleteGlobalRef, jni, rootObject)); + NSK_TRACE(jni->DeleteGlobalRef(rootObject)); } if (objectDescList != NULL) { printf("Deallocate objects list: 0x%p\n", (void*)objectDescList); - if (!NSK_JVMTI_VERIFY( - NSK_CPP_STUB2(Deallocate, jvmti, (unsigned char*)objectDescList))) { + if (!NSK_JVMTI_VERIFY(jvmti->Deallocate((unsigned char*)objectDescList))) { nsk_jvmti_setFailStatus(); } } @@ -645,14 +634,11 @@ agentProc(jvmtiEnv* jvmti, JNIEnv* jni, void* arg) { fflush(0); { jint heap_filter = JVMTI_HEAP_FILTER_UNTAGGED | JVMTI_HEAP_FILTER_CLASS_UNTAGGED; - if (!NSK_JVMTI_VERIFY( - NSK_CPP_STUB6(FollowReferences, jvmti, - heap_filter, - (jclass) NULL, /* class */ - rootObject, /* initial_object */ - &heapCallbacks, - (const void *) &fakeUserData))) - { + if (!NSK_JVMTI_VERIFY(jvmti->FollowReferences(heap_filter, + (jclass) NULL, /* class */ + rootObject, /* initial_object */ + &heapCallbacks, + (const void *) &fakeUserData))) { nsk_jvmti_setFailStatus(); return; } @@ -681,14 +667,11 @@ agentProc(jvmtiEnv* jvmti, JNIEnv* jni, void* arg) { /* This time everythig is filtered out */ jint heap_filter = JVMTI_HEAP_FILTER_UNTAGGED | JVMTI_HEAP_FILTER_CLASS_UNTAGGED | JVMTI_HEAP_FILTER_TAGGED | JVMTI_HEAP_FILTER_CLASS_TAGGED; - if (!NSK_JVMTI_VERIFY( - NSK_CPP_STUB6(FollowReferences, jvmti, - heap_filter, - (jclass) NULL, /* class */ - rootObject, /* initial_object */ - &heapCallbacks, - (const void *) &fakeUserData))) - { + if (!NSK_JVMTI_VERIFY(jvmti->FollowReferences(heap_filter, + (jclass) NULL, /* class */ + rootObject, /* initial_object */ + &heapCallbacks, + (const void *) &fakeUserData))) { nsk_jvmti_setFailStatus(); return; } @@ -751,7 +734,7 @@ jint Agent_Initialize(JavaVM *jvm, char *options, void *reserved) { memset(&caps, 0, sizeof(caps)); caps.can_tag_objects = 1; - if (!NSK_JVMTI_VERIFY(NSK_CPP_STUB2(AddCapabilities, jvmti, &caps))) { + if (!NSK_JVMTI_VERIFY(jvmti->AddCapabilities(&caps))) { return JNI_ERR; } } diff --git a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/unit/FollowReferences/followref003/followref003.cpp b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/unit/FollowReferences/followref003/followref003.cpp index efb06f3e8af..4b324d758dd 100644 --- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/unit/FollowReferences/followref003/followref003.cpp +++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/unit/FollowReferences/followref003/followref003.cpp @@ -138,15 +138,14 @@ static int getChainObjects(jvmtiEnv* jvmti, JNIEnv* jni, jobject firstObject, count--; tag++; - if (!NSK_JNI_VERIFY(jni, (obj = - NSK_CPP_STUB3(GetObjectField, jni, firstObject, firstField)) != NULL)) { + if (!NSK_JNI_VERIFY(jni, (obj = jni->GetObjectField(firstObject, firstField)) != NULL)) { nsk_jvmti_setFailStatus(); return NSK_FALSE; } objectDescList[count].tag = objTag; - if (!NSK_JVMTI_VERIFY(NSK_CPP_STUB3(SetTag, jvmti, obj, objTag))) { + if (!NSK_JVMTI_VERIFY(jvmti->SetTag(obj, objTag))) { nsk_jvmti_setFailStatus(); } printf(" tag=%-5ld object=0x%p\n", (long)objTag, (void*)obj); @@ -157,7 +156,7 @@ static int getChainObjects(jvmtiEnv* jvmti, JNIEnv* jni, jobject firstObject, return NSK_FALSE; } - NSK_TRACE(NSK_CPP_STUB2(DeleteLocalRef, jni, obj)); + NSK_TRACE(jni->DeleteLocalRef(obj)); return NSK_TRUE; } @@ -178,9 +177,8 @@ static int getTestedObjects(jvmtiEnv* jvmti, JNIEnv* jni, int chainLength, printf("Allocate memory for objects list: %d objects\n", *objectsCount); fflush(0); - if (!NSK_JVMTI_VERIFY( - NSK_CPP_STUB3(Allocate, jvmti, (*objectsCount * sizeof(ObjectDesc)), - (unsigned char**)objectDescList))) { + if (!NSK_JVMTI_VERIFY(jvmti->Allocate((*objectsCount * sizeof(ObjectDesc)), + (unsigned char**)objectDescList))) { nsk_jvmti_setFailStatus(); return NSK_FALSE; } @@ -200,8 +198,7 @@ static int getTestedObjects(jvmtiEnv* jvmti, JNIEnv* jni, int chainLength, printf("Find debugee class: %s\n", DEBUGEE_CLASS_NAME); fflush(0); - if (!NSK_JNI_VERIFY(jni, (debugeeClass = - NSK_CPP_STUB2(FindClass, jni, DEBUGEE_CLASS_NAME)) != NULL)) { + if (!NSK_JNI_VERIFY(jni, (debugeeClass = jni->FindClass(DEBUGEE_CLASS_NAME)) != NULL)) { nsk_jvmti_setFailStatus(); return NSK_FALSE; } @@ -209,14 +206,13 @@ static int getTestedObjects(jvmtiEnv* jvmti, JNIEnv* jni, int chainLength, printf("Find root object class: %s\n", ROOT_OBJECT_CLASS_NAME); fflush(0); - if (!NSK_JNI_VERIFY(jni, (rootObjectClass = - NSK_CPP_STUB2(FindClass, jni, ROOT_OBJECT_CLASS_NAME)) != NULL)) { + if (!NSK_JNI_VERIFY(jni, (rootObjectClass = jni->FindClass(ROOT_OBJECT_CLASS_NAME)) != NULL)) { nsk_jvmti_setFailStatus(); return NSK_FALSE; } printf(" ... found class: 0x%p\n", (void*)rootObjectClass); - if (!NSK_JVMTI_VERIFY(NSK_CPP_STUB3(SetTag, jvmti, rootObjectClass, rootClassTag))) { + if (!NSK_JVMTI_VERIFY(jvmti->SetTag(rootObjectClass, rootClassTag))) { nsk_jvmti_setFailStatus(); } printf(" tag=%-5ld rootClass=0x%p\n", @@ -225,14 +221,14 @@ static int getTestedObjects(jvmtiEnv* jvmti, JNIEnv* jni, int chainLength, printf("Find chain object class: %s\n", CHAIN_OBJECT_CLASS_NAME); fflush(0); if (!NSK_JNI_VERIFY(jni, (chainObjectClass = - NSK_CPP_STUB2(FindClass, jni, CHAIN_OBJECT_CLASS_NAME)) != NULL)) { + jni->FindClass(CHAIN_OBJECT_CLASS_NAME)) != NULL)) { nsk_jvmti_setFailStatus(); return NSK_FALSE; } printf(" ... found class: 0x%p\n", (void*)chainObjectClass); - if (!NSK_JVMTI_VERIFY(NSK_CPP_STUB3(SetTag, jvmti, chainObjectClass, chainClassTag))) { + if (!NSK_JVMTI_VERIFY(jvmti->SetTag(chainObjectClass, chainClassTag))) { nsk_jvmti_setFailStatus(); } printf(" tag=%-5ld chainClass=0x%p\n", @@ -241,8 +237,7 @@ static int getTestedObjects(jvmtiEnv* jvmti, JNIEnv* jni, int chainLength, printf("Find static field in debugee class: %s\n", OBJECT_FIELD_NAME); fflush(0); if (!NSK_JNI_VERIFY(jni, (objectField = - NSK_CPP_STUB4(GetStaticFieldID, jni, debugeeClass, - OBJECT_FIELD_NAME, ROOT_OBJECT_CLASS_SIG)) != NULL)) { + jni->GetStaticFieldID(debugeeClass, OBJECT_FIELD_NAME, ROOT_OBJECT_CLASS_SIG)) != NULL)) { nsk_jvmti_setFailStatus(); return NSK_FALSE; } @@ -251,8 +246,7 @@ static int getTestedObjects(jvmtiEnv* jvmti, JNIEnv* jni, int chainLength, printf("Find instance field in root object class: %s\n", REACHABLE_CHAIN_FIELD_NAME); fflush(0); if (!NSK_JNI_VERIFY(jni, (reachableChainField = - NSK_CPP_STUB4(GetFieldID, jni, rootObjectClass, - REACHABLE_CHAIN_FIELD_NAME, CHAIN_OBJECT_CLASS_SIG)) != NULL)) { + jni->GetFieldID(rootObjectClass, REACHABLE_CHAIN_FIELD_NAME, CHAIN_OBJECT_CLASS_SIG)) != NULL)) { nsk_jvmti_setFailStatus(); return NSK_FALSE; } @@ -261,8 +255,7 @@ static int getTestedObjects(jvmtiEnv* jvmti, JNIEnv* jni, int chainLength, printf("Find instance field in root object class: %s\n", UNREACHABLE_CHAIN_FIELD_NAME); fflush(0); if (!NSK_JNI_VERIFY(jni, (unreachableChainField = - NSK_CPP_STUB4(GetFieldID, jni, rootObjectClass, - UNREACHABLE_CHAIN_FIELD_NAME, CHAIN_OBJECT_CLASS_SIG)) != NULL)) { + jni->GetFieldID(rootObjectClass, UNREACHABLE_CHAIN_FIELD_NAME, CHAIN_OBJECT_CLASS_SIG)) != NULL)) { nsk_jvmti_setFailStatus(); return NSK_FALSE; } @@ -271,8 +264,7 @@ static int getTestedObjects(jvmtiEnv* jvmti, JNIEnv* jni, int chainLength, printf("Find instance field in chain object class: %s\n", TAIL_FIELD_NAME); fflush(0); if (!NSK_JNI_VERIFY(jni, (tailField = - NSK_CPP_STUB4(GetFieldID, jni, chainObjectClass, - TAIL_FIELD_NAME, CHAIN_OBJECT_CLASS_SIG)) != NULL)) { + jni->GetFieldID(chainObjectClass, TAIL_FIELD_NAME, CHAIN_OBJECT_CLASS_SIG)) != NULL)) { nsk_jvmti_setFailStatus(); return NSK_FALSE; } @@ -281,16 +273,14 @@ static int getTestedObjects(jvmtiEnv* jvmti, JNIEnv* jni, int chainLength, printf("Get root object from static field: %s\n", OBJECT_FIELD_NAME); fflush(0); if (!NSK_JNI_VERIFY(jni, (*rootObject = - NSK_CPP_STUB3(GetStaticObjectField, jni, debugeeClass, - objectField)) != NULL)) { + jni->GetStaticObjectField(debugeeClass, objectField)) != NULL)) { nsk_jvmti_setFailStatus(); return NSK_FALSE; } printf(" ... got object: 0x%p\n", (void*)*rootObject); fflush(0); - if (!NSK_JNI_VERIFY(jni, (*rootObject = - NSK_CPP_STUB2(NewGlobalRef, jni, *rootObject)) != NULL)) { + if (!NSK_JNI_VERIFY(jni, (*rootObject = jni->NewGlobalRef(*rootObject)) != NULL)) { nsk_jvmti_setFailStatus(); return NSK_FALSE; } @@ -300,7 +290,7 @@ static int getTestedObjects(jvmtiEnv* jvmti, JNIEnv* jni, int chainLength, printf(" root tested object\n"); fflush(0); - if (!NSK_JVMTI_VERIFY(NSK_CPP_STUB3(SetTag, jvmti, *rootObject, rootObjectTag))) { + if (!NSK_JVMTI_VERIFY(jvmti->SetTag(*rootObject, rootObjectTag))) { nsk_jvmti_setFailStatus(); } printf(" tag=%-5ld object=0x%p\n", @@ -406,13 +396,12 @@ static int releaseTestedObjects(jvmtiEnv* jvmti, JNIEnv* jni, int chainLength, ObjectDesc* objectDescList, jobject rootObject) { if (rootObject != NULL) { printf("Release object reference to root tested object: 0x%p\n", rootObject); - NSK_TRACE(NSK_CPP_STUB2(DeleteGlobalRef, jni, rootObject)); + NSK_TRACE(jni->DeleteGlobalRef(rootObject)); } if (objectDescList != NULL) { printf("Deallocate objects list: 0x%p\n", (void*)objectDescList); - if (!NSK_JVMTI_VERIFY( - NSK_CPP_STUB2(Deallocate, jvmti, (unsigned char*)objectDescList))) { + if (!NSK_JVMTI_VERIFY(jvmti->Deallocate((unsigned char*)objectDescList))) { nsk_jvmti_setFailStatus(); } } @@ -949,14 +938,11 @@ agentProc(jvmtiEnv* jvmti, JNIEnv* jni, void* arg) { printf("\n\n>>> Start 1-st iteration starting from the heap root\n"); fflush(0); { - if (!NSK_JVMTI_VERIFY( - NSK_CPP_STUB6(FollowReferences, jvmti, - (jint) 0, /* heap_filter */ - (jclass) NULL, /* class */ - (jobject) NULL, /* initial_object */ - &heapCallbacks, - (const void *) &fakeUserData))) - { + if (!NSK_JVMTI_VERIFY(jvmti->FollowReferences((jint) 0, /* heap_filter */ + (jclass) NULL, /* class */ + (jobject) NULL, /* initial_object */ + &heapCallbacks, + (const void *) &fakeUserData))) { nsk_jvmti_setFailStatus(); return; } @@ -990,14 +976,11 @@ agentProc(jvmtiEnv* jvmti, JNIEnv* jni, void* arg) { { jint heap_filter = JVMTI_HEAP_FILTER_UNTAGGED | JVMTI_HEAP_FILTER_CLASS_UNTAGGED; - if (!NSK_JVMTI_VERIFY( - NSK_CPP_STUB6(FollowReferences, jvmti, - heap_filter, - (jclass) NULL, /* class */ - (jobject) NULL, /* initial_object */ - &heapCallbacks, - (const void *) &fakeUserData))) - { + if (!NSK_JVMTI_VERIFY(jvmti->FollowReferences(heap_filter, + (jclass) NULL, /* class */ + (jobject) NULL, /* initial_object */ + &heapCallbacks, + (const void *) &fakeUserData))) { nsk_jvmti_setFailStatus(); return; } @@ -1086,7 +1069,7 @@ jint Agent_Initialize(JavaVM *jvm, char *options, void *reserved) { memset(&caps, 0, sizeof(caps)); caps.can_tag_objects = 1; - if (!NSK_JVMTI_VERIFY(NSK_CPP_STUB2(AddCapabilities, jvmti, &caps))) { + if (!NSK_JVMTI_VERIFY(jvmti->AddCapabilities(&caps))) { return JNI_ERR; } } diff --git a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/unit/FollowReferences/followref004/followref004.cpp b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/unit/FollowReferences/followref004/followref004.cpp index 02f1c7391c5..579cc20072b 100644 --- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/unit/FollowReferences/followref004/followref004.cpp +++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/unit/FollowReferences/followref004/followref004.cpp @@ -146,16 +146,16 @@ static void createGlobalRefs(JNIEnv * jni) { jclass klass; - if ( ! NSK_JNI_VERIFY(jni, (klass = NSK_CPP_STUB2(FindClass, jni, JAVA_LANG_STRING_CLASS_NAME)) != NULL) ) { + if ( ! NSK_JNI_VERIFY(jni, (klass = jni->FindClass(JAVA_LANG_STRING_CLASS_NAME)) != NULL) ) { nsk_jvmti_setFailStatus(); return; } - if ( ! NSK_JNI_VERIFY(jni, (g_jniGlobalRef = NSK_CPP_STUB2(NewGlobalRef, jni, klass)) != NULL) ) { + if ( ! NSK_JNI_VERIFY(jni, (g_jniGlobalRef = jni->NewGlobalRef(klass)) != NULL) ) { nsk_jvmti_setFailStatus(); } - if ( ! NSK_JNI_VERIFY(jni, (g_jniWeakGlobalRef = NSK_CPP_STUB2(NewWeakGlobalRef, jni, klass)) != NULL) ) { + if ( ! NSK_JNI_VERIFY(jni, (g_jniWeakGlobalRef = jni->NewWeakGlobalRef(klass)) != NULL) ) { nsk_jvmti_setFailStatus(); } @@ -179,13 +179,11 @@ static void JNICALL agentProc(jvmtiEnv* jvmti, JNIEnv* jni, void* arg) createGlobalRefs(jni); - retCode = NSK_CPP_STUB6(FollowReferences, - jvmti, - (jint) 0, /* heap filter */ - NULL, /* class */ - NULL, /* inital object */ - &g_heapCallbacks, - (const void *) &g_fakeUserData); + retCode = jvmti->FollowReferences((jint) 0, /* heap filter */ + NULL, /* class */ + NULL, /* inital object */ + &g_heapCallbacks, + (const void *) &g_fakeUserData); if ( ! NSK_VERIFY(retCode == JVMTI_ERROR_NONE) ) { nsk_jvmti_setFailStatus(); @@ -247,7 +245,7 @@ jint Agent_Initialize(JavaVM *jvm, char *options, void *reserved) memset(&caps, 0, sizeof(caps)); caps.can_tag_objects = 1; - if (!NSK_JVMTI_VERIFY(NSK_CPP_STUB2(AddCapabilities, jvmti, &caps))) { + if (!NSK_JVMTI_VERIFY(jvmti->AddCapabilities(&caps))) { return JNI_ERR; } } diff --git a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/unit/FollowReferences/followref005/followref005.cpp b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/unit/FollowReferences/followref005/followref005.cpp index 460751acd2c..35f8cf0dd3f 100644 --- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/unit/FollowReferences/followref005/followref005.cpp +++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/unit/FollowReferences/followref005/followref005.cpp @@ -45,58 +45,42 @@ agentProc(jvmtiEnv* jvmti, JNIEnv* jni, void* arg) { printf(">>> Check that FollowReferences(), IterateThroughHeap(), GetTag(), SetTag() and GetObjectsWithTags() \n" " return an error if env. doesn't possess can_tag_objects capability\n"); - retCode = NSK_CPP_STUB6(FollowReferences, - jvmti, - (jint) 0, /* heap filter */ - NULL, /* class */ - NULL, /* inital object */ - &g_wrongHeapCallbacks, - (const void *) &g_fakeUserData); + retCode = jvmti->FollowReferences((jint) 0, /* heap filter */ + NULL, /* class */ + NULL, /* inital object */ + &g_wrongHeapCallbacks, + (const void *) &g_fakeUserData); if ( ! NSK_VERIFY(retCode == JVMTI_ERROR_MUST_POSSESS_CAPABILITY ) ) { NSK_COMPLAIN1("FollowReferences() returned %i", retCode); nsk_jvmti_setFailStatus(); } - retCode = NSK_CPP_STUB5(IterateThroughHeap, - jvmti, - (jint) 0, /* heap filter */ - NULL, /* class */ - &g_wrongHeapCallbacks, - (const void *) &g_fakeUserData); + retCode = jvmti->IterateThroughHeap((jint) 0, /* heap filter */ + NULL, /* class */ + &g_wrongHeapCallbacks, + (const void *) &g_fakeUserData); if ( ! NSK_VERIFY(retCode == JVMTI_ERROR_MUST_POSSESS_CAPABILITY ) ) { NSK_COMPLAIN1("IterateThroughHeap() returned %i", retCode); nsk_jvmti_setFailStatus(); } - retCode = NSK_CPP_STUB3(GetTag, - jvmti, - (jobject) &g_wrongHeapCallbacks, - &tag); + retCode = jvmti->GetTag((jobject) &g_wrongHeapCallbacks, &tag); if ( ! NSK_VERIFY(retCode == JVMTI_ERROR_MUST_POSSESS_CAPABILITY ) ) { NSK_COMPLAIN1("GetTag() returned %i", retCode); nsk_jvmti_setFailStatus(); } - retCode = NSK_CPP_STUB3(SetTag, - jvmti, - (jobject) &g_wrongHeapCallbacks, - tag); + retCode = jvmti->SetTag((jobject) &g_wrongHeapCallbacks, tag); if ( ! NSK_VERIFY(retCode == JVMTI_ERROR_MUST_POSSESS_CAPABILITY ) ) { NSK_COMPLAIN1("SetTag() returned %i", retCode); nsk_jvmti_setFailStatus(); } - retCode = NSK_CPP_STUB6(GetObjectsWithTags, - jvmti, - 1, - &tag, - &cnt, - &pObjs, - &pObjTags); + retCode = jvmti->GetObjectsWithTags(1, &tag, &cnt, &pObjs, &pObjTags); if ( ! NSK_VERIFY(retCode == JVMTI_ERROR_MUST_POSSESS_CAPABILITY ) ) { NSK_COMPLAIN1("GetObjectsWithTags() returned %i", retCode); @@ -148,7 +132,7 @@ jint Agent_Initialize(JavaVM *jvm, char *options, void *reserved) { memset(&caps, 0, sizeof(caps)); /* Don't add can_tag_objects capability */ - if (!NSK_JVMTI_VERIFY(NSK_CPP_STUB2(AddCapabilities, jvmti, &caps))) { + if (!NSK_JVMTI_VERIFY(jvmti->AddCapabilities(&caps))) { return JNI_ERR; } } diff --git a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/unit/FollowReferences/followref006/followref006.cpp b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/unit/FollowReferences/followref006/followref006.cpp index 52b77872755..054004c2190 100644 --- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/unit/FollowReferences/followref006/followref006.cpp +++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/unit/FollowReferences/followref006/followref006.cpp @@ -49,13 +49,11 @@ static void verifyReturnCodes(JNIEnv* jni, jvmtiEnv* jvmti) NSK_DISPLAY0("FollowReferences: Invalid class:"); - retCode = NSK_CPP_STUB6(FollowReferences, - jvmti, - (jint) 0, /* heap filter */ - (jclass) &g_wrongHeapCallbacks , /* invalid class, but valid memory address */ - NULL, /* inital object */ - &g_wrongHeapCallbacks, - (const void *) &g_fakeUserData); + retCode = jvmti->FollowReferences((jint) 0, /* heap filter */ + (jclass) &g_wrongHeapCallbacks , /* invalid class, but valid memory address */ + NULL, /* inital object */ + &g_wrongHeapCallbacks, + (const void *) &g_fakeUserData); if ( ! NSK_VERIFY(retCode == JVMTI_ERROR_INVALID_CLASS ) ) { nsk_jvmti_setFailStatus(); @@ -75,13 +73,11 @@ static void verifyReturnCodes(JNIEnv* jni, jvmtiEnv* jvmti) emptyHeapCallbacks.primitive_field_callback = NULL; emptyHeapCallbacks.array_primitive_value_callback = NULL; emptyHeapCallbacks.string_primitive_value_callback = NULL; - retCode = NSK_CPP_STUB6(FollowReferences, - jvmti, - (jint) 0, // heap filter - NULL, // class - (jobject) &g_wrongHeapCallbacks, // invalid inital object - &emptyHeapCallbacks, // No callbacks - (const void *) &g_fakeUserData); + retCode = jvmti->FollowReferences((jint) 0, // heap filter + NULL, // class + (jobject) &g_wrongHeapCallbacks, // invalid inital object + &emptyHeapCallbacks, // No callbacks + (const void *) &g_fakeUserData); // Accept both JVMTI_ERROR_INVALID_OBJECT and JVMTI_ERROR_NONE if ( ! NSK_VERIFY(retCode == JVMTI_ERROR_INVALID_OBJECT || retCode == JVMTI_ERROR_NONE ) ) { @@ -90,13 +86,11 @@ static void verifyReturnCodes(JNIEnv* jni, jvmtiEnv* jvmti) NSK_DISPLAY0("FollowReferences: Invalid callbacks:"); - retCode = NSK_CPP_STUB6(FollowReferences, - jvmti, - (jint) 0, /* heap filter */ - NULL, /* class */ - NULL, /* inital object */ - NULL, - (const void *) &g_fakeUserData); + retCode = jvmti->FollowReferences((jint) 0, /* heap filter */ + NULL, /* class */ + NULL, /* inital object */ + NULL, + (const void *) &g_fakeUserData); if ( ! NSK_VERIFY(retCode == JVMTI_ERROR_NULL_POINTER ) ) { nsk_jvmti_setFailStatus(); @@ -104,10 +98,8 @@ static void verifyReturnCodes(JNIEnv* jni, jvmtiEnv* jvmti) NSK_DISPLAY0("GetTag: Invalid object:"); - retCode = NSK_CPP_STUB3(GetTag, - jvmti, - (jobject) &g_wrongHeapCallbacks, /* invalid inital object */ - &tag); + retCode = jvmti->GetTag((jobject) &g_wrongHeapCallbacks, /* invalid inital object */ + &tag); if ( ! NSK_VERIFY(retCode == JVMTI_ERROR_INVALID_OBJECT ) ) { nsk_jvmti_setFailStatus(); @@ -115,10 +107,7 @@ static void verifyReturnCodes(JNIEnv* jni, jvmtiEnv* jvmti) NSK_DISPLAY0("GetTag: NULL object pointer:"); - retCode = NSK_CPP_STUB3(GetTag, - jvmti, - NULL, - &tag); + retCode = jvmti->GetTag(NULL, &tag); if ( ! NSK_VERIFY(retCode == JVMTI_ERROR_INVALID_OBJECT ) ) { nsk_jvmti_setFailStatus(); @@ -126,10 +115,7 @@ static void verifyReturnCodes(JNIEnv* jni, jvmtiEnv* jvmti) NSK_DISPLAY0("GetTag: NULL tag pointer:"); - retCode = NSK_CPP_STUB3(GetTag, - jvmti, - (jobject) &g_wrongHeapCallbacks, - NULL); + retCode = jvmti->GetTag((jobject) &g_wrongHeapCallbacks, NULL); if ( ! NSK_VERIFY(retCode == JVMTI_ERROR_NULL_POINTER ) ) { nsk_jvmti_setFailStatus(); @@ -138,10 +124,8 @@ static void verifyReturnCodes(JNIEnv* jni, jvmtiEnv* jvmti) NSK_DISPLAY0("SetTag: Invalid object:"); tag = 1; - retCode = NSK_CPP_STUB3(SetTag, - jvmti, - (jobject) &g_wrongHeapCallbacks, /* invalid inital object */ - tag); + retCode = jvmti->SetTag((jobject) &g_wrongHeapCallbacks, /* invalid inital object */ + tag); if ( ! NSK_VERIFY(retCode == JVMTI_ERROR_INVALID_OBJECT ) ) { nsk_jvmti_setFailStatus(); @@ -149,10 +133,7 @@ static void verifyReturnCodes(JNIEnv* jni, jvmtiEnv* jvmti) NSK_DISPLAY0("SetTag: NULL object pointer:"); - retCode = NSK_CPP_STUB3(GetTag, - jvmti, - NULL, - &tag); + retCode = jvmti->GetTag(NULL, &tag); if ( ! NSK_VERIFY(retCode == JVMTI_ERROR_INVALID_OBJECT ) ) { nsk_jvmti_setFailStatus(); @@ -170,19 +151,16 @@ static void checkNoObjIterated(JNIEnv* jni, jvmtiEnv* jvmti, const char * szClas jclass klass; NSK_DISPLAY1("Verify, that no objects are returned if initial object is %s", szClassName); - if (!NSK_JNI_VERIFY(jni, (klass = - NSK_CPP_STUB2(FindClass, jni, szClassName)) != NULL)) { + if (!NSK_JNI_VERIFY(jni, (klass = jni->FindClass(szClassName)) != NULL)) { nsk_jvmti_setFailStatus(); return; } - retCode = NSK_CPP_STUB6(FollowReferences, - jvmti, - (jint) 0, /* heap filter */ - klass, /* class */ - NULL, /* inital object */ - &g_wrongHeapCallbacks, - (const void *) &g_fakeUserData); + retCode = jvmti->FollowReferences((jint) 0, /* heap filter */ + klass, /* class */ + NULL, /* inital object */ + &g_wrongHeapCallbacks, + (const void *) &g_fakeUserData); if ( ! NSK_VERIFY(retCode == JVMTI_ERROR_NONE ) ) { nsk_jvmti_setFailStatus(); @@ -252,7 +230,7 @@ jint Agent_Initialize(JavaVM *jvm, char *options, void *reserved) memset(&caps, 0, sizeof(caps)); caps.can_tag_objects = 1; - if (!NSK_JVMTI_VERIFY(NSK_CPP_STUB2(AddCapabilities, jvmti, &caps))) { + if (!NSK_JVMTI_VERIFY(jvmti->AddCapabilities(&caps))) { return JNI_ERR; } } diff --git a/test/hotspot/jtreg/vmTestbase/nsk/share/JVMTIagent.cpp b/test/hotspot/jtreg/vmTestbase/nsk/share/JVMTIagent.cpp index 72a98e1622b..883c4f4dfe9 100644 --- a/test/hotspot/jtreg/vmTestbase/nsk/share/JVMTIagent.cpp +++ b/test/hotspot/jtreg/vmTestbase/nsk/share/JVMTIagent.cpp @@ -715,7 +715,7 @@ static int doHotSwap(JNIEnv *jni_env, jclass redefCls, jint bCount, "#### JVMTIagent: >>>>>>>> Invoke RedefineClasses():\n" " \tnew class byte count=%d\n", classDef.class_byte_count); - if (!NSK_JVMTI_VERIFY(NSK_CPP_STUB3(jvmti->RedefineClasses(1, &classDef))) + if (!NSK_JVMTI_VERIFY(jvmti->RedefineClasses(1, &classDef))) return 1; display(0, "#### JVMTIagent: <<<<<<<< RedefineClasses() is successfully done ####\n"); diff --git a/test/hotspot/jtreg/vmTestbase/nsk/share/jni/README b/test/hotspot/jtreg/vmTestbase/nsk/share/jni/README index 3d274b268d7..966202110dc 100644 --- a/test/hotspot/jtreg/vmTestbase/nsk/share/jni/README +++ b/test/hotspot/jtreg/vmTestbase/nsk/share/jni/README @@ -41,7 +41,7 @@ and checking JNI errors and pending exceptions: NSK_JNI_VERIFY(jni, action) NSK_JNI_VERIFY_NEGATIVE(jni, action) -Typical example of usage of NSK_JNI_VERIFY and NSK_CPP_STUB macroses +Typical example of usage of the NSK_JNI_VERIFY macro for invokation of JNI functions: // jni->FindClass(jni, class_name) diff --git a/test/hotspot/jtreg/vmTestbase/nsk/share/jvmti/AddToBootstrapClassLoaderSearch/bootclssearch_agent.cpp b/test/hotspot/jtreg/vmTestbase/nsk/share/jvmti/AddToBootstrapClassLoaderSearch/bootclssearch_agent.cpp index 65097d62983..b67d7980bc9 100644 --- a/test/hotspot/jtreg/vmTestbase/nsk/share/jvmti/AddToBootstrapClassLoaderSearch/bootclssearch_agent.cpp +++ b/test/hotspot/jtreg/vmTestbase/nsk/share/jvmti/AddToBootstrapClassLoaderSearch/bootclssearch_agent.cpp @@ -51,8 +51,7 @@ jvmtiPhase jvmti_phase_to_check = JVMTI_PHASE_ONLOAD; */ static int addSegment(jvmtiEnv* jvmti, const char segment[], const char where[]) { NSK_DISPLAY1("Add segment: \"%s\"\n", segment); - if (!NSK_JVMTI_VERIFY( - NSK_CPP_STUB2(AddToBootstrapClassLoaderSearch, jvmti, segment))) { + if (!NSK_JVMTI_VERIFY(jvmti->AddToBootstrapClassLoaderSearch(segment))) { NSK_COMPLAIN1("TEST FAILURE: failed to add segment %s\n", segment); return NSK_FALSE; } @@ -68,8 +67,7 @@ static int addSegment(jvmtiEnv* jvmti, const char segment[], const char where[]) */ static int addIllegalSegment(jvmtiEnv* jvmti, const char segment[], const char where[], jvmtiError expectedError) { NSK_DISPLAY1("Add illegal segment: \"%s\"\n", segment); - if (!NSK_JVMTI_VERIFY_CODE(expectedError, - NSK_CPP_STUB2(AddToBootstrapClassLoaderSearch, jvmti, segment))) { + if (!NSK_JVMTI_VERIFY_CODE(expectedError, jvmti->AddToBootstrapClassLoaderSearch(segment))) { NSK_COMPLAIN2("TEST FAILURE: got wrong error when tried to add segment %s (expected error=%s)\n", segment, TranslateError(expectedError)); @@ -123,7 +121,7 @@ void JNICALL callbackVMDeath(jvmtiEnv *jvmti, JNIEnv* jni) { jvmtiPhase phase; - if (!NSK_JVMTI_VERIFY(NSK_CPP_STUB2(GetPhase, jvmti, &phase))) { + if (!NSK_JVMTI_VERIFY(jvmti->GetPhase(&phase))) { NSK_COMPLAIN0("TEST FAILURE: unable to get phase\n"); nsk_jvmti_setFailStatus(); NSK_BEFORE_TRACE(exit(nsk_jvmti_getStatus())); @@ -218,8 +216,7 @@ jint Agent_Initialize(JavaVM *jvm, char *options, void *reserved) { eventCallbacks.VMInit = callbackVMInit; eventCallbacks.VMDeath = callbackVMDeath; - if (!NSK_JVMTI_VERIFY(NSK_CPP_STUB3(SetEventCallbacks, jvmti, - &eventCallbacks, sizeof(eventCallbacks)))) { + if (!NSK_JVMTI_VERIFY(jvmti->SetEventCallbacks(&eventCallbacks, sizeof(eventCallbacks)))) { return JNI_ERR; } } diff --git a/test/hotspot/jtreg/vmTestbase/nsk/share/jvmti/AddToSystemClassLoaderSearch/systemclssearch_agent.cpp b/test/hotspot/jtreg/vmTestbase/nsk/share/jvmti/AddToSystemClassLoaderSearch/systemclssearch_agent.cpp index 5b7bfff9939..bd0d217a14f 100644 --- a/test/hotspot/jtreg/vmTestbase/nsk/share/jvmti/AddToSystemClassLoaderSearch/systemclssearch_agent.cpp +++ b/test/hotspot/jtreg/vmTestbase/nsk/share/jvmti/AddToSystemClassLoaderSearch/systemclssearch_agent.cpp @@ -51,8 +51,7 @@ jvmtiPhase jvmti_phase_to_check = JVMTI_PHASE_ONLOAD; */ static int addSegment(jvmtiEnv* jvmti, const char segment[], const char where[]) { NSK_DISPLAY1("Add segment: \"%s\"\n", segment); - if (!NSK_JVMTI_VERIFY( - NSK_CPP_STUB2(AddToSystemClassLoaderSearch, jvmti, segment))) { + if (!NSK_JVMTI_VERIFY(jvmti->AddToSystemClassLoaderSearch(segment))) { NSK_COMPLAIN1("TEST FAILURE: failed to add segment %s\n", segment); return NSK_FALSE; } @@ -68,8 +67,7 @@ static int addSegment(jvmtiEnv* jvmti, const char segment[], const char where[]) */ static int addIllegalSegment(jvmtiEnv* jvmti, const char segment[], const char where[], jvmtiError expectedError) { NSK_DISPLAY1("Add illegal segment: \"%s\"\n", segment); - if (!NSK_JVMTI_VERIFY_CODE(expectedError, - NSK_CPP_STUB2(AddToSystemClassLoaderSearch, jvmti, segment))) { + if (!NSK_JVMTI_VERIFY_CODE(expectedError, jvmti->AddToSystemClassLoaderSearch(segment))) { NSK_COMPLAIN2("TEST FAILURE: got wrong error when tried to add segment %s (expected error=%s)\n", segment, TranslateError(expectedError)); @@ -123,7 +121,7 @@ void JNICALL callbackVMDeath(jvmtiEnv *jvmti, JNIEnv* jni) { jvmtiPhase phase; - if (!NSK_JVMTI_VERIFY(NSK_CPP_STUB2(GetPhase, jvmti, &phase))) { + if (!NSK_JVMTI_VERIFY(jvmti->GetPhase(&phase))) { NSK_COMPLAIN0("TEST FAILURE: unable to get phase\n"); nsk_jvmti_setFailStatus(); NSK_BEFORE_TRACE(exit(nsk_jvmti_getStatus())); @@ -218,8 +216,7 @@ jint Agent_Initialize(JavaVM *jvm, char *options, void *reserved) { eventCallbacks.VMInit = callbackVMInit; eventCallbacks.VMDeath = callbackVMDeath; - if (!NSK_JVMTI_VERIFY(NSK_CPP_STUB3(SetEventCallbacks, jvmti, - &eventCallbacks, sizeof(eventCallbacks)))) { + if (!NSK_JVMTI_VERIFY(jvmti->SetEventCallbacks(&eventCallbacks, sizeof(eventCallbacks)))) { return JNI_ERR; } } diff --git a/test/hotspot/jtreg/vmTestbase/nsk/share/jvmti/README b/test/hotspot/jtreg/vmTestbase/nsk/share/jvmti/README index 7d79b51c458..9be9bb969cd 100644 --- a/test/hotspot/jtreg/vmTestbase/nsk/share/jvmti/README +++ b/test/hotspot/jtreg/vmTestbase/nsk/share/jvmti/README @@ -117,20 +117,18 @@ Also provides functions for running JVMTI agent: --------------------------------------------------------------------------------- -Typical example of usage of NSK_JVMTI_VERIFY and NSK_CPP_STUB macroses +Typical example of usage of the NSK_JVMTI_VERIFY macro for invocation of JVMTI functions: // jvmti->GetVersion(jvmti, &version) - if (!NSK_JVMTI_VERIFY( - NSK_CPP_STUB2(GetVersion, jvmti, &version) != NULL)) { + if (!NSK_JVMTI_VERIFY(jvmti->GetVersion(&version) != NULL)) { return JNI_ERR; } or with saving error code: // err = jvmti->GetVersion(jvmti, &version) - if (!NSK_JVMTI_VERIFY(err = - NSK_CPP_STUB2(GetVersion, jvmti, &version))) { + if (!NSK_JVMTI_VERIFY(err = jvmti->GetVersion(&version))) { return err; } functions: nsk_jvmti_* diff --git a/test/hotspot/jtreg/vmTestbase/nsk/share/jvmti/agent_tools.cpp b/test/hotspot/jtreg/vmTestbase/nsk/share/jvmti/agent_tools.cpp index b53cd4f818a..a2636951ecf 100644 --- a/test/hotspot/jtreg/vmTestbase/nsk/share/jvmti/agent_tools.cpp +++ b/test/hotspot/jtreg/vmTestbase/nsk/share/jvmti/agent_tools.cpp @@ -77,7 +77,7 @@ static jvmtiError init_agent_data(jvmtiEnv *jvmti_env, agent_data_t *data) { data->thread_state = NEW; data->last_debuggee_status = NSK_STATUS_PASSED; - return NSK_CPP_STUB3(CreateRawMonitor, jvmti_env, "agent_data_monitor", &data->monitor); + return jvmti_env->CreateRawMonitor("agent_data_monitor", &data->monitor); } /** Reset agent data to prepare for another run. */ @@ -93,14 +93,13 @@ void nsk_jvmti_resetAgentData() { } static jvmtiError free_agent_data(jvmtiEnv *jvmti_env, agent_data_t *data) { - return NSK_CPP_STUB2(DestroyRawMonitor, jvmti_env, data->monitor); + return jvmti_env->DestroyRawMonitor(data->monitor); } /** Create JVMTI environment. */ jvmtiEnv* nsk_jvmti_createJVMTIEnv(JavaVM* javaVM, void* reserved) { jvm = javaVM; - if (!NSK_VERIFY( - NSK_CPP_STUB3(GetEnv, javaVM, (void **)&jvmti_env, JVMTI_VERSION_1_1) == JNI_OK)) { + if (!NSK_VERIFY(javaVM->GetEnv((void **)&jvmti_env, JVMTI_VERSION_1_1) == JNI_OK)) { nsk_jvmti_setFailStatus(); return NULL; } @@ -116,8 +115,7 @@ jvmtiEnv* nsk_jvmti_createJVMTIEnv(JavaVM* javaVM, void* reserved) { /** Dispose JVMTI environment */ static int nsk_jvmti_disposeJVMTIEnv(jvmtiEnv* jvmti_env) { if (jvmti_env != NULL) { - if (!NSK_JVMTI_VERIFY( - NSK_CPP_STUB1(DisposeEnvironment, jvmti_env))) { + if (!NSK_JVMTI_VERIFY(jvmti_env->DisposeEnvironment())) { nsk_jvmti_setFailStatus(); return NSK_FALSE; } @@ -165,7 +163,7 @@ agentThreadWrapper(jvmtiEnv* jvmti_env, JNIEnv* agentJNI, void* arg) { /* finalize agent thread */ { /* gelete global ref for agent thread */ - NSK_CPP_STUB2(DeleteGlobalRef, agentJNI, agentThread); + agentJNI->DeleteGlobalRef(agentThread); agentThread = NULL; } } @@ -184,35 +182,32 @@ static jthread startAgentThreadWrapper(JNIEnv *jni_env, jvmtiEnv* jvmti_env) { jobject threadObject = NULL; jobject threadGlobalRef = NULL; - if (!NSK_JNI_VERIFY(jni_env, (threadClass = - NSK_CPP_STUB2(FindClass, jni_env, THREAD_CLASS_NAME)) != NULL)) { + if (!NSK_JNI_VERIFY(jni_env, (threadClass = jni_env->FindClass(THREAD_CLASS_NAME)) != NULL)) { return NULL; } if (!NSK_JNI_VERIFY(jni_env, (threadCtor = - NSK_CPP_STUB4(GetMethodID, jni_env, threadClass, THREAD_CTOR_NAME, THREAD_CTOR_SIGNATURE)) != NULL)) + jni_env->GetMethodID(threadClass, THREAD_CTOR_NAME, THREAD_CTOR_SIGNATURE)) != NULL)) return NULL; - if (!NSK_JNI_VERIFY(jni_env, (threadName = - NSK_CPP_STUB2(NewStringUTF, jni_env, THREAD_NAME)) != NULL)) + if (!NSK_JNI_VERIFY(jni_env, (threadName = jni_env->NewStringUTF(THREAD_NAME)) != NULL)) return NULL; if (!NSK_JNI_VERIFY(jni_env, (threadObject = - NSK_CPP_STUB4(NewObject, jni_env, threadClass, threadCtor, threadName)) != NULL)) + jni_env->NewObject(threadClass, threadCtor, threadName)) != NULL)) return NULL; if (!NSK_JNI_VERIFY(jni_env, (threadGlobalRef = - NSK_CPP_STUB2(NewGlobalRef, jni_env, threadObject)) != NULL)) { - NSK_CPP_STUB2(DeleteLocalRef, jni_env, threadObject); + jni_env->NewGlobalRef(threadObject)) != NULL)) { + jni_env->DeleteLocalRef(threadObject); return NULL; } agentThread = (jthread)threadGlobalRef; if (!NSK_JVMTI_VERIFY( - NSK_CPP_STUB5(RunAgentThread, jvmti_env, agentThread, - &agentThreadWrapper, agentThreadArg, THREAD_PRIORITY))) { - NSK_CPP_STUB2(DeleteGlobalRef, jni_env, threadGlobalRef); - NSK_CPP_STUB2(DeleteLocalRef, jni_env, threadObject); + jvmti_env->RunAgentThread(agentThread, &agentThreadWrapper, agentThreadArg, THREAD_PRIORITY))) { + jni_env->DeleteGlobalRef(threadGlobalRef); + jni_env->DeleteLocalRef(threadObject); return NULL; } return agentThread; @@ -395,8 +390,7 @@ jclass nsk_jvmti_classBySignature(const char signature[]) { return NULL; } - if (!NSK_JVMTI_VERIFY( - NSK_CPP_STUB3(GetLoadedClasses, jvmti_env, &count, &classes))) { + if (!NSK_JVMTI_VERIFY(jvmti_env->GetLoadedClasses(&count, &classes))) { nsk_jvmti_setFailStatus(); return NULL; } @@ -405,8 +399,7 @@ jclass nsk_jvmti_classBySignature(const char signature[]) { char* sig = NULL; char* generic = NULL; - if (!NSK_JVMTI_VERIFY( - NSK_CPP_STUB4(GetClassSignature, jvmti_env, classes[i], &sig, &generic))) { + if (!NSK_JVMTI_VERIFY(jvmti_env->GetClassSignature(classes[i], &sig, &generic))) { nsk_jvmti_setFailStatus(); break; } @@ -415,10 +408,8 @@ jclass nsk_jvmti_classBySignature(const char signature[]) { foundClass = classes[i]; } - if (!(NSK_JVMTI_VERIFY( - NSK_CPP_STUB2(Deallocate, jvmti_env, (unsigned char*)sig)) - && NSK_JVMTI_VERIFY( - NSK_CPP_STUB2(Deallocate, jvmti_env, (unsigned char*)generic)))) { + if (!(NSK_JVMTI_VERIFY(jvmti_env->Deallocate((unsigned char*)sig)) + && NSK_JVMTI_VERIFY(jvmti_env->Deallocate((unsigned char*)generic)))) { nsk_jvmti_setFailStatus(); break; } @@ -427,14 +418,13 @@ jclass nsk_jvmti_classBySignature(const char signature[]) { break; } - if (!NSK_JVMTI_VERIFY( - NSK_CPP_STUB2(Deallocate, jvmti_env, (unsigned char*)classes))) { + if (!NSK_JVMTI_VERIFY(jvmti_env->Deallocate((unsigned char*)classes))) { nsk_jvmti_setFailStatus(); return NULL; } if (!NSK_JNI_VERIFY(jni_env, (foundClass = (jclass) - NSK_CPP_STUB2(NewGlobalRef, jni_env, foundClass)) != NULL)) { + jni_env->NewGlobalRef(foundClass)) != NULL)) { nsk_jvmti_setFailStatus(); return NULL; } @@ -454,8 +444,7 @@ jthread nsk_jvmti_threadByName(const char name[]) { return NULL; } - if (!NSK_JVMTI_VERIFY( - NSK_CPP_STUB3(GetAllThreads, jvmti_env, &count, &threads))) { + if (!NSK_JVMTI_VERIFY(jvmti_env->GetAllThreads(&count, &threads))) { nsk_jvmti_setFailStatus(); return NULL; } @@ -463,8 +452,7 @@ jthread nsk_jvmti_threadByName(const char name[]) { for (i = 0; i < count; i++) { jvmtiThreadInfo info; - if (!NSK_JVMTI_VERIFY( - NSK_CPP_STUB3(GetThreadInfo, jvmti_env, threads[i], &info))) { + if (!NSK_JVMTI_VERIFY(jvmti_env->GetThreadInfo(threads[i], &info))) { nsk_jvmti_setFailStatus(); break; } @@ -475,14 +463,13 @@ jthread nsk_jvmti_threadByName(const char name[]) { } } - if (!NSK_JVMTI_VERIFY( - NSK_CPP_STUB2(Deallocate, jvmti_env, (unsigned char*)threads))) { + if (!NSK_JVMTI_VERIFY(jvmti_env->Deallocate((unsigned char*)threads))) { nsk_jvmti_setFailStatus(); return NULL; } if (!NSK_JNI_VERIFY(jni_env, (foundThread = (jthread) - NSK_CPP_STUB2(NewGlobalRef, jni_env, foundThread)) != NULL)) { + jni_env->NewGlobalRef(foundThread)) != NULL)) { nsk_jvmti_setFailStatus(); return NULL; } @@ -499,8 +486,7 @@ int nsk_jvmti_addLocationCapabilities() { memset(&caps, 0, sizeof(caps)); caps.can_get_line_numbers = 1; - if (!NSK_JVMTI_VERIFY( - NSK_CPP_STUB2(AddCapabilities, jvmti_env, &caps))) + if (!NSK_JVMTI_VERIFY(jvmti_env->AddCapabilities(&caps))) return NSK_FALSE; return NSK_TRUE; @@ -515,8 +501,7 @@ int nsk_jvmti_addBreakpointCapabilities() { memset(&caps, 0, sizeof(caps)); caps.can_generate_breakpoint_events = 1; - if (!NSK_JVMTI_VERIFY( - NSK_CPP_STUB2(AddCapabilities, jvmti_env, &caps))) + if (!NSK_JVMTI_VERIFY(jvmti_env->AddCapabilities(&caps))) return NSK_FALSE; return NSK_TRUE; @@ -529,7 +514,7 @@ jlocation nsk_jvmti_getLineLocation(jclass cls, jmethodID method, int line) { jlocation location = NSK_JVMTI_INVALID_JLOCATION; int i; - if (!NSK_JVMTI_VERIFY(NSK_CPP_STUB4(GetLineNumberTable, jvmti_env, method, &count, &table))) + if (!NSK_JVMTI_VERIFY(jvmti_env->GetLineNumberTable(method, &count, &table))) return NSK_JVMTI_INVALID_JLOCATION; for (i = 0; i < count; i++) { @@ -539,7 +524,7 @@ jlocation nsk_jvmti_getLineLocation(jclass cls, jmethodID method, int line) { } } - if (!NSK_JVMTI_VERIFY(NSK_CPP_STUB2(Deallocate, jvmti_env, (unsigned char*)table))) + if (!NSK_JVMTI_VERIFY(jvmti_env->Deallocate((unsigned char*)table))) return NSK_JVMTI_INVALID_JLOCATION; return location; @@ -553,7 +538,7 @@ jlocation nsk_jvmti_setLineBreakpoint(jclass cls, jmethodID method, int line) { nsk_jvmti_getLineLocation(cls, method, line)) != NSK_JVMTI_INVALID_JLOCATION)) return NSK_JVMTI_INVALID_JLOCATION; - if (!NSK_JVMTI_VERIFY(NSK_CPP_STUB3(SetBreakpoint, jvmti_env, method, location))) + if (!NSK_JVMTI_VERIFY(jvmti_env->SetBreakpoint(method, location))) return NSK_JVMTI_INVALID_JLOCATION; return location; @@ -567,7 +552,7 @@ jlocation nsk_jvmti_clearLineBreakpoint(jclass cls, jmethodID method, int line) nsk_jvmti_getLineLocation(cls, method, line)) != NSK_JVMTI_INVALID_JLOCATION)) return NSK_JVMTI_INVALID_JLOCATION; - if (!NSK_JVMTI_VERIFY(NSK_CPP_STUB3(ClearBreakpoint, jvmti_env, method, location))) + if (!NSK_JVMTI_VERIFY(jvmti_env->ClearBreakpoint(method, location))) return NSK_JVMTI_INVALID_JLOCATION; return location; @@ -580,9 +565,7 @@ int nsk_jvmti_enableEvents(jvmtiEventMode enable, int size, jvmtiEvent list[], j int i; for (i = 0; i < size; i++) { - if (!NSK_JVMTI_VERIFY( - NSK_CPP_STUB4(SetEventNotificationMode, jvmti_env, enable, - list[i], thread))) { + if (!NSK_JVMTI_VERIFY(jvmti_env->SetEventNotificationMode(enable, list[i], thread))) { nsk_jvmti_setFailStatus(); return NSK_FALSE; } @@ -624,7 +607,7 @@ static void JNICALL nativeMethodBind(jvmtiEnv* jvmti_env, JNIEnv *jni_env, char *name = NULL; char *sig = NULL; - if (!NSK_JVMTI_VERIFY(NSK_CPP_STUB2(GetPhase, jvmti_env, &phase))) { + if (!NSK_JVMTI_VERIFY(jvmti_env->GetPhase(&phase))) { nsk_jvmti_setFailStatus(); return; } @@ -632,15 +615,12 @@ static void JNICALL nativeMethodBind(jvmtiEnv* jvmti_env, JNIEnv *jni_env, if (phase != JVMTI_PHASE_START && phase != JVMTI_PHASE_LIVE) return; - if (NSK_JVMTI_VERIFY( - NSK_CPP_STUB5(GetMethodName, jvmti_env, mid, &name, &sig, NULL))) { + if (NSK_JVMTI_VERIFY(jvmti_env->GetMethodName(mid, &name, &sig, NULL))) { if (strcmp(name, BIND_METHOD_NAME) == 0 && strcmp(sig, BIND_METHOD_SIGNATURE) == 0) { - if (NSK_JVMTI_VERIFY( - NSK_CPP_STUB3(GetMethodDeclaringClass, jvmti_env, mid, &cls)) - && NSK_JVMTI_VERIFY( - NSK_CPP_STUB4(GetClassSignature, jvmti_env, cls, &class_sig, NULL)) + if (NSK_JVMTI_VERIFY(jvmti_env->GetMethodDeclaringClass(mid, &cls)) + && NSK_JVMTI_VERIFY(jvmti_env->GetClassSignature(cls, &class_sig, NULL)) && strcmp(class_sig, BIND_CLASS_NAME) == 0 && address != (void*)Java_nsk_share_jvmti_DebugeeClass_checkStatus) { checkStatus_func = (checkStatus_type)address; @@ -650,13 +630,13 @@ static void JNICALL nativeMethodBind(jvmtiEnv* jvmti_env, JNIEnv *jni_env, } if (name != NULL) - NSK_CPP_STUB2(Deallocate, jvmti_env, (unsigned char*)name); + jvmti_env->Deallocate((unsigned char*)name); if (sig != NULL) - NSK_CPP_STUB2(Deallocate, jvmti_env, (unsigned char*)sig); + jvmti_env->Deallocate((unsigned char*)sig); if (class_sig != NULL) - NSK_CPP_STUB2(Deallocate, jvmti_env, (unsigned char*)class_sig); + jvmti_env->Deallocate((unsigned char*)class_sig); } /** @@ -681,19 +661,16 @@ int nsk_jvmti_init_MA(jvmtiEventCallbacks* callbacks) { jvmtiCapabilities caps; memset(&caps, 0, sizeof(caps)); caps.can_generate_native_method_bind_events = 1; - if (!NSK_JVMTI_VERIFY(NSK_CPP_STUB2(AddCapabilities, jvmti_env, &caps))) + if (!NSK_JVMTI_VERIFY(jvmti_env->AddCapabilities(&caps))) return NSK_FALSE; } callbacks->NativeMethodBind = nativeMethodBind; - if (!NSK_JVMTI_VERIFY( - NSK_CPP_STUB3(SetEventCallbacks, jvmti_env, callbacks, - sizeof(jvmtiEventCallbacks)))) + if (!NSK_JVMTI_VERIFY(jvmti_env->SetEventCallbacks(callbacks, sizeof(jvmtiEventCallbacks)))) return NSK_FALSE; if (!NSK_JVMTI_VERIFY( - NSK_CPP_STUB4(SetEventNotificationMode, jvmti_env, JVMTI_ENABLE, - JVMTI_EVENT_NATIVE_METHOD_BIND, NULL))) + jvmti_env->SetEventNotificationMode(JVMTI_ENABLE, JVMTI_EVENT_NATIVE_METHOD_BIND, NULL))) return NSK_FALSE; return NSK_TRUE; @@ -731,7 +708,7 @@ void nsk_jvmti_showPossessedCapabilities(jvmtiEnv *jvmti_env) { jvmtiCapabilities caps; - if (!NSK_JVMTI_VERIFY(NSK_CPP_STUB2(GetCapabilities, jvmti_env, &caps))) { + if (!NSK_JVMTI_VERIFY(jvmti_env->GetCapabilities(&caps))) { return; } diff --git a/test/hotspot/jtreg/vmTestbase/nsk/share/jvmti/aod/jvmti_aod.cpp b/test/hotspot/jtreg/vmTestbase/nsk/share/jvmti/aod/jvmti_aod.cpp index 5f71d8fe7fa..dcc764f4091 100644 --- a/test/hotspot/jtreg/vmTestbase/nsk/share/jvmti/aod/jvmti_aod.cpp +++ b/test/hotspot/jtreg/vmTestbase/nsk/share/jvmti/aod/jvmti_aod.cpp @@ -87,7 +87,7 @@ Options* nsk_jvmti_aod_getMultiagentsOptions(jvmtiEnv *jvmti) { */ void nsk_jvmti_aod_deallocate(jvmtiEnv *jvmti, unsigned char* mem) { - if (!NSK_JVMTI_VERIFY(NSK_CPP_STUB2(Deallocate, jvmti, mem))) { + if (!NSK_JVMTI_VERIFY(jvmti->Deallocate(mem))) { NSK_COMPLAIN0("Deallocate failed\n"); /* @@ -101,7 +101,7 @@ void nsk_jvmti_aod_deallocate(jvmtiEnv *jvmti, unsigned char* mem) { int nsk_jvmti_aod_getClassName(jvmtiEnv *jvmti, jclass klass, char classNameBuffer[]) { char* className; - if (!NSK_JVMTI_VERIFY(NSK_CPP_STUB4(GetClassSignature, jvmti, klass, &className, NULL))) { + if (!NSK_JVMTI_VERIFY(jvmti->GetClassSignature(klass, &className, NULL))) { NSK_COMPLAIN0("Failed to get class name\n"); classNameBuffer[0] = '\0'; return NSK_FALSE; @@ -116,7 +116,7 @@ int nsk_jvmti_aod_getClassName(jvmtiEnv *jvmti, jclass klass, char classNameBuff int nsk_jvmti_aod_getThreadName(jvmtiEnv * jvmti, jthread thread, char threadNameBuffer[]) { jvmtiThreadInfo info; - if (!NSK_JVMTI_VERIFY(NSK_CPP_STUB3(GetThreadInfo, jvmti, thread, &info))){ + if (!NSK_JVMTI_VERIFY(jvmti->GetThreadInfo(thread, &info))){ NSK_COMPLAIN0("Failed to get thread info\n"); threadNameBuffer[0] = '\0'; return NSK_FALSE; @@ -161,25 +161,23 @@ jthread nsk_jvmti_aod_createThread(JNIEnv *jni) { jmethodID threadConstructor; jthread thread; - if (!NSK_JNI_VERIFY(jni, - (klass = NSK_CPP_STUB2(FindClass, jni, "java/lang/Thread")) != NULL )) { + if (!NSK_JNI_VERIFY(jni, (klass = jni->FindClass("java/lang/Thread")) != NULL )) { NSK_COMPLAIN0("Failed to get the java.lang.Thread class\n"); return NULL; } if (!NSK_JNI_VERIFY(jni, - (threadConstructor = NSK_CPP_STUB4(GetMethodID, jni, klass, " ", "()V") ) != NULL )) { + (threadConstructor = jni->GetMethodID(klass, " ", "()V") ) != NULL )) { NSK_COMPLAIN0("Failed to get java.lang.Thread constructor\n"); return NULL; } if (!NSK_JNI_VERIFY (jni, - (thread = NSK_CPP_STUB4(NewObject, jni, klass, threadConstructor, NULL)) != NULL ) ) { + (thread = jni->NewObject(klass, threadConstructor, NULL)) != NULL ) ) { NSK_COMPLAIN0("Failed to create Thread object\n"); return NULL; } - if (!NSK_JNI_VERIFY(jni, (thread = - NSK_CPP_STUB2(NewGlobalRef, jni, thread)) != NULL)) { + if (!NSK_JNI_VERIFY(jni, (thread = jni->NewGlobalRef(thread)) != NULL)) { NSK_COMPLAIN0("Failed to create global reference\n"); return NULL; } @@ -193,29 +191,26 @@ jthread nsk_jvmti_aod_createThreadWithName(JNIEnv *jni, const char* threadName) jthread thread; jstring threadNameString; - if (!NSK_JNI_VERIFY(jni, (threadNameString = - NSK_CPP_STUB2(NewStringUTF, jni, threadName)) != NULL)) + if (!NSK_JNI_VERIFY(jni, (threadNameString = jni->NewStringUTF(threadName)) != NULL)) return NULL; - if (!NSK_JNI_VERIFY(jni, - (klass = NSK_CPP_STUB2(FindClass, jni, "java/lang/Thread")) != NULL )) { + if (!NSK_JNI_VERIFY(jni, (klass = jni->FindClass("java/lang/Thread")) != NULL )) { NSK_COMPLAIN0("Failed to get the java.lang.Thread class\n"); return NULL; } if (!NSK_JNI_VERIFY(jni, - (threadConstructor = NSK_CPP_STUB4(GetMethodID, jni, klass, " ", "(Ljava/lang/String;)V") ) != NULL )) { + (threadConstructor = jni->GetMethodID(klass, " ", "(Ljava/lang/String;)V") ) != NULL )) { NSK_COMPLAIN0("Failed to get java.lang.Thread constructor\n"); return NULL; } if (!NSK_JNI_VERIFY(jni, - (thread = NSK_CPP_STUB4(NewObject, jni, klass, threadConstructor, threadNameString)) != NULL ) ) { + (thread = jni->NewObject(klass, threadConstructor, threadNameString)) != NULL ) ) { NSK_COMPLAIN0("Failed to create Thread object\n"); return NULL; } - if (!NSK_JNI_VERIFY(jni, (thread = - NSK_CPP_STUB2(NewGlobalRef, jni, thread)) != NULL)) { + if (!NSK_JNI_VERIFY(jni, (thread = jni->NewGlobalRef(thread)) != NULL)) { NSK_COMPLAIN0("Failed to create global reference\n"); return NULL; } diff --git a/test/hotspot/jtreg/vmTestbase/nsk/share/jvmti/aod/jvmti_aod.h b/test/hotspot/jtreg/vmTestbase/nsk/share/jvmti/aod/jvmti_aod.h index fadba6ba715..c6ab631c0b9 100644 --- a/test/hotspot/jtreg/vmTestbase/nsk/share/jvmti/aod/jvmti_aod.h +++ b/test/hotspot/jtreg/vmTestbase/nsk/share/jvmti/aod/jvmti_aod.h @@ -68,8 +68,8 @@ int nsk_jvmti_aod_getThreadName(jvmtiEnv * jvmti, jthread thread, char threadNam // events enabling/disabling -#define nsk_jvmti_aod_enableEvent(X,Y) NSK_JVMTI_VERIFY( NSK_CPP_STUB4(SetEventNotificationMode, X, JVMTI_ENABLE, Y, NULL)) -#define nsk_jvmti_aod_disableEvent(X,Y) NSK_JVMTI_VERIFY( NSK_CPP_STUB4(SetEventNotificationMode, X, JVMTI_DISABLE, Y, NULL)) +#define nsk_jvmti_aod_enableEvent(X,Y) NSK_JVMTI_VERIFY(X->SetEventNotificationMode(JVMTI_ENABLE, Y, NULL)) +#define nsk_jvmti_aod_disableEvent(X,Y) NSK_JVMTI_VERIFY(X->SetEventNotificationMode(JVMTI_DISABLE, Y, NULL)) int nsk_jvmti_aod_enableEvents(jvmtiEnv* jvmti, jvmtiEvent events[], int eventsNumber); int nsk_jvmti_aod_disableEvents(jvmtiEnv* jvmti, jvmtiEvent events[], int eventsNumber); diff --git a/test/hotspot/jtreg/vmTestbase/nsk/share/jvmti/hotswap/HotSwap.cpp b/test/hotspot/jtreg/vmTestbase/nsk/share/jvmti/hotswap/HotSwap.cpp index 3710aff9e53..a81d5103f49 100644 --- a/test/hotspot/jtreg/vmTestbase/nsk/share/jvmti/hotswap/HotSwap.cpp +++ b/test/hotspot/jtreg/vmTestbase/nsk/share/jvmti/hotswap/HotSwap.cpp @@ -78,8 +78,7 @@ static int redefine(jvmtiEnv* jvmti, jvmtiClassDefinition* class_def) { NSK_DISPLAY1("Redefining %d classes...\n", classCount); - if (!NSK_JVMTI_VERIFY(NSK_CPP_STUB3(RedefineClasses, - jvmti, classCount, class_def))) + if (!NSK_JVMTI_VERIFY(jvmti->RedefineClasses(classCount, class_def))) return NSK_FALSE; return NSK_TRUE; @@ -103,14 +102,12 @@ ClassFileLoadHook(jvmtiEnv *jvmti_env, JNIEnv *jni_env, (strncmp(name, package_name, package_name_length) == 0)) { NSK_DISPLAY1("ClassFileLoadHook: %s\n", name); name_len = (jint) strlen(name) + 1; - if (!NSK_JVMTI_VERIFY(NSK_CPP_STUB3(Allocate, jvmti_env, - name_len, (unsigned char**) &names[classCount]))) { + if (!NSK_JVMTI_VERIFY(jvmti_env->Allocate(name_len, (unsigned char**) &names[classCount]))) { nsk_jvmti_setFailStatus(); return; } memcpy(names[classCount], name, name_len); - if (!NSK_JVMTI_VERIFY(NSK_CPP_STUB3(Allocate, - jvmti_env, class_data_len, (unsigned char**) + if (!NSK_JVMTI_VERIFY(jvmti_env->Allocate(class_data_len, (unsigned char**) &old_class_def[classCount].class_bytes))) { nsk_jvmti_setFailStatus(); return; @@ -133,17 +130,16 @@ CompiledMethodLoad(jvmtiEnv *jvmti_env, jmethodID method, CompiledMethodLoadEventsCount++; - if (!NSK_JVMTI_VERIFY(NSK_CPP_STUB5(GetMethodName, - jvmti_env, method, &name, &signature, NULL))) { + if (!NSK_JVMTI_VERIFY(jvmti_env->GetMethodName(method, &name, &signature, NULL))) { nsk_jvmti_setFailStatus(); return; } NSK_DISPLAY3("CompiledMethodLoad event: %s%s (0x%p)\n", name, signature, code_addr); if (name != NULL) - NSK_CPP_STUB2(Deallocate, jvmti_env, (unsigned char*)name); + jvmti_env->Deallocate((unsigned char*)name); if (signature != NULL) - NSK_CPP_STUB2(Deallocate, jvmti_env, (unsigned char*)signature); + jvmti_env->Deallocate((unsigned char*)signature); } static int SingleStepEventsCount = 0; @@ -168,20 +164,18 @@ Exception(jvmtiEnv *jvmti_env, JNIEnv *jni_env, jthread thread, jclass klass = NULL; char *signature = NULL; - if (!NSK_JNI_VERIFY(jni_env, (klass = - NSK_CPP_STUB2(GetObjectClass, jni_env, exception)) != NULL)) { + if (!NSK_JNI_VERIFY(jni_env, (klass = jni_env->GetObjectClass(exception)) != NULL)) { nsk_jvmti_setFailStatus(); return; } - if (!NSK_JVMTI_VERIFY(NSK_CPP_STUB4(GetClassSignature, jvmti_env, - klass, &signature, NULL))) { + if (!NSK_JVMTI_VERIFY(jvmti_env->GetClassSignature(klass, &signature, NULL))) { nsk_jvmti_setFailStatus(); return; } NSK_DISPLAY2("Exception event %d: %s\n", ExceptionEventsCount, signature); if (signature != NULL) - NSK_CPP_STUB2(Deallocate, jvmti_env, (unsigned char*)signature); + jvmti_env->Deallocate((unsigned char*)signature); } if (!redefine(jvmti_env, (bci_mode != BCI_MODE_EMCP && newFlag) ? @@ -190,15 +184,14 @@ Exception(jvmtiEnv *jvmti_env, JNIEnv *jni_env, jthread thread, NSK_DISPLAY1("SingleStepEventsCount: %d\n", SingleStepEventsCount); if (vm_mode == VM_MODE_MIXED) { - if (!NSK_JVMTI_VERIFY(NSK_CPP_STUB4(SetEventNotificationMode, - jvmti_env, ((newFlag) ? JVMTI_DISABLE : JVMTI_ENABLE), + if (!NSK_JVMTI_VERIFY(jvmti_env->SetEventNotificationMode( + ((newFlag) ? JVMTI_DISABLE : JVMTI_ENABLE), JVMTI_EVENT_SINGLE_STEP, NULL))) nsk_jvmti_setFailStatus(); } if (nsk_getVerboseMode() && bci_mode != BCI_MODE_EMCP) { - jint profileCount = NSK_CPP_STUB3(GetStaticIntField, jni_env, - profile_klass, count_field); + jint profileCount = jni_env->GetStaticIntField(profile_klass, count_field); NSK_DISPLAY1("profileCount: %d\n", profileCount); } @@ -215,50 +208,43 @@ static jrawMonitorID waitLock = NULL; static int prepare(jvmtiEnv* jvmti, JNIEnv* jni) { int i; - if (!NSK_JVMTI_VERIFY(NSK_CPP_STUB4(SetEventNotificationMode, - jvmti, JVMTI_DISABLE, JVMTI_EVENT_CLASS_FILE_LOAD_HOOK, NULL))) + if (!NSK_JVMTI_VERIFY(jvmti->SetEventNotificationMode(JVMTI_DISABLE, JVMTI_EVENT_CLASS_FILE_LOAD_HOOK, NULL))) return NSK_FALSE; if (vm_mode != VM_MODE_COMPILED) { - if (!NSK_JVMTI_VERIFY(NSK_CPP_STUB4(SetEventNotificationMode, - jvmti, JVMTI_ENABLE, JVMTI_EVENT_SINGLE_STEP, NULL))) + if (!NSK_JVMTI_VERIFY(jvmti->SetEventNotificationMode(JVMTI_ENABLE, JVMTI_EVENT_SINGLE_STEP, NULL))) return NSK_FALSE; } - if (!NSK_JVMTI_VERIFY(NSK_CPP_STUB3(CreateRawMonitor, - jvmti, "waitLock", &waitLock))) + if (!NSK_JVMTI_VERIFY(jvmti->CreateRawMonitor("waitLock", &waitLock))) return NSK_FALSE; for (i = 0; i < classCount; i++) { NSK_DISPLAY1("Find class: %s\n", names[i]); - if (!NSK_JNI_VERIFY(jni, (old_class_def[i].klass = - NSK_CPP_STUB2(FindClass, jni, names[i])) != NULL)) + if (!NSK_JNI_VERIFY(jni, (old_class_def[i].klass = jni->FindClass(names[i])) != NULL)) return NSK_FALSE; if (!NSK_JNI_VERIFY(jni, (old_class_def[i].klass = (jclass) - NSK_CPP_STUB2(NewGlobalRef, jni, - old_class_def[i].klass)) != NULL)) + jni->NewGlobalRef(old_class_def[i].klass)) != NULL)) return NSK_FALSE; } if (bci_mode != BCI_MODE_EMCP) { NSK_DISPLAY1("Find class: %s\n", PROFILE_CLASS_NAME); - if (!NSK_JNI_VERIFY(jni, (profile_klass = - NSK_CPP_STUB2(FindClass, jni, PROFILE_CLASS_NAME)) != NULL)) + if (!NSK_JNI_VERIFY(jni, (profile_klass = jni->FindClass(PROFILE_CLASS_NAME)) != NULL)) return NSK_FALSE; if (!NSK_JNI_VERIFY(jni, (profile_klass = (jclass) - NSK_CPP_STUB2(NewGlobalRef, jni, profile_klass)) != NULL)) + jni->NewGlobalRef(profile_klass)) != NULL)) return NSK_FALSE; if (!NSK_JNI_VERIFY(jni, (count_field = - NSK_CPP_STUB4(GetStaticFieldID, jni, profile_klass, - (bci_mode == BCI_MODE_CALL) ? "callCount" : "allocCount", - "I")) != NULL)) + jni->GetStaticFieldID(profile_klass, + (bci_mode == BCI_MODE_CALL) ? "callCount" : "allocCount", + "I")) != NULL)) return NSK_FALSE; - if (!NSK_JVMTI_VERIFY(NSK_CPP_STUB3(Allocate, jvmti, - classCount * sizeof(jvmtiClassDefinition), + if (!NSK_JVMTI_VERIFY(jvmti->Allocate(classCount * sizeof(jvmtiClassDefinition), (unsigned char**) &new_class_def))) return NSK_FALSE; @@ -273,8 +259,7 @@ static int prepare(jvmtiEnv* jvmti, JNIEnv* jni) { } if (sync_freq) { - if (!NSK_JVMTI_VERIFY(NSK_CPP_STUB4(SetEventNotificationMode, - jvmti, JVMTI_ENABLE, JVMTI_EVENT_EXCEPTION, NULL))) + if (!NSK_JVMTI_VERIFY(jvmti->SetEventNotificationMode(JVMTI_ENABLE, JVMTI_EVENT_EXCEPTION, NULL))) return NSK_FALSE; } @@ -285,14 +270,13 @@ static int prepare(jvmtiEnv* jvmti, JNIEnv* jni) { static int wait_for(jvmtiEnv* jvmti, jlong millis) { - if (!NSK_JVMTI_VERIFY(NSK_CPP_STUB2(RawMonitorEnter, jvmti, waitLock))) + if (!NSK_JVMTI_VERIFY(jvmti->RawMonitorEnter(waitLock))) return NSK_FALSE; - if (!NSK_JVMTI_VERIFY( - NSK_CPP_STUB3(RawMonitorWait, jvmti, waitLock, millis))) + if (!NSK_JVMTI_VERIFY(jvmti->RawMonitorWait(waitLock, millis))) nsk_jvmti_setFailStatus(); - if (!NSK_JVMTI_VERIFY(NSK_CPP_STUB2(RawMonitorExit, jvmti, waitLock))) + if (!NSK_JVMTI_VERIFY(jvmti->RawMonitorExit(waitLock))) return NSK_FALSE; return NSK_TRUE; @@ -320,8 +304,7 @@ agentProc(jvmtiEnv* jvmti, JNIEnv* jni, void* arg) { return; if (sync_freq) { - if (!NSK_JVMTI_VERIFY(NSK_CPP_STUB4(SetEventNotificationMode, - jvmti, JVMTI_DISABLE, JVMTI_EVENT_EXCEPTION, NULL))) + if (!NSK_JVMTI_VERIFY(jvmti->SetEventNotificationMode(JVMTI_DISABLE, JVMTI_EVENT_EXCEPTION, NULL))) nsk_jvmti_setFailStatus(); } else { @@ -334,15 +317,14 @@ agentProc(jvmtiEnv* jvmti, JNIEnv* jni, void* arg) { NSK_DISPLAY1("SingleStepEventsCount: %d\n", SingleStepEventsCount); if (vm_mode == VM_MODE_MIXED) { - if (!NSK_JVMTI_VERIFY(NSK_CPP_STUB4(SetEventNotificationMode, - jvmti, (((i % 2)==0) ? JVMTI_DISABLE : JVMTI_ENABLE), + if (!NSK_JVMTI_VERIFY(jvmti->SetEventNotificationMode( + (((i % 2)==0) ? JVMTI_DISABLE : JVMTI_ENABLE), JVMTI_EVENT_SINGLE_STEP, NULL))) nsk_jvmti_setFailStatus(); } if (nsk_getVerboseMode() && bci_mode != BCI_MODE_EMCP) { - jint profileCount = NSK_CPP_STUB3(GetStaticIntField, jni, - profile_klass, count_field); + jint profileCount = jni->GetStaticIntField(profile_klass, count_field); NSK_DISPLAY1("profileCount: %d\n", profileCount); } @@ -352,8 +334,7 @@ agentProc(jvmtiEnv* jvmti, JNIEnv* jni, void* arg) { } if (vm_mode != VM_MODE_COMPILED) { - if (!NSK_JVMTI_VERIFY(NSK_CPP_STUB4(SetEventNotificationMode, - jvmti, JVMTI_DISABLE, JVMTI_EVENT_SINGLE_STEP, NULL))) + if (!NSK_JVMTI_VERIFY(jvmti->SetEventNotificationMode(JVMTI_DISABLE, JVMTI_EVENT_SINGLE_STEP, NULL))) nsk_jvmti_setFailStatus(); } @@ -446,12 +427,10 @@ jint Agent_Initialize(JavaVM *jvm, char *options, void *reserved) { return JNI_ERR; /* allocate tables for classes */ - if (!NSK_JVMTI_VERIFY(NSK_CPP_STUB3(Allocate, jvmti, - max_classes * sizeof(char*), (unsigned char**) &names))) + if (!NSK_JVMTI_VERIFY(jvmti->Allocate(max_classes * sizeof(char*), (unsigned char**) &names))) return JNI_ERR; - if (!NSK_JVMTI_VERIFY(NSK_CPP_STUB3(Allocate, jvmti, - max_classes * sizeof(jvmtiClassDefinition), + if (!NSK_JVMTI_VERIFY(jvmti->Allocate(max_classes * sizeof(jvmtiClassDefinition), (unsigned char**) &old_class_def))) return JNI_ERR; @@ -465,7 +444,7 @@ jint Agent_Initialize(JavaVM *jvm, char *options, void *reserved) { if (sync_freq) { caps.can_generate_exception_events = 1; } - if (!NSK_JVMTI_VERIFY(NSK_CPP_STUB2(AddCapabilities, jvmti, &caps))) + if (!NSK_JVMTI_VERIFY(jvmti->AddCapabilities(&caps))) return JNI_ERR; if (!NSK_VERIFY(nsk_jvmti_setAgentProc(agentProc, NULL))) @@ -481,16 +460,13 @@ jint Agent_Initialize(JavaVM *jvm, char *options, void *reserved) { if (sync_freq) { callbacks.Exception = &Exception; } - if (!NSK_JVMTI_VERIFY(NSK_CPP_STUB3(SetEventCallbacks, - jvmti, &callbacks, sizeof(callbacks)))) + if (!NSK_JVMTI_VERIFY(jvmti->SetEventCallbacks(&callbacks, sizeof(callbacks)))) return JNI_ERR; /* enable events */ - if (!NSK_JVMTI_VERIFY(NSK_CPP_STUB4(SetEventNotificationMode, - jvmti, JVMTI_ENABLE, JVMTI_EVENT_CLASS_FILE_LOAD_HOOK, NULL))) + if (!NSK_JVMTI_VERIFY(jvmti->SetEventNotificationMode(JVMTI_ENABLE, JVMTI_EVENT_CLASS_FILE_LOAD_HOOK, NULL))) return JNI_ERR; - if (!NSK_JVMTI_VERIFY(NSK_CPP_STUB4(SetEventNotificationMode, - jvmti, JVMTI_ENABLE, JVMTI_EVENT_COMPILED_METHOD_LOAD, NULL))) + if (!NSK_JVMTI_VERIFY(jvmti->SetEventNotificationMode(JVMTI_ENABLE, JVMTI_EVENT_COMPILED_METHOD_LOAD, NULL))) return JNI_ERR; return JNI_OK; diff --git a/test/hotspot/jtreg/vmTestbase/nsk/share/jvmti/jvmti_FollowRefObjects.cpp b/test/hotspot/jtreg/vmTestbase/nsk/share/jvmti/jvmti_FollowRefObjects.cpp index bdcfc2ffdd2..b402435e237 100644 --- a/test/hotspot/jtreg/vmTestbase/nsk/share/jvmti/jvmti_FollowRefObjects.cpp +++ b/test/hotspot/jtreg/vmTestbase/nsk/share/jvmti/jvmti_FollowRefObjects.cpp @@ -115,12 +115,12 @@ JNIEXPORT jboolean JNICALL Java_nsk_jvmti_unit_FollowReferences_FollowRefObjects jvmtiEnv * jvmti = nsk_jvmti_getAgentJVMTIEnv(); jint hashCode; - if ( ! NSK_VERIFY(NSK_CPP_STUB3(SetTag, jvmti, o, tag) == JVMTI_ERROR_NONE) ) { + if ( ! NSK_VERIFY(jvmti->SetTag(o, tag) == JVMTI_ERROR_NONE) ) { NSK_COMPLAIN2("Can't set tag %li for object %lx\n", tag, o); return JNI_FALSE; } - if ( ! NSK_VERIFY(NSK_CPP_STUB3(GetObjectHashCode, jvmti, o, &hashCode) == JVMTI_ERROR_NONE) ) { + if ( ! NSK_VERIFY(jvmti->GetObjectHashCode(o, &hashCode) == JVMTI_ERROR_NONE) ) { NSK_COMPLAIN1("Can't get hash object %lx\n", o); return JNI_FALSE; } @@ -131,7 +131,7 @@ JNIEXPORT jboolean JNICALL Java_nsk_jvmti_unit_FollowReferences_FollowRefObjects jboolean fCopy; const char * s; - if ( ! NSK_VERIFY((s = NSK_CPP_STUB3(GetStringUTFChars, jni, sInfo, &fCopy)) != NULL) ) { + if ( ! NSK_VERIFY((s = jni->GetStringUTFChars(sInfo, &fCopy)) != NULL) ) { NSK_COMPLAIN1("Can't get string at %#p\n", sInfo); return JNI_FALSE; } @@ -143,7 +143,7 @@ JNIEXPORT jboolean JNICALL Java_nsk_jvmti_unit_FollowReferences_FollowRefObjects g_szTagInfo[tag] = strdup(s); - NSK_CPP_STUB3(ReleaseStringUTFChars, jni, sInfo, s); + jni->ReleaseStringUTFChars(sInfo, s); NSK_DISPLAY1(" // %s", g_szTagInfo[tag]); @@ -160,7 +160,7 @@ JNIEXPORT jlong JNICALL Java_nsk_jvmti_unit_FollowReferences_FollowRefObjects_ge jlong tag; jvmtiError r; - if ( ! NSK_VERIFY((r = NSK_CPP_STUB3(GetTag, jvmti, o, &tag)) == JVMTI_ERROR_NONE) ) { + if ( ! NSK_VERIFY((r = jvmti->GetTag(o, &tag)) == JVMTI_ERROR_NONE) ) { NSK_COMPLAIN2("Can't GetTag for object %lx. Return code: %i\n", o, r); return -1; } @@ -224,14 +224,14 @@ JNIEXPORT jboolean JNICALL Java_nsk_jvmti_unit_FollowReferences_FollowRefObjects jlong tagFrom, tagTo; RefToVerify * pRefRec; - if ( ! NSK_VERIFY((r = NSK_CPP_STUB3(GetTag, jvmti, from, &tagFrom)) == JVMTI_ERROR_NONE) ) { + if ( ! NSK_VERIFY((r = jvmti->GetTag(from, &tagFrom)) == JVMTI_ERROR_NONE) ) { NSK_COMPLAIN2("TEST_BUG: Can't GetTag for object %lx. Return code: %i\n", from, r); nsk_jvmti_setFailStatus(); return JNI_FALSE; } - if ( ! NSK_VERIFY((r = NSK_CPP_STUB3(GetTag, jvmti, to, &tagTo)) == JVMTI_ERROR_NONE) ) { + if ( ! NSK_VERIFY((r = jvmti->GetTag(to, &tagTo)) == JVMTI_ERROR_NONE) ) { NSK_COMPLAIN2("TEST_BUG: Can't GetTag for object %lx. Return code: %i\n", to, r); nsk_jvmti_setFailStatus(); return JNI_FALSE; diff --git a/test/hotspot/jtreg/vmTestbase/nsk/share/jvmti/jvmti_tools.cpp b/test/hotspot/jtreg/vmTestbase/nsk/share/jvmti/jvmti_tools.cpp index f2d1fb878be..22e319dfd90 100644 --- a/test/hotspot/jtreg/vmTestbase/nsk/share/jvmti/jvmti_tools.cpp +++ b/test/hotspot/jtreg/vmTestbase/nsk/share/jvmti/jvmti_tools.cpp @@ -452,8 +452,7 @@ JNIEXPORT jstring JNICALL Java_nsk_share_jvmti_ArgumentHandler_getAgentOptionsString(JNIEnv *jni, jobject obj) { jstring str_obj = NULL; - if (!NSK_JNI_VERIFY(jni, (str_obj = - NSK_CPP_STUB2(NewStringUTF, jni, context.options.string)) != NULL)) { + if (!NSK_JNI_VERIFY(jni, (str_obj = jni->NewStringUTF(context.options.string)) != NULL)) { return NULL; } return str_obj; @@ -637,7 +636,7 @@ int isThreadExpected(jvmtiEnv *jvmti, jthread thread) { } jint createRawMonitor(jvmtiEnv *env, const char *name, jrawMonitorID *monitor) { - jvmtiError error = NSK_CPP_STUB3(CreateRawMonitor, env, name, monitor); + jvmtiError error = env->CreateRawMonitor(name, monitor); if (!NSK_JVMTI_VERIFY(error)) { return JNI_ERR; } @@ -651,27 +650,27 @@ void exitOnError(jvmtiError error) { } void rawMonitorEnter(jvmtiEnv *env, jrawMonitorID monitor) { - jvmtiError error = NSK_CPP_STUB2(RawMonitorEnter, env, monitor); + jvmtiError error = env->RawMonitorEnter(monitor); exitOnError(error); } void rawMonitorExit(jvmtiEnv *env, jrawMonitorID monitor) { - jvmtiError error = NSK_CPP_STUB2(RawMonitorExit, env, monitor); + jvmtiError error = env->RawMonitorExit(monitor); exitOnError(error); } void rawMonitorNotify(jvmtiEnv *env, jrawMonitorID monitor) { - jvmtiError error = NSK_CPP_STUB2(RawMonitorNotify, env, monitor); + jvmtiError error = env->RawMonitorNotify(monitor); exitOnError(error); } void rawMonitorWait(jvmtiEnv *env, jrawMonitorID monitor, jlong millis) { - jvmtiError error = NSK_CPP_STUB3(RawMonitorWait, env, monitor, millis); + jvmtiError error = env->RawMonitorWait(monitor, millis); exitOnError(error); } void getPhase(jvmtiEnv *env, jvmtiPhase *phase) { - jvmtiError error = NSK_CPP_STUB2(GetPhase, env, phase); + jvmtiError error = env->GetPhase(phase); exitOnError(error); } diff --git a/test/hotspot/jtreg/vmTestbase/nsk/share/native/README b/test/hotspot/jtreg/vmTestbase/nsk/share/native/README index d3e6f5eadd7..baa744e7ec5 100644 --- a/test/hotspot/jtreg/vmTestbase/nsk/share/native/README +++ b/test/hotspot/jtreg/vmTestbase/nsk/share/native/README @@ -57,10 +57,6 @@ nsk_tools.h Provides functions and macroses for the most usefull actions: - - access native JVM environment in a compiler independent manner - - NSK_CPP_STUBn(function, env, arg1, ..., argn) - - print error message with arguments NSK_COMPLAINn(format, arg1, ..., argn) @@ -89,7 +85,7 @@ Provides functions and macroses for the most usefull actions: - miscelaneous functions for printing messages (hidden by above mentioned macroses) -Typical example of using macroses NSK_CPP_STUB and NSK_VERIFY +Typical example of using the NSK_VERIFY macro for accesing JVM native environment: // jvm->GetEnv(jvm, &env, version) diff --git a/test/hotspot/jtreg/vmTestbase/nsk/share/native/nsk_tools.h b/test/hotspot/jtreg/vmTestbase/nsk/share/native/nsk_tools.h index b99e3ddf1ea..12760fd458c 100644 --- a/test/hotspot/jtreg/vmTestbase/nsk/share/native/nsk_tools.h +++ b/test/hotspot/jtreg/vmTestbase/nsk/share/native/nsk_tools.h @@ -38,25 +38,6 @@ #endif // _LP64 && __APPLE__ -/** - * Use examples: - * - * jfieldID id = NSK_CPP_STUB3(jni,GetFieldID,clazz,name,sig); - * - * jvmtiError code = NSK_CPP_STUB0(jvmti,DisposeEnvironment); - * - */ - -#define NSK_CPP_STUB1(Func,env) env->Func() -#define NSK_CPP_STUB2(Func,env,a) env->Func(a) -#define NSK_CPP_STUB3(Func,env,a,b) env->Func(a,b) -#define NSK_CPP_STUB4(Func,env,a,b,c) env->Func(a,b,c) -#define NSK_CPP_STUB5(Func,env,a,b,c,d) env->Func(a,b,c,d) -#define NSK_CPP_STUB6(Func,env,a,b,c,d,e) env->Func(a,b,c,d,e) -#define NSK_CPP_STUB7(Func,env,a,b,c,d,e,f) env->Func(a,b,c,d,e,f) -#define NSK_CPP_STUB8(Func,env,a,b,c,d,e,f,g) env->Func(a,b,c,d,e,f,g) -#define NSK_CPP_STUB9(Func,env,a,b,c,d,e,f,g,h) env->Func(a,b,c,d,e,f,g,h) - /*************************************************************/ /** diff --git a/test/hotspot/jtreg/vmTestbase/vm/mlvm/indy/func/jvmti/share/IndyRedefineClass.cpp b/test/hotspot/jtreg/vmTestbase/vm/mlvm/indy/func/jvmti/share/IndyRedefineClass.cpp index a549b969b7f..f66ce063fe0 100644 --- a/test/hotspot/jtreg/vmTestbase/vm/mlvm/indy/func/jvmti/share/IndyRedefineClass.cpp +++ b/test/hotspot/jtreg/vmTestbase/vm/mlvm/indy/func/jvmti/share/IndyRedefineClass.cpp @@ -88,22 +88,22 @@ static void popFrameLogic(jvmtiEnv * jvmti_env, jthread thread) { if ( tls->countOfFramesToPop <= 0 ) { NSK_DISPLAY0("Disabling single step\n"); - if ( ! NSK_JVMTI_VERIFY(NSK_CPP_STUB4(SetEventNotificationMode, jvmti_env, JVMTI_DISABLE, JVMTI_EVENT_SINGLE_STEP, NULL)) ) + if ( ! NSK_JVMTI_VERIFY(jvmti_env->SetEventNotificationMode(JVMTI_DISABLE, JVMTI_EVENT_SINGLE_STEP, NULL)) ) gIsErrorOccured = JNI_TRUE; } else { NSK_DISPLAY0("Enabling single step\n"); - if ( ! NSK_JVMTI_VERIFY(NSK_CPP_STUB4(SetEventNotificationMode, jvmti_env, JVMTI_ENABLE, JVMTI_EVENT_SINGLE_STEP, NULL)) ) + if ( ! NSK_JVMTI_VERIFY(jvmti_env->SetEventNotificationMode(JVMTI_ENABLE, JVMTI_EVENT_SINGLE_STEP, NULL)) ) gIsErrorOccured = JNI_TRUE; if ( tls->countOfFramesToPop == 1 ) { NSK_DISPLAY0("Popping a frame\n"); - if ( ! NSK_JVMTI_VERIFY(NSK_CPP_STUB2(PopFrame, jvmti_env, thread)) ) + if ( ! NSK_JVMTI_VERIFY(jvmti_env->PopFrame(thread)) ) gIsErrorOccured = JNI_TRUE; } else { NSK_DISPLAY0("Forcing early return\n"); - if ( ! NSK_JVMTI_VERIFY(NSK_CPP_STUB2(ForceEarlyReturnVoid, jvmti_env, thread)) ) + if ( ! NSK_JVMTI_VERIFY(jvmti_env->ForceEarlyReturnVoid(thread)) ) gIsErrorOccured = JNI_TRUE; } @@ -141,7 +141,7 @@ MethodEntry(jvmtiEnv *jvmti_env, NSK_DISPLAY1("Redefining class %s\n", gszRedefinedClassFileName); - if ( ! NSK_JVMTI_VERIFY(NSK_CPP_STUB3(GetMethodDeclaringClass, jvmti_env, method, &clazz)) ) + if ( ! NSK_JVMTI_VERIFY(jvmti_env->GetMethodDeclaringClass(method, &clazz)) ) return; if ( ! NSK_VERIFY(nsk_jvmti_redefineClass(jvmti_env, clazz, gszRedefinedClassFileName)) ) { @@ -200,20 +200,20 @@ jint Agent_Initialize(JavaVM * vm, char * options, void * reserved) { caps.can_force_early_return = 1; caps.can_redefine_classes = 1; - if ( ! NSK_JVMTI_VERIFY(NSK_CPP_STUB2(AddCapabilities, gJvmtiEnv, &caps)) ) + if ( ! NSK_JVMTI_VERIFY(gJvmtiEnv->AddCapabilities(&caps)) ) return JNI_ERR; memset(&callbacks, 0, sizeof(callbacks)); callbacks.MethodEntry = &MethodEntry; callbacks.SingleStep = &SingleStep; - if ( ! NSK_JVMTI_VERIFY(NSK_CPP_STUB3(SetEventCallbacks, gJvmtiEnv, &callbacks, sizeof(callbacks))) ) + if ( ! NSK_JVMTI_VERIFY(gJvmtiEnv->SetEventCallbacks(&callbacks, sizeof(callbacks))) ) return JNI_ERR; - if ( ! NSK_JVMTI_VERIFY(NSK_CPP_STUB4(SetEventNotificationMode, gJvmtiEnv, JVMTI_ENABLE, JVMTI_EVENT_METHOD_ENTRY, NULL) ) ) + if ( ! NSK_JVMTI_VERIFY(gJvmtiEnv->SetEventNotificationMode(JVMTI_ENABLE, JVMTI_EVENT_METHOD_ENTRY, NULL) ) ) return JNI_ERR; - if ( ! NSK_JVMTI_VERIFY(NSK_CPP_STUB4(SetEventNotificationMode, gJvmtiEnv, JVMTI_DISABLE, JVMTI_EVENT_SINGLE_STEP, NULL) ) ) + if ( ! NSK_JVMTI_VERIFY(gJvmtiEnv->SetEventNotificationMode(JVMTI_DISABLE, JVMTI_EVENT_SINGLE_STEP, NULL) ) ) return JNI_ERR; return JNI_OK; diff --git a/test/hotspot/jtreg/vmTestbase/vm/mlvm/indy/func/jvmti/stepBreakPopReturn/stepBreakPopReturn.cpp b/test/hotspot/jtreg/vmTestbase/vm/mlvm/indy/func/jvmti/stepBreakPopReturn/stepBreakPopReturn.cpp index 90ee81cc6c3..f5f9c4cf176 100644 --- a/test/hotspot/jtreg/vmTestbase/vm/mlvm/indy/func/jvmti/stepBreakPopReturn/stepBreakPopReturn.cpp +++ b/test/hotspot/jtreg/vmTestbase/vm/mlvm/indy/func/jvmti/stepBreakPopReturn/stepBreakPopReturn.cpp @@ -89,7 +89,7 @@ MethodEntry(jvmtiEnv *jvmti_env, gIsMethodEntryWorking = JNI_TRUE; if ( ! gIsBreakpointSet ) - NSK_JVMTI_VERIFY(NSK_CPP_STUB4(SetEventNotificationMode, jvmti_env, JVMTI_ENABLE, JVMTI_EVENT_SINGLE_STEP, NULL)); + NSK_JVMTI_VERIFY(jvmti_env->SetEventNotificationMode(JVMTI_ENABLE, JVMTI_EVENT_SINGLE_STEP, NULL)); } } @@ -116,21 +116,21 @@ SingleStep(jvmtiEnv *jvmti_env, free(locStr); } - NSK_JVMTI_VERIFY(NSK_CPP_STUB4(SetEventNotificationMode, gJvmtiEnv, JVMTI_DISABLE, JVMTI_EVENT_SINGLE_STEP, NULL)); + NSK_JVMTI_VERIFY(gJvmtiEnv->SetEventNotificationMode(JVMTI_DISABLE, JVMTI_EVENT_SINGLE_STEP, NULL)); if ( ! gIsDebuggerCompatible ) { - if ( ! NSK_JVMTI_VERIFY(NSK_CPP_STUB3(SetBreakpoint, jvmti_env, method, location)) ) + if ( ! NSK_JVMTI_VERIFY(jvmti_env->SetBreakpoint(method, location)) ) return; - NSK_JVMTI_VERIFY(NSK_CPP_STUB4(SetEventNotificationMode, gJvmtiEnv, JVMTI_ENABLE, JVMTI_EVENT_BREAKPOINT, NULL)); + NSK_JVMTI_VERIFY(gJvmtiEnv->SetEventNotificationMode(JVMTI_ENABLE, JVMTI_EVENT_BREAKPOINT, NULL)); gIsBreakpointSet = JNI_TRUE; NSK_DISPLAY0("Pop a frame\n"); - NSK_JVMTI_VERIFY(NSK_CPP_STUB2(PopFrame, gJvmtiEnv, thread)); + NSK_JVMTI_VERIFY(gJvmtiEnv->PopFrame(thread)); } else { if ( gIsFirstCall ) { NSK_DISPLAY0("Pop a frame\n"); - NSK_JVMTI_VERIFY(NSK_CPP_STUB2(PopFrame, gJvmtiEnv, thread)); + NSK_JVMTI_VERIFY(gJvmtiEnv->PopFrame(thread)); gIsFirstCall = JNI_FALSE; } else { gIsFirstCall = JNI_TRUE; @@ -158,12 +158,12 @@ Breakpoint(jvmtiEnv *jvmti_env, free(locStr); } - NSK_JVMTI_VERIFY(NSK_CPP_STUB3(ClearBreakpoint, jvmti_env, method, location)); - NSK_JVMTI_VERIFY(NSK_CPP_STUB4(SetEventNotificationMode, gJvmtiEnv, JVMTI_DISABLE, JVMTI_EVENT_BREAKPOINT, NULL)); + NSK_JVMTI_VERIFY(jvmti_env->ClearBreakpoint(method, location)); + NSK_JVMTI_VERIFY(gJvmtiEnv->SetEventNotificationMode(JVMTI_DISABLE, JVMTI_EVENT_BREAKPOINT, NULL)); gIsBreakpointSet = JNI_FALSE; NSK_DISPLAY0("Forcing early return.\n"); - NSK_JVMTI_VERIFY(NSK_CPP_STUB3(ForceEarlyReturnInt, jvmti_env, thread, 0)); + NSK_JVMTI_VERIFY(jvmti_env->ForceEarlyReturnInt(thread, 0)); } jint Agent_Initialize(JavaVM * vm, char * options, void * reserved) { @@ -187,7 +187,7 @@ jint Agent_Initialize(JavaVM * vm, char * options, void * reserved) { caps.can_pop_frame = 1; caps.can_force_early_return = 1; - if ( ! NSK_JVMTI_VERIFY(NSK_CPP_STUB2(AddCapabilities, gJvmtiEnv, &caps)) ) + if ( ! NSK_JVMTI_VERIFY(gJvmtiEnv->AddCapabilities(&caps)) ) return JNI_ERR; memset(&callbacks, 0, sizeof(callbacks)); @@ -195,10 +195,10 @@ jint Agent_Initialize(JavaVM * vm, char * options, void * reserved) { callbacks.SingleStep = &SingleStep; callbacks.Breakpoint = &Breakpoint; - if ( ! NSK_JVMTI_VERIFY(NSK_CPP_STUB3(SetEventCallbacks, gJvmtiEnv, &callbacks, sizeof(callbacks))) ) + if ( ! NSK_JVMTI_VERIFY(gJvmtiEnv->SetEventCallbacks(&callbacks, sizeof(callbacks))) ) return JNI_ERR; - if ( ! NSK_JVMTI_VERIFY(NSK_CPP_STUB4(SetEventNotificationMode, gJvmtiEnv, JVMTI_ENABLE, JVMTI_EVENT_METHOD_ENTRY, NULL) ) ) + if ( ! NSK_JVMTI_VERIFY(gJvmtiEnv->SetEventNotificationMode(JVMTI_ENABLE, JVMTI_EVENT_METHOD_ENTRY, NULL) ) ) return JNI_ERR; return JNI_OK; diff --git a/test/jdk/ProblemList.txt b/test/jdk/ProblemList.txt index d1fbb4f03b5..bd9fe665b62 100644 --- a/test/jdk/ProblemList.txt +++ b/test/jdk/ProblemList.txt @@ -868,6 +868,8 @@ com/sun/jndi/ldap/DeadSSLLdapTimeoutTest.java 8169942 linux-i5 com/sun/jndi/ldap/LdapTimeoutTest.java 8151678 linux-all +com/sun/jndi/dns/ConfigTests/PortUnreachable.java 7164518 macosx-all + javax/rmi/ssl/SSLSocketParametersTest.sh 8162906 generic-all ############################################################################ diff --git a/test/jdk/TEST.groups b/test/jdk/TEST.groups index c68abb1c700..188534ee4be 100644 --- a/test/jdk/TEST.groups +++ b/test/jdk/TEST.groups @@ -35,8 +35,7 @@ tier1_part1 = \ :jdk_lang tier1_part2 = \ - :jdk_util \ - -java/util/Arrays/TimSortStackSize2.java + :jdk_util tier1_part3 = \ :jdk_math \ @@ -67,9 +66,7 @@ tier2_part2 = \ -sun/nio/cs/ISO8859x.java \ :jdk_other \ :jdk_text \ - :jdk_time \ - java/util/Arrays/TimSortStackSize2.java - + :jdk_time tier2_part3 = \ :jdk_net diff --git a/test/jdk/com/sun/jdi/DeferredStepTest.java b/test/jdk/com/sun/jdi/DeferredStepTest.java index 6ff90797ac0..90c909858ee 100644 --- a/test/jdk/com/sun/jdi/DeferredStepTest.java +++ b/test/jdk/com/sun/jdi/DeferredStepTest.java @@ -49,7 +49,7 @@ class DeferredStepTestTarg { public void run() { int count = 0; - for ( int ii = 0; ii < 10; ii++) { + for (int ii = 0; ii < 15; ii++) { int intInPotato04 = 666; ++count; // @1 breakpoint System.out.println("Thread: " + Thread.currentThread().getName()); @@ -61,7 +61,7 @@ class DeferredStepTestTarg { public void run() { int count2 = 0; - for (int ii = 0; ii < 10; ii++) { + for (int ii = 0; ii < 15; ii++) { String StringInPotato05 = "I am"; ++count2; // @2 breakpoint System.out.println("Thread: " + Thread.currentThread().getName()); @@ -172,8 +172,8 @@ public class DeferredStepTest extends JdbTest { // Run to breakpoint #1 jdb.command(JdbCommand.run()); - // 2 cycles with 4 lines each - maximum 80 stops - for (int i=0; i<50; i++) { + // 2 cycles (15 iterations) with 4 lines each, 1st break at 3rd line - 58 stops + for (int i = 0; i < 50; i++) { next(); } } diff --git a/test/jdk/com/sun/jndi/dns/ConfigTests/AuthDefault.dns b/test/jdk/com/sun/jndi/dns/ConfigTests/AuthDefault.dns new file mode 100644 index 00000000000..1a78e2ba330 --- /dev/null +++ b/test/jdk/com/sun/jndi/dns/ConfigTests/AuthDefault.dns @@ -0,0 +1,100 @@ +# +# Copyright (c) 2018, Oracle and/or its affiliates. All rights reserved. +# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. +# +# This code is free software; you can redistribute it and/or modify it +# under the terms of the GNU General Public License version 2 only, as +# published by the Free Software Foundation. +# +# This code is distributed in the hope that it will be useful, but WITHOUT +# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or +# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License +# version 2 for more details (a copy is included in the LICENSE file that +# accompanied this code). +# +# You should have received a copy of the GNU General Public License version +# 2 along with this work; if not, write to the Free Software Foundation, +# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. +# +# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA +# or visit www.oracle.com if you need additional information or have any +# questions. +# + +################################################################################ +# Capture file for AuthTest.java +# +# NOTE: This hexadecimal dump of DNS protocol messages was generated by +# running the AuthTest application program against a real DNS +# server along with DNSTracer +# +################################################################################ + +# DNS Request + +0000: E5 2C 01 00 00 01 00 00 00 00 00 00 05 68 6F 73 .,...........hos +0010: 74 31 07 64 6F 6D 61 69 6E 31 03 63 6F 6D 00 00 t1.domain1.com.. +0020: FF 00 01 ... + + +# DNS Response + +0000: E5 2C 85 80 00 01 00 06 00 01 00 01 05 68 6F 73 .,...........hos +0010: 74 31 07 64 6F 6D 61 69 6E 31 03 63 6F 6D 00 00 t1.domain1.com.. +0020: FF 00 01 C0 0C 00 10 00 01 00 00 8C A0 00 15 14 ................ +0030: 41 20 76 65 72 79 20 70 6F 70 75 6C 61 72 20 68 A very popular h +0040: 6F 73 74 2E C0 0C 00 1D 00 01 00 00 8C A0 00 10 ost............. +0050: 00 12 16 13 88 97 1A 35 69 68 41 38 00 9B 16 58 .......5ihA8...X +0060: C0 0C 00 0D 00 01 00 00 8C A0 00 13 0C 54 68 65 .............The +0070: 20 4F 72 69 67 69 6E 61 6C 05 53 75 6E 6E 79 C0 Original.Sunny. +0080: 0C 00 0F 00 01 00 00 8C A0 00 12 00 14 05 72 65 ..............re +0090: 6C 61 79 05 74 65 78 61 73 02 75 73 00 C0 0C 00 lay.texas.us.... +00A0: 0F 00 01 00 00 8C A0 00 0F 00 0A 05 72 65 6C 61 ............rela +00B0: 79 04 6F 68 69 6F C0 99 C0 0C 00 01 00 01 00 01 y.ohio.......... +00C0: 51 80 00 04 01 02 04 01 C0 12 00 02 00 01 00 00 Q............... +00D0: 8C A0 00 05 02 6E 73 C0 12 C0 D4 00 01 00 01 00 .....ns......... +00E0: 00 8C A0 00 04 7F 00 00 01 ......... + + +# DNS Request + +0000: 84 D9 01 00 00 01 00 00 00 00 00 00 06 73 75 6E .............sun +0010: 77 65 62 07 43 65 6E 74 72 61 6C 03 53 75 6E 03 web.Central.Sun. +0020: 43 4F 4D 00 00 FF 00 01 COM..... + + +# DNS Response + +0000: 84 D9 81 80 00 01 00 01 00 06 00 0C 06 73 75 6E .............sun +0010: 77 65 62 07 43 65 6E 74 72 61 6C 03 53 75 6E 03 web.Central.Sun. +0020: 43 4F 4D 00 00 FF 00 01 C0 0C 00 05 00 01 00 00 COM............. +0030: 2A 30 00 0E 0B 73 75 6E 77 65 62 2D 70 73 72 76 *0...sunweb-psrv +0040: C0 13 C0 13 00 02 00 01 00 00 2A 30 00 14 0A 64 ..........*0...d +0050: 6E 73 6D 61 73 74 65 72 35 06 6F 72 61 63 6C 65 nsmaster5.oracle +0060: C0 1F C0 13 00 02 00 01 00 00 2A 30 00 0D 0A 64 ..........*0...d +0070: 6E 73 6D 61 73 74 65 72 31 C0 59 C0 13 00 02 00 nsmaster1.Y..... +0080: 01 00 00 2A 30 00 0D 0A 64 6E 73 6D 61 73 74 65 ...*0...dnsmaste +0090: 72 33 C0 59 C0 13 00 02 00 01 00 00 2A 30 00 0D r3.Y........*0.. +00A0: 0A 64 6E 73 6D 61 73 74 65 72 32 C0 59 C0 13 00 .dnsmaster2.Y... +00B0: 02 00 01 00 00 2A 30 00 0D 0A 64 6E 73 6D 61 73 .....*0...dnsmas +00C0: 74 65 72 36 C0 59 C0 13 00 02 00 01 00 00 2A 30 ter6.Y........*0 +00D0: 00 0D 0A 64 6E 73 6D 61 73 74 65 72 34 C0 59 C0 ...dnsmaster4.Y. +00E0: 6E 00 01 00 01 00 00 2A 30 00 04 C0 87 52 04 C0 n......*0....R.. +00F0: 6E 00 1C 00 01 00 00 2A 30 00 10 26 06 B4 00 14 n......*0..&.... +0100: 00 01 80 4F FF FF FF FF FF 9F 99 C0 A0 00 01 00 ...O............ +0110: 01 00 00 2A 30 00 04 C0 87 52 14 C0 A0 00 1C 00 ...*0....R...... +0120: 01 00 00 2A 30 00 10 26 06 B4 00 14 00 03 12 4F ...*0..&.......O +0130: FF FF FF FF FF 9F 99 C0 B9 00 01 00 01 00 00 2A ...............* +0140: 30 00 04 C0 87 52 54 C0 B9 00 1C 00 01 00 00 2A 0....RT........* +0150: 30 00 10 26 06 B4 00 14 00 41 40 4F FF FF FF FF 0..&.....A@O.... +0160: FF 9F 99 C0 4E 00 01 00 01 00 00 2A 30 00 04 C0 ....N......*0... +0170: 87 52 46 C0 4E 00 1C 00 01 00 00 2A 30 00 10 26 .RF.N......*0..& +0180: 06 B4 00 14 00 42 40 4F FF FF FF FF FF 9F 99 C0 .....B@O........ +0190: D2 00 01 00 01 00 00 2A 30 00 04 C0 87 52 34 C0 .......*0....R4. +01A0: D2 00 1C 00 01 00 00 2A 30 00 10 26 06 B4 00 14 .......*0..&.... +01B0: 00 81 40 4F FF FF FF FF FF 9F 99 C0 87 00 01 00 ..@O............ +01C0: 01 00 00 2A 30 00 04 C0 87 52 24 C0 87 00 1C 00 ...*0....R$..... +01D0: 01 00 00 2A 30 00 10 26 06 B4 00 14 00 80 40 4F ...*0..&......@O +01E0: FF FF FF FF FF 9F 99 ....... + + diff --git a/test/jdk/com/sun/jndi/dns/ConfigTests/AuthFalse.dns b/test/jdk/com/sun/jndi/dns/ConfigTests/AuthFalse.dns new file mode 100644 index 00000000000..7177fd7f190 --- /dev/null +++ b/test/jdk/com/sun/jndi/dns/ConfigTests/AuthFalse.dns @@ -0,0 +1,100 @@ +# +# Copyright (c) 2018, Oracle and/or its affiliates. All rights reserved. +# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. +# +# This code is free software; you can redistribute it and/or modify it +# under the terms of the GNU General Public License version 2 only, as +# published by the Free Software Foundation. +# +# This code is distributed in the hope that it will be useful, but WITHOUT +# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or +# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License +# version 2 for more details (a copy is included in the LICENSE file that +# accompanied this code). +# +# You should have received a copy of the GNU General Public License version +# 2 along with this work; if not, write to the Free Software Foundation, +# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. +# +# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA +# or visit www.oracle.com if you need additional information or have any +# questions. +# + +################################################################################ +# Capture file for AuthTest.java +# +# NOTE: This hexadecimal dump of DNS protocol messages was generated by +# running the AuthTest application program against a real DNS +# server along with DNSTracer +# +################################################################################ + +# DNS Request + +0000: 1C 7E 01 00 00 01 00 00 00 00 00 00 05 68 6F 73 .............hos +0010: 74 31 07 64 6F 6D 61 69 6E 31 03 63 6F 6D 00 00 t1.domain1.com.. +0020: FF 00 01 ... + + +# DNS Response + +0000: 1C 7E 85 80 00 01 00 06 00 01 00 01 05 68 6F 73 .............hos +0010: 74 31 07 64 6F 6D 61 69 6E 31 03 63 6F 6D 00 00 t1.domain1.com.. +0020: FF 00 01 C0 0C 00 10 00 01 00 00 8C A0 00 15 14 ................ +0030: 41 20 76 65 72 79 20 70 6F 70 75 6C 61 72 20 68 A very popular h +0040: 6F 73 74 2E C0 0C 00 1D 00 01 00 00 8C A0 00 10 ost............. +0050: 00 12 16 13 88 97 1A 35 69 68 41 38 00 9B 16 58 .......5ihA8...X +0060: C0 0C 00 0D 00 01 00 00 8C A0 00 13 0C 54 68 65 .............The +0070: 20 4F 72 69 67 69 6E 61 6C 05 53 75 6E 6E 79 C0 Original.Sunny. +0080: 0C 00 0F 00 01 00 00 8C A0 00 12 00 14 05 72 65 ..............re +0090: 6C 61 79 05 74 65 78 61 73 02 75 73 00 C0 0C 00 lay.texas.us.... +00A0: 0F 00 01 00 00 8C A0 00 0F 00 0A 05 72 65 6C 61 ............rela +00B0: 79 04 6F 68 69 6F C0 99 C0 0C 00 01 00 01 00 01 y.ohio.......... +00C0: 51 80 00 04 01 02 04 01 C0 12 00 02 00 01 00 00 Q............... +00D0: 8C A0 00 05 02 6E 73 C0 12 C0 D4 00 01 00 01 00 .....ns......... +00E0: 00 8C A0 00 04 7F 00 00 01 ......... + + +# DNS Request + +0000: E7 16 01 00 00 01 00 00 00 00 00 00 06 73 75 6E .............sun +0010: 77 65 62 07 43 65 6E 74 72 61 6C 03 53 75 6E 03 web.Central.Sun. +0020: 43 4F 4D 00 00 FF 00 01 COM..... + + +# DNS Response + +0000: E7 16 81 80 00 01 00 01 00 06 00 0C 06 73 75 6E .............sun +0010: 77 65 62 07 43 65 6E 74 72 61 6C 03 53 75 6E 03 web.Central.Sun. +0020: 43 4F 4D 00 00 FF 00 01 C0 0C 00 05 00 01 00 00 COM............. +0030: 2A 30 00 0E 0B 73 75 6E 77 65 62 2D 70 73 72 76 *0...sunweb-psrv +0040: C0 13 C0 13 00 02 00 01 00 00 2A 30 00 14 0A 64 ..........*0...d +0050: 6E 73 6D 61 73 74 65 72 33 06 6F 72 61 63 6C 65 nsmaster3.oracle +0060: C0 1F C0 13 00 02 00 01 00 00 2A 30 00 0D 0A 64 ..........*0...d +0070: 6E 73 6D 61 73 74 65 72 35 C0 59 C0 13 00 02 00 nsmaster5.Y..... +0080: 01 00 00 2A 30 00 0D 0A 64 6E 73 6D 61 73 74 65 ...*0...dnsmaste +0090: 72 32 C0 59 C0 13 00 02 00 01 00 00 2A 30 00 0D r2.Y........*0.. +00A0: 0A 64 6E 73 6D 61 73 74 65 72 31 C0 59 C0 13 00 .dnsmaster1.Y... +00B0: 02 00 01 00 00 2A 30 00 0D 0A 64 6E 73 6D 61 73 .....*0...dnsmas +00C0: 74 65 72 36 C0 59 C0 13 00 02 00 01 00 00 2A 30 ter6.Y........*0 +00D0: 00 0D 0A 64 6E 73 6D 61 73 74 65 72 34 C0 59 C0 ...dnsmaster4.Y. +00E0: 6E 00 01 00 01 00 00 2A 30 00 04 C0 87 52 46 C0 n......*0....RF. +00F0: 6E 00 1C 00 01 00 00 2A 30 00 10 26 06 B4 00 14 n......*0..&.... +0100: 00 42 40 4F FF FF FF FF FF 9F 99 C0 4E 00 01 00 .B@O........N... +0110: 01 00 00 2A 30 00 04 C0 87 52 24 C0 4E 00 1C 00 ...*0....R$.N... +0120: 01 00 00 2A 30 00 10 26 06 B4 00 14 00 80 40 4F ...*0..&......@O +0130: FF FF FF FF FF 9F 99 C0 A0 00 01 00 01 00 00 2A ...............* +0140: 30 00 04 C0 87 52 04 C0 A0 00 1C 00 01 00 00 2A 0....R.........* +0150: 30 00 10 26 06 B4 00 14 00 01 80 4F FF FF FF FF 0..&.......O.... +0160: FF 9F 99 C0 B9 00 01 00 01 00 00 2A 30 00 04 C0 ...........*0... +0170: 87 52 54 C0 B9 00 1C 00 01 00 00 2A 30 00 10 26 .RT........*0..& +0180: 06 B4 00 14 00 41 40 4F FF FF FF FF FF 9F 99 C0 .....A@O........ +0190: D2 00 01 00 01 00 00 2A 30 00 04 C0 87 52 34 C0 .......*0....R4. +01A0: D2 00 1C 00 01 00 00 2A 30 00 10 26 06 B4 00 14 .......*0..&.... +01B0: 00 81 40 4F FF FF FF FF FF 9F 99 C0 87 00 01 00 ..@O............ +01C0: 01 00 00 2A 30 00 04 C0 87 52 14 C0 87 00 1C 00 ...*0....R...... +01D0: 01 00 00 2A 30 00 10 26 06 B4 00 14 00 03 12 4F ...*0..&.......O +01E0: FF FF FF FF FF 9F 99 ....... + + diff --git a/test/jdk/com/sun/jndi/dns/ConfigTests/AuthRecursiveBase.java b/test/jdk/com/sun/jndi/dns/ConfigTests/AuthRecursiveBase.java new file mode 100644 index 00000000000..9c24c161e01 --- /dev/null +++ b/test/jdk/com/sun/jndi/dns/ConfigTests/AuthRecursiveBase.java @@ -0,0 +1,115 @@ +/* + * Copyright (c) 2018, Oracle and/or its affiliates. All rights reserved. + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * This code is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License version 2 only, as + * published by the Free Software Foundation. + * + * This code is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + * version 2 for more details (a copy is included in the LICENSE file that + * accompanied this code). + * + * You should have received a copy of the GNU General Public License version + * 2 along with this work; if not, write to the Free Software Foundation, + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. + * + * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA + * or visit www.oracle.com if you need additional information or have any + * questions. + */ + +import javax.naming.NamingException; +import javax.naming.directory.Attributes; + +/** + * Abstract test base for Config related tests, this class extends DNSTestBase. + * + * @see DNSTestBase + * @see TestBase + */ +abstract class AuthRecursiveBase extends DNSTestBase { + + private static final String KEY = "host1"; + private static final String[] MANDATORY_ATTRIBUTES = { "A", "MX", "HINFO", + "TXT", "29" }; + private static final String[] OPTIONAL_ATTRIBUTES = {}; + + private String fqdnUrl; + private String foreignFqdnUrl; + + /** + * Setup test before real test run, it overrides the method of TestBase. + */ + @Override + public void setupTest() { + super.setupTest(); + String fqdn = DNSTestUtils.buildFqdn(KEY, env(), true); + + String foreignLeaf = (String) env().get("FOREIGN_LEAF"); + String foreignFqdn = DNSTestUtils.buildFqdn(foreignLeaf, env(), false); + + fqdnUrl = DNSTestUtils.getRootUrl(env()) + "/" + fqdn; + foreignFqdnUrl = DNSTestUtils.getRootUrl(env()) + "/" + foreignFqdn; + } + + /** + * Overload method of retrieveAndVerifyData, it will retrieve all of the + * attributes associated with given named object and do verification. + * + * @param name given named object + * @throws NamingException if a naming exception is encountered + */ + public void retrieveAndVerifyData(String name) throws NamingException { + Attributes retAttrs = context().getAttributes(name); + DNSTestUtils.verifySchema(retAttrs, MANDATORY_ATTRIBUTES, + OPTIONAL_ATTRIBUTES); + } + + /** + * Retrieves selected attributes associated with a named object and do + * verification. + * + * @param name given named object + * @param attrIds given ids of the attributes to retrieve + * @throws NamingException if a naming exception is encountered + */ + public void retrieveAndVerifyData(String name, String[] attrIds) + throws NamingException { + Attributes retAttrs = context().getAttributes(name, attrIds); + DNSTestUtils.verifySchema(retAttrs, MANDATORY_ATTRIBUTES, + OPTIONAL_ATTRIBUTES); + } + + /** + * Return parsed flag from given test name. + * + * @return parsed flag from given test name + */ + public String parseFlagFromTestName() { + String name = (String) env().get("testname"); + if (name == null || name.isEmpty()) { + throw new RuntimeException("test name expecting not null/empty"); + } + + if (name.endsWith("Default")) { + return "default"; + } else if (name.endsWith("True")) { + return "true"; + } else if (name.endsWith("False")) { + return "false"; + } else { + throw new RuntimeException("Invalid test name " + name); + } + } + + public String getFqdnUrl() { + return fqdnUrl; + } + + public String getForeignFqdnUrl() { + return foreignFqdnUrl; + } +} diff --git a/test/jdk/com/sun/jndi/dns/ConfigTests/AuthTest.java b/test/jdk/com/sun/jndi/dns/ConfigTests/AuthTest.java new file mode 100644 index 00000000000..151899bf5ab --- /dev/null +++ b/test/jdk/com/sun/jndi/dns/ConfigTests/AuthTest.java @@ -0,0 +1,103 @@ +/* + * Copyright (c) 2000, 2018, Oracle and/or its affiliates. All rights reserved. + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * This code is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License version 2 only, as + * published by the Free Software Foundation. + * + * This code is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + * version 2 for more details (a copy is included in the LICENSE file that + * accompanied this code). + * + * You should have received a copy of the GNU General Public License version + * 2 along with this work; if not, write to the Free Software Foundation, + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. + * + * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA + * or visit www.oracle.com if you need additional information or have any + * questions. + */ + +import javax.naming.Context; +import javax.naming.NameNotFoundException; +import javax.naming.NamingException; +import javax.naming.directory.Attributes; +import javax.naming.directory.InitialDirContext; +import java.util.Hashtable; + +/* + * @test + * @bug 8200151 + * @summary Tests that we can get the attributes of DNS entries for + * authoritative data. And nonauthoritative data by default or + * java.naming.authoritative is set to false, but cannot when + * java.naming.authoritative is set to true. + * @library ../lib/ + * @modules java.base/sun.security.util + * @run main AuthTest -Dtestname=AuthDefault + * @run main AuthTest -Dtestname=AuthFalse + * @run main AuthTest -Dtestname=AuthTrue + */ + +public class AuthTest extends AuthRecursiveBase { + + public static void main(String[] args) throws Exception { + new AuthTest().run(args); + } + + /* + * Tests that we can get the attributes of DNS entries for + * authoritative data. And nonauthoritative data by default or + * java.naming.authoritative is set to false, but cannot when + * java.naming.authoritative is set to true. + */ + @Override + public void runTest() throws Exception { + String flag = parseFlagFromTestName(); + + if (flag.equalsIgnoreCase("default")) { + setContext(new InitialDirContext()); + } else { + Hashtable