--- a/make/Images.gmk Mon Oct 08 18:17:37 2018 -0400
+++ b/make/Images.gmk Mon Oct 08 18:23:05 2018 -0400
@@ -90,24 +90,32 @@
$(JDK_IMAGE_DIR)/$(JIMAGE_TARGET_FILE): $(JMODS) \
$(call DependOnVariable, JDK_MODULES_LIST) $(BASE_RELEASE_FILE)
- $(ECHO) Creating jdk image
+ $(call LogWarn, Creating jdk image)
$(RM) -r $(JDK_IMAGE_DIR)
$(call ExecuteWithLog, $(SUPPORT_OUTPUTDIR)/images/jdk, \
$(JLINK_TOOL) --add-modules $(JDK_MODULES_LIST) \
$(JLINK_JDK_EXTRA_OPTS) \
--output $(JDK_IMAGE_DIR) \
)
+ ifeq ($(BUILD_CDS_ARCHIVE), true)
+ $(call LogWarn, Creating CDS archive for jdk image)
+ $(JDK_IMAGE_DIR)/bin/java -Xshare:dump -Xmx128M -Xms128M $(LOG_INFO)
+ endif
$(TOUCH) $@
$(JRE_IMAGE_DIR)/$(JIMAGE_TARGET_FILE): $(JMODS) \
$(call DependOnVariable, JRE_MODULES_LIST) $(BASE_RELEASE_FILE)
- $(ECHO) Creating legacy jre image
+ $(call LogWarn, Creating legacy jre image)
$(RM) -r $(JRE_IMAGE_DIR)
$(call ExecuteWithLog, $(SUPPORT_OUTPUTDIR)/images/jre, \
$(JLINK_TOOL) --add-modules $(JRE_MODULES_LIST) \
$(JLINK_JRE_EXTRA_OPTS) \
--output $(JRE_IMAGE_DIR) \
)
+ ifeq ($(BUILD_CDS_ARCHIVE), true)
+ $(call LogWarn, Creating CDS archive for jre image)
+ $(JRE_IMAGE_DIR)/bin/java -Xshare:dump -Xmx128M -Xms128M $(LOG_INFO)
+ endif
$(TOUCH) $@
TOOL_JRE_TARGETS := $(JRE_IMAGE_DIR)/$(JIMAGE_TARGET_FILE)
--- a/make/autoconf/configure.ac Mon Oct 08 18:17:37 2018 -0400
+++ b/make/autoconf/configure.ac Mon Oct 08 18:23:05 2018 -0400
@@ -233,6 +233,7 @@
JDKOPT_ENABLE_DISABLE_GENERATE_CLASSLIST
JDKOPT_EXCLUDE_TRANSLATIONS
JDKOPT_ENABLE_DISABLE_MANPAGES
+JDKOPT_ENABLE_DISABLE_CDS_ARCHIVE
###############################################################################
#
--- a/make/autoconf/hotspot.m4 Mon Oct 08 18:17:37 2018 -0400
+++ b/make/autoconf/hotspot.m4 Mon Oct 08 18:23:05 2018 -0400
@@ -252,14 +252,6 @@
AC_MSG_ERROR([Invalid value for --enable-cds: $enable_cds])
fi
- # Disable CDS on AIX.
- if test "x$OPENJDK_TARGET_OS" = "xaix"; then
- ENABLE_CDS="false"
- if test "x$enable_cds" = "xyes"; then
- AC_MSG_ERROR([CDS is currently not supported on AIX. Remove --enable-cds.])
- fi
- fi
-
AC_SUBST(ENABLE_CDS)
])
@@ -489,6 +481,34 @@
# All variants but minimal (and custom) get these features
NON_MINIMAL_FEATURES="$NON_MINIMAL_FEATURES cmsgc g1gc parallelgc serialgc epsilongc jni-check jvmti management nmt services vm-structs"
+ # Disable CDS on AIX.
+ if test "x$OPENJDK_TARGET_OS" = "xaix"; then
+ ENABLE_CDS="false"
+ if test "x$enable_cds" = "xyes"; then
+ AC_MSG_ERROR([CDS is currently not supported on AIX. Remove --enable-cds.])
+ fi
+ fi
+
+ # Disable CDS if user requested it with --with-jvm-features=-cds.
+ DISABLE_CDS=`$ECHO $DISABLED_JVM_FEATURES | $GREP cds`
+ if test "x$DISABLE_CDS" = "xcds"; then
+ ENABLE_CDS="false"
+ if test "x$enable_cds" = "xyes"; then
+ AC_MSG_ERROR([CDS was disabled by --with-jvm-features=-cds. Remove --enable-cds.])
+ fi
+ fi
+
+ # Disable CDS for zero, minimal, core..
+ if HOTSPOT_CHECK_JVM_VARIANT(zero) || HOTSPOT_CHECK_JVM_VARIANT(minimal) || HOTSPOT_CHECK_JVM_VARIANT(core); then
+ # ..except when the user explicitely requested it with --enable-jvm-features
+ if ! HOTSPOT_CHECK_JVM_FEATURE(cds); then
+ ENABLE_CDS="false"
+ if test "x$enable_cds" = "xyes"; then
+ AC_MSG_ERROR([CDS not implemented for variants zero, minimal, core. Remove --enable-cds.])
+ fi
+ fi
+ fi
+
AC_MSG_CHECKING([if cds should be enabled])
if test "x$ENABLE_CDS" = "xtrue"; then
if test "x$enable_cds" = "xyes"; then
--- a/make/autoconf/jdk-options.m4 Mon Oct 08 18:17:37 2018 -0400
+++ b/make/autoconf/jdk-options.m4 Mon Oct 08 18:23:05 2018 -0400
@@ -527,7 +527,7 @@
# Check if it's likely that it's possible to generate the classlist. Depending
# on exact jvm configuration it could be possible anyway.
- if test "x$ENABLE_CDS" = "xtrue" && (HOTSPOT_CHECK_JVM_VARIANT(server) || HOTSPOT_CHECK_JVM_VARIANT(client)); then
+ if test "x$ENABLE_CDS" = "xtrue" && (HOTSPOT_CHECK_JVM_VARIANT(server) || HOTSPOT_CHECK_JVM_VARIANT(client) || HOTSPOT_CHECK_JVM_FEATURE(cds)); then
ENABLE_GENERATE_CLASSLIST_POSSIBLE="true"
else
ENABLE_GENERATE_CLASSLIST_POSSIBLE="false"
@@ -605,3 +605,37 @@
AC_SUBST(BUILD_MANPAGES)
])
+
+################################################################################
+#
+# Disable the default CDS archive generation
+# cross compilation - disabled
+#
+AC_DEFUN([JDKOPT_ENABLE_DISABLE_CDS_ARCHIVE],
+[
+ AC_ARG_ENABLE([cds-archive], [AS_HELP_STRING([--disable-cds-archive],
+ [Set to disable generation of a default CDS archive in the product image @<:@enabled@:>@])])
+
+ AC_MSG_CHECKING([if a default CDS archive should be generated])
+ if test "x$ENABLE_CDS" = "xfalse"; then
+ AC_MSG_RESULT([no, because CDS is disabled])
+ BUILD_CDS_ARCHIVE="false"
+ elif test "x$COMPILE_TYPE" = "xcross"; then
+ AC_MSG_RESULT([no, not possible with cross compilation])
+ BUILD_CDS_ARCHIVE="false"
+ elif test "x$enable_cds_archive" = "xyes"; then
+ AC_MSG_RESULT([yes, forced])
+ BUILD_CDS_ARCHIVE="true"
+ elif test "x$enable_cds_archive" = "x"; then
+ AC_MSG_RESULT([yes])
+ BUILD_CDS_ARCHIVE="true"
+ elif test "x$enable_cds_archive" = "xno"; then
+ AC_MSG_RESULT([no, forced])
+ BUILD_CDS_ARCHIVE="false"
+ else
+ AC_MSG_RESULT([no])
+ AC_MSG_ERROR([--enable-cds_archive can only be yes/no or empty])
+ fi
+
+ AC_SUBST(BUILD_CDS_ARCHIVE)
+])
--- a/make/autoconf/spec.gmk.in Mon Oct 08 18:17:37 2018 -0400
+++ b/make/autoconf/spec.gmk.in Mon Oct 08 18:23:05 2018 -0400
@@ -309,6 +309,8 @@
BUILD_MANPAGES := @BUILD_MANPAGES@
+BUILD_CDS_ARCHIVE := @BUILD_CDS_ARCHIVE@
+
# The boot jdk to use. This is overridden in bootcycle-spec.gmk. Make sure to keep
# it in sync.
BOOT_JDK:=@BOOT_JDK@
--- a/make/scripts/compare.sh Mon Oct 08 18:17:37 2018 -0400
+++ b/make/scripts/compare.sh Mon Oct 08 18:23:05 2018 -0400
@@ -385,6 +385,7 @@
! -name "JavaUpdater" ! -name "JavaWSApplicationStub" \
! -name "jspawnhelper" ! -name "JavawsLauncher" ! -name "*.a" \
! -name "finish_installation" ! -name "Sparkle" ! -name "*.tar.gz" \
+ ! -name "classes.jsa" \
| $GREP -v "./bin/" | $SORT | $FILTER)
echo Other files with binary differences...
--- a/src/hotspot/cpu/x86/c1_LIRGenerator_x86.cpp Mon Oct 08 18:17:37 2018 -0400
+++ b/src/hotspot/cpu/x86/c1_LIRGenerator_x86.cpp Mon Oct 08 18:23:05 2018 -0400
@@ -688,7 +688,7 @@
}
LIR_Opr result = new_register(T_INT);
__ cmove(lir_cond_equal, LIR_OprFact::intConst(1), LIR_OprFact::intConst(0),
- result, type);
+ result, T_INT);
return result;
}
--- a/src/hotspot/share/aot/aotCodeHeap.cpp Mon Oct 08 18:17:37 2018 -0400
+++ b/src/hotspot/share/aot/aotCodeHeap.cpp Mon Oct 08 18:23:05 2018 -0400
@@ -436,14 +436,19 @@
SET_AOT_GLOBAL_SYMBOL_VALUE("_aot_jvmci_runtime_new_instance", address, JVMCIRuntime::new_instance);
SET_AOT_GLOBAL_SYMBOL_VALUE("_aot_jvmci_runtime_new_array", address, JVMCIRuntime::new_array);
SET_AOT_GLOBAL_SYMBOL_VALUE("_aot_jvmci_runtime_new_multi_array", address, JVMCIRuntime::new_multi_array);
+ SET_AOT_GLOBAL_SYMBOL_VALUE("_aot_jvmci_runtime_dynamic_new_instance", address, JVMCIRuntime::dynamic_new_instance);
SET_AOT_GLOBAL_SYMBOL_VALUE("_aot_jvmci_runtime_dynamic_new_array", address, JVMCIRuntime::dynamic_new_array);
+ SET_AOT_GLOBAL_SYMBOL_VALUE("_aot_jvmci_runtime_new_instance_or_null", address, JVMCIRuntime::new_instance_or_null);
+ SET_AOT_GLOBAL_SYMBOL_VALUE("_aot_jvmci_runtime_new_array_or_null", address, JVMCIRuntime::new_array_or_null);
+ SET_AOT_GLOBAL_SYMBOL_VALUE("_aot_jvmci_runtime_new_multi_array_or_null", address, JVMCIRuntime::new_multi_array_or_null);
+ SET_AOT_GLOBAL_SYMBOL_VALUE("_aot_jvmci_runtime_dynamic_new_instance_or_null", address, JVMCIRuntime::dynamic_new_instance_or_null);
+ SET_AOT_GLOBAL_SYMBOL_VALUE("_aot_jvmci_runtime_dynamic_new_array_or_null", address, JVMCIRuntime::dynamic_new_array_or_null);
SET_AOT_GLOBAL_SYMBOL_VALUE("_aot_jvmci_runtime_validate_object", address, JVMCIRuntime::validate_object);
#if INCLUDE_G1GC
SET_AOT_GLOBAL_SYMBOL_VALUE("_aot_jvmci_runtime_write_barrier_pre", address, JVMCIRuntime::write_barrier_pre);
SET_AOT_GLOBAL_SYMBOL_VALUE("_aot_jvmci_runtime_write_barrier_post", address, JVMCIRuntime::write_barrier_post);
#endif
SET_AOT_GLOBAL_SYMBOL_VALUE("_aot_jvmci_runtime_identity_hash_code", address, JVMCIRuntime::identity_hash_code);
- SET_AOT_GLOBAL_SYMBOL_VALUE("_aot_jvmci_runtime_dynamic_new_instance", address, JVMCIRuntime::dynamic_new_instance);
SET_AOT_GLOBAL_SYMBOL_VALUE("_aot_jvmci_runtime_thread_is_interrupted", address, JVMCIRuntime::thread_is_interrupted);
SET_AOT_GLOBAL_SYMBOL_VALUE("_aot_jvmci_runtime_exception_handler_for_pc", address, JVMCIRuntime::exception_handler_for_pc);
SET_AOT_GLOBAL_SYMBOL_VALUE("_aot_jvmci_runtime_test_deoptimize_call_int", address, JVMCIRuntime::test_deoptimize_call_int);
@@ -735,6 +740,14 @@
NOT_PRODUCT( klasses_seen++; )
+ // AOT does not support custom class loaders.
+ ClassLoaderData* cld = ik->class_loader_data();
+ if (!cld->is_builtin_class_loader_data()) {
+ log_trace(aot, class, load)("skip class %s for custom classloader %s (%p) tid=" INTPTR_FORMAT,
+ ik->internal_name(), cld->loader_name(), cld, p2i(thread));
+ return false;
+ }
+
AOTKlassData* klass_data = find_klass(ik);
if (klass_data == NULL) {
return false;
@@ -759,9 +772,10 @@
assert(klass_data->_class_id < _class_count, "invalid class id");
AOTClass* aot_class = &_classes[klass_data->_class_id];
- if (aot_class->_classloader != NULL && aot_class->_classloader != ik->class_loader_data()) {
- log_trace(aot, class, load)("class %s in %s already loaded for classloader %p vs %p tid=" INTPTR_FORMAT,
- ik->internal_name(), _lib->name(), aot_class->_classloader, ik->class_loader_data(), p2i(thread));
+ ClassLoaderData* aot_cld = aot_class->_classloader;
+ if (aot_cld != NULL && aot_cld != cld) {
+ log_trace(aot, class, load)("class %s in %s already loaded for classloader %s (%p) vs %s (%p) tid=" INTPTR_FORMAT,
+ ik->internal_name(), _lib->name(), aot_cld->loader_name(), aot_cld, cld->loader_name(), cld, p2i(thread));
NOT_PRODUCT( aot_klasses_cl_miss++; )
return false;
}
@@ -774,9 +788,9 @@
NOT_PRODUCT( aot_klasses_found++; )
- log_trace(aot, class, load)("found %s in %s for classloader %p tid=" INTPTR_FORMAT, ik->internal_name(), _lib->name(), ik->class_loader_data(), p2i(thread));
+ log_trace(aot, class, load)("found %s in %s for classloader %s (%p) tid=" INTPTR_FORMAT, ik->internal_name(), _lib->name(), cld->loader_name(), cld, p2i(thread));
- aot_class->_classloader = ik->class_loader_data();
+ aot_class->_classloader = cld;
// Set klass's Resolve (second) got cell.
_klasses_got[klass_data->_got_index] = ik;
if (ik->is_initialized()) {
--- a/src/hotspot/share/gc/shared/genCollectedHeap.cpp Mon Oct 08 18:17:37 2018 -0400
+++ b/src/hotspot/share/gc/shared/genCollectedHeap.cpp Mon Oct 08 18:23:05 2018 -0400
@@ -649,9 +649,6 @@
// a whole heap collection.
complete = complete || collected_old;
- print_heap_change(young_prev_used, old_prev_used);
- MetaspaceUtils::print_metaspace_change(metadata_prev_used);
-
// Adjust generation sizes.
if (collected_old) {
_old_gen->compute_new_size();
@@ -667,6 +664,9 @@
update_full_collections_completed();
}
+ print_heap_change(young_prev_used, old_prev_used);
+ MetaspaceUtils::print_metaspace_change(metadata_prev_used);
+
// Track memory usage and detect low memory after GC finishes
MemoryService::track_memory_usage();
--- a/src/hotspot/share/gc/shared/memAllocator.cpp Mon Oct 08 18:17:37 2018 -0400
+++ b/src/hotspot/share/gc/shared/memAllocator.cpp Mon Oct 08 18:23:05 2018 -0400
@@ -120,27 +120,22 @@
return false;
}
- if (!_overhead_limit_exceeded) {
+ const char* message = _overhead_limit_exceeded ? "GC overhead limit exceeded" : "Java heap space";
+ if (!THREAD->in_retryable_allocation()) {
// -XX:+HeapDumpOnOutOfMemoryError and -XX:OnOutOfMemoryError support
- report_java_out_of_memory("Java heap space");
+ report_java_out_of_memory(message);
if (JvmtiExport::should_post_resource_exhausted()) {
JvmtiExport::post_resource_exhausted(
JVMTI_RESOURCE_EXHAUSTED_OOM_ERROR | JVMTI_RESOURCE_EXHAUSTED_JAVA_HEAP,
- "Java heap space");
+ message);
}
- THROW_OOP_(Universe::out_of_memory_error_java_heap(), true);
+ oop exception = _overhead_limit_exceeded ?
+ Universe::out_of_memory_error_gc_overhead_limit() :
+ Universe::out_of_memory_error_java_heap();
+ THROW_OOP_(exception, true);
} else {
- // -XX:+HeapDumpOnOutOfMemoryError and -XX:OnOutOfMemoryError support
- report_java_out_of_memory("GC overhead limit exceeded");
-
- if (JvmtiExport::should_post_resource_exhausted()) {
- JvmtiExport::post_resource_exhausted(
- JVMTI_RESOURCE_EXHAUSTED_OOM_ERROR | JVMTI_RESOURCE_EXHAUSTED_JAVA_HEAP,
- "GC overhead limit exceeded");
- }
-
- THROW_OOP_(Universe::out_of_memory_error_gc_overhead_limit(), true);
+ THROW_OOP_(Universe::out_of_memory_error_retry(), true);
}
}
--- a/src/hotspot/share/gc/shared/oopStorage.cpp Mon Oct 08 18:17:37 2018 -0400
+++ b/src/hotspot/share/gc/shared/oopStorage.cpp Mon Oct 08 18:23:05 2018 -0400
@@ -727,7 +727,7 @@
_allocation_mutex(allocation_mutex),
_active_mutex(active_mutex),
_allocation_count(0),
- _concurrent_iteration_active(false)
+ _concurrent_iteration_count(0)
{
_active_array->increment_refcount();
assert(_active_mutex->rank() < _allocation_mutex->rank(),
@@ -769,7 +769,7 @@
// blocks available for deletion.
while (reduce_deferred_updates()) {}
// Don't interfere with a concurrent iteration.
- if (_concurrent_iteration_active) return;
+ if (_concurrent_iteration_count > 0) return;
// Delete empty (and otherwise deletable) blocks from end of _allocation_list.
for (Block* block = _allocation_list.tail();
(block != NULL) && block->is_deletable();
@@ -804,7 +804,7 @@
{
MutexLockerEx aml(_active_mutex, Mutex::_no_safepoint_check_flag);
// Don't interfere with a concurrent iteration.
- if (_concurrent_iteration_active) return;
+ if (_concurrent_iteration_count > 0) return;
_active_array->remove(block);
}
// Remove block from _allocation_list and delete it.
@@ -875,7 +875,7 @@
_concurrent(concurrent)
{
assert(estimated_thread_count > 0, "estimated thread count must be positive");
- update_iteration_state(true);
+ update_concurrent_iteration_count(1);
// Get the block count *after* iteration state updated, so concurrent
// empty block deletion is suppressed and can't reduce the count. But
// ensure the count we use was written after the block with that count
@@ -885,14 +885,14 @@
OopStorage::BasicParState::~BasicParState() {
_storage->relinquish_block_array(_active_array);
- update_iteration_state(false);
+ update_concurrent_iteration_count(-1);
}
-void OopStorage::BasicParState::update_iteration_state(bool value) {
+void OopStorage::BasicParState::update_concurrent_iteration_count(int value) {
if (_concurrent) {
MutexLockerEx ml(_storage->_active_mutex, Mutex::_no_safepoint_check_flag);
- assert(_storage->_concurrent_iteration_active != value, "precondition");
- _storage->_concurrent_iteration_active = value;
+ _storage->_concurrent_iteration_count += value;
+ assert(_storage->_concurrent_iteration_count >= 0, "invariant");
}
}
@@ -954,7 +954,7 @@
st->print("%s: " SIZE_FORMAT " entries in " SIZE_FORMAT " blocks (%.F%%), " SIZE_FORMAT " bytes",
name(), allocations, blocks, alloc_percentage, total_memory_usage());
- if (_concurrent_iteration_active) {
+ if (_concurrent_iteration_count > 0) {
st->print(", concurrent iteration active");
}
}
--- a/src/hotspot/share/gc/shared/oopStorage.hpp Mon Oct 08 18:17:37 2018 -0400
+++ b/src/hotspot/share/gc/shared/oopStorage.hpp Mon Oct 08 18:23:05 2018 -0400
@@ -220,7 +220,7 @@
mutable SingleWriterSynchronizer _protect_active;
// mutable because this gets set even for const iteration.
- mutable bool _concurrent_iteration_active;
+ mutable int _concurrent_iteration_count;
Block* find_block_or_null(const oop* ptr) const;
void delete_empty_block(const Block& block);
--- a/src/hotspot/share/gc/shared/oopStorageParState.hpp Mon Oct 08 18:17:37 2018 -0400
+++ b/src/hotspot/share/gc/shared/oopStorageParState.hpp Mon Oct 08 18:23:05 2018 -0400
@@ -31,22 +31,16 @@
//////////////////////////////////////////////////////////////////////////////
// Support for parallel and optionally concurrent state iteration.
//
-// Parallel iteration is for the exclusive use of the GC. Other iteration
-// clients must use serial iteration.
-//
// Concurrent Iteration
//
// Iteration involves the _active_array (an ActiveArray), which contains all
// of the blocks owned by a storage object.
//
-// At most one concurrent ParState can exist at a time for a given storage
-// object.
-//
-// A concurrent ParState sets the associated storage's
-// _concurrent_iteration_active flag true when the state is constructed, and
-// sets it false when the state is destroyed. These assignments are made with
+// A concurrent ParState increments the associated storage's
+// _concurrent_iteration_count when the state is constructed, and
+// decrements it when the state is destroyed. These assignments are made with
// _active_mutex locked. Meanwhile, empty block deletion is not done while
-// _concurrent_iteration_active is true. The flag check and the dependent
+// _concurrent_iteration_count is non-zero. The counter check and the dependent
// removal of a block from the _active_array is performed with _active_mutex
// locked. This prevents concurrent iteration and empty block deletion from
// interfering with with each other.
@@ -83,8 +77,8 @@
// scheduling both operations to run at the same time.
//
// ParState<concurrent, is_const>
-// concurrent must be true if iteration is concurrent with the
-// mutator, false if iteration is at a safepoint.
+// concurrent must be true if iteration may be concurrent with the
+// mutators.
//
// is_const must be true if the iteration is over a constant storage
// object, false if the iteration may modify the storage object.
@@ -92,8 +86,7 @@
// ParState([const] OopStorage* storage)
// Construct an object for managing an iteration over storage. For a
// concurrent ParState, empty block deletion for the associated storage
-// is inhibited for the life of the ParState. There can be no more
-// than one live concurrent ParState at a time for a given storage object.
+// is inhibited for the life of the ParState.
//
// template<typename F> void iterate(F f)
// Repeatedly claims a block from the associated storage that has
@@ -152,7 +145,7 @@
struct IterationData;
- void update_iteration_state(bool value);
+ void update_concurrent_iteration_count(int value);
bool claim_next_segment(IterationData* data);
bool finish_iteration(const IterationData* data) const;
--- a/src/hotspot/share/gc/z/c2/zBarrierSetC2.cpp Mon Oct 08 18:17:37 2018 -0400
+++ b/src/hotspot/share/gc/z/c2/zBarrierSetC2.cpp Mon Oct 08 18:23:05 2018 -0400
@@ -1427,6 +1427,10 @@
return c;
}
+bool ZBarrierSetC2::array_copy_requires_gc_barriers(bool tightly_coupled_alloc, BasicType type, bool is_clone, ArrayCopyPhase phase) const {
+ return type == T_OBJECT || type == T_ARRAY;
+}
+
// == Verification ==
#ifdef ASSERT
--- a/src/hotspot/share/gc/z/c2/zBarrierSetC2.hpp Mon Oct 08 18:17:37 2018 -0400
+++ b/src/hotspot/share/gc/z/c2/zBarrierSetC2.hpp Mon Oct 08 18:23:05 2018 -0400
@@ -194,7 +194,7 @@
virtual void enqueue_useful_gc_barrier(Unique_Node_List &worklist, 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 { return true; }
+ virtual bool array_copy_requires_gc_barriers(bool tightly_coupled_alloc, BasicType type, bool is_clone, ArrayCopyPhase phase) const;
virtual Node* step_over_gc_barrier(Node* c) const;
// If the BarrierSetC2 state has kept macro nodes in its compilation unit state to be
// expanded later, then now is the time to do so.
--- a/src/hotspot/share/jvmci/jvmciRuntime.cpp Mon Oct 08 18:17:37 2018 -0400
+++ b/src/hotspot/share/jvmci/jvmciRuntime.cpp Mon Oct 08 18:23:05 2018 -0400
@@ -109,22 +109,72 @@
}
}
-JRT_BLOCK_ENTRY(void, JVMCIRuntime::new_instance(JavaThread* thread, Klass* klass))
+// Manages a scope for a JVMCI runtime call that attempts a heap allocation.
+// If there is a pending exception upon closing the scope and the runtime
+// call is of the variety where allocation failure returns NULL without an
+// exception, the following action is taken:
+// 1. The pending exception is cleared
+// 2. NULL is written to JavaThread::_vm_result
+// 3. Checks that an OutOfMemoryError is Universe::out_of_memory_error_retry().
+class RetryableAllocationMark: public StackObj {
+ private:
+ JavaThread* _thread;
+ public:
+ RetryableAllocationMark(JavaThread* thread, bool activate) {
+ if (activate) {
+ assert(!thread->in_retryable_allocation(), "retryable allocation scope is non-reentrant");
+ _thread = thread;
+ _thread->set_in_retryable_allocation(true);
+ } else {
+ _thread = NULL;
+ }
+ }
+ ~RetryableAllocationMark() {
+ if (_thread != NULL) {
+ _thread->set_in_retryable_allocation(false);
+ JavaThread* THREAD = _thread;
+ if (HAS_PENDING_EXCEPTION) {
+ oop ex = PENDING_EXCEPTION;
+ CLEAR_PENDING_EXCEPTION;
+ oop retry_oome = Universe::out_of_memory_error_retry();
+ if (ex->is_a(retry_oome->klass()) && retry_oome != ex) {
+ ResourceMark rm;
+ fatal("Unexpected exception in scope of retryable allocation: " INTPTR_FORMAT " of type %s", p2i(ex), ex->klass()->external_name());
+ }
+ _thread->set_vm_result(NULL);
+ }
+ }
+ }
+};
+
+JRT_BLOCK_ENTRY(void, JVMCIRuntime::new_instance_common(JavaThread* thread, Klass* klass, bool null_on_fail))
JRT_BLOCK;
assert(klass->is_klass(), "not a class");
Handle holder(THREAD, klass->klass_holder()); // keep the klass alive
InstanceKlass* ik = InstanceKlass::cast(klass);
- ik->check_valid_for_instantiation(true, CHECK);
- // make sure klass is initialized
- ik->initialize(CHECK);
- // allocate instance and return via TLS
- oop obj = ik->allocate_instance(CHECK);
- thread->set_vm_result(obj);
+ {
+ RetryableAllocationMark ram(thread, null_on_fail);
+ ik->check_valid_for_instantiation(true, CHECK);
+ oop obj;
+ if (null_on_fail) {
+ if (!ik->is_initialized()) {
+ // Cannot re-execute class initialization without side effects
+ // so return without attempting the initialization
+ return;
+ }
+ } else {
+ // make sure klass is initialized
+ ik->initialize(CHECK);
+ }
+ // allocate instance and return via TLS
+ obj = ik->allocate_instance(CHECK);
+ thread->set_vm_result(obj);
+ }
JRT_BLOCK_END;
SharedRuntime::on_slowpath_allocation_exit(thread);
JRT_END
-JRT_BLOCK_ENTRY(void, JVMCIRuntime::new_array(JavaThread* thread, Klass* array_klass, jint length))
+JRT_BLOCK_ENTRY(void, JVMCIRuntime::new_array_common(JavaThread* thread, Klass* array_klass, jint length, bool null_on_fail))
JRT_BLOCK;
// Note: no handle for klass needed since they are not used
// anymore after new_objArray() and no GC can happen before.
@@ -133,10 +183,12 @@
oop obj;
if (array_klass->is_typeArray_klass()) {
BasicType elt_type = TypeArrayKlass::cast(array_klass)->element_type();
+ RetryableAllocationMark ram(thread, null_on_fail);
obj = oopFactory::new_typeArray(elt_type, length, CHECK);
} else {
Handle holder(THREAD, array_klass->klass_holder()); // keep the klass alive
Klass* elem_klass = ObjArrayKlass::cast(array_klass)->element_klass();
+ RetryableAllocationMark ram(thread, null_on_fail);
obj = oopFactory::new_objArray(elem_klass, length, CHECK);
}
thread->set_vm_result(obj);
@@ -146,8 +198,12 @@
static int deopts = 0;
// Alternate between deoptimizing and raising an error (which will also cause a deopt)
if (deopts++ % 2 == 0) {
- ResourceMark rm(THREAD);
- THROW(vmSymbols::java_lang_OutOfMemoryError());
+ if (null_on_fail) {
+ return;
+ } else {
+ ResourceMark rm(THREAD);
+ THROW(vmSymbols::java_lang_OutOfMemoryError());
+ }
} else {
deopt_caller();
}
@@ -156,32 +212,43 @@
SharedRuntime::on_slowpath_allocation_exit(thread);
JRT_END
-JRT_ENTRY(void, JVMCIRuntime::new_multi_array(JavaThread* thread, Klass* klass, int rank, jint* dims))
+JRT_ENTRY(void, JVMCIRuntime::new_multi_array_common(JavaThread* thread, Klass* klass, int rank, jint* dims, bool null_on_fail))
assert(klass->is_klass(), "not a class");
assert(rank >= 1, "rank must be nonzero");
Handle holder(THREAD, klass->klass_holder()); // keep the klass alive
+ RetryableAllocationMark ram(thread, null_on_fail);
oop obj = ArrayKlass::cast(klass)->multi_allocate(rank, dims, CHECK);
thread->set_vm_result(obj);
JRT_END
-JRT_ENTRY(void, JVMCIRuntime::dynamic_new_array(JavaThread* thread, oopDesc* element_mirror, jint length))
+JRT_ENTRY(void, JVMCIRuntime::dynamic_new_array_common(JavaThread* thread, oopDesc* element_mirror, jint length, bool null_on_fail))
+ RetryableAllocationMark ram(thread, null_on_fail);
oop obj = Reflection::reflect_new_array(element_mirror, length, CHECK);
thread->set_vm_result(obj);
JRT_END
-JRT_ENTRY(void, JVMCIRuntime::dynamic_new_instance(JavaThread* thread, oopDesc* type_mirror))
+JRT_ENTRY(void, JVMCIRuntime::dynamic_new_instance_common(JavaThread* thread, oopDesc* type_mirror, bool null_on_fail))
InstanceKlass* klass = InstanceKlass::cast(java_lang_Class::as_Klass(type_mirror));
if (klass == NULL) {
ResourceMark rm(THREAD);
THROW(vmSymbols::java_lang_InstantiationException());
}
+ RetryableAllocationMark ram(thread, null_on_fail);
// Create new instance (the receiver)
klass->check_valid_for_instantiation(false, CHECK);
- // Make sure klass gets initialized
- klass->initialize(CHECK);
+ if (null_on_fail) {
+ if (!klass->is_initialized()) {
+ // Cannot re-execute class initialization without side effects
+ // so return without attempting the initialization
+ return;
+ }
+ } else {
+ // Make sure klass gets initialized
+ klass->initialize(CHECK);
+ }
oop obj = klass->allocate_instance(CHECK);
thread->set_vm_result(obj);
--- a/src/hotspot/share/jvmci/jvmciRuntime.hpp Mon Oct 08 18:17:37 2018 -0400
+++ b/src/hotspot/share/jvmci/jvmciRuntime.hpp Mon Oct 08 18:23:05 2018 -0400
@@ -121,13 +121,35 @@
static BasicType kindToBasicType(Handle kind, TRAPS);
- // The following routines are all called from compiled JVMCI code
+ static void new_instance_common(JavaThread* thread, Klass* klass, bool null_on_fail);
+ static void new_array_common(JavaThread* thread, Klass* klass, jint length, bool null_on_fail);
+ static void new_multi_array_common(JavaThread* thread, Klass* klass, int rank, jint* dims, bool null_on_fail);
+ static void dynamic_new_array_common(JavaThread* thread, oopDesc* element_mirror, jint length, bool null_on_fail);
+ static void dynamic_new_instance_common(JavaThread* thread, oopDesc* type_mirror, bool null_on_fail);
+
+ // The following routines are called from compiled JVMCI code
- static void new_instance(JavaThread* thread, Klass* klass);
- static void new_array(JavaThread* thread, Klass* klass, jint length);
- static void new_multi_array(JavaThread* thread, Klass* klass, int rank, jint* dims);
- static void dynamic_new_array(JavaThread* thread, oopDesc* element_mirror, jint length);
- static void dynamic_new_instance(JavaThread* thread, oopDesc* type_mirror);
+ // When allocation fails, these stubs:
+ // 1. Exercise -XX:+HeapDumpOnOutOfMemoryError and -XX:OnOutOfMemoryError handling and also
+ // post a JVMTI_EVENT_RESOURCE_EXHAUSTED event if the failure is an OutOfMemroyError
+ // 2. Return NULL with a pending exception.
+ // Compiled code must ensure these stubs are not called twice for the same allocation
+ // site due to the non-repeatable side effects in the case of OOME.
+ static void new_instance(JavaThread* thread, Klass* klass) { new_instance_common(thread, klass, false); }
+ static void new_array(JavaThread* thread, Klass* klass, jint length) { new_array_common(thread, klass, length, false); }
+ static void new_multi_array(JavaThread* thread, Klass* klass, int rank, jint* dims) { new_multi_array_common(thread, klass, rank, dims, false); }
+ static void dynamic_new_array(JavaThread* thread, oopDesc* element_mirror, jint length) { dynamic_new_array_common(thread, element_mirror, length, false); }
+ static void dynamic_new_instance(JavaThread* thread, oopDesc* type_mirror) { dynamic_new_instance_common(thread, type_mirror, false); }
+
+ // When allocation fails, these stubs return NULL and have no pending exception. Compiled code
+ // can use these stubs if a failed allocation will be retried (e.g., by deoptimizing and
+ // re-executing in the interpreter).
+ static void new_instance_or_null(JavaThread* thread, Klass* klass) { new_instance_common(thread, klass, true); }
+ static void new_array_or_null(JavaThread* thread, Klass* klass, jint length) { new_array_common(thread, klass, length, true); }
+ static void new_multi_array_or_null(JavaThread* thread, Klass* klass, int rank, jint* dims) { new_multi_array_common(thread, klass, rank, dims, true); }
+ static void dynamic_new_array_or_null(JavaThread* thread, oopDesc* element_mirror, jint length) { dynamic_new_array_common(thread, element_mirror, length, true); }
+ static void dynamic_new_instance_or_null(JavaThread* thread, oopDesc* type_mirror) { dynamic_new_instance_common(thread, type_mirror, true); }
+
static jboolean thread_is_interrupted(JavaThread* thread, oopDesc* obj, jboolean clear_interrupted);
static void vm_message(jboolean vmError, jlong format, jlong v1, jlong v2, jlong v3);
static jint identity_hash_code(JavaThread* thread, oopDesc* obj);
--- a/src/hotspot/share/jvmci/vmStructs_jvmci.cpp Mon Oct 08 18:17:37 2018 -0400
+++ b/src/hotspot/share/jvmci/vmStructs_jvmci.cpp Mon Oct 08 18:23:05 2018 -0400
@@ -622,6 +622,12 @@
declare_function(JVMCIRuntime::dynamic_new_array) \
declare_function(JVMCIRuntime::dynamic_new_instance) \
\
+ declare_function(JVMCIRuntime::new_instance_or_null) \
+ declare_function(JVMCIRuntime::new_array_or_null) \
+ declare_function(JVMCIRuntime::new_multi_array_or_null) \
+ declare_function(JVMCIRuntime::dynamic_new_array_or_null) \
+ declare_function(JVMCIRuntime::dynamic_new_instance_or_null) \
+ \
declare_function(JVMCIRuntime::thread_is_interrupted) \
declare_function(JVMCIRuntime::vm_message) \
declare_function(JVMCIRuntime::identity_hash_code) \
--- a/src/hotspot/share/memory/universe.cpp Mon Oct 08 18:17:37 2018 -0400
+++ b/src/hotspot/share/memory/universe.cpp Mon Oct 08 18:23:05 2018 -0400
@@ -113,6 +113,7 @@
oop Universe::_out_of_memory_error_array_size = NULL;
oop Universe::_out_of_memory_error_gc_overhead_limit = NULL;
oop Universe::_out_of_memory_error_realloc_objects = NULL;
+oop Universe::_out_of_memory_error_retry = NULL;
oop Universe::_delayed_stack_overflow_error_message = NULL;
objArrayOop Universe::_preallocated_out_of_memory_error_array = NULL;
volatile jint Universe::_preallocated_out_of_memory_error_avail_count = 0;
@@ -195,6 +196,7 @@
f->do_oop((oop*)&_out_of_memory_error_array_size);
f->do_oop((oop*)&_out_of_memory_error_gc_overhead_limit);
f->do_oop((oop*)&_out_of_memory_error_realloc_objects);
+ f->do_oop((oop*)&_out_of_memory_error_retry);
f->do_oop((oop*)&_delayed_stack_overflow_error_message);
f->do_oop((oop*)&_preallocated_out_of_memory_error_array);
f->do_oop((oop*)&_null_ptr_exception_instance);
@@ -565,7 +567,8 @@
(!oopDesc::equals(throwable(), Universe::_out_of_memory_error_class_metaspace)) &&
(!oopDesc::equals(throwable(), Universe::_out_of_memory_error_array_size)) &&
(!oopDesc::equals(throwable(), Universe::_out_of_memory_error_gc_overhead_limit)) &&
- (!oopDesc::equals(throwable(), Universe::_out_of_memory_error_realloc_objects)));
+ (!oopDesc::equals(throwable(), Universe::_out_of_memory_error_realloc_objects)) &&
+ (!oopDesc::equals(throwable(), Universe::_out_of_memory_error_retry)));
}
@@ -974,6 +977,7 @@
Universe::_out_of_memory_error_gc_overhead_limit =
ik->allocate_instance(CHECK_false);
Universe::_out_of_memory_error_realloc_objects = ik->allocate_instance(CHECK_false);
+ Universe::_out_of_memory_error_retry = ik->allocate_instance(CHECK_false);
// Setup preallocated cause message for delayed StackOverflowError
if (StackReservedPages > 0) {
@@ -1019,6 +1023,9 @@
msg = java_lang_String::create_from_str("Java heap space: failed reallocation of scalar replaced objects", CHECK_false);
java_lang_Throwable::set_message(Universe::_out_of_memory_error_realloc_objects, msg());
+ msg = java_lang_String::create_from_str("Java heap space: failed retryable allocation", CHECK_false);
+ java_lang_Throwable::set_message(Universe::_out_of_memory_error_retry, msg());
+
msg = java_lang_String::create_from_str("/ by zero", CHECK_false);
java_lang_Throwable::set_message(Universe::_arithmetic_exception_instance, msg());
--- a/src/hotspot/share/memory/universe.hpp Mon Oct 08 18:17:37 2018 -0400
+++ b/src/hotspot/share/memory/universe.hpp Mon Oct 08 18:23:05 2018 -0400
@@ -148,6 +148,7 @@
static oop _out_of_memory_error_array_size;
static oop _out_of_memory_error_gc_overhead_limit;
static oop _out_of_memory_error_realloc_objects;
+ static oop _out_of_memory_error_retry;
// preallocated cause message for delayed StackOverflowError
static oop _delayed_stack_overflow_error_message;
@@ -363,6 +364,8 @@
static oop out_of_memory_error_array_size() { return gen_out_of_memory_error(_out_of_memory_error_array_size); }
static oop out_of_memory_error_gc_overhead_limit() { return gen_out_of_memory_error(_out_of_memory_error_gc_overhead_limit); }
static oop out_of_memory_error_realloc_objects() { return gen_out_of_memory_error(_out_of_memory_error_realloc_objects); }
+ // Throw default _out_of_memory_error_retry object as it will never propagate out of the VM
+ static oop out_of_memory_error_retry() { return _out_of_memory_error_retry; }
static oop delayed_stack_overflow_error_message() { return _delayed_stack_overflow_error_message; }
// The particular choice of collected heap.
--- a/src/hotspot/share/oops/arrayKlass.cpp Mon Oct 08 18:17:37 2018 -0400
+++ b/src/hotspot/share/oops/arrayKlass.cpp Mon Oct 08 18:23:05 2018 -0400
@@ -130,14 +130,7 @@
}
objArrayOop ArrayKlass::allocate_arrayArray(int n, int length, TRAPS) {
- if (length < 0) {
- THROW_MSG_0(vmSymbols::java_lang_NegativeArraySizeException(), err_msg("%d", length));
- }
- if (length > arrayOopDesc::max_array_length(T_ARRAY)) {
- report_java_out_of_memory("Requested array size exceeds VM limit");
- JvmtiExport::post_array_size_exhausted();
- THROW_OOP_0(Universe::out_of_memory_error_array_size());
- }
+ check_array_allocation_length(length, arrayOopDesc::max_array_length(T_ARRAY), CHECK_0);
int size = objArrayOopDesc::object_size(length);
Klass* k = array_klass(n+dimension(), CHECK_0);
ArrayKlass* ak = ArrayKlass::cast(k);
--- a/src/hotspot/share/oops/instanceKlass.cpp Mon Oct 08 18:17:37 2018 -0400
+++ b/src/hotspot/share/oops/instanceKlass.cpp Mon Oct 08 18:23:05 2018 -0400
@@ -1201,14 +1201,7 @@
}
objArrayOop InstanceKlass::allocate_objArray(int n, int length, TRAPS) {
- if (length < 0) {
- THROW_MSG_0(vmSymbols::java_lang_NegativeArraySizeException(), err_msg("%d", length));
- }
- if (length > arrayOopDesc::max_array_length(T_OBJECT)) {
- report_java_out_of_memory("Requested array size exceeds VM limit");
- JvmtiExport::post_array_size_exhausted();
- THROW_OOP_0(Universe::out_of_memory_error_array_size());
- }
+ check_array_allocation_length(length, arrayOopDesc::max_array_length(T_OBJECT), CHECK_NULL);
int size = objArrayOopDesc::object_size(length);
Klass* ak = array_klass(n, CHECK_NULL);
objArrayOop o = (objArrayOop)Universe::heap()->array_allocate(ak, size, length,
--- a/src/hotspot/share/oops/klass.cpp Mon Oct 08 18:17:37 2018 -0400
+++ b/src/hotspot/share/oops/klass.cpp Mon Oct 08 18:23:05 2018 -0400
@@ -611,6 +611,20 @@
return NULL;
}
+void Klass::check_array_allocation_length(int length, int max_length, TRAPS) {
+ if (length > max_length) {
+ if (!THREAD->in_retryable_allocation()) {
+ report_java_out_of_memory("Requested array size exceeds VM limit");
+ JvmtiExport::post_array_size_exhausted();
+ THROW_OOP(Universe::out_of_memory_error_array_size());
+ } else {
+ THROW_OOP(Universe::out_of_memory_error_retry());
+ }
+ } else if (length < 0) {
+ THROW_MSG(vmSymbols::java_lang_NegativeArraySizeException(), err_msg("%d", length));
+ }
+}
+
oop Klass::class_loader() const { return class_loader_data()->class_loader(); }
// In product mode, this function doesn't have virtual function calls so
--- a/src/hotspot/share/oops/klass.hpp Mon Oct 08 18:17:37 2018 -0400
+++ b/src/hotspot/share/oops/klass.hpp Mon Oct 08 18:23:05 2018 -0400
@@ -514,6 +514,9 @@
virtual Klass* array_klass_impl(bool or_null, int rank, TRAPS);
virtual Klass* array_klass_impl(bool or_null, TRAPS);
+ // Error handling when length > max_length or length < 0
+ static void check_array_allocation_length(int length, int max_length, TRAPS);
+
void set_vtable_length(int len) { _vtable_len= len; }
vtableEntry* start_of_vtable() const;
--- a/src/hotspot/share/oops/objArrayKlass.cpp Mon Oct 08 18:17:37 2018 -0400
+++ b/src/hotspot/share/oops/objArrayKlass.cpp Mon Oct 08 18:23:05 2018 -0400
@@ -170,19 +170,10 @@
}
objArrayOop ObjArrayKlass::allocate(int length, TRAPS) {
- if (length >= 0) {
- if (length <= arrayOopDesc::max_array_length(T_OBJECT)) {
- int size = objArrayOopDesc::object_size(length);
- return (objArrayOop)Universe::heap()->array_allocate(this, size, length,
- /* do_zero */ true, THREAD);
- } else {
- report_java_out_of_memory("Requested array size exceeds VM limit");
- JvmtiExport::post_array_size_exhausted();
- THROW_OOP_0(Universe::out_of_memory_error_array_size());
- }
- } else {
- THROW_MSG_0(vmSymbols::java_lang_NegativeArraySizeException(), err_msg("%d", length));
- }
+ check_array_allocation_length(length, arrayOopDesc::max_array_length(T_OBJECT), CHECK_0);
+ int size = objArrayOopDesc::object_size(length);
+ return (objArrayOop)Universe::heap()->array_allocate(this, size, length,
+ /* do_zero */ true, THREAD);
}
static int multi_alloc_counter = 0;
--- a/src/hotspot/share/oops/typeArrayKlass.cpp Mon Oct 08 18:17:37 2018 -0400
+++ b/src/hotspot/share/oops/typeArrayKlass.cpp Mon Oct 08 18:23:05 2018 -0400
@@ -99,19 +99,10 @@
typeArrayOop TypeArrayKlass::allocate_common(int length, bool do_zero, TRAPS) {
assert(log2_element_size() >= 0, "bad scale");
- if (length >= 0) {
- if (length <= max_length()) {
- size_t size = typeArrayOopDesc::object_size(layout_helper(), length);
- return (typeArrayOop)Universe::heap()->array_allocate(this, (int)size, length,
- do_zero, CHECK_NULL);
- } else {
- report_java_out_of_memory("Requested array size exceeds VM limit");
- JvmtiExport::post_array_size_exhausted();
- THROW_OOP_0(Universe::out_of_memory_error_array_size());
- }
- } else {
- THROW_MSG_0(vmSymbols::java_lang_NegativeArraySizeException(), err_msg("%d", length));
- }
+ check_array_allocation_length(length, max_length(), CHECK_NULL);
+ size_t size = typeArrayOopDesc::object_size(layout_helper(), length);
+ return (typeArrayOop)Universe::heap()->array_allocate(this, (int)size, length,
+ do_zero, CHECK_NULL);
}
oop TypeArrayKlass::multi_allocate(int rank, jint* last_size, TRAPS) {
--- a/src/hotspot/share/prims/whitebox.cpp Mon Oct 08 18:17:37 2018 -0400
+++ b/src/hotspot/share/prims/whitebox.cpp Mon Oct 08 18:23:05 2018 -0400
@@ -1749,6 +1749,20 @@
return NULL;
WB_END
+WB_ENTRY(jobject, WB_GetDefaultArchivePath(JNIEnv* env, jobject wb))
+ const char* p = Arguments::get_default_shared_archive_path();
+ ThreadToNativeFromVM ttn(thread);
+ jstring path_string = env->NewStringUTF(p);
+
+ CHECK_JNI_EXCEPTION_(env, NULL);
+
+ return path_string;
+WB_END
+
+WB_ENTRY(jboolean, WB_IsSharingEnabled(JNIEnv* env, jobject wb))
+ return UseSharedSpaces;
+WB_END
+
WB_ENTRY(jboolean, WB_IsShared(JNIEnv* env, jobject wb, jobject obj))
oop obj_oop = JNIHandles::resolve(obj);
return MetaspaceShared::is_archive_object(obj_oop);
@@ -2185,6 +2199,9 @@
{CC"getMethodStringOption",
CC"(Ljava/lang/reflect/Executable;Ljava/lang/String;)Ljava/lang/String;",
(void*)&WB_GetMethodStringOption},
+ {CC"getDefaultArchivePath", CC"()Ljava/lang/String;",
+ (void*)&WB_GetDefaultArchivePath},
+ {CC"isSharingEnabled", CC"()Z", (void*)&WB_IsSharingEnabled},
{CC"isShared", CC"(Ljava/lang/Object;)Z", (void*)&WB_IsShared },
{CC"isSharedClass", CC"(Ljava/lang/Class;)Z", (void*)&WB_IsSharedClass },
{CC"areSharedStringsIgnored", CC"()Z", (void*)&WB_AreSharedStringsIgnored },
--- a/src/hotspot/share/runtime/arguments.cpp Mon Oct 08 18:17:37 2018 -0400
+++ b/src/hotspot/share/runtime/arguments.cpp Mon Oct 08 18:23:05 2018 -0400
@@ -3450,21 +3450,27 @@
// Sharing support
// Construct the path to the archive
+char* Arguments::get_default_shared_archive_path() {
+ char *default_archive_path;
+ char jvm_path[JVM_MAXPATHLEN];
+ os::jvm_path(jvm_path, sizeof(jvm_path));
+ char *end = strrchr(jvm_path, *os::file_separator());
+ if (end != NULL) *end = '\0';
+ size_t jvm_path_len = strlen(jvm_path);
+ size_t file_sep_len = strlen(os::file_separator());
+ const size_t len = jvm_path_len + file_sep_len + 20;
+ default_archive_path = NEW_C_HEAP_ARRAY(char, len, mtArguments);
+ if (default_archive_path != NULL) {
+ jio_snprintf(default_archive_path, len, "%s%sclasses.jsa",
+ jvm_path, os::file_separator());
+ }
+ return default_archive_path;
+}
+
static char* get_shared_archive_path() {
char *shared_archive_path;
if (SharedArchiveFile == NULL) {
- char jvm_path[JVM_MAXPATHLEN];
- os::jvm_path(jvm_path, sizeof(jvm_path));
- char *end = strrchr(jvm_path, *os::file_separator());
- if (end != NULL) *end = '\0';
- size_t jvm_path_len = strlen(jvm_path);
- size_t file_sep_len = strlen(os::file_separator());
- const size_t len = jvm_path_len + file_sep_len + 20;
- shared_archive_path = NEW_C_HEAP_ARRAY(char, len, mtArguments);
- if (shared_archive_path != NULL) {
- jio_snprintf(shared_archive_path, len, "%s%sclasses.jsa",
- jvm_path, os::file_separator());
- }
+ shared_archive_path = Arguments::get_default_shared_archive_path();
} else {
shared_archive_path = os::strdup_check_oom(SharedArchiveFile, mtArguments);
}
--- a/src/hotspot/share/runtime/arguments.hpp Mon Oct 08 18:17:37 2018 -0400
+++ b/src/hotspot/share/runtime/arguments.hpp Mon Oct 08 18:23:05 2018 -0400
@@ -633,6 +633,7 @@
static char* get_appclasspath() { return _java_class_path->value(); }
static void fix_appclasspath();
+ static char* get_default_shared_archive_path();
// Operation modi
static Mode mode() { return _mode; }
--- a/src/hotspot/share/runtime/thread.cpp Mon Oct 08 18:17:37 2018 -0400
+++ b/src/hotspot/share/runtime/thread.cpp Mon Oct 08 18:23:05 2018 -0400
@@ -1547,6 +1547,7 @@
_pending_failed_speculation = 0;
_pending_transfer_to_interpreter = false;
_adjusting_comp_level = false;
+ _in_retryable_allocation = false;
_jvmci._alternate_call_target = NULL;
assert(_jvmci._implicit_exception_pc == NULL, "must be");
if (JVMCICounterSize > 0) {
--- a/src/hotspot/share/runtime/thread.hpp Mon Oct 08 18:17:37 2018 -0400
+++ b/src/hotspot/share/runtime/thread.hpp Mon Oct 08 18:23:05 2018 -0400
@@ -281,6 +281,14 @@
void leave_signal_handler() { _num_nested_signal--; }
bool is_inside_signal_handler() const { return _num_nested_signal > 0; }
+ // Determines if a heap allocation failure will be retried
+ // (e.g., by deoptimizing and re-executing in the interpreter).
+ // In this case, the failed allocation must raise
+ // Universe::out_of_memory_error_retry() and omit side effects
+ // such as JVMTI events and handling -XX:+HeapDumpOnOutOfMemoryError
+ // and -XX:OnOutOfMemoryError.
+ virtual bool in_retryable_allocation() const { return false; }
+
#ifdef ASSERT
void set_suspendible_thread() {
_suspendible_thread = true;
@@ -1048,6 +1056,10 @@
// Guard for re-entrant call to JVMCIRuntime::adjust_comp_level
bool _adjusting_comp_level;
+ // True if in a runtime call from compiled code that will deoptimize
+ // and re-execute a failed heap allocation in the interpreter.
+ bool _in_retryable_allocation;
+
// An id of a speculation that JVMCI compiled code can use to further describe and
// uniquely identify the speculative optimization guarded by the uncommon trap
long _pending_failed_speculation;
@@ -1458,7 +1470,7 @@
#if INCLUDE_JVMCI
int pending_deoptimization() const { return _pending_deoptimization; }
- long pending_failed_speculation() const { return _pending_failed_speculation; }
+ long pending_failed_speculation() const { return _pending_failed_speculation; }
bool adjusting_comp_level() const { return _adjusting_comp_level; }
void set_adjusting_comp_level(bool b) { _adjusting_comp_level = b; }
bool has_pending_monitorenter() const { return _pending_monitorenter; }
@@ -1468,6 +1480,9 @@
void set_pending_transfer_to_interpreter(bool b) { _pending_transfer_to_interpreter = b; }
void set_jvmci_alternate_call_target(address a) { assert(_jvmci._alternate_call_target == NULL, "must be"); _jvmci._alternate_call_target = a; }
void set_jvmci_implicit_exception_pc(address a) { assert(_jvmci._implicit_exception_pc == NULL, "must be"); _jvmci._implicit_exception_pc = a; }
+
+ virtual bool in_retryable_allocation() const { return _in_retryable_allocation; }
+ void set_in_retryable_allocation(bool b) { _in_retryable_allocation = b; }
#endif // INCLUDE_JVMCI
// Exception handling for compiled methods
--- a/src/java.base/share/classes/java/util/jar/JarFile.java Mon Oct 08 18:17:37 2018 -0400
+++ b/src/java.base/share/classes/java/util/jar/JarFile.java Mon Oct 08 18:23:05 2018 -0400
@@ -556,7 +556,8 @@
return JUZFA.entryNameStream(this).map(this::getBasename)
.filter(Objects::nonNull)
.distinct()
- .map(this::getJarEntry);
+ .map(this::getJarEntry)
+ .filter(Objects::nonNull);
}
return stream();
}
--- a/src/java.base/share/classes/java/util/jar/Manifest.java Mon Oct 08 18:17:37 2018 -0400
+++ b/src/java.base/share/classes/java/util/jar/Manifest.java Mon Oct 08 18:23:05 2018 -0400
@@ -49,9 +49,6 @@
*/
public class Manifest implements Cloneable {
- private static final boolean jarInfoInExceptionText =
- SecurityProperties.includedInExceptions("jar");
-
// manifest main attributes
private Attributes attr = new Attributes();
@@ -203,10 +200,10 @@
}
static String getErrorPosition(String filename, final int lineNumber) {
- if (filename == null || !jarInfoInExceptionText) {
+ if (filename == null ||
+ !SecurityProperties.INCLUDE_JAR_NAME_IN_EXCEPTIONS) {
return "line " + lineNumber;
}
-
return "manifest of " + filename + ":" + lineNumber;
}
--- a/src/java.base/share/classes/java/util/zip/ZipFile.java Mon Oct 08 18:17:37 2018 -0400
+++ b/src/java.base/share/classes/java/util/zip/ZipFile.java Mon Oct 08 18:23:05 2018 -0400
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1995, 2017, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1995, 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
@@ -35,6 +35,7 @@
import java.lang.ref.Cleaner.Cleanable;
import java.nio.charset.Charset;
import java.nio.charset.StandardCharsets;
+import java.nio.file.InvalidPathException;
import java.nio.file.attribute.BasicFileAttributes;
import java.nio.file.Files;
import java.util.ArrayDeque;
@@ -1218,8 +1219,13 @@
static Source get(File file, boolean toDelete) throws IOException {
- Key key = new Key(file,
- Files.readAttributes(file.toPath(), BasicFileAttributes.class));
+ final Key key;
+ try {
+ key = new Key(file,
+ Files.readAttributes(file.toPath(), BasicFileAttributes.class));
+ } catch (InvalidPathException ipe) {
+ throw new IOException(ipe);
+ }
Source src;
synchronized (files) {
src = files.get(key);
--- a/src/java.base/share/classes/sun/security/util/SecurityProperties.java Mon Oct 08 18:17:37 2018 -0400
+++ b/src/java.base/share/classes/sun/security/util/SecurityProperties.java Mon Oct 08 18:23:05 2018 -0400
@@ -32,6 +32,9 @@
public class SecurityProperties {
+ public static final boolean INCLUDE_JAR_NAME_IN_EXCEPTIONS
+ = includedInExceptions("jar");
+
/**
* Returns the value of the security property propName, which can be overridden
* by a system property of the same name
--- a/src/jdk.aot/share/classes/jdk.tools.jaotc.binformat/src/jdk/tools/jaotc/binformat/BinaryContainer.java Mon Oct 08 18:17:37 2018 -0400
+++ b/src/jdk.aot/share/classes/jdk.tools.jaotc.binformat/src/jdk/tools/jaotc/binformat/BinaryContainer.java Mon Oct 08 18:23:05 2018 -0400
@@ -240,14 +240,20 @@
{"JVMCIRuntime::log_printf", "_aot_jvmci_runtime_log_printf"},
{"JVMCIRuntime::vm_message", "_aot_jvmci_runtime_vm_message"},
{"JVMCIRuntime::new_instance", "_aot_jvmci_runtime_new_instance"},
- {"JVMCIRuntime::log_primitive", "_aot_jvmci_runtime_log_primitive"},
+ {"JVMCIRuntime::new_array", "_aot_jvmci_runtime_new_array"},
{"JVMCIRuntime::new_multi_array", "_aot_jvmci_runtime_new_multi_array"},
+ {"JVMCIRuntime::dynamic_new_instance", "_aot_jvmci_runtime_dynamic_new_instance"},
+ {"JVMCIRuntime::dynamic_new_array", "_aot_jvmci_runtime_dynamic_new_array"},
+ {"JVMCIRuntime::new_instance_or_null", "_aot_jvmci_runtime_new_instance_or_null"},
+ {"JVMCIRuntime::new_array_or_null", "_aot_jvmci_runtime_new_array_or_null"},
+ {"JVMCIRuntime::new_multi_array_or_null", "_aot_jvmci_runtime_new_multi_array_or_null"},
+ {"JVMCIRuntime::dynamic_new_instance_or_null", "_aot_jvmci_runtime_dynamic_new_instance_or_null"},
+ {"JVMCIRuntime::dynamic_new_array_or_null", "_aot_jvmci_runtime_dynamic_new_array_or_null"},
+ {"JVMCIRuntime::log_primitive", "_aot_jvmci_runtime_log_primitive"},
{"JVMCIRuntime::validate_object", "_aot_jvmci_runtime_validate_object"},
- {"JVMCIRuntime::dynamic_new_array", "_aot_jvmci_runtime_dynamic_new_array"},
{"JVMCIRuntime::write_barrier_pre", "_aot_jvmci_runtime_write_barrier_pre"},
{"JVMCIRuntime::identity_hash_code", "_aot_jvmci_runtime_identity_hash_code"},
{"JVMCIRuntime::write_barrier_post", "_aot_jvmci_runtime_write_barrier_post"},
- {"JVMCIRuntime::dynamic_new_instance", "_aot_jvmci_runtime_dynamic_new_instance"},
{"JVMCIRuntime::thread_is_interrupted", "_aot_jvmci_runtime_thread_is_interrupted"},
{"JVMCIRuntime::exception_handler_for_pc", "_aot_jvmci_runtime_exception_handler_for_pc"},
{"JVMCIRuntime::test_deoptimize_call_int", "_aot_jvmci_runtime_test_deoptimize_call_int"},
@@ -256,8 +262,7 @@
{"JVMCIRuntime::throw_klass_external_name_exception", "_aot_jvmci_runtime_throw_klass_external_name_exception"},
{"JVMCIRuntime::throw_class_cast_exception", "_aot_jvmci_runtime_throw_class_cast_exception"},
- {"JVMCIRuntime::vm_error", "_aot_jvmci_runtime_vm_error"},
- {"JVMCIRuntime::new_array", "_aot_jvmci_runtime_new_array"}
+ {"JVMCIRuntime::vm_error", "_aot_jvmci_runtime_vm_error"}
};
//@formatter:on
--- a/src/jdk.compiler/share/classes/com/sun/tools/javac/comp/Lower.java Mon Oct 08 18:17:37 2018 -0400
+++ b/src/jdk.compiler/share/classes/com/sun/tools/javac/comp/Lower.java Mon Oct 08 18:23:05 2018 -0400
@@ -1130,10 +1130,14 @@
make.at(tree.pos);
return makeLit(sym.type, cv);
}
- // Otherwise replace the variable by its proxy.
- sym = proxies.get(sym);
- Assert.check(sym != null && (sym.flags_field & FINAL) != 0);
- tree = make.at(tree.pos).Ident(sym);
+ if (lambdaTranslationMap != null && lambdaTranslationMap.get(sym) != null) {
+ return make.at(tree.pos).Ident(lambdaTranslationMap.get(sym));
+ } else {
+ // Otherwise replace the variable by its proxy.
+ sym = proxies.get(sym);
+ Assert.check(sym != null && (sym.flags_field & FINAL) != 0);
+ tree = make.at(tree.pos).Ident(sym);
+ }
}
JCExpression base = (tree.hasTag(SELECT)) ? ((JCFieldAccess) tree).selected : null;
switch (sym.kind) {
--- a/src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot/src/org/graalvm/compiler/hotspot/GraalHotSpotVMConfig.java Mon Oct 08 18:17:37 2018 -0400
+++ b/src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot/src/org/graalvm/compiler/hotspot/GraalHotSpotVMConfig.java Mon Oct 08 18:23:05 2018 -0400
@@ -648,11 +648,33 @@
public final long unsafeArraycopy = getFieldValue("StubRoutines::_unsafe_arraycopy", Long.class, "address");
public final long genericArraycopy = getFieldValue("StubRoutines::_generic_arraycopy", Long.class, "address");
+ // Allocation stubs that throw an exception when allocation fails
public final long newInstanceAddress = getAddress("JVMCIRuntime::new_instance");
public final long newArrayAddress = getAddress("JVMCIRuntime::new_array");
public final long newMultiArrayAddress = getAddress("JVMCIRuntime::new_multi_array");
- public final long dynamicNewArrayAddress = getAddress("JVMCIRuntime::dynamic_new_array");
- public final long dynamicNewInstanceAddress = getAddress("JVMCIRuntime::dynamic_new_instance");
+
+ // Allocation stubs that return null when allocation fails
+ public final long newInstanceOrNullAddress = getAddress("JVMCIRuntime::new_instance_or_null", 0L);
+ public final long newArrayOrNullAddress = getAddress("JVMCIRuntime::new_array_or_null", 0L);
+ public final long newMultiArrayOrNullAddress = getAddress("JVMCIRuntime::new_multi_array_or_null", 0L);
+
+ public boolean areNullAllocationStubsAvailable() {
+ return newInstanceOrNullAddress != 0L;
+ }
+
+ /**
+ * Checks that HotSpot implements all or none of the allocate-or-null stubs.
+ */
+ private boolean checkNullAllocationStubs() {
+ if (newInstanceOrNullAddress == 0L) {
+ assert newArrayOrNullAddress == 0L;
+ assert newMultiArrayOrNullAddress == 0L;
+ } else {
+ assert newArrayOrNullAddress != 0L;
+ assert newMultiArrayOrNullAddress != 0L;
+ }
+ return true;
+ }
public final long threadIsInterruptedAddress = getAddress("JVMCIRuntime::thread_is_interrupted");
public final long vmMessageAddress = getAddress("JVMCIRuntime::vm_message");
@@ -757,6 +779,7 @@
}
assert codeEntryAlignment > 0 : codeEntryAlignment;
+ assert checkNullAllocationStubs();
return true;
}
}
--- a/src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot/src/org/graalvm/compiler/hotspot/HotSpotBackend.java Mon Oct 08 18:17:37 2018 -0400
+++ b/src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot/src/org/graalvm/compiler/hotspot/HotSpotBackend.java Mon Oct 08 18:23:05 2018 -0400
@@ -279,21 +279,36 @@
public static final ForeignCallDescriptor VM_ERROR = new ForeignCallDescriptor("vm_error", void.class, Object.class, Object.class, long.class);
/**
- * New multi array stub call.
+ * New multi array stub that throws an {@link OutOfMemoryError} on allocation failure.
*/
public static final ForeignCallDescriptor NEW_MULTI_ARRAY = new ForeignCallDescriptor("new_multi_array", Object.class, KlassPointer.class, int.class, Word.class);
/**
- * New array stub.
+ * New multi array stub that will return null on allocation failure.
+ */
+ public static final ForeignCallDescriptor NEW_MULTI_ARRAY_OR_NULL = new ForeignCallDescriptor("new_multi_array_or_null", Object.class, KlassPointer.class, int.class, Word.class);
+
+ /**
+ * New array stub that throws an {@link OutOfMemoryError} on allocation failure.
*/
public static final ForeignCallDescriptor NEW_ARRAY = new ForeignCallDescriptor("new_array", Object.class, KlassPointer.class, int.class);
/**
- * New instance stub.
+ * New array stub that will return null on allocation failure.
+ */
+ public static final ForeignCallDescriptor NEW_ARRAY_OR_NULL = new ForeignCallDescriptor("new_array_or_null", Object.class, KlassPointer.class, int.class);
+
+ /**
+ * New instance stub that throws an {@link OutOfMemoryError} on allocation failure.
*/
public static final ForeignCallDescriptor NEW_INSTANCE = new ForeignCallDescriptor("new_instance", Object.class, KlassPointer.class);
/**
+ * New instance stub that will return null on allocation failure.
+ */
+ public static final ForeignCallDescriptor NEW_INSTANCE_OR_NULL = new ForeignCallDescriptor("new_instance_or_null", Object.class, KlassPointer.class);
+
+ /**
* @see ResolveConstantStubCall
*/
public static final ForeignCallDescriptor RESOLVE_STRING_BY_SYMBOL = new ForeignCallDescriptor("resolve_string_by_symbol", Object.class, Word.class, Word.class);
--- a/src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot/src/org/graalvm/compiler/hotspot/meta/HotSpotHostForeignCallsProvider.java Mon Oct 08 18:17:37 2018 -0400
+++ b/src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot/src/org/graalvm/compiler/hotspot/meta/HotSpotHostForeignCallsProvider.java Mon Oct 08 18:23:05 2018 -0400
@@ -45,8 +45,11 @@
import static org.graalvm.compiler.hotspot.HotSpotBackend.MULTIPLY_TO_LEN;
import static org.graalvm.compiler.hotspot.HotSpotBackend.MUL_ADD;
import static org.graalvm.compiler.hotspot.HotSpotBackend.NEW_ARRAY;
+import static org.graalvm.compiler.hotspot.HotSpotBackend.NEW_ARRAY_OR_NULL;
import static org.graalvm.compiler.hotspot.HotSpotBackend.NEW_INSTANCE;
+import static org.graalvm.compiler.hotspot.HotSpotBackend.NEW_INSTANCE_OR_NULL;
import static org.graalvm.compiler.hotspot.HotSpotBackend.NEW_MULTI_ARRAY;
+import static org.graalvm.compiler.hotspot.HotSpotBackend.NEW_MULTI_ARRAY_OR_NULL;
import static org.graalvm.compiler.hotspot.HotSpotBackend.RESOLVE_DYNAMIC_INVOKE;
import static org.graalvm.compiler.hotspot.HotSpotBackend.RESOLVE_KLASS_BY_SYMBOL;
import static org.graalvm.compiler.hotspot.HotSpotBackend.RESOLVE_METHOD_BY_SYMBOL_AND_LOAD_COUNTERS;
@@ -78,8 +81,6 @@
import static org.graalvm.compiler.hotspot.replacements.HotSpotReplacementsUtil.TLAB_TOP_LOCATION;
import static org.graalvm.compiler.hotspot.replacements.MonitorSnippets.MONITORENTER;
import static org.graalvm.compiler.hotspot.replacements.MonitorSnippets.MONITOREXIT;
-import static org.graalvm.compiler.hotspot.replacements.NewObjectSnippets.DYNAMIC_NEW_ARRAY;
-import static org.graalvm.compiler.hotspot.replacements.NewObjectSnippets.DYNAMIC_NEW_INSTANCE;
import static org.graalvm.compiler.hotspot.replacements.ThreadSubstitutions.THREAD_IS_INTERRUPTED;
import static org.graalvm.compiler.hotspot.replacements.WriteBarrierSnippets.G1WBPOSTCALL;
import static org.graalvm.compiler.hotspot.replacements.WriteBarrierSnippets.G1WBPRECALL;
@@ -288,6 +289,14 @@
linkForeignCall(options, providers, NEW_INSTANCE, c.newInstanceAddress, PREPEND_THREAD, SAFEPOINT, REEXECUTABLE, TLAB_TOP_LOCATION, TLAB_END_LOCATION);
linkForeignCall(options, providers, NEW_ARRAY, c.newArrayAddress, PREPEND_THREAD, SAFEPOINT, REEXECUTABLE, TLAB_TOP_LOCATION, TLAB_END_LOCATION);
+ linkForeignCall(options, providers, NEW_MULTI_ARRAY, c.newMultiArrayAddress, PREPEND_THREAD, SAFEPOINT, REEXECUTABLE, TLAB_TOP_LOCATION, TLAB_END_LOCATION);
+
+ if (c.areNullAllocationStubsAvailable()) {
+ linkForeignCall(options, providers, NEW_INSTANCE_OR_NULL, c.newInstanceOrNullAddress, PREPEND_THREAD, SAFEPOINT, REEXECUTABLE, TLAB_TOP_LOCATION, TLAB_END_LOCATION);
+ linkForeignCall(options, providers, NEW_ARRAY_OR_NULL, c.newArrayOrNullAddress, PREPEND_THREAD, SAFEPOINT, REEXECUTABLE, TLAB_TOP_LOCATION, TLAB_END_LOCATION);
+ linkForeignCall(options, providers, NEW_MULTI_ARRAY_OR_NULL, c.newMultiArrayOrNullAddress, PREPEND_THREAD, SAFEPOINT, REEXECUTABLE, TLAB_TOP_LOCATION, TLAB_END_LOCATION);
+ }
+
link(new ExceptionHandlerStub(options, providers, foreignCalls.get(EXCEPTION_HANDLER)));
link(new UnwindExceptionToCallerStub(options, providers, registerStubCall(UNWIND_EXCEPTION_TO_CALLER, SAFEPOINT, REEXECUTABLE_ONLY_AFTER_EXCEPTION, any())));
link(new VerifyOopStub(options, providers, registerStubCall(VERIFY_OOP, LEAF_NOFP, REEXECUTABLE, NO_LOCATIONS)));
@@ -305,11 +314,8 @@
linkForeignCall(options, providers, REGISTER_FINALIZER, c.registerFinalizerAddress, PREPEND_THREAD, SAFEPOINT, REEXECUTABLE_ONLY_AFTER_EXCEPTION, any());
linkForeignCall(options, providers, MONITORENTER, c.monitorenterAddress, PREPEND_THREAD, SAFEPOINT, REEXECUTABLE_ONLY_AFTER_EXCEPTION, any());
linkForeignCall(options, providers, MONITOREXIT, c.monitorexitAddress, PREPEND_THREAD, STACK_INSPECTABLE_LEAF, REEXECUTABLE_ONLY_AFTER_EXCEPTION, any());
- linkForeignCall(options, providers, NEW_MULTI_ARRAY, c.newMultiArrayAddress, PREPEND_THREAD, SAFEPOINT, REEXECUTABLE, TLAB_TOP_LOCATION, TLAB_END_LOCATION);
linkForeignCall(options, providers, NOTIFY, c.notifyAddress, PREPEND_THREAD, SAFEPOINT, REEXECUTABLE_ONLY_AFTER_EXCEPTION, any());
linkForeignCall(options, providers, NOTIFY_ALL, c.notifyAllAddress, PREPEND_THREAD, SAFEPOINT, REEXECUTABLE_ONLY_AFTER_EXCEPTION, any());
- linkForeignCall(options, providers, DYNAMIC_NEW_ARRAY, c.dynamicNewArrayAddress, PREPEND_THREAD, SAFEPOINT, REEXECUTABLE);
- linkForeignCall(options, providers, DYNAMIC_NEW_INSTANCE, c.dynamicNewInstanceAddress, PREPEND_THREAD, SAFEPOINT, REEXECUTABLE);
linkForeignCall(options, providers, LOG_PRINTF, c.logPrintfAddress, PREPEND_THREAD, LEAF, REEXECUTABLE, NO_LOCATIONS);
linkForeignCall(options, providers, LOG_OBJECT, c.logObjectAddress, PREPEND_THREAD, LEAF, REEXECUTABLE, NO_LOCATIONS);
linkForeignCall(options, providers, LOG_PRIMITIVE, c.logPrimitiveAddress, PREPEND_THREAD, LEAF, REEXECUTABLE, NO_LOCATIONS);
--- a/src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot/src/org/graalvm/compiler/hotspot/replacements/NewObjectSnippets.java Mon Oct 08 18:17:37 2018 -0400
+++ b/src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot/src/org/graalvm/compiler/hotspot/replacements/NewObjectSnippets.java Mon Oct 08 18:23:05 2018 -0400
@@ -24,9 +24,17 @@
package org.graalvm.compiler.hotspot.replacements;
+import static jdk.vm.ci.meta.DeoptimizationAction.None;
+import static jdk.vm.ci.meta.DeoptimizationReason.RuntimeConstraint;
import static org.graalvm.compiler.core.common.GraalOptions.GeneratePIC;
import static org.graalvm.compiler.core.common.calc.UnsignedMath.belowThan;
-import static org.graalvm.compiler.hotspot.GraalHotSpotVMConfig.INJECTED_VMCONFIG;
+import static org.graalvm.compiler.hotspot.GraalHotSpotVMConfigBase.INJECTED_VMCONFIG;
+import static org.graalvm.compiler.hotspot.HotSpotBackend.NEW_ARRAY;
+import static org.graalvm.compiler.hotspot.HotSpotBackend.NEW_ARRAY_OR_NULL;
+import static org.graalvm.compiler.hotspot.HotSpotBackend.NEW_INSTANCE;
+import static org.graalvm.compiler.hotspot.HotSpotBackend.NEW_INSTANCE_OR_NULL;
+import static org.graalvm.compiler.hotspot.HotSpotBackend.NEW_MULTI_ARRAY;
+import static org.graalvm.compiler.hotspot.HotSpotBackend.NEW_MULTI_ARRAY_OR_NULL;
import static org.graalvm.compiler.hotspot.replacements.HotSpotReplacementsUtil.CLASS_ARRAY_KLASS_LOCATION;
import static org.graalvm.compiler.hotspot.replacements.HotSpotReplacementsUtil.HUB_WRITE_LOCATION;
import static org.graalvm.compiler.hotspot.replacements.HotSpotReplacementsUtil.MARK_WORD_LOCATION;
@@ -70,6 +78,7 @@
import static org.graalvm.compiler.replacements.nodes.ExplodeLoopNode.explodeLoop;
import org.graalvm.compiler.api.replacements.Fold;
+import org.graalvm.compiler.api.replacements.Fold.InjectedParameter;
import org.graalvm.compiler.api.replacements.Snippet;
import org.graalvm.compiler.api.replacements.Snippet.ConstantParameter;
import org.graalvm.compiler.api.replacements.Snippet.VarargsParameter;
@@ -80,7 +89,6 @@
import org.graalvm.compiler.graph.Node.ConstantNodeParameter;
import org.graalvm.compiler.graph.Node.NodeIntrinsic;
import org.graalvm.compiler.hotspot.GraalHotSpotVMConfig;
-import org.graalvm.compiler.hotspot.HotSpotBackend;
import org.graalvm.compiler.hotspot.meta.HotSpotProviders;
import org.graalvm.compiler.hotspot.meta.HotSpotRegistersProvider;
import org.graalvm.compiler.hotspot.nodes.DimensionsNode;
@@ -126,8 +134,6 @@
import jdk.vm.ci.code.Register;
import jdk.vm.ci.code.TargetDescription;
import jdk.vm.ci.hotspot.HotSpotResolvedObjectType;
-import jdk.vm.ci.meta.DeoptimizationAction;
-import jdk.vm.ci.meta.DeoptimizationReason;
import jdk.vm.ci.meta.JavaKind;
import jdk.vm.ci.meta.ResolvedJavaType;
@@ -220,14 +226,25 @@
if (counters != null && counters.stub != null) {
counters.stub.inc();
}
- result = newInstance(HotSpotBackend.NEW_INSTANCE, hub);
+ result = newInstanceStub(hub);
}
profileAllocation("instance", size, typeContext, options);
return verifyOop(result);
}
+ public static Object newInstanceStub(KlassPointer hub) {
+ if (useNullAllocationStubs(INJECTED_VMCONFIG)) {
+ return nonNullOrDeopt(newInstanceOrNull(NEW_INSTANCE_OR_NULL, hub));
+ } else {
+ return newInstance(NEW_INSTANCE, hub);
+ }
+ }
+
@NodeIntrinsic(value = ForeignCallNode.class, injectedStampIsNonNull = true)
- public static native Object newInstance(@ConstantNodeParameter ForeignCallDescriptor descriptor, KlassPointer hub);
+ private static native Object newInstance(@ConstantNodeParameter ForeignCallDescriptor descriptor, KlassPointer hub);
+
+ @NodeIntrinsic(value = ForeignCallNode.class, injectedStampIsNonNull = false)
+ private static native Object newInstanceOrNull(@ConstantNodeParameter ForeignCallDescriptor descriptor, KlassPointer hub);
@Snippet
public static Object allocateInstancePIC(@ConstantParameter int size, KlassPointer hub, Word prototypeMarkWord, @ConstantParameter boolean fillContents,
@@ -244,18 +261,18 @@
public static Object allocateInstanceDynamic(Class<?> type, Class<?> classClass, @ConstantParameter boolean fillContents, @ConstantParameter Register threadRegister,
@ConstantParameter OptionValues options, @ConstantParameter Counters counters) {
if (probability(SLOW_PATH_PROBABILITY, type == null)) {
- DeoptimizeNode.deopt(DeoptimizationAction.None, DeoptimizationReason.RuntimeConstraint);
+ DeoptimizeNode.deopt(None, RuntimeConstraint);
}
Class<?> nonNullType = PiNode.piCastNonNullClass(type, SnippetAnchorNode.anchor());
if (probability(SLOW_PATH_PROBABILITY, DynamicNewInstanceNode.throwsInstantiationException(type, classClass))) {
- DeoptimizeNode.deopt(DeoptimizationAction.None, DeoptimizationReason.RuntimeConstraint);
+ DeoptimizeNode.deopt(None, RuntimeConstraint);
}
- return PiNode.piCastToSnippetReplaceeStamp(allocateInstanceDynamicHelper(type, fillContents, threadRegister, options, counters, nonNullType));
+ return PiNode.piCastToSnippetReplaceeStamp(allocateInstanceDynamicHelper(fillContents, threadRegister, options, counters, nonNullType));
}
- private static Object allocateInstanceDynamicHelper(Class<?> type, boolean fillContents, Register threadRegister, OptionValues options, Counters counters, Class<?> nonNullType) {
+ private static Object allocateInstanceDynamicHelper(boolean fillContents, Register threadRegister, OptionValues options, Counters counters, Class<?> nonNullType) {
KlassPointer hub = ClassGetHubNode.readClass(nonNullType);
if (probability(FAST_PATH_PROBABILITY, !hub.isNull())) {
KlassPointer nonNullHub = ClassGetHubNode.piCastNonNull(hub, SnippetAnchorNode.anchor());
@@ -277,10 +294,11 @@
return allocateInstanceHelper(layoutHelper, nonNullHub, prototypeMarkWord, fillContents, threadRegister, false, "", options, counters);
}
} else {
- DeoptimizeNode.deopt(DeoptimizationAction.None, DeoptimizationReason.RuntimeConstraint);
+ DeoptimizeNode.deopt(None, RuntimeConstraint);
}
}
- return dynamicNewInstanceStub(type);
+ DeoptimizeNode.deopt(None, RuntimeConstraint);
+ return null;
}
/**
@@ -307,13 +325,30 @@
}
@Snippet
- public static Object allocateArray(KlassPointer hub, int length, Word prototypeMarkWord, @ConstantParameter int headerSize, @ConstantParameter int log2ElementSize,
- @ConstantParameter boolean fillContents, @ConstantParameter Register threadRegister, @ConstantParameter boolean maybeUnroll, @ConstantParameter String typeContext,
- @ConstantParameter OptionValues options, @ConstantParameter Counters counters) {
+ public static Object allocateArray(KlassPointer hub,
+ int length,
+ Word prototypeMarkWord,
+ @ConstantParameter int headerSize,
+ @ConstantParameter int log2ElementSize,
+ @ConstantParameter boolean fillContents,
+ @ConstantParameter Register threadRegister,
+ @ConstantParameter boolean maybeUnroll,
+ @ConstantParameter String typeContext,
+ @ConstantParameter OptionValues options,
+ @ConstantParameter Counters counters) {
Object result = allocateArrayImpl(hub, length, prototypeMarkWord, headerSize, log2ElementSize, fillContents, threadRegister, maybeUnroll, typeContext, false, options, counters);
return piArrayCastToSnippetReplaceeStamp(verifyOop(result), length);
}
+ /**
+ * When allocating on the slow path, determines whether to use a version of the runtime call
+ * that returns {@code null} on a failed allocation instead of raising an OutOfMemoryError.
+ */
+ @Fold
+ static boolean useNullAllocationStubs(@InjectedParameter GraalHotSpotVMConfig config) {
+ return config.areNullAllocationStubsAvailable();
+ }
+
private static Object allocateArrayImpl(KlassPointer hub, int length, Word prototypeMarkWord, int headerSize, int log2ElementSize, boolean fillContents, Register threadRegister,
boolean maybeUnroll, String typeContext, boolean skipNegativeCheck, OptionValues options, Counters counters) {
Object result;
@@ -331,27 +366,41 @@
}
result = formatArray(hub, allocationSize, length, headerSize, top, prototypeMarkWord, fillContents, maybeUnroll, counters);
} else {
- result = newArray(HotSpotBackend.NEW_ARRAY, hub, length);
+ result = newArrayStub(hub, length);
}
profileAllocation("array", allocationSize, typeContext, options);
return result;
}
- @NodeIntrinsic(value = ForeignCallNode.class, injectedStampIsNonNull = true)
- public static native Object newArray(@ConstantNodeParameter ForeignCallDescriptor descriptor, KlassPointer hub, int length);
-
- public static final ForeignCallDescriptor DYNAMIC_NEW_ARRAY = new ForeignCallDescriptor("dynamic_new_array", Object.class, Class.class, int.class);
- public static final ForeignCallDescriptor DYNAMIC_NEW_INSTANCE = new ForeignCallDescriptor("dynamic_new_instance", Object.class, Class.class);
-
- @NodeIntrinsic(value = ForeignCallNode.class, injectedStampIsNonNull = true)
- public static native Object dynamicNewArrayStub(@ConstantNodeParameter ForeignCallDescriptor descriptor, Class<?> elementType, int length);
-
- public static Object dynamicNewInstanceStub(Class<?> elementType) {
- return dynamicNewInstanceStubCall(DYNAMIC_NEW_INSTANCE, elementType);
+ public static Object newArrayStub(KlassPointer hub, int length) {
+ if (useNullAllocationStubs(INJECTED_VMCONFIG)) {
+ return nonNullOrDeopt(newArrayOrNull(NEW_ARRAY_OR_NULL, hub, length));
+ } else {
+ return newArray(NEW_ARRAY, hub, length);
+ }
}
@NodeIntrinsic(value = ForeignCallNode.class, injectedStampIsNonNull = true)
- public static native Object dynamicNewInstanceStubCall(@ConstantNodeParameter ForeignCallDescriptor descriptor, Class<?> elementType);
+ private static native Object newArray(@ConstantNodeParameter ForeignCallDescriptor descriptor, KlassPointer hub, int length);
+
+ @NodeIntrinsic(value = ForeignCallNode.class, injectedStampIsNonNull = false)
+ private static native Object newArrayOrNull(@ConstantNodeParameter ForeignCallDescriptor descriptor, KlassPointer hub, int length);
+
+ /**
+ * Deoptimizes if {@code obj == null} otherwise returns {@code obj}.
+ */
+ private static Object nonNullOrDeopt(Object obj) {
+ if (obj == null) {
+ DeoptimizeNode.deopt(None, RuntimeConstraint);
+ }
+ return obj;
+ }
+
+ @NodeIntrinsic(value = ForeignCallNode.class, injectedStampIsNonNull = true)
+ public static native Object dynamicNewInstance(@ConstantNodeParameter ForeignCallDescriptor descriptor, Class<?> elementType);
+
+ @NodeIntrinsic(value = ForeignCallNode.class, injectedStampIsNonNull = false)
+ public static native Object dynamicNewInstanceOrNull(@ConstantNodeParameter ForeignCallDescriptor descriptor, Class<?> elementType);
@Snippet
public static Object allocateArrayDynamic(Class<?> elementType, Class<?> voidClass, int length, @ConstantParameter boolean fillContents, @ConstantParameter Register threadRegister,
@@ -369,17 +418,17 @@
*/
staticAssert(knownElementKind != JavaKind.Void, "unsupported knownElementKind");
if (knownElementKind == JavaKind.Illegal && probability(SLOW_PATH_PROBABILITY, elementType == null || DynamicNewArrayNode.throwsIllegalArgumentException(elementType, voidClass))) {
- DeoptimizeNode.deopt(DeoptimizationAction.None, DeoptimizationReason.RuntimeConstraint);
+ DeoptimizeNode.deopt(None, RuntimeConstraint);
}
KlassPointer klass = loadKlassFromObject(elementType, arrayKlassOffset(INJECTED_VMCONFIG), CLASS_ARRAY_KLASS_LOCATION);
if (klass.isNull()) {
- DeoptimizeNode.deopt(DeoptimizationAction.None, DeoptimizationReason.RuntimeConstraint);
+ DeoptimizeNode.deopt(None, RuntimeConstraint);
}
KlassPointer nonNullKlass = ClassGetHubNode.piCastNonNull(klass, SnippetAnchorNode.anchor());
if (length < 0) {
- DeoptimizeNode.deopt(DeoptimizationAction.None, DeoptimizationReason.RuntimeConstraint);
+ DeoptimizeNode.deopt(None, RuntimeConstraint);
}
int layoutHelper;
if (knownElementKind == JavaKind.Illegal) {
@@ -412,24 +461,35 @@
* Calls the runtime stub for implementing MULTIANEWARRAY.
*/
@Snippet
- public static Object newmultiarray(KlassPointer hub, @ConstantParameter int rank, @VarargsParameter int[] dimensions) {
+ private static Object newmultiarray(KlassPointer hub, @ConstantParameter int rank, @VarargsParameter int[] dimensions) {
Word dims = DimensionsNode.allocaDimsArray(rank);
ExplodeLoopNode.explodeLoop();
for (int i = 0; i < rank; i++) {
dims.writeInt(i * 4, dimensions[i], LocationIdentity.init());
}
- return newArrayCall(HotSpotBackend.NEW_MULTI_ARRAY, hub, rank, dims);
+ return newMultiArrayStub(hub, rank, dims);
+ }
+
+ private static Object newMultiArrayStub(KlassPointer hub, int rank, Word dims) {
+ if (useNullAllocationStubs(INJECTED_VMCONFIG)) {
+ return nonNullOrDeopt(newMultiArrayOrNull(NEW_MULTI_ARRAY_OR_NULL, hub, rank, dims));
+ } else {
+ return newMultiArray(NEW_MULTI_ARRAY, hub, rank, dims);
+ }
}
@Snippet
- public static Object newmultiarrayPIC(KlassPointer hub, @ConstantParameter int rank, @VarargsParameter int[] dimensions) {
+ private static Object newmultiarrayPIC(KlassPointer hub, @ConstantParameter int rank, @VarargsParameter int[] dimensions) {
// Array type would be resolved by dominating resolution.
KlassPointer picHub = LoadConstantIndirectlyFixedNode.loadKlass(hub);
return newmultiarray(picHub, rank, dimensions);
}
@NodeIntrinsic(value = ForeignCallNode.class, injectedStampIsNonNull = true)
- public static native Object newArrayCall(@ConstantNodeParameter ForeignCallDescriptor descriptor, KlassPointer hub, int rank, Word dims);
+ private static native Object newMultiArray(@ConstantNodeParameter ForeignCallDescriptor descriptor, KlassPointer hub, int rank, Word dims);
+
+ @NodeIntrinsic(value = ForeignCallNode.class, injectedStampIsNonNull = false)
+ private static native Object newMultiArrayOrNull(@ConstantNodeParameter ForeignCallDescriptor descriptor, KlassPointer hub, int rank, Word dims);
/**
* Maximum number of long stores to emit when zeroing an object with a constant size. Larger
@@ -509,17 +569,9 @@
}
/**
- * Formats some allocated memory with an object header and zeroes out the rest. Disables asserts
- * since they can't be compiled in stubs.
- */
- public static Object formatObjectForStub(KlassPointer hub, int size, Word memory, Word compileTimePrototypeMarkWord) {
- return formatObject(hub, size, memory, compileTimePrototypeMarkWord, true, false, null);
- }
-
- /**
* Formats some allocated memory with an object header and zeroes out the rest.
*/
- protected static Object formatObject(KlassPointer hub, int size, Word memory, Word compileTimePrototypeMarkWord, boolean fillContents, boolean constantSize, Counters counters) {
+ private static Object formatObject(KlassPointer hub, int size, Word memory, Word compileTimePrototypeMarkWord, boolean fillContents, boolean constantSize, Counters counters) {
Word prototypeMarkWord = useBiasedLocking(INJECTED_VMCONFIG) ? hub.readWord(prototypeMarkWordOffset(INJECTED_VMCONFIG), PROTOTYPE_MARK_WORD_LOCATION) : compileTimePrototypeMarkWord;
initializeObjectHeader(memory, prototypeMarkWord, hub);
if (fillContents) {
@@ -532,7 +584,7 @@
}
@Snippet
- protected static void verifyHeap(@ConstantParameter Register threadRegister) {
+ private static void verifyHeap(@ConstantParameter Register threadRegister) {
Word thread = registerAsWord(threadRegister);
Word topValue = readTlabTop(thread);
if (!topValue.equal(WordFactory.zero())) {
@@ -546,7 +598,7 @@
/**
* Formats some allocated memory with an object header and zeroes out the rest.
*/
- public static Object formatArray(KlassPointer hub, int allocationSize, int length, int headerSize, Word memory, Word prototypeMarkWord, boolean fillContents, boolean maybeUnroll,
+ private static Object formatArray(KlassPointer hub, int allocationSize, int length, int headerSize, Word memory, Word prototypeMarkWord, boolean fillContents, boolean maybeUnroll,
Counters counters) {
memory.writeInt(arrayLengthOffset(INJECTED_VMCONFIG), length, LocationIdentity.init());
/*
--- a/src/jdk.javadoc/share/classes/jdk/javadoc/internal/tool/JavadocTool.java Mon Oct 08 18:17:37 2018 -0400
+++ b/src/jdk.javadoc/share/classes/jdk/javadoc/internal/tool/JavadocTool.java Mon Oct 08 18:23:05 2018 -0400
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2001, 2017, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2001, 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
@@ -34,6 +34,8 @@
import java.util.Map;
import java.util.Set;
+import javax.lang.model.element.Element;
+import javax.lang.model.element.ElementKind;
import javax.tools.JavaFileObject;
import javax.tools.StandardJavaFileManager;
@@ -41,6 +43,7 @@
import com.sun.tools.javac.code.DeferredCompletionFailureHandler;
import com.sun.tools.javac.code.Symbol.Completer;
import com.sun.tools.javac.code.Symbol.CompletionFailure;
+import com.sun.tools.javac.code.Symbol.PackageSymbol;
import com.sun.tools.javac.comp.Enter;
import com.sun.tools.javac.tree.JCTree;
import com.sun.tools.javac.tree.JCTree.JCClassDecl;
@@ -213,6 +216,17 @@
dcfh.setHandler(dcfh.userCodeHandler);
etable.analyze();
+
+ // Ensure that package-info is read for all included packages
+ for (Element e : etable.getIncludedElements()) {
+ if (e.getKind() == ElementKind.PACKAGE) {
+ PackageSymbol packge = (PackageSymbol) e;
+ if (packge.package_info != null) {
+ packge.package_info.complete();
+ }
+ }
+ }
+
} catch (CompletionFailure cf) {
throw new ToolException(ABNORMAL, cf.getMessage(), cf);
} catch (Abort abort) {
--- a/test/TestCommon.gmk Mon Oct 08 18:17:37 2018 -0400
+++ b/test/TestCommon.gmk Mon Oct 08 18:23:05 2018 -0400
@@ -178,20 +178,6 @@
endif
endif
-
-# Optionally create a CDS archive before running tests
-ifeq ($(GENERATE_CDS_ARCHIVE), true)
- CDS_ARCHIVE_FILE := $(ABS_TEST_OUTPUT_DIR)/cds_archive.jsa
-
- $(CDS_ARCHIVE_FILE): $(PRODUCT_HOME)
- $(PRODUCT_HOME)/bin/java -XX:+UnlockDiagnosticVMOptions \
- -XX:SharedArchiveFile=$(shell $(GETMIXEDPATH) "$(CDS_ARCHIVE_FILE)") -Xshare:dump
-
- CDS_VM_ARGS := -XX:+UnlockDiagnosticVMOptions -XX:SharedArchiveFile=$(shell $(GETMIXEDPATH) "$(CDS_ARCHIVE_FILE)")
- JTREG_TEST_OPTIONS += $(addprefix -vmoption:, $(CDS_VM_ARGS))
- TEST_PREREQS += $(CDS_ARCHIVE_FILE)
-endif
-
# How to create the test bundle (pass or fail, we want to create this)
# Follow command with ";$(BUNDLE_UP_AND_EXIT)", so it always gets executed.
ifneq ($(ARCHIVE_BUNDLE), )
--- a/test/hotspot/jtreg/ProblemList-cds-mode.txt Mon Oct 08 18:17:37 2018 -0400
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,29 +0,0 @@
-#
-# 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.
-#
-
-#############################################################################
-#
-# Additional list of quarantined tests when CDS mode enabled.
-#
-#############################################################################
-
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/ProblemList-non-cds-mode.txt Mon Oct 08 18:23:05 2018 -0400
@@ -0,0 +1,29 @@
+#
+# 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.
+#
+
+#############################################################################
+#
+# Additional list of quarantined tests when non-CDS mode enabled.
+#
+#############################################################################
+
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/gc/logging/TestMetaSpaceLog.java Mon Oct 08 18:23:05 2018 -0400
@@ -0,0 +1,143 @@
+/*
+ * Copyright (c) 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2018, Google 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 java.io.File;
+import java.net.URL;
+import java.net.URLClassLoader;
+import java.util.List;
+import java.util.function.Predicate;
+import java.util.regex.Pattern;
+import java.util.regex.Matcher;
+
+import jdk.test.lib.Asserts;
+import jdk.test.lib.process.OutputAnalyzer;
+import jdk.test.lib.process.ProcessTools;
+import sun.hotspot.WhiteBox;
+
+/*
+ * @test TestMetaSpaceLog
+ * @bug 8211123
+ * @summary Ensure that the Metaspace is updated in the log
+ * @requires vm.gc=="null"
+ * @key gc
+ * @library /test/lib
+ * @modules java.base/jdk.internal.misc
+ * java.management
+ *
+ * @compile TestMetaSpaceLog.java
+ * @run driver ClassFileInstaller sun.hotspot.WhiteBox
+ * @run main TestMetaSpaceLog
+ */
+
+public class TestMetaSpaceLog {
+ private static Pattern metaSpaceRegexp;
+
+ static {
+ // Do this once here.
+ metaSpaceRegexp = Pattern.compile(".*Metaspace: ([0-9]+).*->([0-9]+).*");
+ }
+
+ public static void main(String[] args) throws Exception {
+ testMetaSpaceUpdate("UseParallelGC");
+ testMetaSpaceUpdate("UseG1GC");
+ testMetaSpaceUpdate("UseConcMarkSweepGC");
+ testMetaSpaceUpdate("UseSerialGC");
+ }
+
+ private static void verifyContainsMetaSpaceUpdate(OutputAnalyzer output) {
+ Predicate<String> collectedMetaSpace = line -> check(line);
+
+ // At least one metaspace line from GC should show GC being collected.
+ boolean foundCollectedMetaSpace = output.asLines().stream()
+ .filter(s -> s.contains("[gc,metaspace"))
+ .anyMatch(TestMetaSpaceLog::check);
+ Asserts.assertTrue(foundCollectedMetaSpace);
+ }
+
+ private static boolean check(String line) {
+ Matcher m = metaSpaceRegexp.matcher(line);
+ Asserts.assertTrue(m.matches(), "Unexpected line for metaspace logging: " + line);
+ long before = Long.parseLong(m.group(1));
+ long after = Long.parseLong(m.group(2));
+ return before > after;
+ }
+
+ private static void testMetaSpaceUpdate(String gcFlag) throws Exception {
+ // Propagate test.src for the jar file.
+ String testSrc= "-Dtest.src=" + System.getProperty("test.src", ".");
+
+ System.err.println("Testing with GC Flag: " + gcFlag);
+ ProcessBuilder pb =
+ ProcessTools.createJavaProcessBuilder(
+ "-XX:+" + gcFlag,
+ "-Xlog:gc*",
+ "-Xbootclasspath/a:.",
+ "-XX:+UnlockDiagnosticVMOptions",
+ "-XX:+WhiteBoxAPI",
+ "-Xmx1000M",
+ "-Xms1000M",
+ testSrc, StressMetaSpace.class.getName());
+
+ OutputAnalyzer output = null;
+ try {
+ output = new OutputAnalyzer(pb.start());
+ verifyContainsMetaSpaceUpdate(output);
+ } catch (Exception e) {
+ // For error diagnosis: print and throw.
+ e.printStackTrace();
+ output.reportDiagnosticSummary();
+ throw e;
+ }
+ }
+
+ static class StressMetaSpace {
+ private static URL[] urls = new URL[1];
+
+ static {
+ try {
+ File jarFile = new File(System.getProperty("test.src") + "/testcases.jar");
+ urls[0] = jarFile.toURI().toURL();
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+ }
+
+ public static void main(String args[]) {
+ WhiteBox wb = WhiteBox.getWhiteBox();
+ for(int i = 0; i < 10000; i++) {
+ loadClass(wb);
+ }
+ wb.fullGC();
+ }
+
+ public static void loadClass(WhiteBox wb) {
+ try {
+ URLClassLoader ucl = new URLClassLoader(urls);
+ Class.forName("case00", false, ucl);
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+ }
+ }
+}
Binary file test/hotspot/jtreg/gc/logging/testcases.jar has changed
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/runtime/SharedArchiveFile/CheckDefaultArchiveFile.java Mon Oct 08 18:23:05 2018 -0400
@@ -0,0 +1,63 @@
+/*
+ * 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.
+ */
+
+/**
+ * @test Default CDS archive file
+ * @summary JDK platforms/binaries do not support default CDS archive should
+ * not contain classes.jsa in the default location.
+ * @library /test/lib
+ * @modules java.base/jdk.internal.misc
+ * java.management
+ * @build sun.hotspot.WhiteBox
+ * @run driver ClassFileInstaller sun.hotspot.WhiteBox
+ * @run main/othervm -Xbootclasspath/a:. -XX:+UnlockDiagnosticVMOptions
+ * -XX:+WhiteBoxAPI CheckDefaultArchiveFile
+ */
+import java.nio.file.Files;
+import java.nio.file.Path;
+import java.nio.file.Paths;
+import jdk.test.lib.Platform;
+import jdk.test.lib.cds.CDSTestUtils;
+import jtreg.SkippedException;
+import sun.hotspot.WhiteBox;
+
+public class CheckDefaultArchiveFile {
+ public static void main(String[] args) throws Exception {
+ WhiteBox wb = WhiteBox.getWhiteBox();
+ String osArch = Platform.getOsArch();
+ String vmName = System.getProperty("java.vm.name");
+ String vmString = vmName + "(" + osArch + ")";
+ String jsaString = wb.getDefaultArchivePath();
+ Path jsa = Paths.get(jsaString);
+ if (Platform.isDefaultCDSArchiveSupported()) {
+ if (Files.exists(jsa)) {
+ System.out.println("Passed. " + vmString +
+ ": has default classes.jsa file");
+ } else {
+ throw new RuntimeException(vmString + "has no " + jsaString);
+ }
+ } else {
+ throw new SkippedException("Default CDS archive is not supported");
+ }
+ }
+}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/runtime/SharedArchiveFile/CheckSharingWithDefaultArchive.java Mon Oct 08 18:23:05 2018 -0400
@@ -0,0 +1,66 @@
+/*
+ * 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.
+ */
+
+/**
+ * @test Default CDS archive
+ * @summary Sharing should be enabled by default on supported platform/binaries.
+ * No -Xshare:dump is needed. No -Xshare:auto or -Xshare:on in needed.
+ * Verify a set of well-known shared classes.
+ * @requires vm.cds
+ * @library /test/lib
+ * @modules java.base/jdk.internal.misc
+ * java.management
+ * @build sun.hotspot.WhiteBox
+ * @run driver ClassFileInstaller sun.hotspot.WhiteBox
+ * @run main/othervm -Xbootclasspath/a:. -XX:+UnlockDiagnosticVMOptions
+ * -XX:+WhiteBoxAPI CheckSharingWithDefaultArchive -showversion
+ */
+import jdk.test.lib.Platform;
+import jtreg.SkippedException;
+import sun.hotspot.WhiteBox;
+
+public class CheckSharingWithDefaultArchive {
+ public static void main(String[] args) throws Exception {
+ if (!Platform.isDefaultCDSArchiveSupported()) {
+ throw new SkippedException("Supported platform");
+ }
+
+ WhiteBox wb = WhiteBox.getWhiteBox();
+ String classes[] = {"java.lang.Object",
+ "java.lang.String",
+ "java.lang.Class"};
+ // If maping fails, sharing is disabled
+ if (wb.isSharingEnabled()) {
+ for (int i = 0; i < classes.length; i++) {
+ Class c = Class.forName(classes[i]);
+ if (wb.isSharedClass(c)) {
+ System.out.println(classes[i] + " is shared.");
+ } else {
+ throw new RuntimeException(classes[i] + " is not shared");
+ }
+ }
+ } else {
+ throw new SkippedException("Sharing is not enabled.");
+ }
+ }
+}
--- a/test/hotspot/jtreg/runtime/appcds/CommandLineFlagCombo.java Mon Oct 08 18:17:37 2018 -0400
+++ b/test/hotspot/jtreg/runtime/appcds/CommandLineFlagCombo.java Mon Oct 08 18:23:05 2018 -0400
@@ -24,7 +24,10 @@
/*
* @test CommandLineFlagCombo
- * @requires vm.cds
+ * @requires vm.cds.archived.java.heap
+ * @comment This test explicitly chooses the type of GC to be used by sub-processes. It may conflict with the GC type set
+ * via the -vmoptions command line option of JTREG. vm.gc==null will help the test case to discard the explicitly passed
+ * vm options.
* @requires (vm.gc=="null")
* @summary Test command line flag combinations that
* could likely affect the behaviour of AppCDS
--- a/test/hotspot/jtreg/runtime/appcds/cacheObject/DifferentHeapSizes.java Mon Oct 08 18:17:37 2018 -0400
+++ b/test/hotspot/jtreg/runtime/appcds/cacheObject/DifferentHeapSizes.java Mon Oct 08 18:23:05 2018 -0400
@@ -26,7 +26,6 @@
* @test
* @summary Test automatic relocation of archive heap regions dur to heap size changes.
* @requires vm.cds.archived.java.heap
- * @requires (vm.gc=="null")
* @library /test/lib /test/hotspot/jtreg/runtime/appcds
* @modules jdk.jartool/sun.tools.jar
* @compile ../test-classes/Hello.java
--- a/test/hotspot/jtreg/runtime/appcds/cacheObject/OpenArchiveRegion.java Mon Oct 08 18:17:37 2018 -0400
+++ b/test/hotspot/jtreg/runtime/appcds/cacheObject/OpenArchiveRegion.java Mon Oct 08 18:23:05 2018 -0400
@@ -26,6 +26,9 @@
* @test
* @summary Test open archive heap regions
* @requires vm.cds.archived.java.heap
+ * @comment This test explicitly chooses the type of GC to be used by sub-processes. It may conflict with the GC type set
+ * via the -vmoptions command line option of JTREG. vm.gc==null will help the test case to discard the explicitly passed
+ * vm options.
* @requires (vm.gc=="null")
* @library /test/lib /test/hotspot/jtreg/runtime/appcds
* @modules java.base/jdk.internal.misc
--- a/test/hotspot/jtreg/runtime/appcds/sharedStrings/IncompatibleOptions.java Mon Oct 08 18:17:37 2018 -0400
+++ b/test/hotspot/jtreg/runtime/appcds/sharedStrings/IncompatibleOptions.java Mon Oct 08 18:23:05 2018 -0400
@@ -27,6 +27,9 @@
* @summary Test options that are incompatible with use of shared strings
* Also test mismatch in oops encoding between dump time and run time
* @requires vm.cds.archived.java.heap
+ * @comment This test explicitly chooses the type of GC to be used by sub-processes. It may conflict with the GC type set
+ * via the -vmoptions command line option of JTREG. vm.gc==null will help the test case to discard the explicitly passed
+ * vm options.
* @requires (vm.gc=="null")
* @library /test/lib /test/hotspot/jtreg/runtime/appcds
* @modules jdk.jartool/sun.tools.jar
--- a/test/hotspot/jtreg/runtime/appcds/sharedStrings/IncompatibleOptions_noCompactStrings.java Mon Oct 08 18:17:37 2018 -0400
+++ b/test/hotspot/jtreg/runtime/appcds/sharedStrings/IncompatibleOptions_noCompactStrings.java Mon Oct 08 18:23:05 2018 -0400
@@ -27,6 +27,9 @@
* @summary Test options that are incompatible with use of shared strings
* Also test mismatch in oops encoding between dump time and run time
* @requires vm.cds.archived.java.heap
+ * @comment This test explicitly chooses the type of GC to be used by sub-processes. It may conflict with the GC type set
+ * via the -vmoptions command line option of JTREG. vm.gc==null will help the test case to discard the explicitly passed
+ * vm options.
* @requires (vm.gc=="null")
* @library /test/lib /test/hotspot/jtreg/runtime/appcds
* @modules jdk.jartool/sun.tools.jar
--- a/test/hotspot/jtreg/runtime/appcds/sharedStrings/IncompatibleOptions_stringDedup.java Mon Oct 08 18:17:37 2018 -0400
+++ b/test/hotspot/jtreg/runtime/appcds/sharedStrings/IncompatibleOptions_stringDedup.java Mon Oct 08 18:23:05 2018 -0400
@@ -27,6 +27,9 @@
* @summary Test options that are incompatible with use of shared strings
* Also test mismatch in oops encoding between dump time and run time
* @requires vm.cds.archived.java.heap
+ * @comment This test explicitly chooses the type of GC to be used by sub-processes. It may conflict with the GC type set
+ * via the -vmoptions command line option of JTREG. vm.gc==null will help the test case to discard the explicitly passed
+ * vm options.
* @requires (vm.gc=="null")
* @library /test/lib /test/hotspot/jtreg/runtime/appcds
* @modules jdk.jartool/sun.tools.jar
--- a/test/hotspot/jtreg/runtime/appcds/sharedStrings/SysDictCrash.java Mon Oct 08 18:17:37 2018 -0400
+++ b/test/hotspot/jtreg/runtime/appcds/sharedStrings/SysDictCrash.java Mon Oct 08 18:23:05 2018 -0400
@@ -26,8 +26,7 @@
* @test
* @summary Regression test for JDK-8098821
* @bug 8098821
- * @requires vm.cds
- * @requires vm.gc.G1
+ * @requires vm.cds.archived.java.heap
* @library /test/lib /test/hotspot/jtreg/runtime/appcds
* @modules java.base/jdk.internal.misc
* @modules java.management
--- a/test/hotspot/jtreg/testlibrary_tests/TestMutuallyExclusivePlatformPredicates.java Mon Oct 08 18:17:37 2018 -0400
+++ b/test/hotspot/jtreg/testlibrary_tests/TestMutuallyExclusivePlatformPredicates.java Mon Oct 08 18:23:05 2018 -0400
@@ -50,8 +50,9 @@
OS("isAix", "isLinux", "isOSX", "isSolaris", "isWindows"),
VM_TYPE("isClient", "isServer", "isGraal", "isMinimal", "isZero", "isEmbedded"),
MODE("isInt", "isMixed", "isComp"),
- IGNORED("isEmulatedClient", "isDebugBuild", "isFastDebugBuild", "isSlowDebugBuild",
- "hasSA", "shouldSAAttach", "isTieredSupported", "areCustomLoadersSupportedForCDS");
+ IGNORED("isEmulatedClient", "isDebugBuild", "isFastDebugBuild",
+ "isSlowDebugBuild", "hasSA", "shouldSAAttach", "isTieredSupported",
+ "areCustomLoadersSupportedForCDS", "isDefaultCDSArchiveSupported");
public final List<String> methodNames;
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/AddCapabilities/addcaps001/addcaps001.cpp Mon Oct 08 18:17:37 2018 -0400
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/AddCapabilities/addcaps001/addcaps001.cpp Mon Oct 08 18:23:05 2018 -0400
@@ -192,8 +192,7 @@
memset(&caps, 0, sizeof(jvmtiCapabilities));
NSK_DISPLAY0("GetCapabilities() for current JVMTI env\n");
- if (!NSK_JVMTI_VERIFY(
- NSK_CPP_STUB2(GetCapabilities, jvmti, &caps))) {
+ if (!NSK_JVMTI_VERIFY(jvmti->GetCapabilities(&caps))) {
return NSK_FALSE;
}
@@ -216,8 +215,7 @@
*/
static int addCapabilities(jvmtiEnv* jvmti, jvmtiCapabilities* caps, const char where[]) {
NSK_DISPLAY0("AddCapabilities() for current JVMTI env\n");
- if (!NSK_JVMTI_VERIFY(
- NSK_CPP_STUB2(AddCapabilities, jvmti, caps))) {
+ if (!NSK_JVMTI_VERIFY(jvmti->AddCapabilities(caps))) {
return NSK_FALSE;
}
NSK_DISPLAY0(" ... set\n");
@@ -314,9 +312,7 @@
memset(&eventCallbacks, 0, sizeof(eventCallbacks));
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;
}
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/AddCapabilities/addcaps002/addcaps002.cpp Mon Oct 08 18:17:37 2018 -0400
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/AddCapabilities/addcaps002/addcaps002.cpp Mon Oct 08 18:23:05 2018 -0400
@@ -192,8 +192,7 @@
memset(&caps, 0, sizeof(jvmtiCapabilities));
NSK_DISPLAY0("GetCapabilities() for current JVMTI env\n");
- if (!NSK_JVMTI_VERIFY(
- NSK_CPP_STUB2(GetCapabilities, jvmti, &caps))) {
+ if (!NSK_JVMTI_VERIFY(jvmti->GetCapabilities(&caps))) {
return NSK_FALSE;
}
@@ -216,8 +215,7 @@
*/
static int addCapabilities(jvmtiEnv* jvmti, jvmtiCapabilities* caps, const char where[]) {
NSK_DISPLAY0("AddCapabilities() for current JVMTI env\n");
- if (!NSK_JVMTI_VERIFY(
- NSK_CPP_STUB2(AddCapabilities, jvmti, caps))) {
+ if (!NSK_JVMTI_VERIFY(jvmti->AddCapabilities(caps))) {
return NSK_FALSE;
}
NSK_DISPLAY0(" ... set\n");
@@ -231,8 +229,7 @@
*/
static int getPotentialCapabilities(jvmtiEnv* jvmti, jvmtiCapabilities* caps) {
NSK_DISPLAY0("GetPotentialCapabilities() for current JVMTI env\n");
- if (!NSK_JVMTI_VERIFY(
- NSK_CPP_STUB2(GetPotentialCapabilities, jvmti, caps))) {
+ if (!NSK_JVMTI_VERIFY(jvmti->GetPotentialCapabilities(caps))) {
return NSK_FALSE;
}
@@ -334,9 +331,7 @@
memset(&eventCallbacks, 0, sizeof(eventCallbacks));
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;
}
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/AddCapabilities/addcaps003/addcaps003.cpp Mon Oct 08 18:17:37 2018 -0400
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/AddCapabilities/addcaps003/addcaps003.cpp Mon Oct 08 18:23:05 2018 -0400
@@ -57,8 +57,7 @@
memset(&caps, 0, sizeof(jvmtiCapabilities));
NSK_DISPLAY0("GetCapabilities() for current JVMTI env\n");
- if (!NSK_JVMTI_VERIFY(
- NSK_CPP_STUB2(GetCapabilities, jvmti, &caps))) {
+ if (!NSK_JVMTI_VERIFY(jvmti->GetCapabilities(&caps))) {
return NSK_FALSE;
}
@@ -71,8 +70,7 @@
*/
static int addCapabilities(jvmtiEnv* jvmti, jvmtiCapabilities* caps, const char where[]) {
NSK_DISPLAY0("AddCapabilities() for current JVMTI env\n");
- if (!NSK_JVMTI_VERIFY(
- NSK_CPP_STUB2(AddCapabilities, jvmti, caps))) {
+ if (!NSK_JVMTI_VERIFY(jvmti->AddCapabilities(caps))) {
return NSK_FALSE;
}
NSK_DISPLAY0(" ... set\n");
@@ -86,8 +84,7 @@
*/
static int getPotentialCapabilities(jvmtiEnv* jvmti, jvmtiCapabilities* caps) {
NSK_DISPLAY0("GetPotentialCapabilities() for current JVMTI env\n");
- if (!NSK_JVMTI_VERIFY(
- NSK_CPP_STUB2(GetPotentialCapabilities, jvmti, caps))) {
+ if (!NSK_JVMTI_VERIFY(jvmti->GetPotentialCapabilities(caps))) {
return NSK_FALSE;
}
@@ -183,9 +180,7 @@
memset(&eventCallbacks, 0, sizeof(eventCallbacks));
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;
}
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/AttachOnDemand/attach002/attach002Agent00.cpp Mon Oct 08 18:17:37 2018 -0400
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/AttachOnDemand/attach002/attach002Agent00.cpp Mon Oct 08 18:23:05 2018 -0400
@@ -74,12 +74,12 @@
jint nativeMethodsNumber = 1;
if (!NSK_JNI_VERIFY(jni, (appClass =
- NSK_CPP_STUB2(FindClass, jni, ATTACH002_TARGET_APP_CLASS_NAME)) != NULL)) {
+ jni->FindClass(ATTACH002_TARGET_APP_CLASS_NAME)) != NULL)) {
return NSK_FALSE;
}
if (!NSK_JNI_VERIFY(jni,
- (NSK_CPP_STUB4(RegisterNatives, jni, appClass, nativeMethods, nativeMethodsNumber) == 0))) {
+ (jni->RegisterNatives(appClass, nativeMethods, nativeMethodsNumber) == 0))) {
return NSK_FALSE;
}
@@ -205,7 +205,7 @@
memset(&caps, 0, sizeof(caps));
caps.can_generate_all_class_hook_events = 1;
caps.can_redefine_classes = 1;
- if (!NSK_JVMTI_VERIFY(NSK_CPP_STUB2(AddCapabilities, jvmti, &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 @@
eventCallbacks.ClassLoad = classLoadHandler;
eventCallbacks.ClassPrepare = classPrepareHandler;
eventCallbacks.ClassFileLoadHook = classFileLoadHoockHandler;
- if (!NSK_JVMTI_VERIFY(NSK_CPP_STUB3(SetEventCallbacks, jvmti, &eventCallbacks, sizeof(eventCallbacks))) ) {
+ if (!NSK_JVMTI_VERIFY(jvmti->SetEventCallbacks(&eventCallbacks, sizeof(eventCallbacks))) ) {
return JNI_ERR;
}
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/AttachOnDemand/attach002a/attach002aAgent00.cpp Mon Oct 08 18:17:37 2018 -0400
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/AttachOnDemand/attach002a/attach002aAgent00.cpp Mon Oct 08 18:23:05 2018 -0400
@@ -106,13 +106,13 @@
memset(&caps, 0, sizeof(caps));
caps.can_redefine_classes = 1;
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(&eventCallbacks,0, sizeof(eventCallbacks));
eventCallbacks.VMObjectAlloc = vmObjectAllocHandler;
- if (!NSK_JVMTI_VERIFY(NSK_CPP_STUB3(SetEventCallbacks, jvmti, &eventCallbacks, sizeof(eventCallbacks))) ) {
+ if (!NSK_JVMTI_VERIFY(jvmti->SetEventCallbacks(&eventCallbacks, sizeof(eventCallbacks))) ) {
return JNI_ERR;
}
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/AttachOnDemand/attach008/attach008Agent00.cpp Mon Oct 08 18:17:37 2018 -0400
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/AttachOnDemand/attach008/attach008Agent00.cpp Mon Oct 08 18:23:05 2018 -0400
@@ -123,14 +123,14 @@
memset(&caps, 0, sizeof(caps));
caps.can_generate_monitor_events = 1;
- if (!NSK_JVMTI_VERIFY(NSK_CPP_STUB2(AddCapabilities, jvmti, &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(NSK_CPP_STUB3(SetEventCallbacks, jvmti, &eventCallbacks, sizeof(eventCallbacks))) ) {
+ if (!NSK_JVMTI_VERIFY(jvmti->SetEventCallbacks(&eventCallbacks, sizeof(eventCallbacks))) ) {
return JNI_ERR;
}
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/AttachOnDemand/attach009/attach009Agent00.cpp Mon Oct 08 18:17:37 2018 -0400
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/AttachOnDemand/attach009/attach009Agent00.cpp Mon Oct 08 18:23:05 2018 -0400
@@ -82,8 +82,7 @@
return;
}
- if (!NSK_JVMTI_VERIFY( NSK_CPP_STUB4(
- SetEventNotificationMode, jvmti, 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;
@@ -142,7 +141,7 @@
memset(&eventCallbacks,0, sizeof(eventCallbacks));
eventCallbacks.ClassLoad = classLoadHandler;
- if (!NSK_JVMTI_VERIFY(NSK_CPP_STUB3(SetEventCallbacks, jvmti, &eventCallbacks, sizeof(eventCallbacks))) ) {
+ if (!NSK_JVMTI_VERIFY(jvmti->SetEventCallbacks(&eventCallbacks, sizeof(eventCallbacks))) ) {
return JNI_ERR;
}
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/AttachOnDemand/attach012/attach012Agent00.cpp Mon Oct 08 18:17:37 2018 -0400
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/AttachOnDemand/attach012/attach012Agent00.cpp Mon Oct 08 18:23:05 2018 -0400
@@ -65,7 +65,7 @@
if (!NSK_VERIFY((jvmti = nsk_jvmti_createJVMTIEnv(vm, reserved)) != NULL))
return JNI_ERR;
- if (!NSK_JVMTI_VERIFY(NSK_CPP_STUB2(GetPotentialCapabilities, jvmti, &caps)) ) {
+ if (!NSK_JVMTI_VERIFY(jvmti->GetPotentialCapabilities(&caps)) ) {
return JNI_ERR;
}
@@ -75,7 +75,7 @@
NSK_DISPLAY1("%s: trying to get all potential capabilities:\n", agentName);
- if (!NSK_JVMTI_VERIFY(NSK_CPP_STUB2(AddCapabilities, jvmti, &caps)) ) {
+ if (!NSK_JVMTI_VERIFY(jvmti->AddCapabilities(&caps)) ) {
return JNI_ERR;
}
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/AttachOnDemand/attach014/attach014Agent00.cpp Mon Oct 08 18:17:37 2018 -0400
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/AttachOnDemand/attach014/attach014Agent00.cpp Mon Oct 08 18:23:05 2018 -0400
@@ -62,7 +62,7 @@
if (!nsk_jvmti_aod_disableEvent(jvmti, JVMTI_EVENT_CLASS_LOAD))
success = 0;
- if (!NSK_JVMTI_VERIFY(NSK_CPP_STUB1(DisposeEnvironment, jvmti))) {
+ if (!NSK_JVMTI_VERIFY(jvmti->DisposeEnvironment())) {
success = 0;
NSK_COMPLAIN1("%s: failed to dispose environment\n", agentName);
} else {
@@ -104,7 +104,7 @@
memset(&eventCallbacks,0, sizeof(eventCallbacks));
eventCallbacks.ClassLoad = classLoadHandler;
- if (!NSK_JVMTI_VERIFY(NSK_CPP_STUB3(SetEventCallbacks, jvmti, &eventCallbacks, sizeof(eventCallbacks))) ) {
+ if (!NSK_JVMTI_VERIFY(jvmti->SetEventCallbacks(&eventCallbacks, sizeof(eventCallbacks))) ) {
return JNI_ERR;
}
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/AttachOnDemand/attach015/attach015Agent00.cpp Mon Oct 08 18:17:37 2018 -0400
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/AttachOnDemand/attach015/attach015Agent00.cpp Mon Oct 08 18:23:05 2018 -0400
@@ -97,7 +97,7 @@
memset(&eventCallbacks,0, sizeof(eventCallbacks));
eventCallbacks.ClassPrepare = classPrepareHandler;
- if (!NSK_JVMTI_VERIFY(NSK_CPP_STUB3(SetEventCallbacks, jvmti, &eventCallbacks, sizeof(eventCallbacks))) ) {
+ if (!NSK_JVMTI_VERIFY(jvmti->SetEventCallbacks(&eventCallbacks, sizeof(eventCallbacks))) ) {
return JNI_ERR;
}
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/AttachOnDemand/attach015/attach015Agent01.cpp Mon Oct 08 18:17:37 2018 -0400
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/AttachOnDemand/attach015/attach015Agent01.cpp Mon Oct 08 18:23:05 2018 -0400
@@ -97,7 +97,7 @@
memset(&eventCallbacks,0, sizeof(eventCallbacks));
eventCallbacks.ClassLoad = classLoadHandler;
- if (!NSK_JVMTI_VERIFY(NSK_CPP_STUB3(SetEventCallbacks, jvmti, &eventCallbacks, sizeof(eventCallbacks))) ) {
+ if (!NSK_JVMTI_VERIFY(jvmti->SetEventCallbacks(&eventCallbacks, sizeof(eventCallbacks))) ) {
return JNI_ERR;
}
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/AttachOnDemand/attach015/attach015Target.cpp Mon Oct 08 18:17:37 2018 -0400
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/AttachOnDemand/attach015/attach015Target.cpp Mon Oct 08 18:23:05 2018 -0400
@@ -37,7 +37,7 @@
*/
JNIEXPORT jboolean JNICALL
Java_nsk_jvmti_AttachOnDemand_attach015_attach015Target_loadClassFromNative(JNIEnv * jni, jclass klass) {
- return NSK_CPP_STUB2(FindClass, jni, LOADED_CLASS_NAME) ? JNI_TRUE : JNI_FALSE;
+ return jni->FindClass(LOADED_CLASS_NAME) ? JNI_TRUE : JNI_FALSE;
}
}
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/AttachOnDemand/attach020/attach020Agent00.cpp Mon Oct 08 18:17:37 2018 -0400
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/AttachOnDemand/attach020/attach020Agent00.cpp Mon Oct 08 18:23:05 2018 -0400
@@ -71,17 +71,15 @@
success = 0;
}
- if (NSK_JVMTI_VERIFY(NSK_CPP_STUB2(
- RawMonitorEnter, jvmti, gcFinishMonitor))) {
+ if (NSK_JVMTI_VERIFY(jvmti->RawMonitorEnter(gcFinishMonitor))) {
gcFinishEventReceived = 1;
- if (NSK_JVMTI_VERIFY(NSK_CPP_STUB2(
- RawMonitorNotify, jvmti, gcFinishMonitor))) {
+ if (NSK_JVMTI_VERIFY(jvmti->RawMonitorNotify(gcFinishMonitor))) {
auxiliaryThreadNotified = 1;
}
- if (!NSK_JVMTI_VERIFY(NSK_CPP_STUB2(RawMonitorExit, jvmti, gcFinishMonitor))) {
+ if (!NSK_JVMTI_VERIFY(jvmti->RawMonitorExit(gcFinishMonitor))) {
success = 0;
}
} else {
@@ -96,17 +94,15 @@
void JNICALL auxiliaryThreadFunction(jvmtiEnv* jvmti, JNIEnv* jni, void* arg) {
NSK_DISPLAY1("%s: auxiliary thread is running\n", agentName);
- if (NSK_JVMTI_VERIFY(NSK_CPP_STUB2(
- RawMonitorEnter, jvmti, gcFinishMonitor))) {
+ if (NSK_JVMTI_VERIFY(jvmti->RawMonitorEnter(gcFinishMonitor))) {
if (!gcFinishEventReceived) {
- if (!NSK_JVMTI_VERIFY(NSK_CPP_STUB3(
- RawMonitorWait, jvmti, gcFinishMonitor, 0))) {
+ if (!NSK_JVMTI_VERIFY(jvmti->RawMonitorWait(gcFinishMonitor, 0))) {
success = 0;
}
}
- if (!NSK_JVMTI_VERIFY(NSK_CPP_STUB2(RawMonitorExit, jvmti, gcFinishMonitor))) {
+ if (!NSK_JVMTI_VERIFY(jvmti->RawMonitorExit(gcFinishMonitor))) {
success = 0;
}
} else {
@@ -122,8 +118,7 @@
if (!NSK_VERIFY((thread = nsk_jvmti_aod_createThread(jni)) != NULL))
return NSK_FALSE;
- if (!NSK_JVMTI_VERIFY(NSK_CPP_STUB5(
- RunAgentThread, jvmti, thread, auxiliaryThreadFunction, NULL, JVMTI_THREAD_NORM_PRIORITY ))) {
+ if (!NSK_JVMTI_VERIFY(jvmti->RunAgentThread(thread, auxiliaryThreadFunction, NULL, JVMTI_THREAD_NORM_PRIORITY ))) {
return NSK_FALSE;
}
@@ -161,7 +156,7 @@
if (!NSK_VERIFY((jvmti = nsk_jvmti_createJVMTIEnv(vm, reserved)) != NULL))
return JNI_ERR;
- if (!NSK_JVMTI_VERIFY(NSK_CPP_STUB3(CreateRawMonitor, jvmti, "GCFinishMonitor", &gcFinishMonitor))) {
+ if (!NSK_JVMTI_VERIFY(jvmti->CreateRawMonitor("GCFinishMonitor", &gcFinishMonitor))) {
return JNI_ERR;
}
@@ -170,14 +165,14 @@
memset(&caps, 0, sizeof(caps));
caps.can_generate_garbage_collection_events = 1;
- if (!NSK_JVMTI_VERIFY(NSK_CPP_STUB2(AddCapabilities, jvmti, &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(NSK_CPP_STUB3(SetEventCallbacks, jvmti, &eventCallbacks, sizeof(eventCallbacks))) ) {
+ if (!NSK_JVMTI_VERIFY(jvmti->SetEventCallbacks(&eventCallbacks, sizeof(eventCallbacks))) ) {
return JNI_ERR;
}
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/AttachOnDemand/attach021/attach021Agent00.cpp Mon Oct 08 18:17:37 2018 -0400
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/AttachOnDemand/attach021/attach021Agent00.cpp Mon Oct 08 18:23:05 2018 -0400
@@ -56,7 +56,7 @@
JNIEXPORT jboolean JNICALL
Java_nsk_jvmti_AttachOnDemand_attach021_attach021Target_setTagFor(JNIEnv * jni,
jclass klass, jobject obj) {
- if (!NSK_JVMTI_VERIFY(NSK_CPP_STUB3(SetTag, jvmti, obj, TAG_VALUE))) {
+ if (!NSK_JVMTI_VERIFY(jvmti->SetTag(obj, TAG_VALUE))) {
return JNI_FALSE;
}
@@ -95,12 +95,12 @@
jint nativeMethodsNumber = 2;
if (!NSK_JNI_VERIFY(jni, (appClass =
- NSK_CPP_STUB2(FindClass, jni, ATTACH021_TARGET_APP_CLASS_NAME)) != NULL)) {
+ jni->FindClass(ATTACH021_TARGET_APP_CLASS_NAME)) != NULL)) {
return NSK_FALSE;
}
if (!NSK_JNI_VERIFY(jni,
- (NSK_CPP_STUB4(RegisterNatives, jni, appClass, nativeMethods, nativeMethodsNumber) == 0))) {
+ (jni->RegisterNatives(appClass, nativeMethods, nativeMethodsNumber) == 0))) {
return NSK_FALSE;
}
@@ -142,13 +142,13 @@
memset(&caps, 0, sizeof(caps));
caps.can_tag_objects = 1;
caps.can_generate_object_free_events = 1;
- if (!NSK_JVMTI_VERIFY(NSK_CPP_STUB2(AddCapabilities, jvmti, &caps)) ) {
+ if (!NSK_JVMTI_VERIFY(jvmti->AddCapabilities(&caps)) ) {
return JNI_ERR;
}
memset(&eventCallbacks,0, sizeof(eventCallbacks));
eventCallbacks.ObjectFree = objectFreeHandler;
- if (!NSK_JVMTI_VERIFY(NSK_CPP_STUB3(SetEventCallbacks, jvmti, &eventCallbacks, sizeof(eventCallbacks))) ) {
+ if (!NSK_JVMTI_VERIFY(jvmti->SetEventCallbacks(&eventCallbacks, sizeof(eventCallbacks))) ) {
return JNI_ERR;
}
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/AttachOnDemand/attach022/attach022Agent00.cpp Mon Oct 08 18:17:37 2018 -0400
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/AttachOnDemand/attach022/attach022Agent00.cpp Mon Oct 08 18:23:05 2018 -0400
@@ -84,12 +84,10 @@
void JNICALL objectFreeHandler(jvmtiEnv *jvmti, jlong tag) {
NSK_DISPLAY2("%s: ObjectFree event received (object tag: %ld)\n", agentName, tag);
- if (NSK_JVMTI_VERIFY(NSK_CPP_STUB2(
- RawMonitorEnter, jvmti, objectFreeMonitor))) {
-
+ if (NSK_JVMTI_VERIFY(jvmti->RawMonitorEnter(objectFreeMonitor))) {
freedObjectsCounter++;
- if (!NSK_JVMTI_VERIFY(NSK_CPP_STUB2(RawMonitorExit, jvmti, objectFreeMonitor))) {
+ if (!NSK_JVMTI_VERIFY(jvmti->RawMonitorExit(objectFreeMonitor))) {
success = 0;
}
} else {
@@ -107,12 +105,12 @@
jint nativeMethodsNumber = 1;
if (!NSK_JNI_VERIFY(jni, (appClass =
- NSK_CPP_STUB2(FindClass, jni, ATTACH022_TARGET_APP_CLASS_NAME)) != NULL)) {
+ jni->FindClass(ATTACH022_TARGET_APP_CLASS_NAME)) != NULL)) {
return NSK_FALSE;
}
if (!NSK_JNI_VERIFY(jni,
- (NSK_CPP_STUB4(RegisterNatives, jni, appClass, nativeMethods, nativeMethodsNumber) == 0))) {
+ (jni->RegisterNatives(appClass, nativeMethods, nativeMethodsNumber) == 0))) {
return NSK_FALSE;
}
@@ -136,12 +134,10 @@
NSK_DISPLAY2("%s: ObjectAlloc event received (object class: %s)\n", agentName, className);
if (!strcmp(className, OBJECTS_FOR_ALLOCATION_TEST_CLASS_NAME)) {
- if (NSK_JVMTI_VERIFY(NSK_CPP_STUB2(
- RawMonitorEnter, jvmti, objectTagMonitor))) {
+ if (NSK_JVMTI_VERIFY(jvmti->RawMonitorEnter(objectTagMonitor))) {
jlong tagValue = taggedObjectsCounter + 1;
-
- if (!NSK_JVMTI_VERIFY( NSK_CPP_STUB3(SetTag, jvmti, object, tagValue))) {
+ if (!NSK_JVMTI_VERIFY(jvmti->SetTag(object, tagValue))) {
NSK_COMPLAIN1("%s: failed to set tag\n", agentName);
success = 0;
} else {
@@ -149,7 +145,7 @@
taggedObjectsCounter++;
}
- if (!NSK_JVMTI_VERIFY(NSK_CPP_STUB2(RawMonitorExit, jvmti, objectTagMonitor))) {
+ if (!NSK_JVMTI_VERIFY(jvmti->RawMonitorExit(objectTagMonitor))) {
success = 0;
}
} else {
@@ -195,11 +191,11 @@
return JNI_ERR;
}
- if (!NSK_JVMTI_VERIFY(NSK_CPP_STUB3(CreateRawMonitor, jvmti, "ObjectTagMonitor", &objectTagMonitor))) {
+ if (!NSK_JVMTI_VERIFY(jvmti->CreateRawMonitor("ObjectTagMonitor", &objectTagMonitor))) {
return JNI_ERR;
}
- if (!NSK_JVMTI_VERIFY(NSK_CPP_STUB3(CreateRawMonitor, jvmti, "ObjectFreeMonitor", &objectFreeMonitor))) {
+ if (!NSK_JVMTI_VERIFY(jvmti->CreateRawMonitor("ObjectFreeMonitor", &objectFreeMonitor))) {
return JNI_ERR;
}
@@ -207,14 +203,14 @@
caps.can_tag_objects = 1;
caps.can_generate_object_free_events = 1;
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(&eventCallbacks,0, sizeof(eventCallbacks));
eventCallbacks.ObjectFree = objectFreeHandler;
eventCallbacks.VMObjectAlloc = vmObjectAllocHandler;
- if (!NSK_JVMTI_VERIFY(NSK_CPP_STUB3(SetEventCallbacks, jvmti, &eventCallbacks, sizeof(eventCallbacks))) ) {
+ if (!NSK_JVMTI_VERIFY(jvmti->SetEventCallbacks(&eventCallbacks, sizeof(eventCallbacks))) ) {
return JNI_ERR;
}
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/AttachOnDemand/attach037/attach037Agent00.cpp Mon Oct 08 18:17:37 2018 -0400
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/AttachOnDemand/attach037/attach037Agent00.cpp Mon Oct 08 18:23:05 2018 -0400
@@ -122,14 +122,14 @@
memset(&caps, 0, sizeof(caps));
caps.can_generate_monitor_events = 1;
- if (!NSK_JVMTI_VERIFY(NSK_CPP_STUB2(AddCapabilities, jvmti, &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(NSK_CPP_STUB3(SetEventCallbacks, jvmti, &eventCallbacks, sizeof(eventCallbacks))) ) {
+ if (!NSK_JVMTI_VERIFY(jvmti->SetEventCallbacks(&eventCallbacks, sizeof(eventCallbacks))) ) {
return JNI_ERR;
}
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/AttachOnDemand/attach038/attach038Agent00.cpp Mon Oct 08 18:17:37 2018 -0400
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/AttachOnDemand/attach038/attach038Agent00.cpp Mon Oct 08 18:23:05 2018 -0400
@@ -119,7 +119,7 @@
memset(&eventCallbacks,0, sizeof(eventCallbacks));
eventCallbacks.ThreadEnd = threadEndHandler;
eventCallbacks.ThreadStart = threadStartHandler;
- if (!NSK_JVMTI_VERIFY(NSK_CPP_STUB3(SetEventCallbacks, jvmti, &eventCallbacks, sizeof(eventCallbacks))) ) {
+ if (!NSK_JVMTI_VERIFY(jvmti->SetEventCallbacks(&eventCallbacks, sizeof(eventCallbacks))) ) {
return JNI_ERR;
}
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/AttachOnDemand/attach039/attach039Agent00.cpp Mon Oct 08 18:17:37 2018 -0400
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/AttachOnDemand/attach039/attach039Agent00.cpp Mon Oct 08 18:23:05 2018 -0400
@@ -68,8 +68,7 @@
if (!NSK_VERIFY((thread = nsk_jvmti_aod_createThreadWithName(jni, STARTED_THREAD_NAME)) != NULL))
return NSK_FALSE;
- if (!NSK_JVMTI_VERIFY(NSK_CPP_STUB5(
- RunAgentThread, jvmti, thread, startedThreadFunction, NULL, JVMTI_THREAD_NORM_PRIORITY ))) {
+ if (!NSK_JVMTI_VERIFY(jvmti->RunAgentThread(thread, startedThreadFunction, NULL, JVMTI_THREAD_NORM_PRIORITY ))) {
return NSK_FALSE;
}
@@ -155,7 +154,7 @@
memset(&eventCallbacks,0, sizeof(eventCallbacks));
eventCallbacks.ThreadEnd = threadEndHandler;
eventCallbacks.ThreadStart = threadStartHandler;
- if (!NSK_JVMTI_VERIFY(NSK_CPP_STUB3(SetEventCallbacks, jvmti, &eventCallbacks, sizeof(eventCallbacks))) ) {
+ if (!NSK_JVMTI_VERIFY(jvmti->SetEventCallbacks(&eventCallbacks, sizeof(eventCallbacks))) ) {
return JNI_ERR;
}
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/AttachOnDemand/attach040/attach040Agent00.cpp Mon Oct 08 18:17:37 2018 -0400
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/AttachOnDemand/attach040/attach040Agent00.cpp Mon Oct 08 18:23:05 2018 -0400
@@ -66,7 +66,7 @@
NSK_DISPLAY2("%s: ThreadStart event was received for thread '%s'\n", agentName, startedThreadName);
- if (NSK_JVMTI_VERIFY(NSK_CPP_STUB3(GetAllThreads, jvmti, &threadsCount, &threads))) {
+ if (NSK_JVMTI_VERIFY(jvmti->GetAllThreads(&threadsCount, &threads))) {
int startedThreadWasFound = 0;
for (i = 0; i < threadsCount; i++) {
@@ -94,8 +94,7 @@
}
if (strstr(startedThreadName, TEST_THREAD_NAME_PREFIX)) {
- if (NSK_JVMTI_VERIFY(NSK_CPP_STUB2(
- RawMonitorEnter, jvmti, threadsCounterMonitor))) {
+ if (NSK_JVMTI_VERIFY(jvmti->RawMonitorEnter(threadsCounterMonitor))) {
testThreadsCounter++;
@@ -103,7 +102,7 @@
nsk_jvmti_aod_disableEventAndFinish(agentName, JVMTI_EVENT_THREAD_START, success, jvmti, jni);
}
- if (!NSK_JVMTI_VERIFY(NSK_CPP_STUB2(RawMonitorExit, jvmti, threadsCounterMonitor))) {
+ if (!NSK_JVMTI_VERIFY(jvmti->RawMonitorExit(threadsCounterMonitor))) {
success = 0;
}
} else {
@@ -145,13 +144,13 @@
if (!NSK_VERIFY((jvmti = nsk_jvmti_createJVMTIEnv(vm, reserved)) != NULL))
return JNI_ERR;
- if (!NSK_JVMTI_VERIFY(NSK_CPP_STUB3(CreateRawMonitor, jvmti, "threadsCounterMonitor", &threadsCounterMonitor))) {
+ if (!NSK_JVMTI_VERIFY(jvmti->CreateRawMonitor("threadsCounterMonitor", &threadsCounterMonitor))) {
return JNI_ERR;
}
memset(&eventCallbacks,0, sizeof(eventCallbacks));
eventCallbacks.ThreadStart = threadStartHandler;
- if (!NSK_JVMTI_VERIFY(NSK_CPP_STUB3(SetEventCallbacks, jvmti, &eventCallbacks, sizeof(eventCallbacks))) ) {
+ if (!NSK_JVMTI_VERIFY(jvmti->SetEventCallbacks(&eventCallbacks, sizeof(eventCallbacks))) ) {
return JNI_ERR;
}
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/AttachOnDemand/attach041/attach041Agent00.cpp Mon Oct 08 18:17:37 2018 -0400
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/AttachOnDemand/attach041/attach041Agent00.cpp Mon Oct 08 18:23:05 2018 -0400
@@ -52,7 +52,7 @@
int i;
char threadGroupName[MAX_STRING_LENGTH];
- if(!NSK_JVMTI_VERIFY(NSK_CPP_STUB3(GetThreadGroupInfo, jvmti, group, &groupInfo))) {
+ if(!NSK_JVMTI_VERIFY(jvmti->GetThreadGroupInfo(group, &groupInfo))) {
return 0;
}
@@ -61,7 +61,7 @@
NSK_DISPLAY3("%s: trying to find thread '%s' in group '%s'\n", agentName, threadNameToFind, threadGroupName);
- if(!NSK_JVMTI_VERIFY(NSK_CPP_STUB6(GetThreadGroupChildren, jvmti, group, &threadsCount, &threads, &groupsCount, &groups))) {
+ if(!NSK_JVMTI_VERIFY(jvmti->GetThreadGroupChildren(group, &threadsCount, &threads, &groupsCount, &groups))) {
return 0;
}
@@ -118,7 +118,7 @@
jthreadGroup *topGroups;
int i;
- if(!NSK_JVMTI_VERIFY(NSK_CPP_STUB3(GetTopThreadGroups, jvmti, &groupsCount, &topGroups))) {
+ if(!NSK_JVMTI_VERIFY(jvmti->GetTopThreadGroups(&groupsCount, &topGroups))) {
NSK_COMPLAIN1("%s: failed to get top thread groups\n", agentName);
nsk_jvmti_aod_disableEventAndFinish(agentName, JVMTI_EVENT_THREAD_START, 0, jvmti, jni);
return;
@@ -172,7 +172,7 @@
memset(&eventCallbacks,0, sizeof(eventCallbacks));
eventCallbacks.ThreadStart = threadStartHandler;
- if (!NSK_JVMTI_VERIFY(NSK_CPP_STUB3(SetEventCallbacks, jvmti, &eventCallbacks, sizeof(eventCallbacks))) ) {
+ if (!NSK_JVMTI_VERIFY(jvmti->SetEventCallbacks(&eventCallbacks, sizeof(eventCallbacks))) ) {
return JNI_ERR;
}
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/AttachOnDemand/attach042/attach042Agent00.cpp Mon Oct 08 18:17:37 2018 -0400
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/AttachOnDemand/attach042/attach042Agent00.cpp Mon Oct 08 18:23:05 2018 -0400
@@ -62,7 +62,7 @@
int i;
int startedThreadWasFound = 0;
- if(!NSK_JVMTI_VERIFY(NSK_CPP_STUB3(GetAllThreads, jvmti, &threadsCount, &threads))) {
+ if(!NSK_JVMTI_VERIFY(jvmti->GetAllThreads(&threadsCount, &threads))) {
NSK_COMPLAIN1("%s: failed to get all threads\n", agentName);
nsk_jvmti_aod_disableEventAndFinish(agentName, JVMTI_EVENT_THREAD_START, 0, jvmti, jni);
return;
@@ -85,7 +85,7 @@
startedThreadWasFound = 1;
}
- if (!NSK_JVMTI_VERIFY(NSK_CPP_STUB3(GetThreadState, jvmti, threads[i], &threadState))) {
+ if (!NSK_JVMTI_VERIFY(jvmti->GetThreadState(threads[i], &threadState))) {
NSK_COMPLAIN2("%s: failed to get status of thread '%s'\n", agentName, threadName);
nsk_jvmti_aod_deallocate(jvmti, (unsigned char*)threads);
nsk_jvmti_aod_disableEventAndFinish(agentName, JVMTI_EVENT_THREAD_START, 0, jvmti, jni);
@@ -136,7 +136,7 @@
memset(&eventCallbacks,0, sizeof(eventCallbacks));
eventCallbacks.ThreadStart = threadStartHandler;
- if (!NSK_JVMTI_VERIFY(NSK_CPP_STUB3(SetEventCallbacks, jvmti, &eventCallbacks, sizeof(eventCallbacks))) ) {
+ if (!NSK_JVMTI_VERIFY(jvmti->SetEventCallbacks(&eventCallbacks, sizeof(eventCallbacks))) ) {
return JNI_ERR;
}
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/AttachOnDemand/attach045/attach045Agent00.cpp Mon Oct 08 18:17:37 2018 -0400
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/AttachOnDemand/attach045/attach045Agent00.cpp Mon Oct 08 18:23:05 2018 -0400
@@ -57,8 +57,7 @@
return;
}
- if (NSK_JVMTI_VERIFY(NSK_CPP_STUB2(
- RawMonitorEnter, jvmti, eventsCounterMonitor))) {
+ if (NSK_JVMTI_VERIFY(jvmti->RawMonitorEnter(eventsCounterMonitor))) {
eventsCounter++;
@@ -69,7 +68,7 @@
nsk_jvmti_aod_disableEventAndFinish(agentName, JVMTI_EVENT_CLASS_LOAD, success, jvmti, jni);
}
- if (!NSK_JVMTI_VERIFY(NSK_CPP_STUB2(RawMonitorExit, jvmti, eventsCounterMonitor))) {
+ if (!NSK_JVMTI_VERIFY(jvmti->RawMonitorExit(eventsCounterMonitor))) {
success = 0;
}
} else {
@@ -109,13 +108,13 @@
if (!NSK_VERIFY((jvmti = nsk_jvmti_createJVMTIEnv(vm, reserved)) != NULL))
return JNI_ERR;
- if (!NSK_JVMTI_VERIFY(NSK_CPP_STUB3(CreateRawMonitor, jvmti, "attach045-agent00-eventsCounterMonitor", &eventsCounterMonitor))) {
+ if (!NSK_JVMTI_VERIFY(jvmti->CreateRawMonitor("attach045-agent00-eventsCounterMonitor", &eventsCounterMonitor))) {
return JNI_ERR;
}
memset(&eventCallbacks,0, sizeof(eventCallbacks));
eventCallbacks.ClassLoad = classLoadHandler;
- if (!NSK_JVMTI_VERIFY(NSK_CPP_STUB3(SetEventCallbacks, jvmti, &eventCallbacks, sizeof(eventCallbacks))) ) {
+ if (!NSK_JVMTI_VERIFY(jvmti->SetEventCallbacks(&eventCallbacks, sizeof(eventCallbacks))) ) {
return JNI_ERR;
}
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/AttachOnDemand/attach045/attach045Agent01.cpp Mon Oct 08 18:17:37 2018 -0400
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/AttachOnDemand/attach045/attach045Agent01.cpp Mon Oct 08 18:23:05 2018 -0400
@@ -59,7 +59,7 @@
return;
}
- if (!NSK_JVMTI_VERIFY(NSK_CPP_STUB3(GetLoadedClasses, jvmti, &loadedClassesCount, &loadedClasses))) {
+ if (!NSK_JVMTI_VERIFY(jvmti->GetLoadedClasses(&loadedClassesCount, &loadedClasses))) {
NSK_COMPLAIN1("%s: failed to get loaded classes\n", agentName);
nsk_jvmti_aod_disableEventAndFinish(agentName, JVMTI_EVENT_CLASS_PREPARE, 0, jvmti, jni);
return;
@@ -67,8 +67,7 @@
nsk_jvmti_aod_deallocate(jvmti, (unsigned char*)loadedClasses);
- if (NSK_JVMTI_VERIFY(NSK_CPP_STUB2(
- RawMonitorEnter, jvmti, eventsCounterMonitor))) {
+ if (NSK_JVMTI_VERIFY(jvmti->RawMonitorEnter(eventsCounterMonitor))) {
eventsCounter++;
@@ -80,7 +79,7 @@
nsk_jvmti_aod_disableEventAndFinish(agentName, JVMTI_EVENT_CLASS_PREPARE, success, jvmti, jni);
}
- if (!NSK_JVMTI_VERIFY(NSK_CPP_STUB2(RawMonitorExit, jvmti, eventsCounterMonitor))) {
+ if (!NSK_JVMTI_VERIFY(jvmti->RawMonitorExit(eventsCounterMonitor))) {
success = 0;
}
} else {
@@ -120,13 +119,13 @@
if (!NSK_VERIFY((jvmti = nsk_jvmti_createJVMTIEnv(vm, reserved)) != NULL))
return JNI_ERR;
- if (!NSK_JVMTI_VERIFY(NSK_CPP_STUB3(CreateRawMonitor, jvmti, "attach045-agent01-eventsCounterMonitor", &eventsCounterMonitor))) {
+ if (!NSK_JVMTI_VERIFY(jvmti->CreateRawMonitor("attach045-agent01-eventsCounterMonitor", &eventsCounterMonitor))) {
return JNI_ERR;
}
memset(&eventCallbacks,0, sizeof(eventCallbacks));
eventCallbacks.ClassPrepare = classPrepareHandler;
- if (!NSK_JVMTI_VERIFY(NSK_CPP_STUB3(SetEventCallbacks, jvmti, &eventCallbacks, sizeof(eventCallbacks))) ) {
+ if (!NSK_JVMTI_VERIFY(jvmti->SetEventCallbacks(&eventCallbacks, sizeof(eventCallbacks))) ) {
return JNI_ERR;
}
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/AttachOnDemand/attach045/attach045Agent02.cpp Mon Oct 08 18:17:37 2018 -0400
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/AttachOnDemand/attach045/attach045Agent02.cpp Mon Oct 08 18:23:05 2018 -0400
@@ -62,7 +62,7 @@
return;
}
- if (!NSK_JVMTI_VERIFY(NSK_CPP_STUB3(GetAllThreads, jvmti, &threadsCount, &threads))) {
+ if (!NSK_JVMTI_VERIFY(jvmti->GetAllThreads(&threadsCount, &threads))) {
NSK_COMPLAIN1("%s: failed to get all threads\n", agentName);
nsk_jvmti_aod_disableEventsAndFinish(agentName, testEvents, testEventsNumber, 0, jvmti, jni);
return;
@@ -70,8 +70,7 @@
nsk_jvmti_aod_deallocate(jvmti, (unsigned char*)threads);
- if (NSK_JVMTI_VERIFY(NSK_CPP_STUB2(
- RawMonitorEnter, jvmti, eventsCounterMonitor))) {
+ if (NSK_JVMTI_VERIFY(jvmti->RawMonitorEnter(eventsCounterMonitor))) {
eventsCounter++;
@@ -86,7 +85,7 @@
nsk_jvmti_aod_disableEventsAndFinish(agentName, testEvents, testEventsNumber, success, jvmti, jni);
}
- if (!NSK_JVMTI_VERIFY(NSK_CPP_STUB2(RawMonitorExit, jvmti, eventsCounterMonitor))) {
+ if (!NSK_JVMTI_VERIFY(jvmti->RawMonitorExit(eventsCounterMonitor))) {
success = 0;
}
} else {
@@ -140,14 +139,14 @@
if (!NSK_VERIFY((jvmti = nsk_jvmti_createJVMTIEnv(vm, reserved)) != NULL))
return JNI_ERR;
- if (!NSK_JVMTI_VERIFY(NSK_CPP_STUB3(CreateRawMonitor, jvmti, "attach045-agent02-eventsCounterMonitor", &eventsCounterMonitor))) {
+ if (!NSK_JVMTI_VERIFY(jvmti->CreateRawMonitor("attach045-agent02-eventsCounterMonitor", &eventsCounterMonitor))) {
return JNI_ERR;
}
memset(&eventCallbacks,0, sizeof(eventCallbacks));
eventCallbacks.ThreadStart = threadStartHandler;
eventCallbacks.ThreadEnd = threadEndHandler;
- if (!NSK_JVMTI_VERIFY(NSK_CPP_STUB3(SetEventCallbacks, jvmti, &eventCallbacks, sizeof(eventCallbacks))) ) {
+ if (!NSK_JVMTI_VERIFY(jvmti->SetEventCallbacks(&eventCallbacks, sizeof(eventCallbacks))) ) {
return JNI_ERR;
}
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/AttachOnDemand/attach045/attach045Agent03.cpp Mon Oct 08 18:17:37 2018 -0400
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/AttachOnDemand/attach045/attach045Agent03.cpp Mon Oct 08 18:23:05 2018 -0400
@@ -68,8 +68,7 @@
return;
}
- if (NSK_JVMTI_VERIFY(NSK_CPP_STUB2(
- RawMonitorEnter, jvmti, eventsCounterMonitor))) {
+ if (NSK_JVMTI_VERIFY(jvmti->RawMonitorEnter(eventsCounterMonitor))) {
eventsCounter++;
@@ -79,7 +78,7 @@
if ((eventsCounter % 10) == 0) {
NSK_DISPLAY1("%s: force garbage collection\n", agentName);
- if (!NSK_JVMTI_VERIFY(NSK_CPP_STUB1(ForceGarbageCollection, jvmti)))
+ if (!NSK_JVMTI_VERIFY(jvmti->ForceGarbageCollection()))
success = 0;
}
@@ -89,7 +88,7 @@
nsk_jvmti_aod_disableEventsAndFinish(agentName, testEvents, testEventsNumber, success, jvmti, jni);
}
- if (!NSK_JVMTI_VERIFY(NSK_CPP_STUB2(RawMonitorExit, jvmti, eventsCounterMonitor))) {
+ if (!NSK_JVMTI_VERIFY(jvmti->RawMonitorExit(eventsCounterMonitor))) {
success = 0;
}
} else {
@@ -130,19 +129,19 @@
if (!NSK_VERIFY((jvmti = nsk_jvmti_createJVMTIEnv(vm, reserved)) != NULL))
return JNI_ERR;
- if (!NSK_JVMTI_VERIFY(NSK_CPP_STUB3(CreateRawMonitor, jvmti, "attach045-agent03-eventsCounterMonitor", &eventsCounterMonitor))) {
+ if (!NSK_JVMTI_VERIFY(jvmti->CreateRawMonitor("attach045-agent03-eventsCounterMonitor", &eventsCounterMonitor))) {
return JNI_ERR;
}
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(&eventCallbacks,0, sizeof(eventCallbacks));
eventCallbacks.VMObjectAlloc = VMObjectAllocHandler;
- if (!NSK_JVMTI_VERIFY(NSK_CPP_STUB3(SetEventCallbacks, jvmti, &eventCallbacks, sizeof(eventCallbacks))) ) {
+ if (!NSK_JVMTI_VERIFY(jvmti->SetEventCallbacks(&eventCallbacks, sizeof(eventCallbacks))) ) {
return JNI_ERR;
}
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/AttachOnDemand/attach046/attach046Agent00.cpp Mon Oct 08 18:17:37 2018 -0400
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/AttachOnDemand/attach046/attach046Agent00.cpp Mon Oct 08 18:23:05 2018 -0400
@@ -113,13 +113,13 @@
memset(&caps, 0, sizeof(caps));
caps.can_redefine_classes = 1;
- if (!NSK_JVMTI_VERIFY(NSK_CPP_STUB2(AddCapabilities, jvmti, &caps)) ) {
+ if (!NSK_JVMTI_VERIFY(jvmti->AddCapabilities(&caps)) ) {
return JNI_ERR;
}
memset(&eventCallbacks,0, sizeof(eventCallbacks));
eventCallbacks.ClassLoad = classLoadHandler;
- if (!NSK_JVMTI_VERIFY(NSK_CPP_STUB3(SetEventCallbacks, jvmti, &eventCallbacks, sizeof(eventCallbacks))) ) {
+ if (!NSK_JVMTI_VERIFY(jvmti->SetEventCallbacks(&eventCallbacks, sizeof(eventCallbacks))) ) {
return JNI_ERR;
}
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/Breakpoint/breakpoint001/breakpoint001.cpp Mon Oct 08 18:17:37 2018 -0400
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/Breakpoint/breakpoint001/breakpoint001.cpp Mon Oct 08 18:23:05 2018 -0400
@@ -67,15 +67,11 @@
int i;
for (i=0; i<METH_NUM; i++) {
- if (!NSK_JNI_VERIFY(env, (mid = NSK_CPP_STUB4(GetMethodID,
- env, klass, METHODS[i][0], METHODS[i][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[i][0], METHODS[i][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");
}
}
@@ -88,10 +84,8 @@
if (vm_started) {
// GetClassSignature may be called only during the start or the live phase
- 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(
@@ -117,8 +111,7 @@
NSK_DISPLAY0(">>>> Breakpoint event received\n");
/* checking thread info */
- if (!NSK_JVMTI_VERIFY(NSK_CPP_STUB3(GetThreadInfo,
- jvmti_env, thread, &thr_info))) {
+ if (!NSK_JVMTI_VERIFY(jvmti_env->GetThreadInfo(thread, &thr_info))) {
result = STATUS_FAILED;
NSK_COMPLAIN0("TEST FAILED: unable to get thread info during Breakpoint callback\n\n");
return;
@@ -148,14 +141,12 @@
(long) location);
/* checking method info */
- if (!NSK_JVMTI_VERIFY(NSK_CPP_STUB3(GetMethodDeclaringClass,
- jvmti_env, method, &klass))) {
+ if (!NSK_JVMTI_VERIFY(jvmti_env->GetMethodDeclaringClass(method, &klass))) {
result = checkStatus = STATUS_FAILED;
NSK_COMPLAIN0("TEST FAILED: unable to get method declaring class during Breakpoint callback\n\n");
return;
}
- if (!NSK_JVMTI_VERIFY(NSK_CPP_STUB4(GetClassSignature,
- jvmti_env, klass, &clsSig, &generic))) {
+ if (!NSK_JVMTI_VERIFY(jvmti_env->GetClassSignature(klass, &clsSig, &generic))) {
result = checkStatus = STATUS_FAILED;
NSK_COMPLAIN0("TEST FAILED: unable to obtain a class signature during Breakpoint callback\n\n");
return;
@@ -172,8 +163,7 @@
NSK_DISPLAY1("CHECK PASSED: class signature: \"%s\"\n",
clsSig);
- 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 = checkStatus = STATUS_FAILED;
NSK_COMPLAIN0("TEST FAILED: unable to get method name during Breakpoint callback\n\n");
return;
@@ -189,13 +179,11 @@
break;
}
- 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");
}
@@ -265,12 +253,10 @@
/* add capability to generate compiled method events */
memset(&caps, 0, sizeof(jvmtiCapabilities));
caps.can_generate_breakpoint_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)
@@ -282,20 +268,16 @@
callbacks.ClassLoad = &ClassLoad;
callbacks.Breakpoint = &Breakpoint;
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");
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/ClassFileLoadHook/classfloadhk001/classfloadhk001.cpp Mon Oct 08 18:17:37 2018 -0400
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/ClassFileLoadHook/classfloadhk001/classfloadhk001.cpp Mon Oct 08 18:23:05 2018 -0400
@@ -93,13 +93,11 @@
NSK_DISPLAY0("setting event callbacks ...\n");
(void) memset(&callbacks, 0, sizeof(callbacks));
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;
NSK_DISPLAY0("setting event callbacks done\nenabling ClassFileLoadHook event ...\n");
- 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;
NSK_DISPLAY0("enabling ClassFileLoadHook event done\n");
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/ClassFileLoadHook/classfloadhk002/classfloadhk002.cpp Mon Oct 08 18:17:37 2018 -0400
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/ClassFileLoadHook/classfloadhk002/classfloadhk002.cpp Mon Oct 08 18:23:05 2018 -0400
@@ -122,7 +122,7 @@
NSK_DISPLAY1("Find static field: %s\n", fieldName);
if (!NSK_JNI_VERIFY(jni, (fieldID =
- NSK_CPP_STUB4(GetStaticFieldID, jni, cls, fieldName, fieldSig)) != NULL)) {
+ jni->GetStaticFieldID(cls, fieldName, fieldSig)) != NULL)) {
nsk_jvmti_setFailStatus();
return NSK_FALSE;
}
@@ -130,14 +130,13 @@
NSK_DISPLAY1("Get classfile bytes array from static field: %s\n", fieldName);
if (!NSK_JNI_VERIFY(jni, (array = (jbyteArray)
- NSK_CPP_STUB3(GetStaticObjectField, jni, cls, fieldID)) != NULL)) {
+ jni->GetStaticObjectField(cls, fieldID)) != NULL)) {
nsk_jvmti_setFailStatus();
return NSK_FALSE;
}
NSK_DISPLAY1(" ... got array object: 0x%p\n", (void*)array);
- if (!NSK_JNI_VERIFY(jni, (*size =
- NSK_CPP_STUB2(GetArrayLength, jni, array)) > 0)) {
+ if (!NSK_JNI_VERIFY(jni, (*size = jni->GetArrayLength(array)) > 0)) {
nsk_jvmti_setFailStatus();
return NSK_FALSE;
}
@@ -145,17 +144,14 @@
{
jboolean isCopy;
- if (!NSK_JNI_VERIFY(jni, (elements =
- NSK_CPP_STUB3(GetByteArrayElements, jni, array,
- &isCopy)) != NULL)) {
+ if (!NSK_JNI_VERIFY(jni, (elements = jni->GetByteArrayElements(array, &isCopy)) != NULL)) {
nsk_jvmti_setFailStatus();
return NSK_FALSE;
}
}
NSK_DISPLAY1(" ... got elements list: 0x%p\n", (void*)elements);
- if (!NSK_JVMTI_VERIFY(
- NSK_CPP_STUB3(Allocate, jvmti, *size, bytes))) {
+ if (!NSK_JVMTI_VERIFY(jvmti->Allocate(*size, bytes))) {
nsk_jvmti_setFailStatus();
return NSK_FALSE;
}
@@ -167,7 +163,7 @@
NSK_DISPLAY1(" ... copied bytecode: %d bytes\n", (int)*size);
NSK_DISPLAY1("Release elements list: 0x%p\n", (void*)elements);
- NSK_TRACE(NSK_CPP_STUB4(ReleaseByteArrayElements, jni, array, elements, JNI_ABORT));
+ NSK_TRACE(jni->ReleaseByteArrayElements(array, elements, JNI_ABORT));
NSK_DISPLAY0(" ... released\n");
return NSK_TRUE;
@@ -190,7 +186,7 @@
NSK_DISPLAY1("Find debugee class: %s\n", DEBUGEE_CLASS_NAME);
if (!NSK_JNI_VERIFY(jni, (debugeeClass =
- NSK_CPP_STUB2(FindClass, jni, DEBUGEE_CLASS_NAME)) != NULL)) {
+ jni->FindClass(DEBUGEE_CLASS_NAME)) != NULL)) {
nsk_jvmti_setFailStatus();
return;
}
@@ -240,8 +236,7 @@
NSK_DISPLAY0(">>> Clean used data\n");
{
NSK_DISPLAY1("Deallocate bytecode array: 0x%p\n", (void*)origClassBytes);
- if (!NSK_JVMTI_VERIFY(
- NSK_CPP_STUB2(Deallocate, jvmti, origClassBytes))) {
+ if (!NSK_JVMTI_VERIFY(jvmti->Deallocate(origClassBytes))) {
nsk_jvmti_setFailStatus();
}
}
@@ -318,8 +313,7 @@
memset(&caps, 0, sizeof(caps));
caps.can_generate_all_class_hook_events = 1;
- if (!NSK_JVMTI_VERIFY(
- NSK_CPP_STUB2(AddCapabilities, jvmti, &caps))) {
+ if (!NSK_JVMTI_VERIFY(jvmti->AddCapabilities(&caps))) {
return JNI_ERR;
}
}
@@ -332,8 +326,7 @@
memset(&callbacks, 0, sizeof(callbacks));
callbacks.ClassFileLoadHook = callbackClassFileLoadHook;
- if (!NSK_JVMTI_VERIFY(
- NSK_CPP_STUB3(SetEventCallbacks, jvmti, &callbacks, size))) {
+ if (!NSK_JVMTI_VERIFY(jvmti->SetEventCallbacks(&callbacks, size))) {
return JNI_ERR;
}
}
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/ClassFileLoadHook/classfloadhk003/classfloadhk003.cpp Mon Oct 08 18:17:37 2018 -0400
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/ClassFileLoadHook/classfloadhk003/classfloadhk003.cpp Mon Oct 08 18:23:05 2018 -0400
@@ -127,7 +127,7 @@
NSK_DISPLAY1("Find static field: %s\n", fieldName);
if (!NSK_JNI_VERIFY(jni, (fieldID =
- NSK_CPP_STUB4(GetStaticFieldID, jni, cls, fieldName, fieldSig)) != NULL)) {
+ jni->GetStaticFieldID(cls, fieldName, fieldSig)) != NULL)) {
nsk_jvmti_setFailStatus();
return NSK_FALSE;
}
@@ -135,14 +135,13 @@
NSK_DISPLAY1("Get classfile bytes array from static field: %s\n", fieldName);
if (!NSK_JNI_VERIFY(jni, (array = (jbyteArray)
- NSK_CPP_STUB3(GetStaticObjectField, jni, cls, fieldID)) != NULL)) {
+ jni->GetStaticObjectField(cls, fieldID)) != NULL)) {
nsk_jvmti_setFailStatus();
return NSK_FALSE;
}
NSK_DISPLAY1(" ... got array object: 0x%p\n", (void*)array);
- if (!NSK_JNI_VERIFY(jni, (*size =
- NSK_CPP_STUB2(GetArrayLength, jni, array)) > 0)) {
+ if (!NSK_JNI_VERIFY(jni, (*size = jni->GetArrayLength(array)) > 0)) {
nsk_jvmti_setFailStatus();
return NSK_FALSE;
}
@@ -150,17 +149,14 @@
{
jboolean isCopy;
- if (!NSK_JNI_VERIFY(jni, (elements =
- NSK_CPP_STUB3(GetByteArrayElements, jni, array,
- &isCopy)) != NULL)) {
+ if (!NSK_JNI_VERIFY(jni, (elements = jni->GetByteArrayElements(array, &isCopy)) != NULL)) {
nsk_jvmti_setFailStatus();
return NSK_FALSE;
}
}
NSK_DISPLAY1(" ... got elements list: 0x%p\n", (void*)elements);
- if (!NSK_JVMTI_VERIFY(
- NSK_CPP_STUB3(Allocate, jvmti, *size, bytes))) {
+ if (!NSK_JVMTI_VERIFY(jvmti->Allocate(*size, bytes))) {
nsk_jvmti_setFailStatus();
return NSK_FALSE;
}
@@ -172,7 +168,7 @@
NSK_DISPLAY1(" ... copied bytecode: %d bytes\n", (int)*size);
NSK_DISPLAY1("Release elements list: 0x%p\n", (void*)elements);
- NSK_TRACE(NSK_CPP_STUB4(ReleaseByteArrayElements, jni, array, elements, JNI_ABORT));
+ NSK_TRACE(jni->ReleaseByteArrayElements(array, elements, JNI_ABORT));
NSK_DISPLAY0(" ... released\n");
return NSK_TRUE;
@@ -187,23 +183,21 @@
NSK_DISPLAY1("Find static field: %s\n", fieldName);
if (!NSK_JNI_VERIFY(jni, (fieldID =
- NSK_CPP_STUB4(GetStaticFieldID, jni, cls, fieldName, fieldSig)) != NULL)) {
+ jni->GetStaticFieldID(cls, fieldName, fieldSig)) != NULL)) {
nsk_jvmti_setFailStatus();
return NULL;
}
NSK_DISPLAY1(" ... got fieldID: 0x%p\n", (void*)fieldID);
NSK_DISPLAY1("Get object from static field: %s\n", fieldName);
- if (!NSK_JNI_VERIFY(jni, (obj =
- NSK_CPP_STUB3(GetStaticObjectField, jni, cls, fieldID)) != NULL)) {
+ if (!NSK_JNI_VERIFY(jni, (obj = jni->GetStaticObjectField(cls, fieldID)) != NULL)) {
nsk_jvmti_setFailStatus();
return NULL;
}
NSK_DISPLAY1(" ... got object: 0x%p\n", (void*)obj);
NSK_DISPLAY1("Make global reference to object: 0x%p\n", obj);
- if (!NSK_JNI_VERIFY(jni, (obj =
- NSK_CPP_STUB2(NewGlobalRef, jni, obj)) != NULL)) {
+ if (!NSK_JNI_VERIFY(jni, (obj = jni->NewGlobalRef(obj)) != NULL)) {
nsk_jvmti_setFailStatus();
return NULL;
}
@@ -229,7 +223,7 @@
NSK_DISPLAY0(">>> Obtain debuggee class\n");
NSK_DISPLAY1("Find debugee class: %s\n", DEBUGEE_CLASS_NAME);
if (!NSK_JNI_VERIFY(jni, (debugeeClass =
- NSK_CPP_STUB2(FindClass, jni, DEBUGEE_CLASS_NAME)) != NULL)) {
+ jni->FindClass(DEBUGEE_CLASS_NAME)) != NULL)) {
nsk_jvmti_setFailStatus();
return;
}
@@ -286,11 +280,10 @@
NSK_DISPLAY0(">>> Clean used data\n");
{
NSK_DISPLAY1("Delete global reference to classloader object: 0x%p\n", (void*)classLoader);
- NSK_CPP_STUB2(DeleteGlobalRef, jni, classLoader);
+ jni->DeleteGlobalRef(classLoader);
NSK_DISPLAY1("Deallocate classfile bytes array: 0x%p\n", (void*)origClassBytes);
- if (!NSK_JVMTI_VERIFY(
- NSK_CPP_STUB2(Deallocate, jvmti, origClassBytes))) {
+ if (!NSK_JVMTI_VERIFY(jvmti->Deallocate(origClassBytes))) {
nsk_jvmti_setFailStatus();
}
}
@@ -331,7 +324,7 @@
NSK_COMPLAIN1("Unexpected NULL classloader in CLASS_FILE_LOAD_HOOK: 0x%p\n",
(void*)loader);
nsk_jvmti_setFailStatus();
- } else if (!NSK_CPP_STUB3(IsSameObject, jni, loader, classLoader)) {
+ } else if (!jni->IsSameObject(loader, classLoader)) {
NSK_COMPLAIN2("Unexpected classloader in CLASS_FILE_LOAD_HOOK for tested class:\n"
"# got classloder: 0x%p\n"
"# expected same as: 0x%p\n",
@@ -380,8 +373,7 @@
memset(&caps, 0, sizeof(caps));
caps.can_generate_all_class_hook_events = 1;
- if (!NSK_JVMTI_VERIFY(
- NSK_CPP_STUB2(AddCapabilities, jvmti, &caps))) {
+ if (!NSK_JVMTI_VERIFY(jvmti->AddCapabilities(&caps))) {
return JNI_ERR;
}
}
@@ -394,8 +386,7 @@
memset(&callbacks, 0, sizeof(callbacks));
callbacks.ClassFileLoadHook = callbackClassFileLoadHook;
- if (!NSK_JVMTI_VERIFY(
- NSK_CPP_STUB3(SetEventCallbacks, jvmti, &callbacks, size))) {
+ if (!NSK_JVMTI_VERIFY(jvmti->SetEventCallbacks(&callbacks, size))) {
return JNI_ERR;
}
}
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/ClassFileLoadHook/classfloadhk004/classfloadhk004.cpp Mon Oct 08 18:17:37 2018 -0400
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/ClassFileLoadHook/classfloadhk004/classfloadhk004.cpp Mon Oct 08 18:23:05 2018 -0400
@@ -61,7 +61,7 @@
NSK_DISPLAY1("Find static field: %s\n", fieldName);
if (!NSK_JNI_VERIFY(jni, (fieldID =
- NSK_CPP_STUB4(GetStaticFieldID, jni, cls, fieldName, fieldSig)) != NULL)) {
+ jni->GetStaticFieldID(cls, fieldName, fieldSig)) != NULL)) {
nsk_jvmti_setFailStatus();
return NSK_FALSE;
}
@@ -69,14 +69,13 @@
NSK_DISPLAY1("Get classfile bytes array from static field: %s\n", fieldName);
if (!NSK_JNI_VERIFY(jni, (array = (jbyteArray)
- NSK_CPP_STUB3(GetStaticObjectField, jni, cls, fieldID)) != NULL)) {
+ jni->GetStaticObjectField(cls, fieldID)) != NULL)) {
nsk_jvmti_setFailStatus();
return NSK_FALSE;
}
NSK_DISPLAY1(" ... got array object: 0x%p\n", (void*)array);
- if (!NSK_JNI_VERIFY(jni, (*size =
- NSK_CPP_STUB2(GetArrayLength, jni, array)) > 0)) {
+ if (!NSK_JNI_VERIFY(jni, (*size = jni->GetArrayLength(array)) > 0)) {
nsk_jvmti_setFailStatus();
return NSK_FALSE;
}
@@ -84,17 +83,14 @@
{
jboolean isCopy;
- if (!NSK_JNI_VERIFY(jni, (elements =
- NSK_CPP_STUB3(GetByteArrayElements, jni, array,
- &isCopy)) != NULL)) {
+ if (!NSK_JNI_VERIFY(jni, (elements = jni->GetByteArrayElements(array, &isCopy)) != NULL)) {
nsk_jvmti_setFailStatus();
return NSK_FALSE;
}
}
NSK_DISPLAY1(" ... got elements list: 0x%p\n", (void*)elements);
- if (!NSK_JVMTI_VERIFY(
- NSK_CPP_STUB3(Allocate, jvmti, *size, bytes))) {
+ if (!NSK_JVMTI_VERIFY(jvmti->Allocate(*size, bytes))) {
nsk_jvmti_setFailStatus();
return NSK_FALSE;
}
@@ -106,7 +102,7 @@
NSK_DISPLAY1(" ... copied bytecode: %d bytes\n", (int)*size);
NSK_DISPLAY1("Release elements list: 0x%p\n", (void*)elements);
- NSK_TRACE(NSK_CPP_STUB4(ReleaseByteArrayElements, jni, array, elements, JNI_ABORT));
+ NSK_TRACE(jni->ReleaseByteArrayElements(array, elements, JNI_ABORT));
NSK_DISPLAY0(" ... released\n");
return NSK_TRUE;
@@ -129,7 +125,7 @@
NSK_DISPLAY1("Find debugee class: %s\n", DEBUGEE_CLASS_NAME);
if (!NSK_JNI_VERIFY(jni, (debugeeClass =
- NSK_CPP_STUB2(FindClass, jni, DEBUGEE_CLASS_NAME)) != NULL)) {
+ jni->FindClass(DEBUGEE_CLASS_NAME)) != NULL)) {
nsk_jvmti_setFailStatus();
return;
}
@@ -271,8 +267,7 @@
memset(&caps, 0, sizeof(caps));
caps.can_generate_all_class_hook_events = 1;
- if (!NSK_JVMTI_VERIFY(
- NSK_CPP_STUB2(AddCapabilities, jvmti, &caps))) {
+ if (!NSK_JVMTI_VERIFY(jvmti->AddCapabilities(&caps))) {
return JNI_ERR;
}
}
@@ -285,8 +280,7 @@
memset(&callbacks, 0, sizeof(callbacks));
callbacks.ClassFileLoadHook = callbackClassFileLoadHook;
- if (!NSK_JVMTI_VERIFY(
- NSK_CPP_STUB3(SetEventCallbacks, jvmti, &callbacks, size))) {
+ if (!NSK_JVMTI_VERIFY(jvmti->SetEventCallbacks(&callbacks, size))) {
return JNI_ERR;
}
}
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/ClassFileLoadHook/classfloadhk005/classfloadhk005.cpp Mon Oct 08 18:17:37 2018 -0400
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/ClassFileLoadHook/classfloadhk005/classfloadhk005.cpp Mon Oct 08 18:23:05 2018 -0400
@@ -123,7 +123,7 @@
NSK_DISPLAY1("Find static field: %s\n", fieldName);
if (!NSK_JNI_VERIFY(jni, (fieldID =
- NSK_CPP_STUB4(GetStaticFieldID, jni, cls, fieldName, fieldSig)) != NULL)) {
+ jni->GetStaticFieldID(cls, fieldName, fieldSig)) != NULL)) {
nsk_jvmti_setFailStatus();
return NSK_FALSE;
}
@@ -131,14 +131,13 @@
NSK_DISPLAY1("Get classfile bytes array from static field: %s\n", fieldName);
if (!NSK_JNI_VERIFY(jni, (array = (jbyteArray)
- NSK_CPP_STUB3(GetStaticObjectField, jni, cls, fieldID)) != NULL)) {
+ jni->GetStaticObjectField(cls, fieldID)) != NULL)) {
nsk_jvmti_setFailStatus();
return NSK_FALSE;
}
NSK_DISPLAY1(" ... got array object: 0x%p\n", (void*)array);
- if (!NSK_JNI_VERIFY(jni, (*size =
- NSK_CPP_STUB2(GetArrayLength, jni, array)) > 0)) {
+ if (!NSK_JNI_VERIFY(jni, (*size = jni->GetArrayLength(array)) > 0)) {
nsk_jvmti_setFailStatus();
return NSK_FALSE;
}
@@ -146,17 +145,14 @@
{
jboolean isCopy;
- if (!NSK_JNI_VERIFY(jni, (elements =
- NSK_CPP_STUB3(GetByteArrayElements, jni, array,
- &isCopy)) != NULL)) {
+ if (!NSK_JNI_VERIFY(jni, (elements = jni->GetByteArrayElements(array, &isCopy)) != NULL)) {
nsk_jvmti_setFailStatus();
return NSK_FALSE;
}
}
NSK_DISPLAY1(" ... got elements list: 0x%p\n", (void*)elements);
- if (!NSK_JVMTI_VERIFY(
- NSK_CPP_STUB3(Allocate, jvmti, *size, bytes))) {
+ if (!NSK_JVMTI_VERIFY(jvmti->Allocate(*size, bytes))) {
nsk_jvmti_setFailStatus();
return NSK_FALSE;
}
@@ -168,7 +164,7 @@
NSK_DISPLAY1(" ... copied bytecode: %d bytes\n", (int)*size);
NSK_DISPLAY1("Release elements list: 0x%p\n", (void*)elements);
- NSK_TRACE(NSK_CPP_STUB4(ReleaseByteArrayElements, jni, array, elements, JNI_ABORT));
+ NSK_TRACE(jni->ReleaseByteArrayElements(array, elements, JNI_ABORT));
NSK_DISPLAY0(" ... released\n");
return NSK_TRUE;
@@ -191,7 +187,7 @@
NSK_DISPLAY1("Find debugee class: %s\n", DEBUGEE_CLASS_NAME);
if (!NSK_JNI_VERIFY(jni, (debugeeClass =
- NSK_CPP_STUB2(FindClass, jni, DEBUGEE_CLASS_NAME)) != NULL)) {
+ jni->FindClass(DEBUGEE_CLASS_NAME)) != NULL)) {
nsk_jvmti_setFailStatus();
return;
}
@@ -333,8 +329,7 @@
memset(&caps, 0, sizeof(caps));
caps.can_generate_all_class_hook_events = 1;
- if (!NSK_JVMTI_VERIFY(
- NSK_CPP_STUB2(AddCapabilities, jvmti, &caps))) {
+ if (!NSK_JVMTI_VERIFY(jvmti->AddCapabilities(&caps))) {
return JNI_ERR;
}
}
@@ -347,8 +342,7 @@
memset(&callbacks, 0, sizeof(callbacks));
callbacks.ClassFileLoadHook = callbackClassFileLoadHook;
- if (!NSK_JVMTI_VERIFY(
- NSK_CPP_STUB3(SetEventCallbacks, jvmti, &callbacks, size))) {
+ if (!NSK_JVMTI_VERIFY(jvmti->SetEventCallbacks(&callbacks, size))) {
return JNI_ERR;
}
}
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/ClassFileLoadHook/classfloadhk006/classfloadhk006.cpp Mon Oct 08 18:17:37 2018 -0400
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/ClassFileLoadHook/classfloadhk006/classfloadhk006.cpp Mon Oct 08 18:23:05 2018 -0400
@@ -128,7 +128,7 @@
NSK_DISPLAY1("Find static field: %s\n", fieldName);
if (!NSK_JNI_VERIFY(jni, (fieldID =
- NSK_CPP_STUB4(GetStaticFieldID, jni, cls, fieldName, fieldSig)) != NULL)) {
+ jni->GetStaticFieldID(cls, fieldName, fieldSig)) != NULL)) {
nsk_jvmti_setFailStatus();
return NSK_FALSE;
}
@@ -136,14 +136,13 @@
NSK_DISPLAY1("Get classfile bytes array from static field: %s\n", fieldName);
if (!NSK_JNI_VERIFY(jni, (array = (jbyteArray)
- NSK_CPP_STUB3(GetStaticObjectField, jni, cls, fieldID)) != NULL)) {
+ jni->GetStaticObjectField(cls, fieldID)) != NULL)) {
nsk_jvmti_setFailStatus();
return NSK_FALSE;
}
NSK_DISPLAY1(" ... got array object: 0x%p\n", (void*)array);
- if (!NSK_JNI_VERIFY(jni, (*size =
- NSK_CPP_STUB2(GetArrayLength, jni, array)) > 0)) {
+ if (!NSK_JNI_VERIFY(jni, (*size = jni->GetArrayLength(array)) > 0)) {
nsk_jvmti_setFailStatus();
return NSK_FALSE;
}
@@ -151,17 +150,14 @@
{
jboolean isCopy;
- if (!NSK_JNI_VERIFY(jni, (elements =
- NSK_CPP_STUB3(GetByteArrayElements, jni, array,
- &isCopy)) != NULL)) {
+ if (!NSK_JNI_VERIFY(jni, (elements = jni->GetByteArrayElements(array, &isCopy)) != NULL)) {
nsk_jvmti_setFailStatus();
return NSK_FALSE;
}
}
NSK_DISPLAY1(" ... got elements list: 0x%p\n", (void*)elements);
- if (!NSK_JVMTI_VERIFY(
- NSK_CPP_STUB3(Allocate, jvmti, *size, bytes))) {
+ if (!NSK_JVMTI_VERIFY(jvmti->Allocate(*size, bytes))) {
nsk_jvmti_setFailStatus();
return NSK_FALSE;
}
@@ -173,7 +169,7 @@
NSK_DISPLAY1(" ... copied bytecode: %d bytes\n", (int)*size);
NSK_DISPLAY1("Release elements list: 0x%p\n", (void*)elements);
- NSK_TRACE(NSK_CPP_STUB4(ReleaseByteArrayElements, jni, array, elements, JNI_ABORT));
+ NSK_TRACE(jni->ReleaseByteArrayElements(array, elements, JNI_ABORT));
NSK_DISPLAY0(" ... released\n");
return NSK_TRUE;
@@ -188,23 +184,21 @@
NSK_DISPLAY1("Find static field: %s\n", fieldName);
if (!NSK_JNI_VERIFY(jni, (fieldID =
- NSK_CPP_STUB4(GetStaticFieldID, jni, cls, fieldName, fieldSig)) != NULL)) {
+ jni->GetStaticFieldID(cls, fieldName, fieldSig)) != NULL)) {
nsk_jvmti_setFailStatus();
return NULL;
}
NSK_DISPLAY1(" ... got fieldID: 0x%p\n", (void*)fieldID);
NSK_DISPLAY1("Get object from static field: %s\n", fieldName);
- if (!NSK_JNI_VERIFY(jni, (obj =
- NSK_CPP_STUB3(GetStaticObjectField, jni, cls, fieldID)) != NULL)) {
+ if (!NSK_JNI_VERIFY(jni, (obj = jni->GetStaticObjectField(cls, fieldID)) != NULL)) {
nsk_jvmti_setFailStatus();
return NULL;
}
NSK_DISPLAY1(" ... got object: 0x%p\n", (void*)obj);
NSK_DISPLAY1("Make global reference to object: 0x%p\n", obj);
- if (!NSK_JNI_VERIFY(jni, (obj =
- NSK_CPP_STUB2(NewGlobalRef, jni, obj)) != NULL)) {
+ if (!NSK_JNI_VERIFY(jni, (obj = jni->NewGlobalRef(obj)) != NULL)) {
nsk_jvmti_setFailStatus();
return NULL;
}
@@ -223,8 +217,7 @@
classDef.class_bytes = bytes;
NSK_DISPLAY1("Redefine class: %s\n", className);
- if (!NSK_JVMTI_VERIFY(
- NSK_CPP_STUB3(RedefineClasses, jvmti, 1, &classDef))) {
+ if (!NSK_JVMTI_VERIFY(jvmti->RedefineClasses(1, &classDef))) {
nsk_jvmti_setFailStatus();
return NSK_FALSE;
}
@@ -250,7 +243,7 @@
NSK_DISPLAY0(">>> Obtain debuggee class\n");
NSK_DISPLAY1("Find debugee class: %s\n", DEBUGEE_CLASS_NAME);
if (!NSK_JNI_VERIFY(jni, (debugeeClass =
- NSK_CPP_STUB2(FindClass, jni, DEBUGEE_CLASS_NAME)) != NULL)) {
+ jni->FindClass(DEBUGEE_CLASS_NAME)) != NULL)) {
nsk_jvmti_setFailStatus();
return;
}
@@ -309,11 +302,10 @@
NSK_DISPLAY0(">>> Clean used data\n");
{
NSK_DISPLAY1("Delete global reference to tested class object: 0x%p\n", (void*)testedClass);
- NSK_CPP_STUB2(DeleteGlobalRef, jni, testedClass);
+ jni->DeleteGlobalRef(testedClass);
NSK_DISPLAY1("Deallocate redefined bytecode array: 0x%p\n", (void*)redefClassBytes);
- if (!NSK_JVMTI_VERIFY(
- NSK_CPP_STUB2(Deallocate, jvmti, redefClassBytes))) {
+ if (!NSK_JVMTI_VERIFY(jvmti->Deallocate(redefClassBytes))) {
nsk_jvmti_setFailStatus();
}
}
@@ -347,7 +339,7 @@
NSK_COMPLAIN1("Unexpected NULL class_being_redefined in CLASS_FILE_LOAD_HOOK: 0x%p\n",
(void*)class_being_redefined);
nsk_jvmti_setFailStatus();
- } else if (!NSK_CPP_STUB3(IsSameObject, jni, class_being_redefined, testedClass)) {
+ } else if (!jni->IsSameObject(class_being_redefined, testedClass)) {
NSK_COMPLAIN2("Unexpected class_being_redefined in CLASS_FILE_LOAD_HOOK:\n"
"# got class: 0x%p\n"
"# expected same as: 0x%p\n",
@@ -397,8 +389,7 @@
memset(&caps, 0, sizeof(caps));
caps.can_generate_all_class_hook_events = 1;
caps.can_redefine_classes = 1;
- if (!NSK_JVMTI_VERIFY(
- NSK_CPP_STUB2(AddCapabilities, jvmti, &caps))) {
+ if (!NSK_JVMTI_VERIFY(jvmti->AddCapabilities(&caps))) {
return JNI_ERR;
}
}
@@ -411,8 +402,7 @@
memset(&callbacks, 0, sizeof(callbacks));
callbacks.ClassFileLoadHook = callbackClassFileLoadHook;
- if (!NSK_JVMTI_VERIFY(
- NSK_CPP_STUB3(SetEventCallbacks, jvmti, &callbacks, size))) {
+ if (!NSK_JVMTI_VERIFY(jvmti->SetEventCallbacks(&callbacks, size))) {
return JNI_ERR;
}
}
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/ClassFileLoadHook/classfloadhk007/classfloadhk007.cpp Mon Oct 08 18:17:37 2018 -0400
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/ClassFileLoadHook/classfloadhk007/classfloadhk007.cpp Mon Oct 08 18:23:05 2018 -0400
@@ -132,7 +132,7 @@
NSK_DISPLAY1("Find static field: %s\n", fieldName);
if (!NSK_JNI_VERIFY(jni, (fieldID =
- NSK_CPP_STUB4(GetStaticFieldID, jni, cls, fieldName, fieldSig)) != NULL)) {
+ jni->GetStaticFieldID(cls, fieldName, fieldSig)) != NULL)) {
nsk_jvmti_setFailStatus();
return NSK_FALSE;
}
@@ -140,14 +140,13 @@
NSK_DISPLAY1("Get classfile bytes array from static field: %s\n", fieldName);
if (!NSK_JNI_VERIFY(jni, (array = (jbyteArray)
- NSK_CPP_STUB3(GetStaticObjectField, jni, cls, fieldID)) != NULL)) {
+ jni->GetStaticObjectField(cls, fieldID)) != NULL)) {
nsk_jvmti_setFailStatus();
return NSK_FALSE;
}
NSK_DISPLAY1(" ... got array object: 0x%p\n", (void*)array);
- if (!NSK_JNI_VERIFY(jni, (*size =
- NSK_CPP_STUB2(GetArrayLength, jni, array)) > 0)) {
+ if (!NSK_JNI_VERIFY(jni, (*size = jni->GetArrayLength(array)) > 0)) {
nsk_jvmti_setFailStatus();
return NSK_FALSE;
}
@@ -155,17 +154,14 @@
{
jboolean isCopy;
- if (!NSK_JNI_VERIFY(jni, (elements =
- NSK_CPP_STUB3(GetByteArrayElements, jni, array,
- &isCopy)) != NULL)) {
+ if (!NSK_JNI_VERIFY(jni, (elements = jni->GetByteArrayElements(array, &isCopy)) != NULL)) {
nsk_jvmti_setFailStatus();
return NSK_FALSE;
}
}
NSK_DISPLAY1(" ... got elements list: 0x%p\n", (void*)elements);
- if (!NSK_JVMTI_VERIFY(
- NSK_CPP_STUB3(Allocate, jvmti, *size, bytes))) {
+ if (!NSK_JVMTI_VERIFY(jvmti->Allocate(*size, bytes))) {
nsk_jvmti_setFailStatus();
return NSK_FALSE;
}
@@ -177,7 +173,7 @@
NSK_DISPLAY1(" ... copied bytecode: %d bytes\n", (int)*size);
NSK_DISPLAY1("Release elements list: 0x%p\n", (void*)elements);
- NSK_TRACE(NSK_CPP_STUB4(ReleaseByteArrayElements, jni, array, elements, JNI_ABORT));
+ NSK_TRACE(jni->ReleaseByteArrayElements(array, elements, JNI_ABORT));
NSK_DISPLAY0(" ... released\n");
return NSK_TRUE;
@@ -192,23 +188,21 @@
NSK_DISPLAY1("Find static field: %s\n", fieldName);
if (!NSK_JNI_VERIFY(jni, (fieldID =
- NSK_CPP_STUB4(GetStaticFieldID, jni, cls, fieldName, fieldSig)) != NULL)) {
+ jni->GetStaticFieldID(cls, fieldName, fieldSig)) != NULL)) {
nsk_jvmti_setFailStatus();
return NULL;
}
NSK_DISPLAY1(" ... got fieldID: 0x%p\n", (void*)fieldID);
NSK_DISPLAY1("Get object from static field: %s\n", fieldName);
- if (!NSK_JNI_VERIFY(jni, (obj =
- NSK_CPP_STUB3(GetStaticObjectField, jni, cls, fieldID)) != NULL)) {
+ if (!NSK_JNI_VERIFY(jni, (obj = jni->GetStaticObjectField(cls, fieldID)) != NULL)) {
nsk_jvmti_setFailStatus();
return NULL;
}
NSK_DISPLAY1(" ... got object: 0x%p\n", (void*)obj);
NSK_DISPLAY1("Make global reference to object: 0x%p\n", obj);
- if (!NSK_JNI_VERIFY(jni, (obj =
- NSK_CPP_STUB2(NewGlobalRef, jni, obj)) != NULL)) {
+ if (!NSK_JNI_VERIFY(jni, (obj = jni->NewGlobalRef(obj)) != NULL)) {
nsk_jvmti_setFailStatus();
return NULL;
}
@@ -227,8 +221,7 @@
classDef.class_bytes = bytes;
NSK_DISPLAY1("Redefine class: %s\n", className);
- if (!NSK_JVMTI_VERIFY(
- NSK_CPP_STUB3(RedefineClasses, jvmti, 1, &classDef))) {
+ if (!NSK_JVMTI_VERIFY(jvmti->RedefineClasses(1, &classDef))) {
nsk_jvmti_setFailStatus();
return NSK_FALSE;
}
@@ -254,7 +247,7 @@
NSK_DISPLAY0(">>> Obtain debuggee class\n");
NSK_DISPLAY1("Find debugee class: %s\n", DEBUGEE_CLASS_NAME);
if (!NSK_JNI_VERIFY(jni, (debugeeClass =
- NSK_CPP_STUB2(FindClass, jni, DEBUGEE_CLASS_NAME)) != NULL)) {
+ jni->FindClass(DEBUGEE_CLASS_NAME)) != NULL)) {
nsk_jvmti_setFailStatus();
return;
}
@@ -319,14 +312,13 @@
NSK_DISPLAY0(">>> Clean used data\n");
{
NSK_DISPLAY1("Delete global reference to classloader object: 0x%p\n", (void*)classLoader);
- NSK_CPP_STUB2(DeleteGlobalRef, jni, classLoader);
+ jni->DeleteGlobalRef(classLoader);
NSK_DISPLAY1("Delete global reference to tested class object: 0x%p\n", (void*)testedClass);
- NSK_CPP_STUB2(DeleteGlobalRef, jni, testedClass);
+ jni->DeleteGlobalRef(testedClass);
NSK_DISPLAY1("Deallocate redefined bytecode array: 0x%p\n", (void*)redefClassBytes);
- if (!NSK_JVMTI_VERIFY(
- NSK_CPP_STUB2(Deallocate, jvmti, redefClassBytes))) {
+ if (!NSK_JVMTI_VERIFY(jvmti->Deallocate(redefClassBytes))) {
nsk_jvmti_setFailStatus();
}
}
@@ -360,7 +352,7 @@
NSK_COMPLAIN1("Unexpected NULL classloader in CLASS_FILE_LOAD_HOOK: 0x%p\n",
(void*)loader);
nsk_jvmti_setFailStatus();
- } else if (!NSK_CPP_STUB3(IsSameObject, jni, loader, classLoader)) {
+ } else if (!jni->IsSameObject(loader, classLoader)) {
NSK_COMPLAIN2("Unexpected classloader in CLASS_FILE_LOAD_HOOK:\n"
"# got classloder: 0x%p\n"
"# expected same as: 0x%p\n",
@@ -373,7 +365,7 @@
NSK_COMPLAIN1("Unexpected NULL class_being_redefined in CLASS_FILE_LOAD_HOOK: 0x%p\n",
(void*)class_being_redefined);
nsk_jvmti_setFailStatus();
- } else if (!NSK_CPP_STUB3(IsSameObject, jni, class_being_redefined, testedClass)) {
+ } else if (!jni->IsSameObject(class_being_redefined, testedClass)) {
NSK_COMPLAIN2("Unexpected class_being_redefined in CLASS_FILE_LOAD_HOOK:\n"
"# got class: 0x%p\n"
"# expected same as: 0x%p\n",
@@ -423,8 +415,7 @@
memset(&caps, 0, sizeof(caps));
caps.can_generate_all_class_hook_events = 1;
caps.can_redefine_classes = 1;
- if (!NSK_JVMTI_VERIFY(
- NSK_CPP_STUB2(AddCapabilities, jvmti, &caps))) {
+ if (!NSK_JVMTI_VERIFY(jvmti->AddCapabilities(&caps))) {
return JNI_ERR;
}
}
@@ -437,8 +428,7 @@
memset(&callbacks, 0, sizeof(callbacks));
callbacks.ClassFileLoadHook = callbackClassFileLoadHook;
- if (!NSK_JVMTI_VERIFY(
- NSK_CPP_STUB3(SetEventCallbacks, jvmti, &callbacks, size))) {
+ if (!NSK_JVMTI_VERIFY(jvmti->SetEventCallbacks(&callbacks, size))) {
return JNI_ERR;
}
}
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/ClassFileLoadHook/classfloadhk008/classfloadhk008.cpp Mon Oct 08 18:17:37 2018 -0400
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/ClassFileLoadHook/classfloadhk008/classfloadhk008.cpp Mon Oct 08 18:23:05 2018 -0400
@@ -70,7 +70,7 @@
NSK_DISPLAY1("Find static field: %s\n", fieldName);
if (!NSK_JNI_VERIFY(jni, (fieldID =
- NSK_CPP_STUB4(GetStaticFieldID, jni, cls, fieldName, fieldSig)) != NULL)) {
+ jni->GetStaticFieldID(cls, fieldName, fieldSig)) != NULL)) {
nsk_jvmti_setFailStatus();
return NSK_FALSE;
}
@@ -78,14 +78,13 @@
NSK_DISPLAY1("Get classfile bytes array from static field: %s\n", fieldName);
if (!NSK_JNI_VERIFY(jni, (array = (jbyteArray)
- NSK_CPP_STUB3(GetStaticObjectField, jni, cls, fieldID)) != NULL)) {
+ jni->GetStaticObjectField(cls, fieldID)) != NULL)) {
nsk_jvmti_setFailStatus();
return NSK_FALSE;
}
NSK_DISPLAY1(" ... got array object: 0x%p\n", (void*)array);
- if (!NSK_JNI_VERIFY(jni, (*size =
- NSK_CPP_STUB2(GetArrayLength, jni, array)) > 0)) {
+ if (!NSK_JNI_VERIFY(jni, (*size = jni->GetArrayLength(array)) > 0)) {
nsk_jvmti_setFailStatus();
return NSK_FALSE;
}
@@ -93,17 +92,14 @@
{
jboolean isCopy;
- if (!NSK_JNI_VERIFY(jni, (elements =
- NSK_CPP_STUB3(GetByteArrayElements, jni, array,
- &isCopy)) != NULL)) {
+ if (!NSK_JNI_VERIFY(jni, (elements = jni->GetByteArrayElements(array, &isCopy)) != NULL)) {
nsk_jvmti_setFailStatus();
return NSK_FALSE;
}
}
NSK_DISPLAY1(" ... got elements list: 0x%p\n", (void*)elements);
- if (!NSK_JVMTI_VERIFY(
- NSK_CPP_STUB3(Allocate, jvmti, *size, bytes))) {
+ if (!NSK_JVMTI_VERIFY(jvmti->Allocate(*size, bytes))) {
nsk_jvmti_setFailStatus();
return NSK_FALSE;
}
@@ -115,7 +111,7 @@
NSK_DISPLAY1(" ... copied bytecode: %d bytes\n", (int)*size);
NSK_DISPLAY1("Release elements list: 0x%p\n", (void*)elements);
- NSK_TRACE(NSK_CPP_STUB4(ReleaseByteArrayElements, jni, array, elements, JNI_ABORT));
+ NSK_TRACE(jni->ReleaseByteArrayElements(array, elements, JNI_ABORT));
NSK_DISPLAY0(" ... released\n");
return NSK_TRUE;
@@ -130,23 +126,21 @@
NSK_DISPLAY1("Find static field: %s\n", fieldName);
if (!NSK_JNI_VERIFY(jni, (fieldID =
- NSK_CPP_STUB4(GetStaticFieldID, jni, cls, fieldName, fieldSig)) != NULL)) {
+ jni->GetStaticFieldID(cls, fieldName, fieldSig)) != NULL)) {
nsk_jvmti_setFailStatus();
return NULL;
}
NSK_DISPLAY1(" ... got fieldID: 0x%p\n", (void*)fieldID);
NSK_DISPLAY1("Get object from static field: %s\n", fieldName);
- if (!NSK_JNI_VERIFY(jni, (obj =
- NSK_CPP_STUB3(GetStaticObjectField, jni, cls, fieldID)) != NULL)) {
+ if (!NSK_JNI_VERIFY(jni, (obj = jni->GetStaticObjectField(cls, fieldID)) != NULL)) {
nsk_jvmti_setFailStatus();
return NULL;
}
NSK_DISPLAY1(" ... got object: 0x%p\n", (void*)obj);
NSK_DISPLAY1("Make global reference to object: 0x%p\n", obj);
- if (!NSK_JNI_VERIFY(jni, (obj =
- NSK_CPP_STUB2(NewGlobalRef, jni, obj)) != NULL)) {
+ if (!NSK_JNI_VERIFY(jni, (obj = jni->NewGlobalRef(obj)) != NULL)) {
nsk_jvmti_setFailStatus();
return NULL;
}
@@ -165,8 +159,7 @@
classDef.class_bytes = bytes;
NSK_DISPLAY1("Redefine class: %s\n", className);
- if (!NSK_JVMTI_VERIFY(
- NSK_CPP_STUB3(RedefineClasses, jvmti, 1, &classDef))) {
+ if (!NSK_JVMTI_VERIFY(jvmti->RedefineClasses(1, &classDef))) {
nsk_jvmti_setFailStatus();
return NSK_FALSE;
}
@@ -192,7 +185,7 @@
NSK_DISPLAY0(">>> Obtain debuggee class\n");
NSK_DISPLAY1("Find debugee class: %s\n", DEBUGEE_CLASS_NAME);
if (!NSK_JNI_VERIFY(jni, (debugeeClass =
- NSK_CPP_STUB2(FindClass, jni, DEBUGEE_CLASS_NAME)) != NULL)) {
+ jni->FindClass(DEBUGEE_CLASS_NAME)) != NULL)) {
nsk_jvmti_setFailStatus();
return;
}
@@ -258,11 +251,10 @@
NSK_DISPLAY0(">>> Clean used data\n");
{
NSK_DISPLAY1("Delete global reference to tested class object: 0x%p\n", (void*)testedClass);
- NSK_CPP_STUB2(DeleteGlobalRef, jni, testedClass);
+ jni->DeleteGlobalRef(testedClass);
NSK_DISPLAY1("Deallocate redefined bytecode array: 0x%p\n", (void*)redefClassBytes);
- if (!NSK_JVMTI_VERIFY(
- NSK_CPP_STUB2(Deallocate, jvmti, redefClassBytes))) {
+ if (!NSK_JVMTI_VERIFY(jvmti->Deallocate(redefClassBytes))) {
nsk_jvmti_setFailStatus();
}
}
@@ -359,8 +351,7 @@
memset(&caps, 0, sizeof(caps));
caps.can_generate_all_class_hook_events = 1;
caps.can_redefine_classes = 1;
- if (!NSK_JVMTI_VERIFY(
- NSK_CPP_STUB2(AddCapabilities, jvmti, &caps))) {
+ if (!NSK_JVMTI_VERIFY(jvmti->AddCapabilities(&caps))) {
return JNI_ERR;
}
}
@@ -373,8 +364,7 @@
memset(&callbacks, 0, sizeof(callbacks));
callbacks.ClassFileLoadHook = callbackClassFileLoadHook;
- if (!NSK_JVMTI_VERIFY(
- NSK_CPP_STUB3(SetEventCallbacks, jvmti, &callbacks, size))) {
+ if (!NSK_JVMTI_VERIFY(jvmti->SetEventCallbacks(&callbacks, size))) {
return JNI_ERR;
}
}
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/ClassFileLoadHook/classfloadhk009/classfloadhk009.cpp Mon Oct 08 18:17:37 2018 -0400
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/ClassFileLoadHook/classfloadhk009/classfloadhk009.cpp Mon Oct 08 18:23:05 2018 -0400
@@ -70,7 +70,7 @@
NSK_DISPLAY1("Find static field: %s\n", fieldName);
if (!NSK_JNI_VERIFY(jni, (fieldID =
- NSK_CPP_STUB4(GetStaticFieldID, jni, cls, fieldName, fieldSig)) != NULL)) {
+ jni->GetStaticFieldID(cls, fieldName, fieldSig)) != NULL)) {
nsk_jvmti_setFailStatus();
return NSK_FALSE;
}
@@ -78,14 +78,13 @@
NSK_DISPLAY1("Get classfile bytes array from static field: %s\n", fieldName);
if (!NSK_JNI_VERIFY(jni, (array = (jbyteArray)
- NSK_CPP_STUB3(GetStaticObjectField, jni, cls, fieldID)) != NULL)) {
+ jni->GetStaticObjectField(cls, fieldID)) != NULL)) {
nsk_jvmti_setFailStatus();
return NSK_FALSE;
}
NSK_DISPLAY1(" ... got array object: 0x%p\n", (void*)array);
- if (!NSK_JNI_VERIFY(jni, (*size =
- NSK_CPP_STUB2(GetArrayLength, jni, array)) > 0)) {
+ if (!NSK_JNI_VERIFY(jni, (*size = jni->GetArrayLength(array)) > 0)) {
nsk_jvmti_setFailStatus();
return NSK_FALSE;
}
@@ -93,17 +92,14 @@
{
jboolean isCopy;
- if (!NSK_JNI_VERIFY(jni, (elements =
- NSK_CPP_STUB3(GetByteArrayElements, jni, array,
- &isCopy)) != NULL)) {
+ if (!NSK_JNI_VERIFY(jni, (elements = jni->GetByteArrayElements(array, &isCopy)) != NULL)) {
nsk_jvmti_setFailStatus();
return NSK_FALSE;
}
}
NSK_DISPLAY1(" ... got elements list: 0x%p\n", (void*)elements);
- if (!NSK_JVMTI_VERIFY(
- NSK_CPP_STUB3(Allocate, jvmti, *size, bytes))) {
+ if (!NSK_JVMTI_VERIFY(jvmti->Allocate(*size, bytes))) {
nsk_jvmti_setFailStatus();
return NSK_FALSE;
}
@@ -115,7 +111,7 @@
NSK_DISPLAY1(" ... copied bytecode: %d bytes\n", (int)*size);
NSK_DISPLAY1("Release elements list: 0x%p\n", (void*)elements);
- NSK_TRACE(NSK_CPP_STUB4(ReleaseByteArrayElements, jni, array, elements, JNI_ABORT));
+ NSK_TRACE(jni->ReleaseByteArrayElements(array, elements, JNI_ABORT));
NSK_DISPLAY0(" ... released\n");
return NSK_TRUE;
@@ -130,23 +126,21 @@
NSK_DISPLAY1("Find static field: %s\n", fieldName);
if (!NSK_JNI_VERIFY(jni, (fieldID =
- NSK_CPP_STUB4(GetStaticFieldID, jni, cls, fieldName, fieldSig)) != NULL)) {
+ jni->GetStaticFieldID(cls, fieldName, fieldSig)) != NULL)) {
nsk_jvmti_setFailStatus();
return NULL;
}
NSK_DISPLAY1(" ... got fieldID: 0x%p\n", (void*)fieldID);
NSK_DISPLAY1("Get object from static field: %s\n", fieldName);
- if (!NSK_JNI_VERIFY(jni, (obj =
- NSK_CPP_STUB3(GetStaticObjectField, jni, cls, fieldID)) != NULL)) {
+ if (!NSK_JNI_VERIFY(jni, (obj = jni->GetStaticObjectField(cls, fieldID)) != NULL)) {
nsk_jvmti_setFailStatus();
return NULL;
}
NSK_DISPLAY1(" ... got object: 0x%p\n", (void*)obj);
NSK_DISPLAY1("Make global reference to object: 0x%p\n", obj);
- if (!NSK_JNI_VERIFY(jni, (obj =
- NSK_CPP_STUB2(NewGlobalRef, jni, obj)) != NULL)) {
+ if (!NSK_JNI_VERIFY(jni, (obj = jni->NewGlobalRef(obj)) != NULL)) {
nsk_jvmti_setFailStatus();
return NULL;
}
@@ -165,8 +159,7 @@
classDef.class_bytes = bytes;
NSK_DISPLAY1("Redefine class: %s\n", className);
- if (!NSK_JVMTI_VERIFY(
- NSK_CPP_STUB3(RedefineClasses, jvmti, 1, &classDef))) {
+ if (!NSK_JVMTI_VERIFY(jvmti->RedefineClasses(1, &classDef))) {
nsk_jvmti_setFailStatus();
return NSK_FALSE;
}
@@ -192,7 +185,7 @@
NSK_DISPLAY0(">>> Obtain debuggee class\n");
NSK_DISPLAY1("Find debugee class: %s\n", DEBUGEE_CLASS_NAME);
if (!NSK_JNI_VERIFY(jni, (debugeeClass =
- NSK_CPP_STUB2(FindClass, jni, DEBUGEE_CLASS_NAME)) != NULL)) {
+ jni->FindClass(DEBUGEE_CLASS_NAME)) != NULL)) {
nsk_jvmti_setFailStatus();
return;
}
@@ -258,11 +251,10 @@
NSK_DISPLAY0(">>> Clean used data\n");
{
NSK_DISPLAY1("Delete global reference to tested class object: 0x%p\n", (void*)testedClass);
- NSK_CPP_STUB2(DeleteGlobalRef, jni, testedClass);
+ jni->DeleteGlobalRef(testedClass);
NSK_DISPLAY1("Deallocate redefined bytecode array: 0x%p\n", (void*)redefClassBytes);
- if (!NSK_JVMTI_VERIFY(
- NSK_CPP_STUB2(Deallocate, jvmti, redefClassBytes))) {
+ if (!NSK_JVMTI_VERIFY(jvmti->Deallocate(redefClassBytes))) {
nsk_jvmti_setFailStatus();
}
}
@@ -359,8 +351,7 @@
memset(&caps, 0, sizeof(caps));
caps.can_generate_all_class_hook_events = 1;
caps.can_redefine_classes = 1;
- if (!NSK_JVMTI_VERIFY(
- NSK_CPP_STUB2(AddCapabilities, jvmti, &caps))) {
+ if (!NSK_JVMTI_VERIFY(jvmti->AddCapabilities(&caps))) {
return JNI_ERR;
}
}
@@ -373,8 +364,7 @@
memset(&callbacks, 0, sizeof(callbacks));
callbacks.ClassFileLoadHook = callbackClassFileLoadHook;
- if (!NSK_JVMTI_VERIFY(
- NSK_CPP_STUB3(SetEventCallbacks, jvmti, &callbacks, size))) {
+ if (!NSK_JVMTI_VERIFY(jvmti->SetEventCallbacks(&callbacks, size))) {
return JNI_ERR;
}
}
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/ClassLoad/classload001/classload001.cpp Mon Oct 08 18:17:37 2018 -0400
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/ClassLoad/classload001/classload001.cpp Mon Oct 08 18:23:05 2018 -0400
@@ -98,17 +98,13 @@
}
static void lock(jvmtiEnv *jvmti_env, JNIEnv *jni_env) {
- if (!NSK_JVMTI_VERIFY(NSK_CPP_STUB2(RawMonitorEnter,
- jvmti_env, countLock)))
- NSK_CPP_STUB2(FatalError, jni_env,
- "failed to enter a raw monitor\n");
+ if (!NSK_JVMTI_VERIFY(jvmti_env->RawMonitorEnter(countLock)))
+ jni_env->FatalError("failed to enter a raw monitor\n");
}
static void unlock(jvmtiEnv *jvmti_env, JNIEnv *jni_env) {
- if (!NSK_JVMTI_VERIFY(NSK_CPP_STUB2(RawMonitorExit,
- jvmti_env, countLock)))
- NSK_CPP_STUB2(FatalError, jni_env,
- "failed to exit a raw monitor\n");
+ if (!NSK_JVMTI_VERIFY(jvmti_env->RawMonitorExit(countLock)))
+ jni_env->FatalError("failed to exit a raw monitor\n");
}
/** callback functions **/
@@ -119,8 +115,7 @@
lock(jvmti_env, env);
- 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 FAILURE: unable to obtain a class signature\n");
}
@@ -185,20 +180,17 @@
initCounters();
- if (!NSK_JVMTI_VERIFY(NSK_CPP_STUB3(CreateRawMonitor,
- jvmti, "_counter_lock", &countLock)))
+ if (!NSK_JVMTI_VERIFY(jvmti->CreateRawMonitor("_counter_lock", &countLock)))
return JNI_ERR;
NSK_DISPLAY0("setting event callbacks ...\n");
(void) memset(&callbacks, 0, sizeof(callbacks));
callbacks.ClassLoad = &ClassLoad;
- 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 ClassLoad event ...\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;
NSK_DISPLAY0("the event enabled\n");
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/CompiledMethodLoad/compmethload001/compmethload001.cpp Mon Oct 08 18:17:37 2018 -0400
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/CompiledMethodLoad/compmethload001/compmethload001.cpp Mon Oct 08 18:23:05 2018 -0400
@@ -45,8 +45,7 @@
VMInit(jvmtiEnv *jvmti_env, JNIEnv *env, jthread thr) {
NSK_DISPLAY0("VMInit event received\n\n");
- if (!NSK_JVMTI_VERIFY(NSK_CPP_STUB2(GenerateEvents,
- jvmti_env, JVMTI_EVENT_COMPILED_METHOD_LOAD))) {
+ if (!NSK_JVMTI_VERIFY(jvmti_env->GenerateEvents(JVMTI_EVENT_COMPILED_METHOD_LOAD))) {
NSK_COMPLAIN0("TEST FAILED: unable to generate events to represent the current state of the VM\n");
result = STATUS_FAILED;
}
@@ -63,8 +62,7 @@
NSK_DISPLAY0("CompiledMethodLoad event received for:\n");
- if (!NSK_JVMTI_VERIFY(NSK_CPP_STUB5(GetMethodName,
- jvmti_env, method, &name, &sig, &generic))) {
+ if (!NSK_JVMTI_VERIFY(jvmti_env->GetMethodName(method, &name, &sig, &generic))) {
result = STATUS_FAILED;
NSK_COMPLAIN0("TEST FAILURE: unable to obtain method info\n");
return;
@@ -72,8 +70,7 @@
NSK_DISPLAY4("\tmethod: name=\"%s\" signature=\"%s\"\n\tcompiled code size=%d\n\tnumber of address location map entries=%d\n",
name, sig, code_size, map_length);
- 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 FAILURE: unable to obtain phase of the VM execution\n");
return;
@@ -122,12 +119,10 @@
/* add capability to generate compiled method events */
memset(&caps, 0, sizeof(jvmtiCapabilities));
caps.can_generate_compiled_method_load_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_compiled_method_load_events)
@@ -138,16 +133,13 @@
(void) memset(&callbacks, 0, sizeof(callbacks));
callbacks.VMInit = &VMInit;
callbacks.CompiledMethodLoad = &CompiledMethodLoad;
- 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 VMInit, CompiledMethodLoad event ...\n");
- 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)))
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;
NSK_DISPLAY0("enabling the events done\n\n");
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/CompiledMethodUnload/compmethunload001/compmethunload001.cpp Mon Oct 08 18:17:37 2018 -0400
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/CompiledMethodUnload/compmethunload001/compmethunload001.cpp Mon Oct 08 18:23:05 2018 -0400
@@ -47,8 +47,7 @@
VMInit(jvmtiEnv *jvmti_env, JNIEnv *env, jthread thr) {
NSK_DISPLAY0("VMInit event received\n\n");
- if (!NSK_JVMTI_VERIFY(NSK_CPP_STUB2(GenerateEvents,
- jvmti_env, JVMTI_EVENT_COMPILED_METHOD_LOAD))) {
+ if (!NSK_JVMTI_VERIFY(jvmti_env->GenerateEvents(JVMTI_EVENT_COMPILED_METHOD_LOAD))) {
NSK_COMPLAIN0("TEST FAILED: unable to generate events to represent the current state of the VM\n");
result = STATUS_FAILED;
}
@@ -64,8 +63,7 @@
NSK_DISPLAY0("CompiledMethodLoad event received for:\n");
- if (!NSK_JVMTI_VERIFY(NSK_CPP_STUB5(GetMethodName,
- jvmti_env, method, &name, &sig, &generic))) {
+ if (!NSK_JVMTI_VERIFY(jvmti_env->GetMethodName(method, &name, &sig, &generic))) {
result = STATUS_FAILED;
NSK_COMPLAIN0("TEST FAILURE: unable to obtain method info\n\n");
return;
@@ -94,8 +92,8 @@
if (err == JVMTI_ERROR_NONE) {
NSK_DISPLAY3("for: \tmethod: name=\"%s\" signature=\"%s\"\n\tnative address=0x%p\n",
name, sig, code_addr);
- NSK_CPP_STUB2(Deallocate, jvmti_env, (unsigned char*)name);
- NSK_CPP_STUB2(Deallocate, jvmti_env, (unsigned char*)sig);
+ jvmti_env->Deallocate((unsigned char*)name);
+ jvmti_env->Deallocate((unsigned char*)sig);
} else {
// The class metadata has been completely unloaded so the name is not available.
NSK_DISPLAY0("for: \tmethod: name=<not available>\n");
@@ -104,8 +102,7 @@
// Count unloaded events
class_unloaded++;
- 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 FAILURE: unable to obtain phase of the VM execution\n");
return;
@@ -166,12 +163,10 @@
/* add capability to generate compiled method events */
memset(&caps, 0, sizeof(jvmtiCapabilities));
caps.can_generate_compiled_method_load_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_compiled_method_load_events)
@@ -183,19 +178,15 @@
callbacks.VMInit = &VMInit;
callbacks.CompiledMethodLoad = &CompiledMethodLoad;
callbacks.CompiledMethodUnload = &CompiledMethodUnload;
- 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_INIT, NULL)))
+ if (!NSK_JVMTI_VERIFY(jvmti->SetEventNotificationMode(JVMTI_ENABLE, JVMTI_EVENT_VM_INIT, 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;
- if (!NSK_JVMTI_VERIFY(NSK_CPP_STUB4(SetEventNotificationMode,
- jvmti, JVMTI_ENABLE, JVMTI_EVENT_COMPILED_METHOD_UNLOAD, NULL)))
+ if (!NSK_JVMTI_VERIFY(jvmti->SetEventNotificationMode(JVMTI_ENABLE, JVMTI_EVENT_COMPILED_METHOD_UNLOAD, NULL)))
return JNI_ERR;
NSK_DISPLAY0("enabling the events done\n\n");
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/DataDumpRequest/datadumpreq001/datadumpreq001.cpp Mon Oct 08 18:17:37 2018 -0400
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/DataDumpRequest/datadumpreq001/datadumpreq001.cpp Mon Oct 08 18:23:05 2018 -0400
@@ -118,13 +118,11 @@
NSK_DISPLAY0("setting event callbacks ...\n");
(void) memset(&callbacks, 0, sizeof(callbacks));
callbacks.DataDumpRequest = &DataDumpRequest;
- 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_DATA_DUMP_REQUEST, NULL)))
+ if (!NSK_JVMTI_VERIFY(jvmti->SetEventNotificationMode(JVMTI_ENABLE, JVMTI_EVENT_DATA_DUMP_REQUEST, NULL)))
return JNI_ERR;
NSK_DISPLAY0("enabling the events done\n\n");
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/DisposeEnvironment/disposeenv001/disposeenv001.cpp Mon Oct 08 18:17:37 2018 -0400
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/DisposeEnvironment/disposeenv001/disposeenv001.cpp Mon Oct 08 18:23:05 2018 -0400
@@ -54,8 +54,7 @@
return JNI_ERR;
NSK_DISPLAY0(">>> Testcase #1: Dispose JVMTI environment in Agent_OnLoad()\n");
- if (!NSK_JVMTI_VERIFY(
- NSK_CPP_STUB1(DisposeEnvironment, jvmti))) {
+ if (!NSK_JVMTI_VERIFY(jvmti->DisposeEnvironment())) {
return JNI_ERR;
}
NSK_DISPLAY0(" ... disposed\n");
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/DisposeEnvironment/disposeenv002/disposeenv002.cpp Mon Oct 08 18:17:37 2018 -0400
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/DisposeEnvironment/disposeenv002/disposeenv002.cpp Mon Oct 08 18:23:05 2018 -0400
@@ -45,16 +45,14 @@
NSK_DISPLAY0("Disable VM_DEATH event in VM_DEATH callback\n");
if (!NSK_JVMTI_VERIFY(
- NSK_CPP_STUB4(SetEventNotificationMode, jvmti, JVMTI_DISABLE,
- JVMTI_EVENT_VM_DEATH, NULL))) {
+ jvmti->SetEventNotificationMode(JVMTI_DISABLE, JVMTI_EVENT_VM_DEATH, NULL))) {
success = NSK_FALSE;
} else {
NSK_DISPLAY0(" ... disabled\n");
}
NSK_DISPLAY0(">>> Testcase #1: Dispose JVMTI environment in VM_DEATH callback\n");
- if (!NSK_JVMTI_VERIFY(
- NSK_CPP_STUB1(DisposeEnvironment, jvmti))) {
+ if (!NSK_JVMTI_VERIFY(jvmti->DisposeEnvironment())) {
success = NSK_FALSE;
} else {
NSK_DISPLAY0(" ... disposed\n");
@@ -95,16 +93,13 @@
memset(&eventCallbacks, 0, sizeof(eventCallbacks));
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;
}
NSK_DISPLAY0("Enable VM_DEATH event in JVM_OnLoad()\n");
if (!NSK_JVMTI_VERIFY(
- NSK_CPP_STUB4(SetEventNotificationMode, jvmti, JVMTI_ENABLE,
- JVMTI_EVENT_VM_DEATH, NULL))) {
+ jvmti->SetEventNotificationMode(JVMTI_ENABLE, JVMTI_EVENT_VM_DEATH, NULL))) {
return JNI_ERR;
}
NSK_DISPLAY0(" ... enabled\n");
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/DynamicCodeGenerated/dyncodgen001/dyncodgen001.cpp Mon Oct 08 18:17:37 2018 -0400
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/DynamicCodeGenerated/dyncodgen001/dyncodgen001.cpp Mon Oct 08 18:23:05 2018 -0400
@@ -116,15 +116,12 @@
memset(&callbacks, 0, sizeof(callbacks));
callbacks.DynamicCodeGenerated = &DynamicCodeGenerated;
- 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 DynamicCodeGenerated event */
if (!NSK_JVMTI_VERIFY(
- NSK_CPP_STUB4(SetEventNotificationMode, jvmti, JVMTI_ENABLE,
- JVMTI_EVENT_DYNAMIC_CODE_GENERATED, NULL)))
+ jvmti->SetEventNotificationMode(JVMTI_ENABLE, JVMTI_EVENT_DYNAMIC_CODE_GENERATED, NULL)))
return JNI_ERR;
/* register agent proc and arg */
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/ForceEarlyReturn/ForceEarlyReturn001/ForceEarlyReturn001.cpp Mon Oct 08 18:17:37 2018 -0400
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/ForceEarlyReturn/ForceEarlyReturn001/ForceEarlyReturn001.cpp Mon Oct 08 18:23:05 2018 -0400
@@ -45,11 +45,7 @@
)
{
if (!NSK_JVMTI_VERIFY(
- NSK_CPP_STUB2(
- SuspendThread
- , jvmti
- , earlyReturnThread
- )
+ jvmti ->SuspendThread (earlyReturnThread )
)
)
return JNI_FALSE;
@@ -67,11 +63,7 @@
)
{
if (!NSK_JVMTI_VERIFY(
- NSK_CPP_STUB2(
- ResumeThread
- , jvmti
- , earlyReturnThread
- )
+ jvmti ->ResumeThread (earlyReturnThread )
)
)
return JNI_FALSE;
@@ -90,12 +82,7 @@
)
{
if (!NSK_JVMTI_VERIFY(
- NSK_CPP_STUB3(
- ForceEarlyReturnObject
- , jvmti
- , earlyReturnThread
- , valueToReturn
- )
+ jvmti ->ForceEarlyReturnObject (earlyReturnThread , valueToReturn )
)
)
return JNI_FALSE;
@@ -114,12 +101,7 @@
)
{
if (!NSK_JVMTI_VERIFY(
- NSK_CPP_STUB3(
- ForceEarlyReturnInt
- , jvmti
- , earlyReturnThread
- , valueToReturn
- )
+ jvmti ->ForceEarlyReturnInt (earlyReturnThread , valueToReturn )
)
)
return JNI_FALSE;
@@ -138,12 +120,7 @@
)
{
if (!NSK_JVMTI_VERIFY(
- NSK_CPP_STUB3(
- ForceEarlyReturnLong
- , jvmti
- , earlyReturnThread
- , valueToReturn
- )
+ jvmti ->ForceEarlyReturnLong (earlyReturnThread , valueToReturn )
)
)
return JNI_FALSE;
@@ -162,12 +139,7 @@
)
{
if (!NSK_JVMTI_VERIFY(
- NSK_CPP_STUB3(
- ForceEarlyReturnFloat
- , jvmti
- , earlyReturnThread
- , valueToReturn
- )
+ jvmti ->ForceEarlyReturnFloat (earlyReturnThread , valueToReturn )
)
)
return JNI_FALSE;
@@ -186,12 +158,7 @@
)
{
if (!NSK_JVMTI_VERIFY(
- NSK_CPP_STUB3(
- ForceEarlyReturnDouble
- , jvmti
- , earlyReturnThread
- , valueToReturn
- )
+ jvmti ->ForceEarlyReturnDouble (earlyReturnThread , valueToReturn )
)
)
return JNI_FALSE;
@@ -209,11 +176,7 @@
)
{
if (!NSK_JVMTI_VERIFY(
- NSK_CPP_STUB2(
- ForceEarlyReturnVoid
- , jvmti
- , earlyReturnThread
- )
+ jvmti ->ForceEarlyReturnVoid (earlyReturnThread )
)
)
return JNI_FALSE;
@@ -245,11 +208,7 @@
)
return JNI_ERR;
- if (!NSK_JVMTI_VERIFY(
- NSK_CPP_STUB2(
- GetCapabilities
- , jvmti
- , &caps)
+ if (!NSK_JVMTI_VERIFY(jvmti ->GetCapabilities (&caps)
)
)
return JNI_ERR;
@@ -258,11 +217,7 @@
caps.can_force_early_return = 1;
caps.can_suspend = 1;
- if (!NSK_JVMTI_VERIFY(
- NSK_CPP_STUB2(
- AddCapabilities
- , jvmti
- , &caps)
+ if (!NSK_JVMTI_VERIFY(jvmti ->AddCapabilities (&caps)
)
)
return JNI_ERR;
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/ForceGarbageCollection/forcegc001/forcegc001.cpp Mon Oct 08 18:17:37 2018 -0400
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/ForceGarbageCollection/forcegc001/forcegc001.cpp Mon Oct 08 18:23:05 2018 -0400
@@ -45,8 +45,7 @@
NSK_DISPLAY0(">>> Testcase #1: force GC to collect sofly reachable objects\n");
{
NSK_DISPLAY0("Call ForceGarbageCollection()\n");
- if (!NSK_JVMTI_VERIFY(
- NSK_CPP_STUB1(ForceGarbageCollection, jvmti))) {
+ if (!NSK_JVMTI_VERIFY(jvmti->ForceGarbageCollection())) {
nsk_jvmti_setFailStatus();
return;
}
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/ForceGarbageCollection/forcegc002/forcegc002.cpp Mon Oct 08 18:17:37 2018 -0400
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/ForceGarbageCollection/forcegc002/forcegc002.cpp Mon Oct 08 18:23:05 2018 -0400
@@ -54,8 +54,7 @@
return;
NSK_DISPLAY0("Call ForceGarbageCollection()\n");
- if (!NSK_JVMTI_VERIFY(
- NSK_CPP_STUB1(ForceGarbageCollection, jvmti))) {
+ if (!NSK_JVMTI_VERIFY(jvmti->ForceGarbageCollection())) {
nsk_jvmti_setFailStatus();
return;
}
@@ -114,7 +113,7 @@
jvmtiCapabilities caps;
memset(&caps, 0, sizeof(caps));
caps.can_generate_garbage_collection_events = 1;
- if (!NSK_JVMTI_VERIFY(NSK_CPP_STUB2(AddCapabilities, jvmti, &caps)))
+ if (!NSK_JVMTI_VERIFY(jvmti->AddCapabilities(&caps)))
return JNI_ERR;
}
@@ -122,9 +121,7 @@
jvmtiEventCallbacks eventCallbacks;
memset(&eventCallbacks, 0, sizeof(eventCallbacks));
eventCallbacks.GarbageCollectionStart = callbackGarbageCollectionStart;
- if (!NSK_JVMTI_VERIFY(
- NSK_CPP_STUB3(SetEventCallbacks, jvmti,
- &eventCallbacks, sizeof(eventCallbacks))))
+ if (!NSK_JVMTI_VERIFY(jvmti->SetEventCallbacks(&eventCallbacks, sizeof(eventCallbacks))))
return JNI_ERR;
}
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/GarbageCollectionFinish/gcfinish001/gcfinish001.cpp Mon Oct 08 18:17:37 2018 -0400
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/GarbageCollectionFinish/gcfinish001/gcfinish001.cpp Mon Oct 08 18:23:05 2018 -0400
@@ -51,8 +51,7 @@
NSK_DISPLAY1("%s: creating a raw monitor ...\n",
msg);
- if (!NSK_JVMTI_VERIFY(NSK_CPP_STUB3(CreateRawMonitor,
- jvmti_env, "_lock", &_lock))) {
+ if (!NSK_JVMTI_VERIFY(jvmti_env->CreateRawMonitor("_lock", &_lock))) {
result = STATUS_FAILED;
NSK_COMPLAIN1("TEST FAILED: %s: unable to create a raw monitor\n\n",
msg);
@@ -63,8 +62,7 @@
NSK_DISPLAY1("%s: entering the raw monitor ...\n",
msg);
- if (!NSK_JVMTI_VERIFY(NSK_CPP_STUB2(RawMonitorEnter,
- jvmti_env, _lock))) {
+ if (!NSK_JVMTI_VERIFY(jvmti_env->RawMonitorEnter(_lock))) {
result = STATUS_FAILED;
NSK_COMPLAIN1("TEST FAILED: %s: unable to enter the raw monitor\n\n",
msg);
@@ -75,8 +73,7 @@
NSK_DISPLAY1("%s: waiting the raw monitor ...\n",
msg);
- if (!NSK_JVMTI_VERIFY(NSK_CPP_STUB3(RawMonitorWait,
- jvmti_env, _lock, (jlong)10))) {
+ if (!NSK_JVMTI_VERIFY(jvmti_env->RawMonitorWait(_lock, (jlong)10))) {
result = STATUS_FAILED;
NSK_COMPLAIN1("TEST FAILED: %s: unable to wait the raw monitor\n\n",
msg);
@@ -87,8 +84,7 @@
NSK_DISPLAY1("%s: notifying a single thread waiting on the raw monitor ...\n",
msg);
- if (!NSK_JVMTI_VERIFY(NSK_CPP_STUB2(RawMonitorNotify,
- jvmti_env, _lock))) {
+ if (!NSK_JVMTI_VERIFY(jvmti_env->RawMonitorNotify(_lock))) {
result = STATUS_FAILED;
NSK_COMPLAIN1("TEST FAILED: %s: unable to notify single thread\n\n",
msg);
@@ -99,8 +95,7 @@
NSK_DISPLAY1("%s: notifying all threads waiting on the raw monitor ...\n",
msg);
- if (!NSK_JVMTI_VERIFY(NSK_CPP_STUB2(RawMonitorNotifyAll,
- jvmti_env, _lock))) {
+ if (!NSK_JVMTI_VERIFY(jvmti_env->RawMonitorNotifyAll(_lock))) {
result = STATUS_FAILED;
NSK_COMPLAIN1("TEST FAILED: %s: unable to notify all threads\n\n",
msg);
@@ -111,8 +106,7 @@
NSK_DISPLAY1("%s: exiting the raw monitor ...\n",
msg);
- if (!NSK_JVMTI_VERIFY(NSK_CPP_STUB2(RawMonitorExit,
- jvmti_env, _lock))) {
+ if (!NSK_JVMTI_VERIFY(jvmti_env->RawMonitorExit(_lock))) {
result = STATUS_FAILED;
NSK_COMPLAIN1("TEST FAILED: %s: unable to exit the raw monitor\n\n",
msg);
@@ -123,8 +117,7 @@
NSK_DISPLAY1("%s: destroying the raw monitor ...\n",
msg);
- if (!NSK_JVMTI_VERIFY(NSK_CPP_STUB2(DestroyRawMonitor,
- jvmti_env, _lock))) {
+ if (!NSK_JVMTI_VERIFY(jvmti_env->DestroyRawMonitor(_lock))) {
result = STATUS_FAILED;
NSK_COMPLAIN1("TEST FAILED: %s: unable to destroy a raw monitor\n",
msg);
@@ -137,8 +130,7 @@
static void memoryFunc(jvmtiEnv *jvmti_env, const char *msg) {
NSK_DISPLAY1("%s: allocating memory ...\n",
msg);
- if (!NSK_JVMTI_VERIFY(NSK_CPP_STUB3(Allocate,
- jvmti_env, MEM_SIZE, &mem))) {
+ if (!NSK_JVMTI_VERIFY(jvmti_env->Allocate(MEM_SIZE, &mem))) {
result = STATUS_FAILED;
NSK_COMPLAIN1("TEST FAILED: %s: unable to allocate memory\n\n",
msg);
@@ -150,8 +142,7 @@
NSK_DISPLAY1("%s: deallocating memory ...\n",
msg);
- if (!NSK_JVMTI_VERIFY(NSK_CPP_STUB2(Deallocate,
- jvmti_env, mem))) {
+ if (!NSK_JVMTI_VERIFY(jvmti_env->Deallocate(mem))) {
result = STATUS_FAILED;
NSK_COMPLAIN1("TEST FAILED: %s: unable to deallocate memory\n\n",
msg);
@@ -209,12 +200,10 @@
/* add capability to generate compiled method events */
memset(&caps, 0, sizeof(jvmtiCapabilities));
caps.can_generate_garbage_collection_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_garbage_collection_events)
@@ -225,16 +214,13 @@
(void) memset(&callbacks, 0, sizeof(callbacks));
callbacks.VMDeath = &VMDeath;
callbacks.GarbageCollectionFinish = &GarbageCollectionFinish;
- 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_DEATH, NULL)))
+ if (!NSK_JVMTI_VERIFY(jvmti->SetEventNotificationMode(JVMTI_ENABLE, JVMTI_EVENT_VM_DEATH, NULL)))
return JNI_ERR;
- if (!NSK_JVMTI_VERIFY(NSK_CPP_STUB4(SetEventNotificationMode,
- jvmti, JVMTI_ENABLE, JVMTI_EVENT_GARBAGE_COLLECTION_FINISH, NULL)))
+ if (!NSK_JVMTI_VERIFY(jvmti->SetEventNotificationMode(JVMTI_ENABLE, JVMTI_EVENT_GARBAGE_COLLECTION_FINISH, NULL)))
return JNI_ERR;
NSK_DISPLAY0("enabling the events done\n\n");
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/GarbageCollectionStart/gcstart001/gcstart001.cpp Mon Oct 08 18:17:37 2018 -0400
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/GarbageCollectionStart/gcstart001/gcstart001.cpp Mon Oct 08 18:23:05 2018 -0400
@@ -120,12 +120,10 @@
/* add capability to generate compiled method events */
memset(&caps, 0, sizeof(jvmtiCapabilities));
caps.can_generate_garbage_collection_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_garbage_collection_events)
@@ -137,19 +135,15 @@
callbacks.VMDeath = &VMDeath;
callbacks.GarbageCollectionStart = &GarbageCollectionStart;
callbacks.GarbageCollectionFinish = &GarbageCollectionFinish;
- 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_DEATH, NULL)))
+ if (!NSK_JVMTI_VERIFY(jvmti->SetEventNotificationMode(JVMTI_ENABLE, JVMTI_EVENT_VM_DEATH, NULL)))
return JNI_ERR;
- if (!NSK_JVMTI_VERIFY(NSK_CPP_STUB4(SetEventNotificationMode,
- jvmti, JVMTI_ENABLE, JVMTI_EVENT_GARBAGE_COLLECTION_START, NULL)))
+ if (!NSK_JVMTI_VERIFY(jvmti->SetEventNotificationMode(JVMTI_ENABLE, JVMTI_EVENT_GARBAGE_COLLECTION_START, NULL)))
return JNI_ERR;
- if (!NSK_JVMTI_VERIFY(NSK_CPP_STUB4(SetEventNotificationMode,
- jvmti, JVMTI_ENABLE, JVMTI_EVENT_GARBAGE_COLLECTION_FINISH, NULL)))
+ if (!NSK_JVMTI_VERIFY(jvmti->SetEventNotificationMode(JVMTI_ENABLE, JVMTI_EVENT_GARBAGE_COLLECTION_FINISH, NULL)))
return JNI_ERR;
NSK_DISPLAY0("enabling the events done\n\n");
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/GarbageCollectionStart/gcstart002/gcstart002.cpp Mon Oct 08 18:17:37 2018 -0400
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/GarbageCollectionStart/gcstart002/gcstart002.cpp Mon Oct 08 18:23:05 2018 -0400
@@ -51,8 +51,7 @@
NSK_DISPLAY1("%s: creating a raw monitor ...\n",
msg);
- if (!NSK_JVMTI_VERIFY(NSK_CPP_STUB3(CreateRawMonitor,
- jvmti_env, "_lock", &_lock))) {
+ if (!NSK_JVMTI_VERIFY(jvmti_env->CreateRawMonitor("_lock", &_lock))) {
result = STATUS_FAILED;
NSK_COMPLAIN1("TEST FAILED: %s: unable to create a raw monitor\n\n",
msg);
@@ -63,8 +62,7 @@
NSK_DISPLAY1("%s: entering the raw monitor ...\n",
msg);
- if (!NSK_JVMTI_VERIFY(NSK_CPP_STUB2(RawMonitorEnter,
- jvmti_env, _lock))) {
+ if (!NSK_JVMTI_VERIFY(jvmti_env->RawMonitorEnter(_lock))) {
result = STATUS_FAILED;
NSK_COMPLAIN1("TEST FAILED: %s: unable to enter the raw monitor\n\n",
msg);
@@ -76,8 +74,7 @@
NSK_DISPLAY1("%s: waiting the raw monitor ...\n",
msg);
- if (!NSK_JVMTI_VERIFY(NSK_CPP_STUB3(RawMonitorWait,
- jvmti_env, _lock, (jlong)10))) {
+ if (!NSK_JVMTI_VERIFY(jvmti_env->RawMonitorWait(_lock, (jlong)10))) {
result = STATUS_FAILED;
NSK_COMPLAIN1("TEST FAILED: %s: unable to wait the raw monitor\n\n",
msg);
@@ -88,8 +85,7 @@
NSK_DISPLAY1("%s: notifying a single thread waiting on the raw monitor ...\n",
msg);
- if (!NSK_JVMTI_VERIFY(NSK_CPP_STUB2(RawMonitorNotify,
- jvmti_env, _lock))) {
+ if (!NSK_JVMTI_VERIFY(jvmti_env->RawMonitorNotify(_lock))) {
result = STATUS_FAILED;
NSK_COMPLAIN1("TEST FAILED: %s: unable to notify single thread\n\n",
msg);
@@ -100,8 +96,7 @@
NSK_DISPLAY1("%s: notifying all threads waiting on the raw monitor ...\n",
msg);
- if (!NSK_JVMTI_VERIFY(NSK_CPP_STUB2(RawMonitorNotifyAll,
- jvmti_env, _lock))) {
+ if (!NSK_JVMTI_VERIFY(jvmti_env->RawMonitorNotifyAll(_lock))) {
result = STATUS_FAILED;
NSK_COMPLAIN1("TEST FAILED: %s: unable to notify all threads\n\n",
msg);
@@ -112,8 +107,7 @@
NSK_DISPLAY1("%s: exiting the raw monitor ...\n",
msg);
- if (!NSK_JVMTI_VERIFY(NSK_CPP_STUB2(RawMonitorExit,
- jvmti_env, _lock))) {
+ if (!NSK_JVMTI_VERIFY(jvmti_env->RawMonitorExit(_lock))) {
result = STATUS_FAILED;
NSK_COMPLAIN1("TEST FAILED: %s: unable to exit the raw monitor\n\n",
msg);
@@ -124,8 +118,7 @@
NSK_DISPLAY1("%s: destroying the raw monitor ...\n",
msg);
- if (!NSK_JVMTI_VERIFY(NSK_CPP_STUB2(DestroyRawMonitor,
- jvmti_env, _lock))) {
+ if (!NSK_JVMTI_VERIFY(jvmti_env->DestroyRawMonitor(_lock))) {
result = STATUS_FAILED;
NSK_COMPLAIN1("TEST FAILED: %s: unable to destroy a raw monitor\n",
msg);
@@ -138,8 +131,7 @@
static void memoryFunc(jvmtiEnv *jvmti_env, const char *msg) {
NSK_DISPLAY1("%s: allocating memory ...\n",
msg);
- if (!NSK_JVMTI_VERIFY(NSK_CPP_STUB3(Allocate,
- jvmti_env, MEM_SIZE, &mem))) {
+ if (!NSK_JVMTI_VERIFY(jvmti_env->Allocate(MEM_SIZE, &mem))) {
result = STATUS_FAILED;
NSK_COMPLAIN1("TEST FAILED: %s: unable to allocate memory\n\n",
msg);
@@ -151,8 +143,7 @@
NSK_DISPLAY1("%s: deallocating memory ...\n",
msg);
- if (!NSK_JVMTI_VERIFY(NSK_CPP_STUB2(Deallocate,
- jvmti_env, mem))) {
+ if (!NSK_JVMTI_VERIFY(jvmti_env->Deallocate(mem))) {
result = STATUS_FAILED;
NSK_COMPLAIN1("TEST FAILED: %s: unable to deallocate memory\n\n",
msg);
@@ -210,12 +201,10 @@
/* add capability to generate compiled method events */
memset(&caps, 0, sizeof(jvmtiCapabilities));
caps.can_generate_garbage_collection_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_garbage_collection_events)
@@ -226,16 +215,13 @@
(void) memset(&callbacks, 0, sizeof(callbacks));
callbacks.VMDeath = &VMDeath;
callbacks.GarbageCollectionStart = &GarbageCollectionStart;
- 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_DEATH, NULL)))
+ if (!NSK_JVMTI_VERIFY(jvmti->SetEventNotificationMode(JVMTI_ENABLE, JVMTI_EVENT_VM_DEATH, NULL)))
return JNI_ERR;
- if (!NSK_JVMTI_VERIFY(NSK_CPP_STUB4(SetEventNotificationMode,
- jvmti, JVMTI_ENABLE, JVMTI_EVENT_GARBAGE_COLLECTION_START, NULL)))
+ if (!NSK_JVMTI_VERIFY(jvmti->SetEventNotificationMode(JVMTI_ENABLE, JVMTI_EVENT_GARBAGE_COLLECTION_START, NULL)))
return JNI_ERR;
NSK_DISPLAY0("enabling the events done\n\n");
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/GenerateEvents/genevents001/genevents001.cpp Mon Oct 08 18:17:37 2018 -0400
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/GenerateEvents/genevents001/genevents001.cpp Mon Oct 08 18:23:05 2018 -0400
@@ -99,13 +99,11 @@
}
NSK_DISPLAY0("Call GenerateEvents() to send missed events\n");
- if (!NSK_JVMTI_VERIFY(
- NSK_CPP_STUB2(GenerateEvents, jvmti, JVMTI_EVENT_COMPILED_METHOD_LOAD))) {
+ if (!NSK_JVMTI_VERIFY(jvmti->GenerateEvents(JVMTI_EVENT_COMPILED_METHOD_LOAD))) {
nsk_jvmti_setFailStatus();
}
- if (!NSK_JVMTI_VERIFY(
- NSK_CPP_STUB2(GenerateEvents, jvmti, JVMTI_EVENT_DYNAMIC_CODE_GENERATED))) {
+ if (!NSK_JVMTI_VERIFY(jvmti->GenerateEvents(JVMTI_EVENT_DYNAMIC_CODE_GENERATED))) {
nsk_jvmti_setFailStatus();
}
@@ -195,8 +193,7 @@
jvmtiCapabilities caps;
memset(&caps, 0, sizeof(caps));
caps.can_generate_compiled_method_load_events = 1;
- if (!NSK_JVMTI_VERIFY(
- NSK_CPP_STUB2(AddCapabilities, jvmti, &caps)))
+ if (!NSK_JVMTI_VERIFY(jvmti->AddCapabilities(&caps)))
return JNI_ERR;
}
@@ -207,9 +204,7 @@
eventCallbacks.CompiledMethodLoad = callbackCompiledMethodLoad;
eventCallbacks.CompiledMethodUnload = callbackCompiledMethodUnload;
eventCallbacks.DynamicCodeGenerated = callbackDynamicCodeGenerated;
- if (!NSK_JVMTI_VERIFY(
- NSK_CPP_STUB3(SetEventCallbacks, jvmti,
- &eventCallbacks, sizeof(eventCallbacks))))
+ if (!NSK_JVMTI_VERIFY(jvmti->SetEventCallbacks(&eventCallbacks, sizeof(eventCallbacks))))
return JNI_ERR;
}
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/GetAvailableProcessors/getavailproc001/getavailproc001.cpp Mon Oct 08 18:17:37 2018 -0400
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/GetAvailableProcessors/getavailproc001/getavailproc001.cpp Mon Oct 08 18:23:05 2018 -0400
@@ -53,8 +53,7 @@
jint processors = 0;
NSK_DISPLAY0("GetAvailableProcessors() for current JVMTI env\n");
- if (!NSK_JVMTI_VERIFY(
- NSK_CPP_STUB2(GetAvailableProcessors, jvmti, &processors))) {
+ if (!NSK_JVMTI_VERIFY(jvmti->GetAvailableProcessors(&processors))) {
return NSK_FALSE;
}
NSK_DISPLAY1(" ... got processors: %d\n", (int)processors);
@@ -157,9 +156,7 @@
memset(&eventCallbacks, 0, sizeof(eventCallbacks));
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;
}
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/GetCapabilities/getcaps002/getcaps002.cpp Mon Oct 08 18:17:37 2018 -0400
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/GetCapabilities/getcaps002/getcaps002.cpp Mon Oct 08 18:23:05 2018 -0400
@@ -190,8 +190,7 @@
memset(&caps, 0, sizeof(jvmtiCapabilities));
NSK_DISPLAY0("GetCapabilities() for current JVMTI env\n");
- if (!NSK_JVMTI_VERIFY(
- NSK_CPP_STUB2(GetCapabilities, jvmti, &caps))) {
+ if (!NSK_JVMTI_VERIFY(jvmti->GetCapabilities(&caps))) {
return NSK_FALSE;
}
@@ -297,9 +296,7 @@
memset(&eventCallbacks, 0, sizeof(eventCallbacks));
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;
}
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/GetClassLoaderClasses/clsldrclss002/clsldrclss002.cpp Mon Oct 08 18:17:37 2018 -0400
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/GetClassLoaderClasses/clsldrclss002/clsldrclss002.cpp Mon Oct 08 18:23:05 2018 -0400
@@ -58,18 +58,15 @@
NSK_DISPLAY0("Obtain tested object from a static field of debugee class\n");
NSK_DISPLAY1("Find class: %s\n", CLASS_NAME);
- if (!NSK_JNI_VERIFY(jni, (testedClass =
- NSK_CPP_STUB2(FindClass, jni, CLASS_NAME)) != NULL))
+ if (!NSK_JNI_VERIFY(jni, (testedClass = jni->FindClass(CLASS_NAME)) != NULL))
return NSK_FALSE;
- if (!NSK_JNI_VERIFY(jni, (testedClass = (jclass)
- NSK_CPP_STUB2(NewGlobalRef, jni, testedClass)) != NULL))
+ if (!NSK_JNI_VERIFY(jni, (testedClass = (jclass) jni->NewGlobalRef(testedClass)) != NULL))
return NSK_FALSE;
NSK_DISPLAY2("Find field: %s:%s\n", FIELD_NAME, FIELD_SIGNATURE);
if (!NSK_JNI_VERIFY(jni, (testedFieldID =
- NSK_CPP_STUB4(GetStaticFieldID, jni, testedClass,
- FIELD_NAME, FIELD_SIGNATURE)) != NULL))
+ jni->GetStaticFieldID(testedClass, FIELD_NAME, FIELD_SIGNATURE)) != NULL))
return NSK_FALSE;
return NSK_TRUE;
@@ -82,8 +79,7 @@
jint i;
for (i = 0; i < classCount && !found; i++) {
- if (!NSK_JVMTI_VERIFY(NSK_CPP_STUB4(GetClassSignature, jvmti,
- classes[i], &signature, &generic)))
+ if (!NSK_JVMTI_VERIFY(jvmti->GetClassSignature(classes[i], &signature, &generic)))
break;
if (signature != NULL && strcmp(signature, exp_sig) == 0) {
@@ -92,10 +88,10 @@
}
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);
}
return found;
@@ -119,13 +115,11 @@
NSK_DISPLAY0("Testcase #1: check on default classloader\n");
if (!NSK_JNI_VERIFY(jni, (testedClassLoader =
- NSK_CPP_STUB3(GetStaticObjectField, jni,
- testedClass, testedFieldID)) != NULL)) {
+ jni->GetStaticObjectField(testedClass, testedFieldID)) != NULL)) {
nsk_jvmti_setFailStatus();
return;
}
- if (!NSK_JVMTI_VERIFY(NSK_CPP_STUB4(GetClassLoaderClasses, jvmti,
- testedClassLoader, &classCount, &classes))) {
+ if (!NSK_JVMTI_VERIFY(jvmti->GetClassLoaderClasses(testedClassLoader, &classCount, &classes))) {
nsk_jvmti_setFailStatus();
return;
}
@@ -143,7 +137,7 @@
return;
}
if (classes != NULL)
- NSK_CPP_STUB2(Deallocate, jvmti, (unsigned char*)classes);
+ jvmti->Deallocate((unsigned char*)classes);
if (!nsk_jvmti_resumeSync())
return;
@@ -152,13 +146,11 @@
NSK_DISPLAY0("Testcase #2: check on custom classloader\n");
if (!NSK_JNI_VERIFY(jni, (testedClassLoader =
- NSK_CPP_STUB3(GetStaticObjectField, jni,
- testedClass, testedFieldID)) != NULL)) {
+ jni->GetStaticObjectField(testedClass, testedFieldID)) != NULL)) {
nsk_jvmti_setFailStatus();
return;
}
- if (!NSK_JVMTI_VERIFY(NSK_CPP_STUB4(GetClassLoaderClasses, jvmti,
- testedClassLoader, &classCount, &classes))) {
+ if (!NSK_JVMTI_VERIFY(jvmti->GetClassLoaderClasses(testedClassLoader, &classCount, &classes))) {
nsk_jvmti_setFailStatus();
return;
}
@@ -183,9 +175,9 @@
nsk_jvmti_setFailStatus();
}
if (classes != NULL)
- NSK_CPP_STUB2(Deallocate, jvmti, (unsigned char*)classes);
+ jvmti->Deallocate((unsigned char*)classes);
- NSK_TRACE(NSK_CPP_STUB2(DeleteGlobalRef, jni, testedClass));
+ NSK_TRACE(jni->DeleteGlobalRef(testedClass));
if (!nsk_jvmti_resumeSync())
return;
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/GetClassSignature/getclsig006/getclsig006.cpp Mon Oct 08 18:17:37 2018 -0400
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/GetClassSignature/getclsig006/getclsig006.cpp Mon Oct 08 18:23:05 2018 -0400
@@ -58,8 +58,7 @@
char *sign;
char *gen_sign;
- if (!NSK_JVMTI_VERIFY(NSK_CPP_STUB4(GetClassSignature,
- jvmti, testedCls, &sign, &gen_sign))) {
+ if (!NSK_JVMTI_VERIFY(jvmti->GetClassSignature(testedCls, &sign, &gen_sign))) {
NSK_COMPLAIN1("TEST FAILED: unable to get class signature for \"%s\"\n\n",
class_sig[idx][0]);
return STATUS_FAILED;
@@ -85,13 +84,11 @@
sign, (gen_sign==NULL)?"NULL":gen_sign);
NSK_DISPLAY0("Deallocating the signature array\n");
- if (!NSK_JVMTI_VERIFY(NSK_CPP_STUB2(Deallocate,
- jvmti, (unsigned char*) sign))) {
+ if (!NSK_JVMTI_VERIFY(jvmti->Deallocate((unsigned char*) sign))) {
totRes = STATUS_FAILED;
}
if (gen_sign!=NULL)
- if (!NSK_JVMTI_VERIFY(NSK_CPP_STUB2(Deallocate,
- jvmti, (unsigned char*) gen_sign))) {
+ if (!NSK_JVMTI_VERIFY(jvmti->Deallocate((unsigned char*) gen_sign))) {
totRes = STATUS_FAILED;
}
@@ -108,8 +105,7 @@
jclass testedCls;
for (i=0; i<CLS_NUM; i++) {
- if (!NSK_JNI_VERIFY(jni, (testedCls = NSK_CPP_STUB2(
- FindClass, jni, class_sig[i][1])) != NULL)) {
+ if (!NSK_JNI_VERIFY(jni, (testedCls = jni->FindClass(class_sig[i][1])) != NULL)) {
NSK_COMPLAIN1("TEST FAILURE: unable to find class \"%s\"\n\n",
class_sig[i][0]);
res = STATUS_FAILED;
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/GetCurrentThreadCpuTime/curthrcputime001/curthrcputime001.cpp Mon Oct 08 18:17:37 2018 -0400
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/GetCurrentThreadCpuTime/curthrcputime001/curthrcputime001.cpp Mon Oct 08 18:23:05 2018 -0400
@@ -70,8 +70,7 @@
int success = NSK_TRUE;
NSK_DISPLAY1("GetCurrentThreadCpuTime() for current thread: 0x%p\n", (void*)thread);
- if (!NSK_JVMTI_VERIFY(
- NSK_CPP_STUB2(GetCurrentThreadCpuTime, jvmti, (jlong *)time))) {
+ if (!NSK_JVMTI_VERIFY(jvmti->GetCurrentThreadCpuTime((jlong *)time))) {
return NSK_FALSE;
}
NSK_DISPLAY1(" ... got cpu time: %s\n", julong_to_string(*time, buf));
@@ -260,8 +259,7 @@
jvmtiThreadInfo threadInfo;
{
- if (!NSK_JVMTI_VERIFY(
- NSK_CPP_STUB3(GetThreadInfo, jvmti, thread, &threadInfo))) {
+ if (!NSK_JVMTI_VERIFY(jvmti->GetThreadInfo(thread, &threadInfo))) {
nsk_jvmti_setFailStatus();
return;
}
@@ -284,8 +282,7 @@
jvmtiThreadInfo threadInfo;
{
- if (!NSK_JVMTI_VERIFY(
- NSK_CPP_STUB3(GetThreadInfo, jvmti, thread, &threadInfo))) {
+ if (!NSK_JVMTI_VERIFY(jvmti->GetThreadInfo(thread, &threadInfo))) {
nsk_jvmti_setFailStatus();
return;
}
@@ -337,8 +334,7 @@
memset(&caps, 0, sizeof(caps));
caps.can_get_current_thread_cpu_time = 1;
- if (!NSK_JVMTI_VERIFY(
- NSK_CPP_STUB2(AddCapabilities, jvmti, &caps))) {
+ if (!NSK_JVMTI_VERIFY(jvmti->AddCapabilities(&caps))) {
return JNI_ERR;
}
}
@@ -353,9 +349,7 @@
eventCallbacks.VMDeath = callbackVMDeath;
eventCallbacks.ThreadStart = callbackThreadStart;
eventCallbacks.ThreadEnd = callbackThreadEnd;
- if (!NSK_JVMTI_VERIFY(
- NSK_CPP_STUB3(SetEventCallbacks, jvmti,
- &eventCallbacks, sizeof(eventCallbacks)))) {
+ if (!NSK_JVMTI_VERIFY(jvmti->SetEventCallbacks(&eventCallbacks, sizeof(eventCallbacks)))) {
return JNI_ERR;
}
}
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/GetCurrentThreadCpuTimerInfo/curthrtimerinfo001/curthrtimerinfo001.cpp Mon Oct 08 18:17:37 2018 -0400
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/GetCurrentThreadCpuTimerInfo/curthrtimerinfo001/curthrtimerinfo001.cpp Mon Oct 08 18:23:05 2018 -0400
@@ -66,7 +66,7 @@
NSK_DISPLAY0("GetCurrentThreadCpuTimerInfo() for current JVMTI env\n");
if (!NSK_JVMTI_VERIFY(
- NSK_CPP_STUB2(GetCurrentThreadCpuTimerInfo, jvmti, info))) {
+ jvmti->GetCurrentThreadCpuTimerInfo(info))) {
return NSK_FALSE;
}
NSK_DISPLAY0("Got timer info:\n");
@@ -260,7 +260,7 @@
memset(&caps, 0, sizeof(caps));
caps.can_get_current_thread_cpu_time = 1;
if (!NSK_JVMTI_VERIFY(
- NSK_CPP_STUB2(AddCapabilities, jvmti, &caps))) {
+ jvmti->AddCapabilities(&caps))) {
return JNI_ERR;
}
}
@@ -276,8 +276,7 @@
eventCallbacks.ThreadStart = callbackThreadStart;
eventCallbacks.ThreadEnd = callbackThreadEnd;
if (!NSK_JVMTI_VERIFY(
- NSK_CPP_STUB3(SetEventCallbacks, jvmti,
- &eventCallbacks, sizeof(eventCallbacks)))) {
+ jvmti->SetEventCallbacks(&eventCallbacks, sizeof(eventCallbacks)))) {
return JNI_ERR;
}
}
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/GetEnv/GetEnv001/GetEnv001.cpp Mon Oct 08 18:17:37 2018 -0400
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/GetEnv/GetEnv001/GetEnv001.cpp Mon Oct 08 18:23:05 2018 -0400
@@ -87,64 +87,29 @@
return JNI_ERR;
}
- if (NSK_CPP_STUB3(
- GetEnv
- , vm
- , (void **) &jvmti
- , JVMTI_VERSION_1_1
- ) != JNI_OK || jvmti == NULL)
- {
+ if (vm->GetEnv((void **) &jvmti, JVMTI_VERSION_1_1) != JNI_OK || jvmti == NULL) {
NSK_COMPLAIN0("JVMTI_VERSION_1_1 isn't supported.");
return JNI_OK;
}
- if (!NSK_JVMTI_VERIFY(
- NSK_CPP_STUB2(
- GetCapabilities
- , jvmti
- , &caps)
- )
- )
+ if (!NSK_JVMTI_VERIFY(jvmti->GetCapabilities(&caps)))
return JNI_ERR;
caps.can_retransform_classes = 1;
// Register all necessary JVM capabilities
- if (!NSK_JVMTI_VERIFY(
- NSK_CPP_STUB2(
- AddCapabilities
- , jvmti
- , &caps)
- )
- )
+ if (!NSK_JVMTI_VERIFY(jvmti->AddCapabilities(&caps)))
return JNI_ERR;
// Register all necessary event callbacks
memset(&callbacks, 0, sizeof(callbacks));
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 class retransformation
- 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;
return JNI_OK;
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/GetEnvironmentLocalStorage/getenvstor001/getenvstor001.cpp Mon Oct 08 18:17:37 2018 -0400
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/GetEnvironmentLocalStorage/getenvstor001/getenvstor001.cpp Mon Oct 08 18:23:05 2018 -0400
@@ -53,8 +53,7 @@
void* storage = NULL;
NSK_DISPLAY0("GetEnvironmentLocalStorage() for current JVMTI env\n");
- if (!NSK_JVMTI_VERIFY(
- NSK_CPP_STUB2(GetEnvironmentLocalStorage, jvmti, &storage))) {
+ if (!NSK_JVMTI_VERIFY(jvmti->GetEnvironmentLocalStorage(&storage))) {
return NSK_FALSE;
}
NSK_DISPLAY1(" ... got storage: 0x%p\n", (void*)storage);
@@ -158,9 +157,7 @@
memset(&eventCallbacks, 0, sizeof(eventCallbacks));
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;
}
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/GetErrorName/geterrname001/geterrname001.cpp Mon Oct 08 18:17:37 2018 -0400
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/GetErrorName/geterrname001/geterrname001.cpp Mon Oct 08 18:23:05 2018 -0400
@@ -152,15 +152,14 @@
for (i = 0; i < sizeof(errors)/sizeof(error_info); i++) {
if (!NSK_JVMTI_VERIFY(
- NSK_CPP_STUB3(GetErrorName, jvmti, errors[i].err, &name)))
+ jvmti->GetErrorName(errors[i].err, &name)))
return NSK_FALSE;
if (strcmp(name, errors[i].name) != 0) {
NSK_COMPLAIN2("Error: function returns \"%s\", expected \"%s\"\n",
name, errors[i].name);
return_value = NSK_FALSE;
}
- if (!NSK_JVMTI_VERIFY(
- NSK_CPP_STUB2(Deallocate, jvmti, (unsigned char*)name)))
+ if (!NSK_JVMTI_VERIFY(jvmti->Deallocate((unsigned char*)name)))
return NSK_FALSE;
}
@@ -172,7 +171,7 @@
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));
@@ -194,10 +193,10 @@
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) {
@@ -210,7 +209,7 @@
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();
}
@@ -224,7 +223,7 @@
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));
@@ -270,12 +269,10 @@
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));
@@ -288,21 +285,17 @@
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 */
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/GetErrorName/geterrname002/geterrname002.cpp Mon Oct 08 18:17:37 2018 -0400
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/GetErrorName/geterrname002/geterrname002.cpp Mon Oct 08 18:23:05 2018 -0400
@@ -48,12 +48,12 @@
NSK_DISPLAY0("Testcase #1: check on JVMTI_ERROR_ILLEGAL_ARGUMENT\n");
if (!NSK_JVMTI_VERIFY_CODE(JVMTI_ERROR_ILLEGAL_ARGUMENT,
- NSK_CPP_STUB3(GetErrorName, jvmti, (jvmtiError)(-1), &name)))
+ jvmti->GetErrorName((jvmtiError)(-1), &name)))
nsk_jvmti_setFailStatus();
NSK_DISPLAY0("Testcase #2: check on JVMTI_ERROR_NULL_POINTER\n");
if (!NSK_JVMTI_VERIFY_CODE(JVMTI_ERROR_NULL_POINTER,
- NSK_CPP_STUB3(GetErrorName, jvmti, JVMTI_ERROR_NONE, NULL)))
+ jvmti->GetErrorName(JVMTI_ERROR_NONE, NULL)))
nsk_jvmti_setFailStatus();
/* resume debugee after last sync */
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/GetExtensionEvents/extevents001/extevents001.cpp Mon Oct 08 18:17:37 2018 -0400
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/GetExtensionEvents/extevents001/extevents001.cpp Mon Oct 08 18:23:05 2018 -0400
@@ -54,8 +54,7 @@
int i;
NSK_DISPLAY0("Get extension events list\n");
- if (!NSK_JVMTI_VERIFY(
- NSK_CPP_STUB3(GetExtensionEvents, jvmti, &extCount, &extList))) {
+ if (!NSK_JVMTI_VERIFY(jvmti->GetExtensionEvents(&extCount, &extList))) {
return NSK_FALSE;
}
NSK_DISPLAY1(" ... got count: %d\n", (int)extCount);
@@ -219,8 +218,7 @@
}
NSK_DISPLAY1("Deallocate extension events list: 0x%p\n", (void*)extList);
- if (!NSK_JVMTI_VERIFY(
- NSK_CPP_STUB2(Deallocate, jvmti, (unsigned char*)extList))) {
+ if (!NSK_JVMTI_VERIFY(jvmti->Deallocate((unsigned char*)extList))) {
return NSK_FALSE;
}
NSK_DISPLAY0(" ... deallocated\n");
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/GetExtensionFunctions/extfuncs001/extfuncs001.cpp Mon Oct 08 18:17:37 2018 -0400
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/GetExtensionFunctions/extfuncs001/extfuncs001.cpp Mon Oct 08 18:23:05 2018 -0400
@@ -53,8 +53,7 @@
int i;
NSK_DISPLAY0("Get extension functions list\n");
- if (!NSK_JVMTI_VERIFY(
- NSK_CPP_STUB3(GetExtensionFunctions, jvmti, &extCount, &extList))) {
+ if (!NSK_JVMTI_VERIFY(jvmti->GetExtensionFunctions(&extCount, &extList))) {
return NSK_FALSE;
}
NSK_DISPLAY1(" ... got count: %d\n", (int)extCount);
@@ -230,8 +229,7 @@
}
NSK_DISPLAY1("Deallocate extension functions list: 0x%p\n", (void*)extList);
- if (!NSK_JVMTI_VERIFY(
- NSK_CPP_STUB2(Deallocate, jvmti, (unsigned char*)extList))) {
+ if (!NSK_JVMTI_VERIFY(jvmti->Deallocate((unsigned char*)extList))) {
return NSK_FALSE;
}
NSK_DISPLAY0(" ... deallocated\n");
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/GetFieldName/getfldnm005/getfldnm005.cpp Mon Oct 08 18:17:37 2018 -0400
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/GetFieldName/getfldnm005/getfldnm005.cpp Mon Oct 08 18:23:05 2018 -0400
@@ -92,8 +92,7 @@
char *sign;
char *gen_sign;
- if (!NSK_JVMTI_VERIFY(NSK_CPP_STUB6(GetFieldName,
- jvmti, testedCls, testedFld, &name, &sign, &gen_sign))) {
+ if (!NSK_JVMTI_VERIFY(jvmti->GetFieldName(testedCls, testedFld, &name, &sign, &gen_sign))) {
NSK_COMPLAIN1("TEST FAILED: unable to get field name & signature for \"%s\"\n\n",
fld_sig[idx][0]);
return STATUS_FAILED;
@@ -120,15 +119,12 @@
sign, (gen_sign==NULL)?"NULL":gen_sign);
NSK_DISPLAY0("Deallocating name & signature arrays\n");
- if (!NSK_JVMTI_VERIFY(NSK_CPP_STUB2(Deallocate,
- jvmti, (unsigned char*) name)))
+ if (!NSK_JVMTI_VERIFY(jvmti->Deallocate((unsigned char*) name)))
totRes = STATUS_FAILED;
- if (!NSK_JVMTI_VERIFY(NSK_CPP_STUB2(Deallocate,
- jvmti, (unsigned char*) sign)))
+ if (!NSK_JVMTI_VERIFY(jvmti->Deallocate((unsigned char*) sign)))
totRes = STATUS_FAILED;
if (gen_sign!=NULL)
- if (!NSK_JVMTI_VERIFY(NSK_CPP_STUB2(Deallocate,
- jvmti, (unsigned char*) gen_sign)))
+ if (!NSK_JVMTI_VERIFY(jvmti->Deallocate((unsigned char*) gen_sign)))
totRes = STATUS_FAILED;
}
@@ -140,8 +136,7 @@
JNIEnv *jni, jobject obj) {
int res = PASSED, i, instance;
jfieldID testedFld = NULL;
- jclass objCls = NSK_CPP_STUB2(GetObjectClass,
- jni, obj);
+ jclass objCls = jni->GetObjectClass(obj);
for (i=0; i<FLDS_NUM; i++) {
instance = strcmp(fld_sig[i][1], "instance");
@@ -150,9 +145,7 @@
(instance==0)?"instance":"static",
fld_sig[i][0]);
if (instance==0) {
- if (!NSK_JNI_VERIFY(jni, (testedFld = NSK_CPP_STUB4(
- GetFieldID, jni, objCls,
- fld_sig[i][0], fld_sig[i][2])) != NULL)) {
+ if (!NSK_JNI_VERIFY(jni, (testedFld = jni->GetFieldID(objCls, fld_sig[i][0], fld_sig[i][2])) != NULL)) {
NSK_COMPLAIN1("TEST FAILERE: unable to get field ID for \"%s\"\n\n",
fld_sig[i][0]);
res = STATUS_FAILED;
@@ -160,9 +153,7 @@
}
}
else
- if (!NSK_JNI_VERIFY(jni, (testedFld = NSK_CPP_STUB4(
- GetStaticFieldID, jni, objCls,
- fld_sig[i][0], fld_sig[i][2])) != NULL)) {
+ if (!NSK_JNI_VERIFY(jni, (testedFld = jni->GetStaticFieldID(objCls, fld_sig[i][0], fld_sig[i][2])) != NULL)) {
NSK_COMPLAIN1("TEST FAILERE: unable to get field ID for \"%s\"\n\n",
fld_sig[i][0]);
res = STATUS_FAILED;
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/GetJLocationFormat/getjlocfmt001/getjlocfmt001.cpp Mon Oct 08 18:17:37 2018 -0400
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/GetJLocationFormat/getjlocfmt001/getjlocfmt001.cpp Mon Oct 08 18:23:05 2018 -0400
@@ -57,14 +57,14 @@
VMInit(jvmtiEnv *jvmti, JNIEnv* jni, jthread thread) {
jvmtiJlocationFormat format;
- 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));
/* testcase #3: check GetJLocationFormat in VMInit */
NSK_DISPLAY0("Testcase #3: check GetJLocationFormat in VMInit\n");
- if (!NSK_JVMTI_VERIFY(NSK_CPP_STUB2(GetJLocationFormat, jvmti, &format)))
+ if (!NSK_JVMTI_VERIFY(jvmti->GetJLocationFormat(&format)))
nsk_jvmti_setFailStatus();
if (!NSK_VERIFY((format == JVMTI_JLOCATION_JVMBCI)
|| (format == JVMTI_JLOCATION_MACHINEPC)
@@ -85,10 +85,10 @@
jvmtiJlocationFormat format;
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) {
@@ -97,7 +97,7 @@
/* testcase #2: check GetJLocationFormat in ClassFileLoadHook */
NSK_DISPLAY0("Testcase #2: check GetJLocationFormat in ClassFileLoadHook\n");
- if (!NSK_JVMTI_VERIFY(NSK_CPP_STUB2(GetJLocationFormat, jvmti, &format)))
+ if (!NSK_JVMTI_VERIFY(jvmti->GetJLocationFormat(&format)))
nsk_jvmti_setFailStatus();
if (!NSK_VERIFY((format == JVMTI_JLOCATION_JVMBCI)
|| (format == JVMTI_JLOCATION_MACHINEPC)
@@ -106,7 +106,7 @@
NSK_DISPLAY1("JlocationFormat: %s\n", TranslateJlocationFormat(format));
}
- if (!NSK_JVMTI_VERIFY(NSK_CPP_STUB2(RawMonitorExit, jvmti, access_lock)))
+ if (!NSK_JVMTI_VERIFY(jvmti->RawMonitorExit(access_lock)))
nsk_jvmti_setFailStatus();
}
@@ -121,14 +121,14 @@
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));
/* testcase #4: check GetJLocationFormat in agentProc */
NSK_DISPLAY0("Testcase #4: check GetJLocationFormat in agentProc\n");
- if (!NSK_JVMTI_VERIFY(NSK_CPP_STUB2(GetJLocationFormat, jvmti, &format)))
+ if (!NSK_JVMTI_VERIFY(jvmti->GetJLocationFormat(&format)))
nsk_jvmti_setFailStatus();
if (!NSK_VERIFY((format == JVMTI_JLOCATION_JVMBCI)
|| (format == JVMTI_JLOCATION_MACHINEPC)
@@ -173,19 +173,17 @@
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));
/* testcase #1: check GetJLocationFormat in Agent_OnLoad */
NSK_DISPLAY0("Testcase #1: check GetJLocationFormat in Agent_OnLoad\n");
- if (!NSK_JVMTI_VERIFY(NSK_CPP_STUB2(GetJLocationFormat, jvmti, &format)))
+ if (!NSK_JVMTI_VERIFY(jvmti->GetJLocationFormat(&format)))
nsk_jvmti_setFailStatus();
if (!NSK_VERIFY((format == JVMTI_JLOCATION_JVMBCI)
|| (format == JVMTI_JLOCATION_MACHINEPC)
@@ -196,21 +194,17 @@
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 */
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/GetJLocationFormat/getjlocfmt002/getjlocfmt002.cpp Mon Oct 08 18:17:37 2018 -0400
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/GetJLocationFormat/getjlocfmt002/getjlocfmt002.cpp Mon Oct 08 18:23:05 2018 -0400
@@ -46,8 +46,7 @@
return;
NSK_DISPLAY0("Check if GetJLocationFormat(NULL) returns JVMTI_ERROR_NULL_POINTER\n");
- if (!NSK_JVMTI_VERIFY_CODE(JVMTI_ERROR_NULL_POINTER,
- NSK_CPP_STUB2(GetJLocationFormat, jvmti, NULL)))
+ if (!NSK_JVMTI_VERIFY_CODE(JVMTI_ERROR_NULL_POINTER, jvmti->GetJLocationFormat(NULL)))
nsk_jvmti_setFailStatus();
/* resume debugee after last sync */
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/GetLoadedClasses/loadedclss002/loadedclss002.cpp Mon Oct 08 18:17:37 2018 -0400
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/GetLoadedClasses/loadedclss002/loadedclss002.cpp Mon Oct 08 18:23:05 2018 -0400
@@ -60,8 +60,7 @@
jint i;
for (i = 0; i < classCount && !found; i++) {
- if (!NSK_JVMTI_VERIFY(NSK_CPP_STUB4(GetClassSignature, jvmti,
- classes[i], &signature, &generic)))
+ if (!NSK_JVMTI_VERIFY(jvmti->GetClassSignature(classes[i], &signature, &generic)))
break;
if (signature != NULL && strcmp(signature, exp_sig) == 0) {
@@ -70,10 +69,10 @@
}
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);
}
return found;
@@ -91,8 +90,7 @@
if (!nsk_jvmti_waitForSync(timeout))
return;
- if (!NSK_JVMTI_VERIFY(NSK_CPP_STUB3(GetLoadedClasses, jvmti,
- &classCount, &classes))) {
+ if (!NSK_JVMTI_VERIFY(jvmti->GetLoadedClasses(&classCount, &classes))) {
nsk_jvmti_setFailStatus();
return;
}
@@ -124,7 +122,7 @@
}
if (classes != NULL)
- NSK_CPP_STUB2(Deallocate, jvmti, (unsigned char*)classes);
+ jvmti->Deallocate((unsigned char*)classes);
if (!nsk_jvmti_resumeSync())
return;
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/GetLocalVariableTable/localtab004/localtab004.cpp Mon Oct 08 18:17:37 2018 -0400
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/GetLocalVariableTable/localtab004/localtab004.cpp Mon Oct 08 18:23:05 2018 -0400
@@ -99,13 +99,9 @@
/* get the JNI method ID for a method with name m_name and
signature m_sign */
if (methInfo[i].inst) /* an instance method */
- methInfo[i].mid = NSK_CPP_STUB4(GetMethodID,
- jni_env, testedCls,
- methInfo[i].m_name, methInfo[i].m_sign);
+ methInfo[i].mid = jni_env->GetMethodID(testedCls, methInfo[i].m_name, methInfo[i].m_sign);
else /* a static method */
- methInfo[i].mid = NSK_CPP_STUB4(GetStaticMethodID,
- jni_env, testedCls,
- methInfo[i].m_name, methInfo[i].m_sign);
+ methInfo[i].mid = jni_env->GetStaticMethodID(testedCls, methInfo[i].m_name, methInfo[i].m_sign);
if (methInfo[i].mid == NULL) {
NSK_COMPLAIN3("TEST FAILURE: unable to get the method ID for the %s method \"%s\", signature \"%s\"\n\n",
methInfo[i].inst?"instance":"static",
@@ -114,8 +110,7 @@
}
/* get the LocalVariableTable attribute */
- if (!NSK_JVMTI_VERIFY(NSK_CPP_STUB4(GetLocalVariableTable,
- jvmti, methInfo[i].mid, &count, &lv_table))) {
+ if (!NSK_JVMTI_VERIFY(jvmti->GetLocalVariableTable(methInfo[i].mid, &count, &lv_table))) {
NSK_COMPLAIN3("TEST FAILED: unable to get local variable table\n\tfor the %s method \"%s\", signature \"%s\"\n\n",
methInfo[i].inst?"instance":"static",
methInfo[i].m_name, methInfo[i].m_sign);
@@ -175,8 +170,7 @@
JNIEXPORT jint JNICALL
Java_nsk_jvmti_GetLocalVariableTable_localtab004_check(
JNIEnv *env, jobject obj, jobject testedObj) {
- jclass testedCls = NSK_CPP_STUB2(GetObjectClass,
- env, testedObj);
+ jclass testedCls = env->GetObjectClass(testedObj);
if (!caps.can_access_local_variables)
return PASSED;
@@ -208,12 +202,10 @@
/* add capability to access local variables */
memset(&caps, 0, sizeof(jvmtiCapabilities));
caps.can_access_local_variables = 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_access_local_variables)
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/GetLocalVariableTable/localtab005/localtab005.cpp Mon Oct 08 18:17:37 2018 -0400
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/GetLocalVariableTable/localtab005/localtab005.cpp Mon Oct 08 18:23:05 2018 -0400
@@ -107,13 +107,9 @@
/* get the JNI method ID for a method with name m_name and
signature m_sign */
if (methInfo[i].inst) /* an instance method */
- methInfo[i].mid = NSK_CPP_STUB4(GetMethodID,
- jni_env, testedCls,
- methInfo[i].m_name, methInfo[i].m_sign);
+ methInfo[i].mid = jni_env->GetMethodID(testedCls, methInfo[i].m_name, methInfo[i].m_sign);
else /* a static method */
- methInfo[i].mid = NSK_CPP_STUB4(GetStaticMethodID,
- jni_env, testedCls,
- methInfo[i].m_name, methInfo[i].m_sign);
+ methInfo[i].mid = jni_env->GetStaticMethodID(testedCls, methInfo[i].m_name, methInfo[i].m_sign);
if (methInfo[i].mid == NULL) {
NSK_COMPLAIN3("TEST FAILURE: unable to get the method ID for the %s method \"%s\", signature \"%s\"\n\n",
methInfo[i].inst?"instance":"static",
@@ -122,8 +118,7 @@
}
/* get the LocalVariableTable attribute */
- if (!NSK_JVMTI_VERIFY(NSK_CPP_STUB4(GetLocalVariableTable,
- jvmti, methInfo[i].mid, &count, &lv_table))) {
+ if (!NSK_JVMTI_VERIFY(jvmti->GetLocalVariableTable(methInfo[i].mid, &count, &lv_table))) {
NSK_COMPLAIN3("TEST FAILED: unable to get local variable table\n\tfor the %s method \"%s\", signature \"%s\"\n\n",
methInfo[i].inst?"instance":"static",
methInfo[i].m_name, methInfo[i].m_sign);
@@ -185,8 +180,7 @@
}
}
NSK_DISPLAY0("Deallocating the local variable table entries\n");
- if (!NSK_JVMTI_VERIFY(NSK_CPP_STUB2(Deallocate,
- jvmti, (unsigned char*) lv_table))) {
+ if (!NSK_JVMTI_VERIFY(jvmti->Deallocate((unsigned char*) lv_table))) {
totRes = STATUS_FAILED;
}
@@ -200,8 +194,7 @@
JNIEXPORT jint JNICALL
Java_nsk_jvmti_GetLocalVariableTable_localtab005_check(
JNIEnv *env, jobject obj, jobject testedObj) {
- jclass testedCls = NSK_CPP_STUB2(GetObjectClass,
- env, testedObj);
+ jclass testedCls = env->GetObjectClass(testedObj);
if (!caps.can_access_local_variables)
return PASSED;
@@ -233,12 +226,10 @@
/* add capability to access local variables */
memset(&caps, 0, sizeof(jvmtiCapabilities));
caps.can_access_local_variables = 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_access_local_variables)
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/GetMethodName/methname003/methname003.cpp Mon Oct 08 18:17:37 2018 -0400
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/GetMethodName/methname003/methname003.cpp Mon Oct 08 18:23:05 2018 -0400
@@ -89,8 +89,7 @@
char *sign;
char *gen_sign;
- if (!NSK_JVMTI_VERIFY(NSK_CPP_STUB5(GetMethodName,
- jvmti, testedMeth, &name, &sign, &gen_sign))) {
+ if (!NSK_JVMTI_VERIFY(jvmti->GetMethodName(testedMeth, &name, &sign, &gen_sign))) {
NSK_COMPLAIN1("TEST FAILED: unable to get class signature for \"%s\"\n\n",
meth_sig[clsIdx][methIdx][0]);
return STATUS_FAILED;
@@ -112,17 +111,14 @@
sign, (gen_sign==NULL)?"NULL":gen_sign);
NSK_DISPLAY0("Deallocating name & signature arrays\n");
- if (!NSK_JVMTI_VERIFY(NSK_CPP_STUB2(Deallocate,
- jvmti, (unsigned char*) name))) {
+ if (!NSK_JVMTI_VERIFY(jvmti->Deallocate((unsigned char*) name))) {
totRes = STATUS_FAILED;
}
- if (!NSK_JVMTI_VERIFY(NSK_CPP_STUB2(Deallocate,
- jvmti, (unsigned char*) sign))) {
+ if (!NSK_JVMTI_VERIFY(jvmti->Deallocate((unsigned char*) sign))) {
totRes = STATUS_FAILED;
}
if (gen_sign!=NULL)
- if (!NSK_JVMTI_VERIFY(NSK_CPP_STUB2(Deallocate,
- jvmti, (unsigned char*) gen_sign))) {
+ if (!NSK_JVMTI_VERIFY(jvmti->Deallocate((unsigned char*) gen_sign))) {
totRes = STATUS_FAILED;
}
}
@@ -135,8 +131,7 @@
JNIEnv *jni, jobject obj, jobject testedObj, jint clsIdx) {
int res = PASSED, i, instance;
jmethodID testedMeth = NULL;
- jclass objCls = NSK_CPP_STUB2(GetObjectClass,
- jni, testedObj);
+ jclass objCls = jni->GetObjectClass(testedObj);
for (i=0; i<METH_NUM; i++) {
instance = strcmp(meth_sig[clsIdx][i][1], "instance");
@@ -145,9 +140,7 @@
(instance==0)?"instance":"static",
meth_sig[clsIdx][i][0]);
if (instance==0) {
- if (!NSK_JNI_VERIFY(jni, (testedMeth = NSK_CPP_STUB4(GetMethodID,
- jni, objCls, meth_sig[clsIdx][i][0],
- meth_sig[clsIdx][i][2])) != NULL)) {
+ if (!NSK_JNI_VERIFY(jni, (testedMeth = jni->GetMethodID(objCls, meth_sig[clsIdx][i][0], meth_sig[clsIdx][i][2])) != NULL)) {
NSK_COMPLAIN2("TEST FAILERE: unable to get method ID for \"%s\" \"%s\"\n\n",
meth_sig[clsIdx][i][0], meth_sig[clsIdx][i][2]);
res = STATUS_FAILED;
@@ -155,9 +148,7 @@
}
}
else
- if (!NSK_JNI_VERIFY(jni, (testedMeth = NSK_CPP_STUB4(GetStaticMethodID,
- jni, objCls, meth_sig[clsIdx][i][0],
- meth_sig[clsIdx][i][2])) != NULL)) {
+ if (!NSK_JNI_VERIFY(jni, (testedMeth = jni->GetStaticMethodID(objCls, meth_sig[clsIdx][i][0], meth_sig[clsIdx][i][2])) != NULL)) {
NSK_COMPLAIN2("TEST FAILERE: unable to get method ID for \"%s\" \"%s\"\n\n",
meth_sig[clsIdx][i][0], meth_sig[clsIdx][i][2]);
res = STATUS_FAILED;
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/GetObjectHashCode/objhashcode001/objhashcode001.cpp Mon Oct 08 18:17:37 2018 -0400
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/GetObjectHashCode/objhashcode001/objhashcode001.cpp Mon Oct 08 18:23:05 2018 -0400
@@ -60,8 +60,7 @@
jfieldID objectField = NULL;
NSK_DISPLAY1("Find debugee class: %s\n", DEBUGEE_CLASS_NAME);
- 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;
}
@@ -69,8 +68,7 @@
NSK_DISPLAY1("Find static field: %s\n", OBJECT_FIELD_NAME);
if (!NSK_JNI_VERIFY(jni, (objectField =
- NSK_CPP_STUB4(GetStaticFieldID, jni, debugeeClass,
- OBJECT_FIELD_NAME, OBJECT_CLASS_SIG)) != NULL)) {
+ jni->GetStaticFieldID(debugeeClass, OBJECT_FIELD_NAME, OBJECT_CLASS_SIG)) != NULL)) {
nsk_jvmti_setFailStatus();
return;
}
@@ -78,16 +76,14 @@
NSK_DISPLAY1("Get object from static field: %s\n", OBJECT_FIELD_NAME);
if (!NSK_JNI_VERIFY(jni, (testedObject =
- NSK_CPP_STUB3(GetStaticObjectField, jni, debugeeClass,
- objectField)) != NULL)) {
+ jni->GetStaticObjectField(debugeeClass, objectField)) != NULL)) {
nsk_jvmti_setFailStatus();
return;
}
NSK_DISPLAY1(" ... got object: %p\n", (void*)testedObject);
NSK_DISPLAY1("Create global reference for object: %p\n", (void*)testedObject);
- if (!NSK_JNI_VERIFY(jni, (testedObject =
- NSK_CPP_STUB2(NewGlobalRef, jni, testedObject)) != NULL)) {
+ if (!NSK_JNI_VERIFY(jni, (testedObject = jni->NewGlobalRef(testedObject)) != NULL)) {
nsk_jvmti_setFailStatus();
return;
}
@@ -97,8 +93,7 @@
NSK_DISPLAY0(">>> Testcase #1: get initial hash code of the object\n");
{
NSK_DISPLAY1("Get hashcode for object: %p\n", (void*)testedObject);
- if (!NSK_JVMTI_VERIFY(
- NSK_CPP_STUB3(GetObjectHashCode, jvmti, testedObject, &objectHashCode))) {
+ if (!NSK_JVMTI_VERIFY(jvmti->GetObjectHashCode(testedObject, &objectHashCode))) {
nsk_jvmti_setFailStatus();
return;
}
@@ -110,8 +105,7 @@
jint hashCode = 0;
NSK_DISPLAY1("Get hashcode for object: %p\n", (void*)testedObject);
- if (!NSK_JVMTI_VERIFY(
- NSK_CPP_STUB3(GetObjectHashCode, jvmti, testedObject, &hashCode))) {
+ if (!NSK_JVMTI_VERIFY(jvmti->GetObjectHashCode(testedObject, &hashCode))) {
nsk_jvmti_setFailStatus();
return;
}
@@ -141,7 +135,7 @@
NSK_DISPLAY1("Get hashcode for object: %p\n", (void*)testedObject);
if (!NSK_JVMTI_VERIFY(
- NSK_CPP_STUB3(GetObjectHashCode, jvmti, testedObject, &hashCode))) {
+ jvmti->GetObjectHashCode(testedObject, &hashCode))) {
nsk_jvmti_setFailStatus();
return;
}
@@ -162,7 +156,7 @@
NSK_DISPLAY0(">>> Clean used data\n");
{
NSK_DISPLAY1("Delete object reference: %p\n", (void*)testedObject);
- NSK_TRACE(NSK_CPP_STUB2(DeleteGlobalRef, jni, testedObject));
+ NSK_TRACE(jni->DeleteGlobalRef(testedObject));
}
}
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/GetObjectSize/objsize001/objsize001.cpp Mon Oct 08 18:17:37 2018 -0400
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/GetObjectSize/objsize001/objsize001.cpp Mon Oct 08 18:23:05 2018 -0400
@@ -57,8 +57,7 @@
jfieldID objectField = NULL;
NSK_DISPLAY1("Find debugee class: %s\n", DEBUGEE_CLASS_NAME);
- 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;
}
@@ -66,8 +65,7 @@
NSK_DISPLAY1("Find static field: %s\n", OBJECT_FIELD_NAME);
if (!NSK_JNI_VERIFY(jni, (objectField =
- NSK_CPP_STUB4(GetStaticFieldID, jni, debugeeClass,
- OBJECT_FIELD_NAME, OBJECT_CLASS_SIG)) != NULL)) {
+ jni->GetStaticFieldID(debugeeClass, OBJECT_FIELD_NAME, OBJECT_CLASS_SIG)) != NULL)) {
nsk_jvmti_setFailStatus();
return;
}
@@ -75,16 +73,14 @@
NSK_DISPLAY1("Get object from static field: %s\n", OBJECT_FIELD_NAME);
if (!NSK_JNI_VERIFY(jni, (testedObject =
- NSK_CPP_STUB3(GetStaticObjectField, jni, debugeeClass,
- objectField)) != NULL)) {
+ jni->GetStaticObjectField(debugeeClass, objectField)) != NULL)) {
nsk_jvmti_setFailStatus();
return;
}
NSK_DISPLAY1(" ... got object: 0x%p\n", (void*)testedObject);
NSK_DISPLAY1("Create global reference for object: 0x%p\n", (void*)testedObject);
- if (!NSK_JNI_VERIFY(jni, (testedObject =
- NSK_CPP_STUB2(NewGlobalRef, jni, testedObject)) != NULL)) {
+ if (!NSK_JNI_VERIFY(jni, (testedObject = jni->NewGlobalRef(testedObject)) != NULL)) {
nsk_jvmti_setFailStatus();
return;
}
@@ -94,8 +90,7 @@
NSK_DISPLAY0(">>> Testcase #1: get initial size of the object\n");
{
NSK_DISPLAY1("Get size for object: 0x%p\n", (void*)testedObject);
- if (!NSK_JVMTI_VERIFY(
- NSK_CPP_STUB3(GetObjectSize, jvmti, testedObject, &objectSize))) {
+ if (!NSK_JVMTI_VERIFY(jvmti->GetObjectSize(testedObject, &objectSize))) {
nsk_jvmti_setFailStatus();
return;
}
@@ -113,8 +108,7 @@
jlong size = 0;
NSK_DISPLAY1("Get size for object: 0x%p\n", (void*)testedObject);
- if (!NSK_JVMTI_VERIFY(
- NSK_CPP_STUB3(GetObjectSize, jvmti, testedObject, &size))) {
+ if (!NSK_JVMTI_VERIFY(jvmti->GetObjectSize(testedObject, &size))) {
nsk_jvmti_setFailStatus();
return;
}
@@ -142,8 +136,7 @@
return;
NSK_DISPLAY1("Get size for object: 0x%p\n", (void*)testedObject);
- if (!NSK_JVMTI_VERIFY(
- NSK_CPP_STUB3(GetObjectSize, jvmti, testedObject, &size))) {
+ if (!NSK_JVMTI_VERIFY(jvmti->GetObjectSize(testedObject, &size))) {
nsk_jvmti_setFailStatus();
return;
}
@@ -163,7 +156,7 @@
NSK_DISPLAY0(">>> Clean used data\n");
{
NSK_DISPLAY1("Delete object reference: 0x%p\n", (void*)testedObject);
- NSK_TRACE(NSK_CPP_STUB2(DeleteGlobalRef, jni, testedObject));
+ NSK_TRACE(jni->DeleteGlobalRef(testedObject));
}
}
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/GetObjectsWithTags/objwithtags001/objwithtags001.cpp Mon Oct 08 18:17:37 2018 -0400
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/GetObjectsWithTags/objwithtags001/objwithtags001.cpp Mon Oct 08 18:23:05 2018 -0400
@@ -63,17 +63,13 @@
NSK_DISPLAY2("Allocate memory for lists: %d objects for %d tags\n",
objectsCount, tagsCount);
- if (!NSK_JVMTI_VERIFY(
- NSK_CPP_STUB3(Allocate, jvmti, (size * sizeof(jobject)),
- (unsigned char**)objects))) {
+ if (!NSK_JVMTI_VERIFY(jvmti->Allocate((size * sizeof(jobject)), (unsigned char**)objects))) {
nsk_jvmti_setFailStatus();
return NSK_FALSE;
}
NSK_DISPLAY1(" ... allocated objects list: 0x%p\n", (void*)objects);
- if (!NSK_JVMTI_VERIFY(
- NSK_CPP_STUB3(Allocate, jvmti, (tagsCount * sizeof(jlong)),
- (unsigned char**)tags))) {
+ if (!NSK_JVMTI_VERIFY(jvmti->Allocate((tagsCount * sizeof(jlong)), (unsigned char**)tags))) {
nsk_jvmti_setFailStatus();
return NSK_FALSE;
}
@@ -91,8 +87,7 @@
}
NSK_DISPLAY1("Find debugee class: %s\n", DEBUGEE_CLASS_NAME);
- 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;
}
@@ -100,8 +95,7 @@
NSK_DISPLAY1("Find static field: %s\n", OBJECTS_FIELD_NAME);
if (!NSK_JNI_VERIFY(jni, (objectField =
- NSK_CPP_STUB4(GetStaticFieldID, jni, debugeeClass,
- OBJECTS_FIELD_NAME, OBJECTS_FIELD_SIG)) != NULL)) {
+ jni->GetStaticFieldID(debugeeClass, OBJECTS_FIELD_NAME, OBJECTS_FIELD_SIG)) != NULL)) {
nsk_jvmti_setFailStatus();
return NSK_FALSE;
}
@@ -109,8 +103,7 @@
NSK_DISPLAY1("Get objects array from static field: %s\n", OBJECTS_FIELD_NAME);
if (!NSK_JNI_VERIFY(jni, (arrayObject = (jobjectArray)
- NSK_CPP_STUB3(GetStaticObjectField, jni, debugeeClass,
- objectField)) != NULL)) {
+ jni->GetStaticObjectField(debugeeClass, objectField)) != NULL)) {
nsk_jvmti_setFailStatus();
return NSK_FALSE;
}
@@ -120,8 +113,7 @@
jsize arrayLen = 0;
jsize k;
- if (!NSK_JNI_VERIFY(jni, (arrayLen =
- NSK_CPP_STUB2(GetArrayLength, jni, arrayObject)) == size)) {
+ if (!NSK_JNI_VERIFY(jni, (arrayLen = jni->GetArrayLength(arrayObject)) == size)) {
NSK_DISPLAY1(" ... got array length: %d\n", (int)size);
nsk_jvmti_setFailStatus();
return NSK_FALSE;
@@ -131,13 +123,11 @@
for (k = 0; k < size; k++) {
jobject object = NULL;
- if (!NSK_JNI_VERIFY(jni, (object =
- NSK_CPP_STUB3(GetObjectArrayElement, jni, arrayObject, k)) != NULL)) {
+ if (!NSK_JNI_VERIFY(jni, (object = jni->GetObjectArrayElement(arrayObject, k)) != NULL)) {
nsk_jvmti_setFailStatus();
return NSK_FALSE;
}
- if (!NSK_JNI_VERIFY(jni, (object =
- NSK_CPP_STUB2(NewGlobalRef, jni, object)) != NULL)) {
+ if (!NSK_JNI_VERIFY(jni, (object = jni->NewGlobalRef(object)) != NULL)) {
nsk_jvmti_setFailStatus();
return NSK_FALSE;
}
@@ -162,14 +152,14 @@
NSK_DISPLAY1("Release objects references: %d objects\n", size);
for (k = 0; k < size; k++) {
if (objects[k] != NULL) {
- NSK_TRACE(NSK_CPP_STUB2(DeleteGlobalRef, jni, objects[k]));
+ NSK_TRACE(jni->DeleteGlobalRef(objects[k]));
}
}
NSK_DISPLAY1(" ... object references released: %d objects\n", size);
NSK_DISPLAY1("Deallocate objects list: 0x%p\n", (void*)objects);
if (!NSK_JVMTI_VERIFY(
- NSK_CPP_STUB2(Deallocate, jvmti, (unsigned char*)objects))) {
+ jvmti->Deallocate((unsigned char*)objects))) {
nsk_jvmti_setFailStatus();
}
@@ -178,7 +168,7 @@
NSK_DISPLAY1("Deallocate tags list: 0x%p\n", (void*)tags);
if (!NSK_JVMTI_VERIFY(
- NSK_CPP_STUB2(Deallocate, jvmti, (unsigned char*)tags))) {
+ jvmti->Deallocate((unsigned char*)tags))) {
nsk_jvmti_setFailStatus();
}
@@ -197,8 +187,7 @@
NSK_DISPLAY1("Get tagged objects: %d tags\n", tagsCount);
if (!NSK_JVMTI_VERIFY(
- NSK_CPP_STUB6(GetObjectsWithTags, jvmti, tagsCount, tags,
- &taggedObjectsCount, &taggedObjectsList, &taggedObjectsTags))) {
+ jvmti->GetObjectsWithTags(tagsCount, tags, &taggedObjectsCount, &taggedObjectsList, &taggedObjectsTags))) {
nsk_jvmti_setFailStatus();
return NSK_TRUE;
}
@@ -258,7 +247,7 @@
for (j = 0; j < objectsCount; j++) {
jobject foundObject = ITEM(objects, i, j);
- if (NSK_CPP_STUB3(IsSameObject, jni, object, foundObject)) {
+ if (jni->IsSameObject(object, foundObject)) {
objectsFound++;
if (expectedCount > 0)
@@ -295,12 +284,12 @@
NSK_DISPLAY1("Deallocate got objects list: 0x%p\n", (void*)taggedObjectsList);
if (!NSK_JVMTI_VERIFY(
- NSK_CPP_STUB2(Deallocate, jvmti, (unsigned char*)taggedObjectsList))) {
+ jvmti->Deallocate((unsigned char*)taggedObjectsList))) {
nsk_jvmti_setFailStatus();
}
NSK_DISPLAY1("Deallocate got tags list: 0x%p\n", (void*)taggedObjectsTags);
if (!NSK_JVMTI_VERIFY(
- NSK_CPP_STUB2(Deallocate, jvmti, (unsigned char*)taggedObjectsTags))) {
+ jvmti->Deallocate((unsigned char*)taggedObjectsTags))) {
nsk_jvmti_setFailStatus();
}
@@ -338,8 +327,7 @@
NSK_DISPLAY3(" #%d: object: 0x%p, tag: %ld\n",
j, (void*)object, (long)tags[i]);
- if (!NSK_JVMTI_VERIFY(
- NSK_CPP_STUB3(SetTag, jvmti, object, tags[i]))) {
+ if (!NSK_JVMTI_VERIFY(jvmti->SetTag(object, tags[i]))) {
nsk_jvmti_setFailStatus();
return;
}
@@ -384,8 +372,7 @@
NSK_DISPLAY3(" #%d: object: 0x%p, tag: %ld\n",
j, (void*)object, (long)tag);
- if (!NSK_JVMTI_VERIFY(
- NSK_CPP_STUB3(SetTag, jvmti, object, tag))) {
+ if (!NSK_JVMTI_VERIFY(jvmti->SetTag(object, tag))) {
nsk_jvmti_setFailStatus();
return;
}
@@ -455,8 +442,7 @@
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;
}
}
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/GetPhase/getphase001/getphase001.cpp Mon Oct 08 18:17:37 2018 -0400
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/GetPhase/getphase001/getphase001.cpp Mon Oct 08 18:23:05 2018 -0400
@@ -45,14 +45,14 @@
VMStart(jvmtiEnv *jvmti, JNIEnv* jni) {
jvmtiPhase phase;
- if (!NSK_JVMTI_VERIFY(NSK_CPP_STUB2(RawMonitorEnter, jvmti, access_lock)))
+ if (!NSK_JVMTI_VERIFY(jvmti->RawMonitorEnter(access_lock)))
nsk_jvmti_setFailStatus();
NSK_DISPLAY0("VMStart\n");
/* testcase #2: check JVMTI_PHASE_START */
NSK_DISPLAY0("Testcase #2: check if GetPhase returns JVMTI_PHASE_START\n");
- if (!NSK_JVMTI_VERIFY(NSK_CPP_STUB2(GetPhase, jvmti, &phase)))
+ if (!NSK_JVMTI_VERIFY(jvmti->GetPhase(&phase)))
nsk_jvmti_setFailStatus();
if (!NSK_VERIFY(phase == JVMTI_PHASE_START))
@@ -60,7 +60,7 @@
was_VMStart = JNI_TRUE;
- if (!NSK_JVMTI_VERIFY(NSK_CPP_STUB2(RawMonitorExit, jvmti, access_lock)))
+ if (!NSK_JVMTI_VERIFY(jvmti->RawMonitorExit(access_lock)))
nsk_jvmti_setFailStatus();
}
@@ -68,14 +68,14 @@
VMInit(jvmtiEnv *jvmti, JNIEnv* jni, jthread thread) {
jvmtiPhase phase;
- if (!NSK_JVMTI_VERIFY(NSK_CPP_STUB2(RawMonitorEnter, jvmti, access_lock)))
+ if (!NSK_JVMTI_VERIFY(jvmti->RawMonitorEnter(access_lock)))
nsk_jvmti_setFailStatus();
NSK_DISPLAY0("VMInit\n");
/* testcase #3: check JVMTI_PHASE_LIVE */
NSK_DISPLAY0("Testcase #3: check if GetPhase returns JVMTI_PHASE_LIVE\n");
- if (!NSK_JVMTI_VERIFY(NSK_CPP_STUB2(GetPhase, jvmti, &phase)))
+ if (!NSK_JVMTI_VERIFY(jvmti->GetPhase(&phase)))
nsk_jvmti_setFailStatus();
if (!NSK_VERIFY(phase == JVMTI_PHASE_LIVE))
@@ -83,7 +83,7 @@
was_VMInit = JNI_TRUE;
- if (!NSK_JVMTI_VERIFY(NSK_CPP_STUB2(RawMonitorExit, jvmti, access_lock)))
+ if (!NSK_JVMTI_VERIFY(jvmti->RawMonitorExit(access_lock)))
nsk_jvmti_setFailStatus();
}
@@ -93,7 +93,7 @@
void* address, void** new_address_ptr) {
jvmtiPhase phase;
- if (!NSK_JVMTI_VERIFY(NSK_CPP_STUB2(RawMonitorEnter, jvmti, access_lock)))
+ if (!NSK_JVMTI_VERIFY(jvmti->RawMonitorEnter(access_lock)))
nsk_jvmti_setFailStatus();
NSK_DISPLAY0("NativeMethodBind\n");
@@ -102,7 +102,7 @@
/* testcase #5: check JVMTI_PHASE_PRIMORDIAL */
NSK_DISPLAY0("Testcase #2: check if GetPhase returns JVMTI_PHASE_PRIMORDIAL\n");
- if (!NSK_JVMTI_VERIFY(NSK_CPP_STUB2(GetPhase, jvmti, &phase)))
+ if (!NSK_JVMTI_VERIFY(jvmti->GetPhase(&phase)))
nsk_jvmti_setFailStatus();
if (!NSK_VERIFY(phase == JVMTI_PHASE_PRIMORDIAL))
@@ -112,7 +112,7 @@
/* testcase #2: check JVMTI_PHASE_START */
NSK_DISPLAY0("Testcase #2: check if GetPhase returns JVMTI_PHASE_START\n");
- if (!NSK_JVMTI_VERIFY(NSK_CPP_STUB2(GetPhase, jvmti, &phase)))
+ if (!NSK_JVMTI_VERIFY(jvmti->GetPhase(&phase)))
nsk_jvmti_setFailStatus();
if (!NSK_VERIFY(phase == JVMTI_PHASE_START))
@@ -122,7 +122,7 @@
/* testcase #3: check JVMTI_PHASE_LIVE */
NSK_DISPLAY0("Testcase #3: check if GetPhase returns JVMTI_PHASE_LIVE\n");
- if (!NSK_JVMTI_VERIFY(NSK_CPP_STUB2(GetPhase, jvmti, &phase)))
+ if (!NSK_JVMTI_VERIFY(jvmti->GetPhase(&phase)))
nsk_jvmti_setFailStatus();
if (!NSK_VERIFY(phase == JVMTI_PHASE_LIVE))
@@ -132,14 +132,14 @@
/* testcase #4: check JVMTI_PHASE_DEAD */
NSK_DISPLAY0("Testcase #4: check if GetPhase returns JVMTI_PHASE_DEAD\n");
- if (!NSK_JVMTI_VERIFY(NSK_CPP_STUB2(GetPhase, jvmti, &phase)))
+ if (!NSK_JVMTI_VERIFY(jvmti->GetPhase(&phase)))
nsk_jvmti_setFailStatus();
if (!NSK_VERIFY(phase == JVMTI_PHASE_DEAD))
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();
}
@@ -154,7 +154,7 @@
unsigned char** new_class_data) {
jvmtiPhase phase;
- if (!NSK_JVMTI_VERIFY(NSK_CPP_STUB2(RawMonitorEnter, jvmti, access_lock)))
+ if (!NSK_JVMTI_VERIFY(jvmti->RawMonitorEnter(access_lock)))
nsk_jvmti_setFailStatus();
NSK_DISPLAY1("ClassFileLoadHook: %s\n", name);
@@ -163,7 +163,7 @@
/* testcase #5: check JVMTI_PHASE_PRIMORDIAL */
NSK_DISPLAY0("Testcase #2: check if GetPhase returns JVMTI_PHASE_PRIMORDIAL\n");
- if (!NSK_JVMTI_VERIFY(NSK_CPP_STUB2(GetPhase, jvmti, &phase)))
+ if (!NSK_JVMTI_VERIFY(jvmti->GetPhase(&phase)))
nsk_jvmti_setFailStatus();
if (!NSK_VERIFY(phase == JVMTI_PHASE_PRIMORDIAL))
@@ -173,7 +173,7 @@
/* testcase #2: check JVMTI_PHASE_START */
NSK_DISPLAY0("Testcase #2: check if GetPhase returns JVMTI_PHASE_START\n");
- if (!NSK_JVMTI_VERIFY(NSK_CPP_STUB2(GetPhase, jvmti, &phase)))
+ if (!NSK_JVMTI_VERIFY(jvmti->GetPhase(&phase)))
nsk_jvmti_setFailStatus();
if (!NSK_VERIFY(phase == JVMTI_PHASE_START))
@@ -183,7 +183,7 @@
/* testcase #3: check JVMTI_PHASE_LIVE */
NSK_DISPLAY0("Testcase #3: check if GetPhase returns JVMTI_PHASE_LIVE\n");
- if (!NSK_JVMTI_VERIFY(NSK_CPP_STUB2(GetPhase, jvmti, &phase)))
+ if (!NSK_JVMTI_VERIFY(jvmti->GetPhase(&phase)))
nsk_jvmti_setFailStatus();
if (!NSK_VERIFY(phase == JVMTI_PHASE_LIVE))
@@ -193,14 +193,14 @@
/* testcase #4: check JVMTI_PHASE_DEAD */
NSK_DISPLAY0("Testcase #4: check if GetPhase returns JVMTI_PHASE_DEAD\n");
- if (!NSK_JVMTI_VERIFY(NSK_CPP_STUB2(GetPhase, jvmti, &phase)))
+ if (!NSK_JVMTI_VERIFY(jvmti->GetPhase(&phase)))
nsk_jvmti_setFailStatus();
if (!NSK_VERIFY(phase == JVMTI_PHASE_DEAD))
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();
}
@@ -208,14 +208,14 @@
VMDeath(jvmtiEnv *jvmti, JNIEnv* jni) {
jvmtiPhase phase;
- if (!NSK_JVMTI_VERIFY(NSK_CPP_STUB2(RawMonitorEnter, jvmti, access_lock)))
+ if (!NSK_JVMTI_VERIFY(jvmti->RawMonitorEnter(access_lock)))
nsk_jvmti_setFailStatus();
NSK_DISPLAY0("VMDeath\n");
/* testcase #3: check JVMTI_PHASE_LIVE */
NSK_DISPLAY0("Testcase #3: check if GetPhase returns JVMTI_PHASE_LIVE\n");
- if (!NSK_JVMTI_VERIFY(NSK_CPP_STUB2(GetPhase, jvmti, &phase)))
+ if (!NSK_JVMTI_VERIFY(jvmti->GetPhase(&phase)))
nsk_jvmti_setFailStatus();
if (!NSK_VERIFY(phase == JVMTI_PHASE_LIVE))
@@ -223,7 +223,7 @@
was_VMDeath = JNI_TRUE;
- if (!NSK_JVMTI_VERIFY(NSK_CPP_STUB2(RawMonitorExit, jvmti, access_lock)))
+ if (!NSK_JVMTI_VERIFY(jvmti->RawMonitorExit(access_lock)))
nsk_jvmti_setFailStatus();
}
@@ -242,7 +242,7 @@
/* testcase #3: check JVMTI_PHASE_LIVE */
NSK_DISPLAY0("Testcase #3: check if GetPhase returns JVMTI_PHASE_LIVE\n");
- if (!NSK_JVMTI_VERIFY(NSK_CPP_STUB2(GetPhase, jvmti, &phase)))
+ if (!NSK_JVMTI_VERIFY(jvmti->GetPhase(&phase)))
nsk_jvmti_setFailStatus();
if (!NSK_VERIFY(phase == JVMTI_PHASE_LIVE))
@@ -289,13 +289,12 @@
/* Create data access lock */
if (!NSK_JVMTI_VERIFY(
- NSK_CPP_STUB3(CreateRawMonitor, jvmti,
- "_access_lock", &access_lock)))
+ jvmti->CreateRawMonitor("_access_lock", &access_lock)))
return JNI_ERR;
/* testcase #1: check JVMTI_PHASE_ONLOAD */
NSK_DISPLAY0("Testcase #1: check if GetPhase returns JVMTI_PHASE_ONLOAD\n");
- if (!NSK_JVMTI_VERIFY(NSK_CPP_STUB2(GetPhase, jvmti, &phase)))
+ if (!NSK_JVMTI_VERIFY(jvmti->GetPhase(&phase)))
nsk_jvmti_setFailStatus();
if (!NSK_VERIFY(phase == JVMTI_PHASE_ONLOAD))
@@ -305,7 +304,7 @@
memset(&caps, 0, sizeof(caps));
caps.can_generate_all_class_hook_events = 1;
caps.can_generate_native_method_bind_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));
@@ -315,38 +314,32 @@
callbacks.NativeMethodBind = &NativeMethodBind;
callbacks.ClassFileLoadHook = &ClassFileLoadHook;
if (!NSK_JVMTI_VERIFY(
- NSK_CPP_STUB3(SetEventCallbacks, jvmti,
- &callbacks, sizeof(callbacks))))
+ jvmti->SetEventCallbacks(&callbacks, sizeof(callbacks))))
return JNI_ERR;
/* enable VMStart event */
if (!NSK_JVMTI_VERIFY(
- NSK_CPP_STUB4(SetEventNotificationMode, jvmti, JVMTI_ENABLE,
- JVMTI_EVENT_VM_START, NULL)))
+ jvmti->SetEventNotificationMode(JVMTI_ENABLE, JVMTI_EVENT_VM_START, NULL)))
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 NativeMethodBind event */
if (!NSK_JVMTI_VERIFY(
- NSK_CPP_STUB4(SetEventNotificationMode, jvmti, JVMTI_ENABLE,
- JVMTI_EVENT_NATIVE_METHOD_BIND, NULL)))
+ jvmti->SetEventNotificationMode(JVMTI_ENABLE, JVMTI_EVENT_NATIVE_METHOD_BIND, 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;
/* enable VMDeath event */
if (!NSK_JVMTI_VERIFY(
- NSK_CPP_STUB4(SetEventNotificationMode, jvmti, JVMTI_ENABLE,
- JVMTI_EVENT_VM_DEATH, NULL)))
+ jvmti->SetEventNotificationMode(JVMTI_ENABLE, JVMTI_EVENT_VM_DEATH, NULL)))
return JNI_ERR;
/* register agent proc and arg */
@@ -373,7 +366,7 @@
/* testcase #4: check JVMTI_PHASE_DEAD */
NSK_DISPLAY0("Testcase #4: check if GetPhase returns JVMTI_PHASE_DEAD\n");
- if (!NSK_JVMTI_VERIFY(NSK_CPP_STUB2(GetPhase, jvmti, &phase)))
+ if (!NSK_JVMTI_VERIFY(jvmti->GetPhase(&phase)))
exit(97);
if (!NSK_VERIFY(phase == JVMTI_PHASE_DEAD))
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/GetPhase/getphase002/getphase002.cpp Mon Oct 08 18:17:37 2018 -0400
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/GetPhase/getphase002/getphase002.cpp Mon Oct 08 18:23:05 2018 -0400
@@ -47,7 +47,7 @@
NSK_DISPLAY0("Check if GetPhase(NULL) returns JVMTI_ERROR_NULL_POINTER\n");
if (!NSK_JVMTI_VERIFY_CODE(JVMTI_ERROR_NULL_POINTER,
- NSK_CPP_STUB2(GetPhase, jvmti, NULL)))
+ jvmti->GetPhase(NULL)))
nsk_jvmti_setFailStatus();
/* resume debugee after last sync */
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/GetPotentialCapabilities/getpotcaps001/getpotcaps001.cpp Mon Oct 08 18:17:37 2018 -0400
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/GetPotentialCapabilities/getpotcaps001/getpotcaps001.cpp Mon Oct 08 18:23:05 2018 -0400
@@ -130,7 +130,7 @@
NSK_DISPLAY0("GetPotentialCapabilities() for current JVMTI env\n");
if (!NSK_JVMTI_VERIFY(
- NSK_CPP_STUB2(GetPotentialCapabilities, jvmti, &caps))) {
+ jvmti->GetPotentialCapabilities(&caps))) {
return NSK_FALSE;
}
@@ -233,8 +233,7 @@
eventCallbacks.VMInit = callbackVMInit;
eventCallbacks.VMDeath = callbackVMDeath;
if (!NSK_JVMTI_VERIFY(
- NSK_CPP_STUB3(SetEventCallbacks, jvmti,
- &eventCallbacks, sizeof(eventCallbacks)))) {
+ jvmti->SetEventCallbacks(&eventCallbacks, sizeof(eventCallbacks)))) {
return JNI_ERR;
}
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/GetSystemProperties/getsysprops001/getsysprops001.cpp Mon Oct 08 18:17:37 2018 -0400
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/GetSystemProperties/getsysprops001/getsysprops001.cpp Mon Oct 08 18:23:05 2018 -0400
@@ -42,7 +42,7 @@
NSK_DISPLAY0("Invoke GetSystemProperties()\n");
if (!NSK_JVMTI_VERIFY(
- NSK_CPP_STUB3(GetSystemProperties, jvmti, &count, &properties))) {
+ jvmti->GetSystemProperties(&count, &properties))) {
nsk_jvmti_setFailStatus();
return NSK_FALSE;
}
@@ -75,7 +75,7 @@
}
NSK_DISPLAY0("Deallocate properties list\n");
if (!NSK_JVMTI_VERIFY(
- NSK_CPP_STUB2(Deallocate, jvmti, (unsigned char*)properties))) {
+ jvmti->Deallocate((unsigned char*)properties))) {
return NSK_FALSE;
}
NSK_DISPLAY0(" ... deallocated\n");
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/GetSystemProperties/getsysprops002/getsysprops002.cpp Mon Oct 08 18:17:37 2018 -0400
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/GetSystemProperties/getsysprops002/getsysprops002.cpp Mon Oct 08 18:23:05 2018 -0400
@@ -56,7 +56,7 @@
NSK_DISPLAY0("Get system properties list\n");
if (!NSK_JVMTI_VERIFY(
- NSK_CPP_STUB3(GetSystemProperties, jvmti, &count, &properties))) {
+ jvmti->GetSystemProperties(&count, &properties))) {
return NSK_FALSE;
}
NSK_DISPLAY1(" ... got properties: %d\n", (int)count);
@@ -108,7 +108,7 @@
NSK_DISPLAY0("Deallocate properties list\n");
if (!NSK_JVMTI_VERIFY(
- NSK_CPP_STUB2(Deallocate, jvmti, (unsigned char*)properties))) {
+ jvmti->Deallocate((unsigned char*)properties))) {
return NSK_FALSE;
}
NSK_DISPLAY0(" ... deallocated\n");
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/GetSystemProperty/getsysprop001/getsysprop001.cpp Mon Oct 08 18:17:37 2018 -0400
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/GetSystemProperty/getsysprop001/getsysprop001.cpp Mon Oct 08 18:23:05 2018 -0400
@@ -42,7 +42,7 @@
NSK_DISPLAY0("Get system properties names\n");
if (!NSK_JVMTI_VERIFY(
- NSK_CPP_STUB3(GetSystemProperties, jvmti, &count, &properties))) {
+ jvmti->GetSystemProperties(&count, &properties))) {
return NSK_FALSE;
}
NSK_DISPLAY1(" ... got properties: %d\n", (int)count);
@@ -65,7 +65,7 @@
}
if (!NSK_JVMTI_VERIFY(
- NSK_CPP_STUB3(GetSystemProperty, jvmti, properties[i], &value))) {
+ jvmti->GetSystemProperty(properties[i], &value))) {
success = NSK_FALSE;
continue;
}
@@ -81,7 +81,7 @@
}
if (!NSK_JVMTI_VERIFY(
- NSK_CPP_STUB2(Deallocate, jvmti, (unsigned char*)value))) {
+ jvmti->Deallocate((unsigned char*)value))) {
success = NSK_FALSE;
}
}
@@ -90,7 +90,7 @@
NSK_DISPLAY0("Deallocate properties list\n");
if (!NSK_JVMTI_VERIFY(
- NSK_CPP_STUB2(Deallocate, jvmti, (unsigned char*)properties))) {
+ jvmti->Deallocate((unsigned char*)properties))) {
success = NSK_FALSE;
}
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/GetSystemProperty/getsysprop002/getsysprop002.cpp Mon Oct 08 18:17:37 2018 -0400
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/GetSystemProperty/getsysprop002/getsysprop002.cpp Mon Oct 08 18:23:05 2018 -0400
@@ -53,7 +53,7 @@
NSK_DISPLAY1("Get value of tested property: %s\n", desc->name);
if (!NSK_JVMTI_VERIFY(
- NSK_CPP_STUB3(GetSystemProperty, jvmti, desc->name, &value))) {
+ jvmti->GetSystemProperty(desc->name, &value))) {
return NSK_FALSE;
}
NSK_DISPLAY1(" ... got value: \"%s\"\n", nsk_null_string(value));
@@ -73,7 +73,7 @@
}
if (!NSK_JVMTI_VERIFY(
- NSK_CPP_STUB2(Deallocate, jvmti, (unsigned char*)value))) {
+ jvmti->Deallocate((unsigned char*)value))) {
success = NSK_FALSE;
}
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/GetTag/gettag001/gettag001.cpp Mon Oct 08 18:17:37 2018 -0400
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/GetTag/gettag001/gettag001.cpp Mon Oct 08 18:23:05 2018 -0400
@@ -61,7 +61,7 @@
NSK_DISPLAY1("Find debugee class: %s\n", DEBUGEE_CLASS_NAME);
if (!NSK_JNI_VERIFY(jni, (debugeeClass =
- NSK_CPP_STUB2(FindClass, jni, DEBUGEE_CLASS_NAME)) != NULL)) {
+ jni->FindClass(DEBUGEE_CLASS_NAME)) != NULL)) {
nsk_jvmti_setFailStatus();
return;
}
@@ -69,8 +69,7 @@
NSK_DISPLAY1("Find static field: %s\n", OBJECT_FIELD_NAME);
if (!NSK_JNI_VERIFY(jni, (objectField =
- NSK_CPP_STUB4(GetStaticFieldID, jni, debugeeClass,
- OBJECT_FIELD_NAME, OBJECT_CLASS_SIG)) != NULL)) {
+ jni->GetStaticFieldID(debugeeClass, OBJECT_FIELD_NAME, OBJECT_CLASS_SIG)) != NULL)) {
nsk_jvmti_setFailStatus();
return;
}
@@ -78,8 +77,7 @@
NSK_DISPLAY1("Get object from static field: %s\n", OBJECT_FIELD_NAME);
if (!NSK_JNI_VERIFY(jni, (testedObject =
- NSK_CPP_STUB3(GetStaticObjectField, jni, debugeeClass,
- objectField)) != NULL)) {
+ jni->GetStaticObjectField(debugeeClass, objectField)) != NULL)) {
nsk_jvmti_setFailStatus();
return;
}
@@ -87,7 +85,7 @@
NSK_DISPLAY1("Create global reference for object: 0x%p\n", (void*)testedObject);
if (!NSK_JNI_VERIFY(jni, (testedObject =
- NSK_CPP_STUB2(NewGlobalRef, jni, testedObject)) != NULL)) {
+ jni->NewGlobalRef(testedObject)) != NULL)) {
nsk_jvmti_setFailStatus();
return;
}
@@ -100,7 +98,7 @@
NSK_DISPLAY1("Get tag for object: 0x%p\n", (void*)testedObject);
if (!NSK_JVMTI_VERIFY(
- NSK_CPP_STUB3(GetTag, jvmti, testedObject, &objectTag))) {
+ jvmti->GetTag(testedObject, &objectTag))) {
nsk_jvmti_setFailStatus();
return;
}
@@ -120,7 +118,7 @@
NSK_DISPLAY0(">>> Clean used data\n");
{
NSK_DISPLAY1("Delete object reference: 0x%p\n", (void*)testedObject);
- NSK_TRACE(NSK_CPP_STUB2(DeleteGlobalRef, jni, testedObject));
+ NSK_TRACE(jni->DeleteGlobalRef(testedObject));
}
}
@@ -164,7 +162,7 @@
memset(&caps, 0, sizeof(caps));
caps.can_tag_objects = 1;
if (!NSK_JVMTI_VERIFY(
- NSK_CPP_STUB2(AddCapabilities, jvmti, &caps))) {
+ jvmti->AddCapabilities(&caps))) {
return JNI_ERR;
}
}
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/GetThreadCpuTime/thrcputime001/thrcputime001.cpp Mon Oct 08 18:17:37 2018 -0400
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/GetThreadCpuTime/thrcputime001/thrcputime001.cpp Mon Oct 08 18:23:05 2018 -0400
@@ -71,7 +71,7 @@
NSK_DISPLAY1("GetThreadCpuTime() for current thread (passing NULL): 0x%p\n", (void*)thread);
if (!NSK_JVMTI_VERIFY(
- NSK_CPP_STUB3(GetThreadCpuTime, jvmti, NULL, (jlong *)time))) {
+ jvmti->GetThreadCpuTime(NULL, (jlong *)time))) {
return NSK_FALSE;
}
NSK_DISPLAY1(" ... got cpu time: %s\n", julong_to_string(*time, buf));
@@ -261,7 +261,7 @@
jvmtiThreadInfo threadInfo;
{
if (!NSK_JVMTI_VERIFY(
- NSK_CPP_STUB3(GetThreadInfo, jvmti, thread, &threadInfo))) {
+ jvmti->GetThreadInfo(thread, &threadInfo))) {
nsk_jvmti_setFailStatus();
return;
}
@@ -285,7 +285,7 @@
jvmtiThreadInfo threadInfo;
{
if (!NSK_JVMTI_VERIFY(
- NSK_CPP_STUB3(GetThreadInfo, jvmti, thread, &threadInfo))) {
+ jvmti->GetThreadInfo(thread, &threadInfo))) {
nsk_jvmti_setFailStatus();
return;
}
@@ -338,7 +338,7 @@
memset(&caps, 0, sizeof(caps));
caps.can_get_thread_cpu_time = 1;
if (!NSK_JVMTI_VERIFY(
- NSK_CPP_STUB2(AddCapabilities, jvmti, &caps))) {
+ jvmti->AddCapabilities(&caps))) {
return JNI_ERR;
}
}
@@ -354,8 +354,7 @@
eventCallbacks.ThreadStart = callbackThreadStart;
eventCallbacks.ThreadEnd = callbackThreadEnd;
if (!NSK_JVMTI_VERIFY(
- NSK_CPP_STUB3(SetEventCallbacks, jvmti,
- &eventCallbacks, sizeof(eventCallbacks)))) {
+ jvmti->SetEventCallbacks(&eventCallbacks, sizeof(eventCallbacks)))) {
return JNI_ERR;
}
}
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/GetThreadCpuTime/thrcputime002/thrcputime002.cpp Mon Oct 08 18:17:37 2018 -0400
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/GetThreadCpuTime/thrcputime002/thrcputime002.cpp Mon Oct 08 18:23:05 2018 -0400
@@ -73,8 +73,7 @@
int success = NSK_TRUE;
NSK_DISPLAY1("GetThreadCpuTime() for thread: 0x%p\n", (void*)thread);
- if (!NSK_JVMTI_VERIFY(
- NSK_CPP_STUB3(GetThreadCpuTime, jvmti, thread, (jlong *)time))) {
+ if (!NSK_JVMTI_VERIFY(jvmti->GetThreadCpuTime(thread, (jlong *)time))) {
return NSK_FALSE;
}
NSK_DISPLAY1(" ... got cpu time: %s\n", julong_to_string(*time, buf));
@@ -265,8 +264,7 @@
jvmtiThreadInfo threadInfo;
{
- if (!NSK_JVMTI_VERIFY(
- NSK_CPP_STUB3(GetThreadInfo, jvmti, thread, &threadInfo))) {
+ if (!NSK_JVMTI_VERIFY(jvmti->GetThreadInfo(thread, &threadInfo))) {
nsk_jvmti_setFailStatus();
return;
}
@@ -282,8 +280,7 @@
}
if (threadInfo.name != NULL && strcmp(threadInfo.name, TESTED_THREAD_NAME) == 0) {
- if (!NSK_JNI_VERIFY(jni, (testedThread =
- NSK_CPP_STUB2(NewGlobalRef, jni, thread)) != NULL)) {
+ if (!NSK_JNI_VERIFY(jni, (testedThread = jni->NewGlobalRef(thread)) != NULL)) {
nsk_jvmti_setFailStatus();
}
@@ -302,8 +299,7 @@
jvmtiThreadInfo threadInfo;
{
- if (!NSK_JVMTI_VERIFY(
- NSK_CPP_STUB3(GetThreadInfo, jvmti, thread, &threadInfo))) {
+ if (!NSK_JVMTI_VERIFY(jvmti->GetThreadInfo(thread, &threadInfo))) {
nsk_jvmti_setFailStatus();
return;
}
@@ -324,7 +320,7 @@
if (!checkCpuTime(jvmti, thread, &time, &prevTestedThreadTime, "THREAD_END callback")) {
nsk_jvmti_setFailStatus();
}
- NSK_TRACE(NSK_CPP_STUB2(DeleteGlobalRef, jni, testedThread));
+ NSK_TRACE(jni->DeleteGlobalRef(testedThread));
testedThread = NULL;
}
}
@@ -365,8 +361,7 @@
memset(&caps, 0, sizeof(caps));
caps.can_get_thread_cpu_time = 1;
- if (!NSK_JVMTI_VERIFY(
- NSK_CPP_STUB2(AddCapabilities, jvmti, &caps))) {
+ if (!NSK_JVMTI_VERIFY(jvmti->AddCapabilities(&caps))) {
return JNI_ERR;
}
}
@@ -381,9 +376,7 @@
eventCallbacks.VMDeath = callbackVMDeath;
eventCallbacks.ThreadStart = callbackThreadStart;
eventCallbacks.ThreadEnd = callbackThreadEnd;
- if (!NSK_JVMTI_VERIFY(
- NSK_CPP_STUB3(SetEventCallbacks, jvmti,
- &eventCallbacks, sizeof(eventCallbacks)))) {
+ if (!NSK_JVMTI_VERIFY(jvmti->SetEventCallbacks(&eventCallbacks, sizeof(eventCallbacks)))) {
return JNI_ERR;
}
}
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/GetThreadCpuTimerInfo/thrtimerinfo001/thrtimerinfo001.cpp Mon Oct 08 18:17:37 2018 -0400
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/GetThreadCpuTimerInfo/thrtimerinfo001/thrtimerinfo001.cpp Mon Oct 08 18:23:05 2018 -0400
@@ -66,7 +66,7 @@
NSK_DISPLAY0("GetThreadCpuTimerInfo() for current JVMTI env\n");
if (!NSK_JVMTI_VERIFY(
- NSK_CPP_STUB2(GetThreadCpuTimerInfo, jvmti, info))) {
+ jvmti->GetThreadCpuTimerInfo(info))) {
return NSK_FALSE;
}
NSK_DISPLAY0("Got timer info:\n");
@@ -260,7 +260,7 @@
memset(&caps, 0, sizeof(caps));
caps.can_get_thread_cpu_time = 1;
if (!NSK_JVMTI_VERIFY(
- NSK_CPP_STUB2(AddCapabilities, jvmti, &caps))) {
+ jvmti->AddCapabilities(&caps))) {
return JNI_ERR;
}
}
@@ -276,8 +276,7 @@
eventCallbacks.ThreadStart = callbackThreadStart;
eventCallbacks.ThreadEnd = callbackThreadEnd;
if (!NSK_JVMTI_VERIFY(
- NSK_CPP_STUB3(SetEventCallbacks, jvmti,
- &eventCallbacks, sizeof(eventCallbacks)))) {
+ jvmti->SetEventCallbacks(&eventCallbacks, sizeof(eventCallbacks)))) {
return JNI_ERR;
}
}
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/GetThreadGroupChildren/getthrdgrpchld001/getthrdgrpchld001.cpp Mon Oct 08 18:17:37 2018 -0400
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/GetThreadGroupChildren/getthrdgrpchld001/getthrdgrpchld001.cpp Mon Oct 08 18:23:05 2018 -0400
@@ -81,7 +81,7 @@
NSK_DISPLAY0("Get top level thread groups\n");
if (!NSK_JVMTI_VERIFY(
- NSK_CPP_STUB3(GetTopThreadGroups, jvmti, &topGroupsCount, &topGroups))) {
+ jvmti->GetTopThreadGroups(&topGroupsCount, &topGroups))) {
nsk_jvmti_setFailStatus();
return;
}
@@ -110,8 +110,7 @@
NSK_DISPLAY1("Get children of root thread group: %p\n", (void*)rootGroup);
if (!NSK_JVMTI_VERIFY(
- NSK_CPP_STUB6(GetThreadGroupChildren, jvmti, rootGroup,
- &threadsCount, &threads, &groupsCount, &groups))) {
+ jvmti->GetThreadGroupChildren(rootGroup, &threadsCount, &threads, &groupsCount, &groups))) {
nsk_jvmti_setFailStatus();
return;
}
@@ -142,7 +141,7 @@
jvmtiThreadGroupInfo info;
if (!NSK_JVMTI_VERIFY(
- NSK_CPP_STUB3(GetThreadGroupInfo, jvmti, groups[i], &info))) {
+ jvmti->GetThreadGroupInfo(groups[i], &info))) {
nsk_jvmti_setFailStatus();
continue;
}
@@ -221,11 +220,11 @@
/* deallocate arrays */
if (!NSK_JVMTI_VERIFY(
- NSK_CPP_STUB2(Deallocate, jvmti, (unsigned char*)groups))) {
+ jvmti->Deallocate((unsigned char*)groups))) {
nsk_jvmti_setFailStatus();
}
if (!NSK_JVMTI_VERIFY(
- NSK_CPP_STUB2(Deallocate, jvmti, (unsigned char*)threads))) {
+ jvmti->Deallocate((unsigned char*)threads))) {
nsk_jvmti_setFailStatus();
}
}
@@ -258,8 +257,7 @@
jthreadGroup* groups = NULL;
if (!NSK_JVMTI_VERIFY(
- NSK_CPP_STUB6(GetThreadGroupChildren, jvmti, group,
- &threadsCount, &threads, &groupsCount, &groups))) {
+ jvmti->GetThreadGroupChildren(group, &threadsCount, &threads, &groupsCount, &groups))) {
nsk_jvmti_setFailStatus();
return NSK_FALSE;
}
@@ -290,7 +288,7 @@
jvmtiThreadInfo info;
if (!NSK_JVMTI_VERIFY(
- NSK_CPP_STUB3(GetThreadInfo, jvmti, threads[i], &info))) {
+ jvmti->GetThreadInfo(threads[i], &info))) {
nsk_jvmti_setFailStatus();
continue;
}
@@ -314,11 +312,11 @@
/* deallocate arrays */
if (!NSK_JVMTI_VERIFY(
- NSK_CPP_STUB2(Deallocate, jvmti, (unsigned char*)groups))) {
+ jvmti->Deallocate((unsigned char*)groups))) {
nsk_jvmti_setFailStatus();
}
if (!NSK_JVMTI_VERIFY(
- NSK_CPP_STUB2(Deallocate, jvmti, (unsigned char*)threads))) {
+ jvmti->Deallocate((unsigned char*)threads))) {
nsk_jvmti_setFailStatus();
}
}
@@ -339,8 +337,7 @@
jthreadGroup * groups = NULL;
if (!NSK_JVMTI_VERIFY(
- NSK_CPP_STUB6(GetThreadGroupChildren, jvmti, groupsList[i],
- &threadsCount, &threads, &groupsCount, &groups))) {
+ jvmti->GetThreadGroupChildren(groupsList[i], &threadsCount, &threads, &groupsCount, &groups))) {
nsk_jvmti_setFailStatus();
return NULL;
}
@@ -357,7 +354,7 @@
if (groups[i] != NULL) {
if (!NSK_JVMTI_VERIFY(
- NSK_CPP_STUB3(GetThreadGroupInfo, jvmti, groups[i], &info))) {
+ jvmti->GetThreadGroupInfo(groups[i], &info))) {
nsk_jvmti_setFailStatus();
continue;
}
@@ -376,11 +373,11 @@
/* deallocate arrays */
if (!NSK_JVMTI_VERIFY(
- NSK_CPP_STUB2(Deallocate, jvmti, (unsigned char*)groups))) {
+ jvmti->Deallocate((unsigned char*)groups))) {
nsk_jvmti_setFailStatus();
}
if (!NSK_JVMTI_VERIFY(
- NSK_CPP_STUB2(Deallocate, jvmti, (unsigned char*)threads))) {
+ jvmti->Deallocate((unsigned char*)threads))) {
nsk_jvmti_setFailStatus();
}
}
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/GetThreadLocalStorage/getthrdstor001/getthrdstor001.cpp Mon Oct 08 18:17:37 2018 -0400
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/GetThreadLocalStorage/getthrdstor001/getthrdstor001.cpp Mon Oct 08 18:23:05 2018 -0400
@@ -59,7 +59,7 @@
NSK_DISPLAY1("GetThreadLocalStorage() for tested thread: %p\n", (void*)testedThread);
if (!NSK_JVMTI_VERIFY(
- NSK_CPP_STUB3(GetThreadLocalStorage, jvmti, testedThread, &storage))) {
+ jvmti->GetThreadLocalStorage(testedThread, &storage))) {
nsk_jvmti_setFailStatus();
return;
}
@@ -76,7 +76,7 @@
NSK_DISPLAY0("GetThreadLocalStorage() for current agent thread\n");
if (!NSK_JVMTI_VERIFY(
- NSK_CPP_STUB3(GetThreadLocalStorage, jvmti, NULL, &storage))) {
+ jvmti->GetThreadLocalStorage(NULL, &storage))) {
nsk_jvmti_setFailStatus();
return;
}
@@ -91,7 +91,7 @@
}
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");
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/GetTime/gettime001/gettime001.cpp Mon Oct 08 18:17:37 2018 -0400
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/GetTime/gettime001/gettime001.cpp Mon Oct 08 18:23:05 2018 -0400
@@ -59,7 +59,7 @@
NSK_DISPLAY0("GetTime() for current JVMTI env\n");
if (!NSK_JVMTI_VERIFY(
- NSK_CPP_STUB2(GetTime, jvmti, (jlong *)time))) {
+ jvmti->GetTime((jlong *)time))) {
return NSK_FALSE;
}
NSK_DISPLAY1(" ... got time: %s\n", julong_to_string(*time, buf));
@@ -186,8 +186,7 @@
eventCallbacks.VMInit = callbackVMInit;
eventCallbacks.VMDeath = callbackVMDeath;
if (!NSK_JVMTI_VERIFY(
- NSK_CPP_STUB3(SetEventCallbacks, jvmti,
- &eventCallbacks, sizeof(eventCallbacks)))) {
+ jvmti->SetEventCallbacks(&eventCallbacks, sizeof(eventCallbacks)))) {
return JNI_ERR;
}
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/GetTimerInfo/timerinfo001/timerinfo001.cpp Mon Oct 08 18:17:37 2018 -0400
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/GetTimerInfo/timerinfo001/timerinfo001.cpp Mon Oct 08 18:23:05 2018 -0400
@@ -59,7 +59,7 @@
NSK_DISPLAY0("GetTimerInfo() for current JVMTI env\n");
if (!NSK_JVMTI_VERIFY(
- NSK_CPP_STUB2(GetTimerInfo, jvmti, info))) {
+ jvmti->GetTimerInfo(info))) {
return NSK_FALSE;
}
NSK_DISPLAY0("Got timer info:\n");
@@ -203,8 +203,7 @@
eventCallbacks.VMInit = callbackVMInit;
eventCallbacks.VMDeath = callbackVMDeath;
if (!NSK_JVMTI_VERIFY(
- NSK_CPP_STUB3(SetEventCallbacks, jvmti,
- &eventCallbacks, sizeof(eventCallbacks)))) {
+ jvmti->SetEventCallbacks(&eventCallbacks, sizeof(eventCallbacks)))) {
return JNI_ERR;
}
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/InterruptThread/intrpthrd001/intrpthrd001.cpp Mon Oct 08 18:17:37 2018 -0400
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/InterruptThread/intrpthrd001/intrpthrd001.cpp Mon Oct 08 18:23:05 2018 -0400
@@ -57,7 +57,7 @@
/* get all live threads */
if (!NSK_JVMTI_VERIFY(
- NSK_CPP_STUB3(GetAllThreads, jvmti, &threads_count, &threads)))
+ jvmti->GetAllThreads(&threads_count, &threads)))
return NSK_FALSE;
if (!NSK_VERIFY(threads_count > 0 && threads != NULL))
@@ -70,7 +70,7 @@
/* get thread information */
if (!NSK_JVMTI_VERIFY(
- NSK_CPP_STUB3(GetThreadInfo, jvmti, threads[i], &info)))
+ jvmti->GetThreadInfo(threads[i], &info)))
return NSK_FALSE;
NSK_DISPLAY3(" thread #%d (%s): %p\n", i, info.name, threads[i]);
@@ -89,7 +89,7 @@
/* deallocate threads list */
if (!NSK_JVMTI_VERIFY(
- NSK_CPP_STUB2(Deallocate, jvmti, (unsigned char*)threads)))
+ jvmti->Deallocate((unsigned char*)threads)))
return NSK_FALSE;
return NSK_TRUE;
@@ -112,8 +112,7 @@
if (!NSK_VERIFY(runningThread != NULL)) {
nsk_jvmti_setFailStatus();
} else {
- if (!NSK_JVMTI_VERIFY(NSK_CPP_STUB2(InterruptThread,
- jvmti, runningThread)))
+ if (!NSK_JVMTI_VERIFY(jvmti->InterruptThread(runningThread)))
nsk_jvmti_setFailStatus();
}
@@ -121,8 +120,7 @@
if (!NSK_VERIFY(waitingThread != NULL)) {
nsk_jvmti_setFailStatus();
} else {
- if (!NSK_JVMTI_VERIFY(NSK_CPP_STUB2(InterruptThread,
- jvmti, waitingThread)))
+ if (!NSK_JVMTI_VERIFY(jvmti->InterruptThread(waitingThread)))
nsk_jvmti_setFailStatus();
}
@@ -130,8 +128,7 @@
if (!NSK_VERIFY(sleepingThread != NULL)) {
nsk_jvmti_setFailStatus();
} else {
- if (!NSK_JVMTI_VERIFY(NSK_CPP_STUB2(InterruptThread,
- jvmti, sleepingThread)))
+ if (!NSK_JVMTI_VERIFY(jvmti->InterruptThread(sleepingThread)))
nsk_jvmti_setFailStatus();
}
@@ -173,7 +170,7 @@
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;
}
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/IsMethodObsolete/isobsolete001/isobsolete001.cpp Mon Oct 08 18:17:37 2018 -0400
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/IsMethodObsolete/isobsolete001/isobsolete001.cpp Mon Oct 08 18:23:05 2018 -0400
@@ -60,7 +60,7 @@
NSK_DISPLAY3("Call IsObsolete() for %s method: %p (%s)\n", kind, (void*)method, name);
if (!NSK_JVMTI_VERIFY(
- NSK_CPP_STUB3(IsMethodObsolete, jvmti, method, &obsolete))) {
+ jvmti->IsMethodObsolete(method, &obsolete))) {
nsk_jvmti_setFailStatus();
}
NSK_DISPLAY1(" ... got obsolete: %d\n", (int)obsolete);
@@ -83,8 +83,7 @@
NSK_DISPLAY1("Get stack frames for thread: %p\n", (void*)thread);
if (!NSK_JVMTI_VERIFY(
- NSK_CPP_STUB6(GetStackTrace, jvmti, thread, 0, MAX_STACK_DEPTH,
- frameStack, &frameCount))) {
+ jvmti->GetStackTrace(thread, 0, MAX_STACK_DEPTH, frameStack, &frameCount))) {
nsk_jvmti_setFailStatus();
return;
}
@@ -104,8 +103,7 @@
NSK_DISPLAY1(" frame #%i:\n", i);
NSK_DISPLAY1(" methodID: %p\n", (void*)frameStack[i].method);
if (!NSK_JVMTI_VERIFY(
- NSK_CPP_STUB5(GetMethodName, jvmti, frameStack[i].method,
- &name, &signature, &generic))) {
+ jvmti->GetMethodName(frameStack[i].method, &name, &signature, &generic))) {
nsk_jvmti_setFailStatus();
continue;
}
@@ -122,15 +120,15 @@
}
if (!NSK_JVMTI_VERIFY(
- NSK_CPP_STUB2(Deallocate, jvmti, (unsigned char*)name))) {
+ jvmti->Deallocate((unsigned char*)name))) {
nsk_jvmti_setFailStatus();
}
if (!NSK_JVMTI_VERIFY(
- NSK_CPP_STUB2(Deallocate, jvmti, (unsigned char*)signature))) {
+ jvmti->Deallocate((unsigned char*)signature))) {
nsk_jvmti_setFailStatus();
}
if (!NSK_JVMTI_VERIFY(
- NSK_CPP_STUB2(Deallocate, jvmti, (unsigned char*)generic))) {
+ jvmti->Deallocate((unsigned char*)generic))) {
nsk_jvmti_setFailStatus();
}
}
@@ -156,7 +154,7 @@
NSK_DISPLAY1("Redefine class: %s\n", className);
if (!NSK_JVMTI_VERIFY(
- NSK_CPP_STUB3(RedefineClasses, jvmti, 1, &classDef))) {
+ jvmti->RedefineClasses(1, &classDef))) {
nsk_jvmti_setFailStatus();
return NSK_FALSE;
}
@@ -176,7 +174,7 @@
NSK_DISPLAY1("Find debugee class: %s\n", DEBUGEE_CLASS_NAME);
if (!NSK_JNI_VERIFY(jni, (debugeeClass =
- NSK_CPP_STUB2(FindClass, jni, DEBUGEE_CLASS_NAME)) != NULL)) {
+ jni->FindClass(DEBUGEE_CLASS_NAME)) != NULL)) {
nsk_jvmti_setFailStatus();
return NSK_FALSE;
}
@@ -184,8 +182,7 @@
NSK_DISPLAY1("Find static field: %s\n", CLASSFILE_FIELD_NAME);
if (!NSK_JNI_VERIFY(jni, (fieldID =
- NSK_CPP_STUB4(GetStaticFieldID, jni, debugeeClass,
- CLASSFILE_FIELD_NAME, CLASSFILE_FIELD_SIG)) != NULL)) {
+ jni->GetStaticFieldID(debugeeClass, CLASSFILE_FIELD_NAME, CLASSFILE_FIELD_SIG)) != NULL)) {
nsk_jvmti_setFailStatus();
return NSK_FALSE;
}
@@ -193,15 +190,14 @@
NSK_DISPLAY1("Get classfile bytes array from static field: %s\n", CLASSFILE_FIELD_NAME);
if (!NSK_JNI_VERIFY(jni, (array = (jbyteArray)
- NSK_CPP_STUB3(GetStaticObjectField, jni, debugeeClass,
- fieldID)) != NULL)) {
+ jni->GetStaticObjectField(debugeeClass, fieldID)) != NULL)) {
nsk_jvmti_setFailStatus();
return NSK_FALSE;
}
NSK_DISPLAY1(" ... got array object: %p\n", (void*)array);
if (!NSK_JNI_VERIFY(jni, (*size =
- NSK_CPP_STUB2(GetArrayLength, jni, array)) > 0)) {
+ jni->GetArrayLength(array)) > 0)) {
nsk_jvmti_setFailStatus();
return NSK_FALSE;
}
@@ -210,8 +206,7 @@
{
jboolean isCopy;
if (!NSK_JNI_VERIFY(jni, (elements =
- NSK_CPP_STUB3(GetByteArrayElements, jni, array,
- &isCopy)) != NULL)) {
+ jni->GetByteArrayElements(array, &isCopy)) != NULL)) {
nsk_jvmti_setFailStatus();
return NSK_FALSE;
}
@@ -219,7 +214,7 @@
NSK_DISPLAY1(" ... got elements list: %p\n", (void*)elements);
if (!NSK_JVMTI_VERIFY(
- NSK_CPP_STUB3(Allocate, jvmti, *size, bytes))) {
+ jvmti->Allocate(*size, bytes))) {
nsk_jvmti_setFailStatus();
return NSK_FALSE;
}
@@ -231,7 +226,7 @@
NSK_DISPLAY1(" ... copied bytecode: %d bytes\n", (int)*size);
NSK_DISPLAY1("Release elements list: %p\n", (void*)elements);
- NSK_TRACE(NSK_CPP_STUB4(ReleaseByteArrayElements, jni, array, elements, JNI_ABORT));
+ NSK_TRACE(jni->ReleaseByteArrayElements(array, elements, JNI_ABORT));
NSK_DISPLAY0(" ... released\n");
return NSK_TRUE;
@@ -264,7 +259,7 @@
{
NSK_DISPLAY1("Find tested class: %s\n", TESTED_CLASS_NAME);
if (!NSK_JNI_VERIFY(jni, (testedClass =
- NSK_CPP_STUB2(FindClass, jni, TESTED_CLASS_NAME)) != NULL)) {
+ jni->FindClass(TESTED_CLASS_NAME)) != NULL)) {
nsk_jvmti_setFailStatus();
return;
}
@@ -272,7 +267,7 @@
NSK_DISPLAY1("Make global reference for class object: %p\n", (void*)testedClass);
if (!NSK_JNI_VERIFY(jni, (testedClass = (jclass)
- NSK_CPP_STUB2(NewGlobalRef, jni, testedClass)) != NULL)) {
+ jni->NewGlobalRef(testedClass)) != NULL)) {
nsk_jvmti_setFailStatus();
return;
}
@@ -280,8 +275,7 @@
NSK_DISPLAY1("Get static methodID: %s\n", STATIC_METHOD_NAME);
if (!NSK_JNI_VERIFY(jni, (staticMethodID =
- NSK_CPP_STUB4(GetStaticMethodID, jni, testedClass,
- STATIC_METHOD_NAME, STATIC_METHOD_SIG)) != NULL)) {
+ jni->GetStaticMethodID(testedClass, STATIC_METHOD_NAME, STATIC_METHOD_SIG)) != NULL)) {
nsk_jvmti_setFailStatus();
return;
}
@@ -289,8 +283,7 @@
NSK_DISPLAY1("Get instance methodID: %s\n", INSTANCE_METHOD_NAME);
if (!NSK_JNI_VERIFY(jni, (instanceMethodID =
- NSK_CPP_STUB4(GetMethodID, jni, testedClass,
- INSTANCE_METHOD_NAME, INSTANCE_METHOD_SIG)) != NULL)) {
+ jni->GetMethodID(testedClass, INSTANCE_METHOD_NAME, INSTANCE_METHOD_SIG)) != NULL)) {
nsk_jvmti_setFailStatus();
return;
}
@@ -342,15 +335,15 @@
{
NSK_DISPLAY1("Deallocate classfile bytes array: %p\n", (void*)classfileBytes);
if (!NSK_JVMTI_VERIFY(
- NSK_CPP_STUB2(Deallocate, jvmti, classfileBytes))) {
+ jvmti->Deallocate(classfileBytes))) {
nsk_jvmti_setFailStatus();
}
NSK_DISPLAY1("Delete global eference to thread: %p\n", (void*)testedThread);
- NSK_TRACE(NSK_CPP_STUB2(DeleteGlobalRef, jni, testedThread));
+ NSK_TRACE(jni->DeleteGlobalRef(testedThread));
NSK_DISPLAY1("Delete global reference to class: %p\n", (void*)testedClass);
- NSK_TRACE(NSK_CPP_STUB2(DeleteGlobalRef, jni, testedClass));
+ NSK_TRACE(jni->DeleteGlobalRef(testedClass));
}
}
@@ -394,7 +387,7 @@
memset(&caps, 0, sizeof(caps));
caps.can_redefine_classes = 1;
if (!NSK_JVMTI_VERIFY(
- NSK_CPP_STUB2(AddCapabilities, jvmti, &caps))) {
+ jvmti->AddCapabilities(&caps))) {
return JNI_ERR;
}
}
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/IterateOverHeap/iterheap001/iterheap001.cpp Mon Oct 08 18:17:37 2018 -0400
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/IterateOverHeap/iterheap001/iterheap001.cpp Mon Oct 08 18:23:05 2018 -0400
@@ -92,14 +92,14 @@
tag++;
if (!NSK_JNI_VERIFY(jni, (obj =
- NSK_CPP_STUB3(GetObjectField, jni, firstObject, firstField)) != NULL)) {
+ 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))) {
+ jvmti->SetTag(obj, objTag))) {
nsk_jvmti_setFailStatus();
return NSK_FALSE;
}
@@ -111,7 +111,7 @@
return NSK_FALSE;
}
- NSK_TRACE(NSK_CPP_STUB2(DeleteLocalRef, jni, obj));
+ NSK_TRACE(jni->DeleteLocalRef(obj));
return success;
}
@@ -134,9 +134,7 @@
*objectsCount = 2 * chainLength;
NSK_DISPLAY1("Allocate memory for objects list: %d objects\n", *objectsCount);
- 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;
}
@@ -153,7 +151,7 @@
NSK_DISPLAY1("Find debugee class: %s\n", DEBUGEE_CLASS_NAME);
if (!NSK_JNI_VERIFY(jni, (debugeeClass =
- NSK_CPP_STUB2(FindClass, jni, DEBUGEE_CLASS_NAME)) != NULL)) {
+ jni->FindClass(DEBUGEE_CLASS_NAME)) != NULL)) {
nsk_jvmti_setFailStatus();
return NSK_FALSE;
}
@@ -161,7 +159,7 @@
NSK_DISPLAY1("Find root object class: %s\n", ROOT_OBJECT_CLASS_NAME);
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;
}
@@ -169,7 +167,7 @@
NSK_DISPLAY1("Find chain object class: %s\n", CHAIN_OBJECT_CLASS_NAME);
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;
}
@@ -177,8 +175,7 @@
NSK_DISPLAY1("Find static field in debugee class: %s\n", OBJECT_FIELD_NAME);
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;
}
@@ -186,8 +183,7 @@
NSK_DISPLAY1("Find instance field in root object class: %s\n", REACHABLE_CHAIN_FIELD_NAME);
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;
}
@@ -195,8 +191,7 @@
NSK_DISPLAY1("Find instance field in root object class: %s\n", UNREACHABLE_CHAIN_FIELD_NAME);
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;
}
@@ -204,8 +199,7 @@
NSK_DISPLAY1("Find instance field in chain object class: %s\n", TAIL_FIELD_NAME);
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;
}
@@ -213,8 +207,7 @@
NSK_DISPLAY1("Get root object from static field: %s\n", OBJECT_FIELD_NAME);
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;
}
@@ -312,7 +305,7 @@
if (objectDescList != NULL) {
NSK_DISPLAY1("Deallocate objects list: 0x%p\n", (void*)objectDescList);
if (!NSK_JVMTI_VERIFY(
- NSK_CPP_STUB2(Deallocate, jvmti, (unsigned char*)objectDescList))) {
+ jvmti->Deallocate((unsigned char*)objectDescList))) {
nsk_jvmti_setFailStatus();
}
}
@@ -430,9 +423,7 @@
NSK_DISPLAY0(">>> Iterate over all object in heap with filter JVMTI_HEAP_OBJECT_EITHER\n");
{
if (!NSK_JVMTI_VERIFY(
- NSK_CPP_STUB4(IterateOverHeap, jvmti,
- JVMTI_HEAP_OBJECT_EITHER, heapObjectCallback,
- &fakeUserData))) {
+ jvmti->IterateOverHeap(JVMTI_HEAP_OBJECT_EITHER, heapObjectCallback, &fakeUserData))) {
nsk_jvmti_setFailStatus();
return;
}
@@ -542,7 +533,7 @@
caps.can_tag_objects = 1;
caps.can_generate_object_free_events = 1;
if (!NSK_JVMTI_VERIFY(
- NSK_CPP_STUB2(AddCapabilities, jvmti, &caps))) {
+ jvmti->AddCapabilities(&caps))) {
return JNI_ERR;
}
}
@@ -552,8 +543,7 @@
memset(&eventCallbacks, 0, sizeof(eventCallbacks));
eventCallbacks.ObjectFree = callbackObjectFree;
if (!NSK_JVMTI_VERIFY(
- NSK_CPP_STUB3(SetEventCallbacks, jvmti,
- &eventCallbacks, sizeof(eventCallbacks))))
+ jvmti->SetEventCallbacks(&eventCallbacks, sizeof(eventCallbacks))))
return JNI_ERR;
}
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/IterateOverHeap/iterheap002/iterheap002.cpp Mon Oct 08 18:17:37 2018 -0400
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/IterateOverHeap/iterheap002/iterheap002.cpp Mon Oct 08 18:23:05 2018 -0400
@@ -92,14 +92,14 @@
tag++;
if (!NSK_JNI_VERIFY(jni, (obj =
- NSK_CPP_STUB3(GetObjectField, jni, firstObject, firstField)) != NULL)) {
+ 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))) {
+ jvmti->SetTag(obj, objTag))) {
nsk_jvmti_setFailStatus();
return NSK_FALSE;
}
@@ -111,7 +111,7 @@
return NSK_FALSE;
}
- NSK_TRACE(NSK_CPP_STUB2(DeleteLocalRef, jni, obj));
+ NSK_TRACE(jni->DeleteLocalRef(obj));
return success;
}
@@ -134,9 +134,7 @@
*objectsCount = 2 * chainLength;
NSK_DISPLAY1("Allocate memory for objects list: %d objects\n", *objectsCount);
- 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;
}
@@ -153,7 +151,7 @@
NSK_DISPLAY1("Find debugee class: %s\n", DEBUGEE_CLASS_NAME);
if (!NSK_JNI_VERIFY(jni, (debugeeClass =
- NSK_CPP_STUB2(FindClass, jni, DEBUGEE_CLASS_NAME)) != NULL)) {
+ jni->FindClass(DEBUGEE_CLASS_NAME)) != NULL)) {
nsk_jvmti_setFailStatus();
return NSK_FALSE;
}
@@ -161,7 +159,7 @@
NSK_DISPLAY1("Find root object class: %s\n", ROOT_OBJECT_CLASS_NAME);
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;
}
@@ -169,7 +167,7 @@
NSK_DISPLAY1("Find chain object class: %s\n", CHAIN_OBJECT_CLASS_NAME);
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;
}
@@ -177,8 +175,7 @@
NSK_DISPLAY1("Find static field in debugee class: %s\n", OBJECT_FIELD_NAME);
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;
}
@@ -186,8 +183,7 @@
NSK_DISPLAY1("Find instance field in root object class: %s\n", REACHABLE_CHAIN_FIELD_NAME);
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;
}
@@ -195,8 +191,7 @@
NSK_DISPLAY1("Find instance field in root object class: %s\n", UNREACHABLE_CHAIN_FIELD_NAME);
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;
}
@@ -204,8 +199,7 @@
NSK_DISPLAY1("Find instance field in chain object class: %s\n", TAIL_FIELD_NAME);
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;
}
@@ -213,8 +207,7 @@
NSK_DISPLAY1("Get root object from static field: %s\n", OBJECT_FIELD_NAME);
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;
}
@@ -312,7 +305,7 @@
if (objectDescList != NULL) {
NSK_DISPLAY1("Deallocate objects list: 0x%p\n", (void*)objectDescList);
if (!NSK_JVMTI_VERIFY(
- NSK_CPP_STUB2(Deallocate, jvmti, (unsigned char*)objectDescList))) {
+ jvmti->Deallocate((unsigned char*)objectDescList))) {
nsk_jvmti_setFailStatus();
}
}
@@ -438,9 +431,7 @@
NSK_DISPLAY0(">>> Iterate over all object in heap with filter JVMTI_HEAP_OBJECT_TAGGED\n");
{
if (!NSK_JVMTI_VERIFY(
- NSK_CPP_STUB4(IterateOverHeap, jvmti,
- JVMTI_HEAP_OBJECT_TAGGED, heapObjectCallback,
- &fakeUserData))) {
+ jvmti->IterateOverHeap(JVMTI_HEAP_OBJECT_TAGGED, heapObjectCallback, &fakeUserData))) {
nsk_jvmti_setFailStatus();
return;
}
@@ -550,7 +541,7 @@
caps.can_tag_objects = 1;
caps.can_generate_object_free_events = 1;
if (!NSK_JVMTI_VERIFY(
- NSK_CPP_STUB2(AddCapabilities, jvmti, &caps))) {
+ jvmti->AddCapabilities(&caps))) {
return JNI_ERR;
}
}
@@ -560,8 +551,7 @@
memset(&eventCallbacks, 0, sizeof(eventCallbacks));
eventCallbacks.ObjectFree = callbackObjectFree;
if (!NSK_JVMTI_VERIFY(
- NSK_CPP_STUB3(SetEventCallbacks, jvmti,
- &eventCallbacks, sizeof(eventCallbacks))))
+ jvmti->SetEventCallbacks(&eventCallbacks, sizeof(eventCallbacks))))
return JNI_ERR;
}
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/IterateOverHeap/iterheap003/iterheap003.cpp Mon Oct 08 18:17:37 2018 -0400
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/IterateOverHeap/iterheap003/iterheap003.cpp Mon Oct 08 18:23:05 2018 -0400
@@ -92,14 +92,14 @@
tag++;
if (!NSK_JNI_VERIFY(jni, (obj =
- NSK_CPP_STUB3(GetObjectField, jni, firstObject, firstField)) != NULL)) {
+ 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))) {
+ jvmti->SetTag(obj, objTag))) {
nsk_jvmti_setFailStatus();
return NSK_FALSE;
}
@@ -111,7 +111,7 @@
return NSK_FALSE;
}
- NSK_TRACE(NSK_CPP_STUB2(DeleteLocalRef, jni, obj));
+ NSK_TRACE(jni->DeleteLocalRef(obj));
return success;
}
@@ -134,9 +134,7 @@
*objectsCount = 2 * chainLength;
NSK_DISPLAY1("Allocate memory for objects list: %d objects\n", *objectsCount);
- 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;
}
@@ -153,7 +151,7 @@
NSK_DISPLAY1("Find debugee class: %s\n", DEBUGEE_CLASS_NAME);
if (!NSK_JNI_VERIFY(jni, (debugeeClass =
- NSK_CPP_STUB2(FindClass, jni, DEBUGEE_CLASS_NAME)) != NULL)) {
+ jni->FindClass(DEBUGEE_CLASS_NAME)) != NULL)) {
nsk_jvmti_setFailStatus();
return NSK_FALSE;
}
@@ -161,7 +159,7 @@
NSK_DISPLAY1("Find root object class: %s\n", ROOT_OBJECT_CLASS_NAME);
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;
}
@@ -169,7 +167,7 @@
NSK_DISPLAY1("Find chain object class: %s\n", CHAIN_OBJECT_CLASS_NAME);
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;
}
@@ -177,8 +175,7 @@
NSK_DISPLAY1("Find static field in debugee class: %s\n", OBJECT_FIELD_NAME);
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;
}
@@ -186,8 +183,7 @@
NSK_DISPLAY1("Find instance field in root object class: %s\n", REACHABLE_CHAIN_FIELD_NAME);
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;
}
@@ -195,8 +191,7 @@
NSK_DISPLAY1("Find instance field in root object class: %s\n", UNREACHABLE_CHAIN_FIELD_NAME);
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;
}
@@ -204,8 +199,7 @@
NSK_DISPLAY1("Find instance field in chain object class: %s\n", TAIL_FIELD_NAME);
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;
}
@@ -213,8 +207,7 @@
NSK_DISPLAY1("Get root object from static field: %s\n", OBJECT_FIELD_NAME);
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;
}
@@ -312,7 +305,7 @@
if (objectDescList != NULL) {
NSK_DISPLAY1("Deallocate objects list: 0x%p\n", (void*)objectDescList);
if (!NSK_JVMTI_VERIFY(
- NSK_CPP_STUB2(Deallocate, jvmti, (unsigned char*)objectDescList))) {
+ jvmti->Deallocate((unsigned char*)objectDescList))) {
nsk_jvmti_setFailStatus();
}
}
@@ -439,9 +432,7 @@
NSK_DISPLAY0(">>> Iterate over all object in heap with filter JVMTI_HEAP_OBJECT_UNTAGGED\n");
{
if (!NSK_JVMTI_VERIFY(
- NSK_CPP_STUB4(IterateOverHeap, jvmti,
- JVMTI_HEAP_OBJECT_UNTAGGED, heapObjectCallback,
- &fakeUserData))) {
+ jvmti->IterateOverHeap(JVMTI_HEAP_OBJECT_UNTAGGED, heapObjectCallback, &fakeUserData))) {
nsk_jvmti_setFailStatus();
return;
}
@@ -551,7 +542,7 @@
caps.can_tag_objects = 1;
caps.can_generate_object_free_events = 1;
if (!NSK_JVMTI_VERIFY(
- NSK_CPP_STUB2(AddCapabilities, jvmti, &caps))) {
+ jvmti->AddCapabilities(&caps))) {
return JNI_ERR;
}
}
@@ -561,8 +552,7 @@
memset(&eventCallbacks, 0, sizeof(eventCallbacks));
eventCallbacks.ObjectFree = callbackObjectFree;
if (!NSK_JVMTI_VERIFY(
- NSK_CPP_STUB3(SetEventCallbacks, jvmti,
- &eventCallbacks, sizeof(eventCallbacks))))
+ jvmti->SetEventCallbacks(&eventCallbacks, sizeof(eventCallbacks))))
return JNI_ERR;
}
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/IterateOverHeap/iterheap004/iterheap004.cpp Mon Oct 08 18:17:37 2018 -0400
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/IterateOverHeap/iterheap004/iterheap004.cpp Mon Oct 08 18:23:05 2018 -0400
@@ -65,9 +65,7 @@
*tag_ptr = (jlong)++objectDescCount;
/* Allocate memory for next list element*/
- if (!NSK_JVMTI_VERIFY(
- NSK_CPP_STUB3(Allocate, jvmti, (sizeof(ObjectDesc)),
- (unsigned char**)&objectDescBuf))) {
+ if (!NSK_JVMTI_VERIFY(jvmti->Allocate((sizeof(ObjectDesc)), (unsigned char**)&objectDescBuf))) {
nsk_jvmti_setFailStatus();
callbackAborted = 1;
NSK_COMPLAIN0("heapObjectCallbackForFirstIteration: Allocation failed. Iteration aborted.\n");
@@ -97,7 +95,7 @@
/* Deallocate memory of list element*/
if (!NSK_JVMTI_VERIFY(
- NSK_CPP_STUB2(Deallocate, jvmti, (unsigned char*)objectDescArr[ind]))) {
+ jvmti->Deallocate((unsigned char*)objectDescArr[ind]))) {
nsk_jvmti_setFailStatus();
callbackAborted = 1;
NSK_COMPLAIN0("heapObjectCallbackForSecondIteration: Deallocation failed. Iteration aborted.\n");
@@ -133,9 +131,7 @@
NSK_DISPLAY0("Calling IterateOverHeap with filter JVMTI_HEAP_OBJECT_UNTAGGED\n");
{
if (!NSK_JVMTI_VERIFY(
- NSK_CPP_STUB4(IterateOverHeap, jvmti,
- JVMTI_HEAP_OBJECT_UNTAGGED, heapObjectCallbackForFirstIteration,
- &fakeUserData))) {
+ jvmti->IterateOverHeap(JVMTI_HEAP_OBJECT_UNTAGGED, heapObjectCallbackForFirstIteration, &fakeUserData))) {
nsk_jvmti_setFailStatus();
break;
}
@@ -151,17 +147,13 @@
}
/* Allocate memory for array to save pointers to ObjectDescList elements */
- if (!NSK_JVMTI_VERIFY(
- NSK_CPP_STUB3(Allocate, jvmti, (objectDescCount * sizeof(ObjectDesc*)),
- (unsigned char**)&objectDescArr))) {
+ if (!NSK_JVMTI_VERIFY(jvmti->Allocate((objectDescCount * sizeof(ObjectDesc*)), (unsigned char**)&objectDescArr))) {
nsk_jvmti_setFailStatus();
break;
}
/* Allocate memory for flags array and fill with false values */
- if (!NSK_JVMTI_VERIFY(
- NSK_CPP_STUB3(Allocate, jvmti, (objectDescCount * sizeof(unsigned char)),
- &deallocatedFlagsArr))) {
+ if (!NSK_JVMTI_VERIFY(jvmti->Allocate((objectDescCount * sizeof(unsigned char)), &deallocatedFlagsArr))) {
nsk_jvmti_setFailStatus();
break;
}
@@ -186,9 +178,7 @@
NSK_DISPLAY0("Calling IterateOverHeap with filter JVMTI_HEAP_OBJECT_TAGGED\n");
{
if (!NSK_JVMTI_VERIFY(
- NSK_CPP_STUB4(IterateOverHeap, jvmti,
- JVMTI_HEAP_OBJECT_TAGGED, heapObjectCallbackForSecondIteration,
- &fakeUserData))) {
+ jvmti->IterateOverHeap(JVMTI_HEAP_OBJECT_TAGGED, heapObjectCallbackForSecondIteration, &fakeUserData))) {
nsk_jvmti_setFailStatus();
}
}
@@ -202,7 +192,7 @@
for (ind = 0; ind < objectDescCount; ind++) {
if (!deallocatedFlagsArr[ind]) {
if (!NSK_JVMTI_VERIFY(
- NSK_CPP_STUB2(Deallocate, jvmti, (unsigned char*)objectDescArr[ind]))) {
+ jvmti->Deallocate((unsigned char*)objectDescArr[ind]))) {
NSK_COMPLAIN1("Unable to deallocate descriptor. Index = %d \n", ind);
nsk_jvmti_setFailStatus();
return;
@@ -211,12 +201,12 @@
}
if (!NSK_JVMTI_VERIFY(
- NSK_CPP_STUB2(Deallocate, jvmti, (unsigned char*)objectDescArr))) {
+ jvmti->Deallocate((unsigned char*)objectDescArr))) {
nsk_jvmti_setFailStatus();
}
if (!NSK_JVMTI_VERIFY(
- NSK_CPP_STUB2(Deallocate, jvmti, (unsigned char*)deallocatedFlagsArr))) {
+ jvmti->Deallocate((unsigned char*)deallocatedFlagsArr))) {
nsk_jvmti_setFailStatus();
}
@@ -258,12 +248,11 @@
memset(&caps, 0, sizeof(caps));
caps.can_tag_objects = 1;
if (!NSK_JVMTI_VERIFY(
- NSK_CPP_STUB2(AddCapabilities, jvmti, &caps))) {
+ 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_tag_objects)
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/IterateOverHeap/iterheap005/iterheap005.cpp Mon Oct 08 18:17:37 2018 -0400
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/IterateOverHeap/iterheap005/iterheap005.cpp Mon Oct 08 18:23:05 2018 -0400
@@ -51,54 +51,54 @@
objCounter++;
if (!NSK_JVMTI_VERIFY(
- NSK_CPP_STUB3(CreateRawMonitor, st_jvmti, name, &monitor_ptr))) {
+ st_jvmti->CreateRawMonitor(name, &monitor_ptr))) {
nsk_jvmti_setFailStatus();
return JVMTI_ITERATION_ABORT;
}
if (!NSK_JVMTI_VERIFY(
- NSK_CPP_STUB2(RawMonitorEnter, st_jvmti, monitor_ptr))) {
+ st_jvmti->RawMonitorEnter(monitor_ptr))) {
nsk_jvmti_setFailStatus();
return JVMTI_ITERATION_ABORT;
}
/* Enter second time */
if (!NSK_JVMTI_VERIFY(
- NSK_CPP_STUB2(RawMonitorEnter, st_jvmti, monitor_ptr))) {
+ st_jvmti->RawMonitorEnter(monitor_ptr))) {
nsk_jvmti_setFailStatus();
return JVMTI_ITERATION_ABORT;
}
if (!NSK_JVMTI_VERIFY(
- NSK_CPP_STUB3(RawMonitorWait, st_jvmti, monitor_ptr, (jlong)100))) {
+ st_jvmti->RawMonitorWait(monitor_ptr, (jlong)100))) {
nsk_jvmti_setFailStatus();
}
if (!NSK_JVMTI_VERIFY(
- NSK_CPP_STUB2(RawMonitorNotify, st_jvmti, monitor_ptr))) {
+ st_jvmti->RawMonitorNotify(monitor_ptr))) {
nsk_jvmti_setFailStatus();
}
if (!NSK_JVMTI_VERIFY(
- NSK_CPP_STUB2(RawMonitorNotifyAll, st_jvmti, monitor_ptr))) {
+ st_jvmti->RawMonitorNotifyAll(monitor_ptr))) {
nsk_jvmti_setFailStatus();
}
if (!NSK_JVMTI_VERIFY(
- NSK_CPP_STUB2(RawMonitorExit, st_jvmti, monitor_ptr))) {
+ st_jvmti->RawMonitorExit(monitor_ptr))) {
nsk_jvmti_setFailStatus();
return JVMTI_ITERATION_ABORT;
}
/* Exit second time */
if (!NSK_JVMTI_VERIFY(
- NSK_CPP_STUB2(RawMonitorExit, st_jvmti, monitor_ptr))) {
+ st_jvmti->RawMonitorExit(monitor_ptr))) {
nsk_jvmti_setFailStatus();
return JVMTI_ITERATION_ABORT;
}
if (!NSK_JVMTI_VERIFY(
- NSK_CPP_STUB2(DestroyRawMonitor, st_jvmti, monitor_ptr))) {
+ st_jvmti->DestroyRawMonitor(monitor_ptr))) {
nsk_jvmti_setFailStatus();
}
@@ -119,11 +119,7 @@
NSK_DISPLAY0("Calling IterateOverHeap with filter JVMTI_HEAP_OBJECT_EITHER\n");
{
if (!NSK_JVMTI_VERIFY(
- NSK_CPP_STUB4(IterateOverHeap,
- jvmti,
- JVMTI_HEAP_OBJECT_EITHER,
- heapObjectCallback,
- &fakeUserData))) {
+ jvmti->IterateOverHeap(JVMTI_HEAP_OBJECT_EITHER, heapObjectCallback, &fakeUserData))) {
nsk_jvmti_setFailStatus();
}
}
@@ -174,7 +170,7 @@
memset(&caps, 0, sizeof(caps));
caps.can_tag_objects = 1;
if (!NSK_JVMTI_VERIFY(
- NSK_CPP_STUB2(AddCapabilities, jvmti, &caps))) {
+ jvmti->AddCapabilities(&caps))) {
return JNI_ERR;
}
}
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/IterateOverHeap/iterheap006/iterheap006.cpp Mon Oct 08 18:17:37 2018 -0400
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/IterateOverHeap/iterheap006/iterheap006.cpp Mon Oct 08 18:23:05 2018 -0400
@@ -46,12 +46,12 @@
void* storage_data) {
if (!NSK_JVMTI_VERIFY(
- NSK_CPP_STUB2(SetEnvironmentLocalStorage, st_jvmti, storage_data ))) {
+ st_jvmti->SetEnvironmentLocalStorage(storage_data ))) {
nsk_jvmti_setFailStatus();
}
if (!NSK_JVMTI_VERIFY(
- NSK_CPP_STUB2(GetEnvironmentLocalStorage, st_jvmti, &storage_ptr))) {
+ st_jvmti->GetEnvironmentLocalStorage(&storage_ptr))) {
nsk_jvmti_setFailStatus();
}
@@ -73,11 +73,7 @@
NSK_DISPLAY0("Calling IterateOverHeap with filter JVMTI_HEAP_OBJECT_EITHER\n");
{
if (!NSK_JVMTI_VERIFY(
- NSK_CPP_STUB4(IterateOverHeap,
- jvmti,
- JVMTI_HEAP_OBJECT_EITHER,
- heapObjectCallback,
- (void *)storage_data))) {
+ jvmti->IterateOverHeap(JVMTI_HEAP_OBJECT_EITHER, heapObjectCallback, (void *)storage_data))) {
nsk_jvmti_setFailStatus();
}
}
@@ -135,7 +131,7 @@
memset(&caps, 0, sizeof(caps));
caps.can_tag_objects = 1;
if (!NSK_JVMTI_VERIFY(
- NSK_CPP_STUB2(AddCapabilities, jvmti, &caps))) {
+ jvmti->AddCapabilities(&caps))) {
return JNI_ERR;
}
}
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/IterateOverHeap/iterheap007/iterheap007.cpp Mon Oct 08 18:17:37 2018 -0400
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/IterateOverHeap/iterheap007/iterheap007.cpp Mon Oct 08 18:23:05 2018 -0400
@@ -46,7 +46,7 @@
void* user_data) {
if (!NSK_JVMTI_VERIFY(
- NSK_CPP_STUB2(GetCurrentThreadCpuTimerInfo, st_jvmti, &timer_info1 ))) {
+ st_jvmti->GetCurrentThreadCpuTimerInfo(&timer_info1 ))) {
nsk_jvmti_setFailStatus();
}
/* Check the returned jvmtiTimerInfo structure */
@@ -65,13 +65,13 @@
/* ---------------------------------------------------------------------- */
if (!NSK_JVMTI_VERIFY(
- NSK_CPP_STUB2(GetCurrentThreadCpuTime, st_jvmti, &nanos ))) {
+ st_jvmti->GetCurrentThreadCpuTime(&nanos ))) {
nsk_jvmti_setFailStatus();
}
/* ---------------------------------------------------------------------- */
if (!NSK_JVMTI_VERIFY(
- NSK_CPP_STUB2(GetTimerInfo, st_jvmti, &timer_info2 ))) {
+ st_jvmti->GetTimerInfo(&timer_info2 ))) {
nsk_jvmti_setFailStatus();
}
/* Check the returned jvmtiTimerInfo structure */
@@ -91,7 +91,7 @@
nanos = 0;
if (!NSK_JVMTI_VERIFY(
- NSK_CPP_STUB2(GetTime, st_jvmti, &nanos ))) {
+ st_jvmti->GetTime(&nanos ))) {
nsk_jvmti_setFailStatus();
}
@@ -113,11 +113,7 @@
NSK_DISPLAY0("Calling IterateOverHeap with filter JVMTI_HEAP_OBJECT_EITHER\n");
{
if (!NSK_JVMTI_VERIFY(
- NSK_CPP_STUB4(IterateOverHeap,
- jvmti,
- JVMTI_HEAP_OBJECT_EITHER,
- heapObjectCallback,
- (void *)user_data))) {
+ jvmti->IterateOverHeap(JVMTI_HEAP_OBJECT_EITHER, heapObjectCallback, (void *)user_data))) {
nsk_jvmti_setFailStatus();
}
}
@@ -164,7 +160,7 @@
caps.can_get_current_thread_cpu_time = 1;
if (!NSK_JVMTI_VERIFY(
- NSK_CPP_STUB2(AddCapabilities, jvmti, &caps))) {
+ jvmti->AddCapabilities(&caps))) {
return JNI_ERR;
}
}
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/IterateOverInstancesOfClass/iterinstcls001/iterinstcls001.cpp Mon Oct 08 18:17:37 2018 -0400
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/IterateOverInstancesOfClass/iterinstcls001/iterinstcls001.cpp Mon Oct 08 18:23:05 2018 -0400
@@ -92,14 +92,14 @@
tag++;
if (!NSK_JNI_VERIFY(jni, (obj =
- NSK_CPP_STUB3(GetObjectField, jni, firstObject, firstField)) != NULL)) {
+ 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))) {
+ jvmti->SetTag(obj, objTag))) {
nsk_jvmti_setFailStatus();
return NSK_FALSE;
}
@@ -111,7 +111,7 @@
return NSK_FALSE;
}
- NSK_TRACE(NSK_CPP_STUB2(DeleteLocalRef, jni, obj));
+ NSK_TRACE(jni->DeleteLocalRef(obj));
return success;
}
@@ -136,9 +136,7 @@
*objectsCount = 2 * chainLength;
NSK_DISPLAY1("Allocate memory for objects list: %d objects\n", *objectsCount);
- 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;
}
@@ -155,7 +153,7 @@
NSK_DISPLAY1("Find debugee class: %s\n", DEBUGEE_CLASS_NAME);
if (!NSK_JNI_VERIFY(jni, (debugeeClass =
- NSK_CPP_STUB2(FindClass, jni, DEBUGEE_CLASS_NAME)) != NULL)) {
+ jni->FindClass(DEBUGEE_CLASS_NAME)) != NULL)) {
nsk_jvmti_setFailStatus();
return NSK_FALSE;
}
@@ -163,7 +161,7 @@
NSK_DISPLAY1("Find root object class: %s\n", ROOT_OBJECT_CLASS_NAME);
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;
}
@@ -171,7 +169,7 @@
NSK_DISPLAY1("Find chain object class: %s\n", CHAIN_OBJECT_CLASS_NAME);
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;
}
@@ -179,7 +177,7 @@
NSK_DISPLAY1("Create global ref to tested class: 0x%p\n", chainObjectClass);
if (!NSK_JNI_VERIFY(jni, (*testedClass = (jclass)
- NSK_CPP_STUB2(NewGlobalRef, jni, chainObjectClass)) != NULL)) {
+ jni->NewGlobalRef(chainObjectClass)) != NULL)) {
nsk_jvmti_setFailStatus();
return NSK_FALSE;
}
@@ -187,8 +185,7 @@
NSK_DISPLAY1("Find static field in debugee class: %s\n", OBJECT_FIELD_NAME);
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;
}
@@ -196,8 +193,7 @@
NSK_DISPLAY1("Find instance field in root object class: %s\n", REACHABLE_CHAIN_FIELD_NAME);
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;
}
@@ -205,8 +201,7 @@
NSK_DISPLAY1("Find instance field in root object class: %s\n", UNREACHABLE_CHAIN_FIELD_NAME);
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;
}
@@ -214,8 +209,7 @@
NSK_DISPLAY1("Find instance field in chain object class: %s\n", TAIL_FIELD_NAME);
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;
}
@@ -223,8 +217,7 @@
NSK_DISPLAY1("Get root object from static field: %s\n", OBJECT_FIELD_NAME);
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;
}
@@ -234,7 +227,7 @@
NSK_DISPLAY0(" tested class object:\n");
if (!NSK_JVMTI_VERIFY(
- NSK_CPP_STUB3(SetTag, jvmti, *testedClass, testedClassTag))) {
+ jvmti->SetTag(*testedClass, testedClassTag))) {
nsk_jvmti_setFailStatus();
return NSK_FALSE;
}
@@ -329,13 +322,13 @@
ObjectDesc* objectDescList, jclass testedClass) {
if (testedClass != NULL) {
NSK_DISPLAY1("Release object reference to tested class: 0x%p\n", testedClass);
- NSK_TRACE(NSK_CPP_STUB2(DeleteGlobalRef, jni, testedClass));
+ NSK_TRACE(jni->DeleteGlobalRef(testedClass));
}
if (objectDescList != NULL) {
NSK_DISPLAY1("Deallocate objects list: 0x%p\n", (void*)objectDescList);
if (!NSK_JVMTI_VERIFY(
- NSK_CPP_STUB2(Deallocate, jvmti, (unsigned char*)objectDescList))) {
+ jvmti->Deallocate((unsigned char*)objectDescList))) {
nsk_jvmti_setFailStatus();
}
}
@@ -450,9 +443,7 @@
NSK_DISPLAY0(">>> Iterate over instances of tested class with filter JVMTI_HEAP_OBJECT_EITHER\n");
{
if (!NSK_JVMTI_VERIFY(
- NSK_CPP_STUB5(IterateOverInstancesOfClass, jvmti,
- testedClass, JVMTI_HEAP_OBJECT_EITHER,
- heapObjectCallback, &fakeUserData))) {
+ jvmti->IterateOverInstancesOfClass(testedClass, JVMTI_HEAP_OBJECT_EITHER, heapObjectCallback, &fakeUserData))) {
nsk_jvmti_setFailStatus();
return;
}
@@ -561,7 +552,7 @@
caps.can_tag_objects = 1;
caps.can_generate_object_free_events = 1;
if (!NSK_JVMTI_VERIFY(
- NSK_CPP_STUB2(AddCapabilities, jvmti, &caps))) {
+ jvmti->AddCapabilities(&caps))) {
return JNI_ERR;
}
}
@@ -571,8 +562,7 @@
memset(&eventCallbacks, 0, sizeof(eventCallbacks));
eventCallbacks.ObjectFree = callbackObjectFree;
if (!NSK_JVMTI_VERIFY(
- NSK_CPP_STUB3(SetEventCallbacks, jvmti,
- &eventCallbacks, sizeof(eventCallbacks))))
+ jvmti->SetEventCallbacks(&eventCallbacks, sizeof(eventCallbacks))))
return JNI_ERR;
}
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/IterateOverInstancesOfClass/iterinstcls002/iterinstcls002.cpp Mon Oct 08 18:17:37 2018 -0400
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/IterateOverInstancesOfClass/iterinstcls002/iterinstcls002.cpp Mon Oct 08 18:23:05 2018 -0400
@@ -92,14 +92,14 @@
tag++;
if (!NSK_JNI_VERIFY(jni, (obj =
- NSK_CPP_STUB3(GetObjectField, jni, firstObject, firstField)) != NULL)) {
+ 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))) {
+ jvmti->SetTag(obj, objTag))) {
nsk_jvmti_setFailStatus();
return NSK_FALSE;
}
@@ -111,7 +111,7 @@
return NSK_FALSE;
}
- NSK_TRACE(NSK_CPP_STUB2(DeleteLocalRef, jni, obj));
+ NSK_TRACE(jni->DeleteLocalRef(obj));
return success;
}
@@ -136,9 +136,7 @@
*objectsCount = 2 * chainLength;
NSK_DISPLAY1("Allocate memory for objects list: %d objects\n", *objectsCount);
- 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;
}
@@ -155,7 +153,7 @@
NSK_DISPLAY1("Find debugee class: %s\n", DEBUGEE_CLASS_NAME);
if (!NSK_JNI_VERIFY(jni, (debugeeClass =
- NSK_CPP_STUB2(FindClass, jni, DEBUGEE_CLASS_NAME)) != NULL)) {
+ jni->FindClass(DEBUGEE_CLASS_NAME)) != NULL)) {
nsk_jvmti_setFailStatus();
return NSK_FALSE;
}
@@ -163,7 +161,7 @@
NSK_DISPLAY1("Find root object class: %s\n", ROOT_OBJECT_CLASS_NAME);
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;
}
@@ -171,7 +169,7 @@
NSK_DISPLAY1("Find chain object class: %s\n", CHAIN_OBJECT_CLASS_NAME);
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;
}
@@ -179,7 +177,7 @@
NSK_DISPLAY1("Create global ref to tested class: 0x%p\n", chainObjectClass);
if (!NSK_JNI_VERIFY(jni, (*testedClass = (jclass)
- NSK_CPP_STUB2(NewGlobalRef, jni, chainObjectClass)) != NULL)) {
+ jni->NewGlobalRef(chainObjectClass)) != NULL)) {
nsk_jvmti_setFailStatus();
return NSK_FALSE;
}
@@ -187,8 +185,7 @@
NSK_DISPLAY1("Find static field in debugee class: %s\n", OBJECT_FIELD_NAME);
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;
}
@@ -196,8 +193,7 @@
NSK_DISPLAY1("Find instance field in root object class: %s\n", REACHABLE_CHAIN_FIELD_NAME);
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;
}
@@ -205,8 +201,7 @@
NSK_DISPLAY1("Find instance field in root object class: %s\n", UNREACHABLE_CHAIN_FIELD_NAME);
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;
}
@@ -214,8 +209,7 @@
NSK_DISPLAY1("Find instance field in chain object class: %s\n", TAIL_FIELD_NAME);
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;
}
@@ -223,8 +217,7 @@
NSK_DISPLAY1("Get root object from static field: %s\n", OBJECT_FIELD_NAME);
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;
}
@@ -234,7 +227,7 @@
NSK_DISPLAY0(" tested class object:\n");
if (!NSK_JVMTI_VERIFY(
- NSK_CPP_STUB3(SetTag, jvmti, *testedClass, testedClassTag))) {
+ jvmti->SetTag(*testedClass, testedClassTag))) {
nsk_jvmti_setFailStatus();
return NSK_FALSE;
}
@@ -329,13 +322,13 @@
ObjectDesc* objectDescList, jclass testedClass) {
if (testedClass != NULL) {
NSK_DISPLAY1("Release object reference to tested class: 0x%p\n", testedClass);
- NSK_TRACE(NSK_CPP_STUB2(DeleteGlobalRef, jni, testedClass));
+ NSK_TRACE(jni->DeleteGlobalRef(testedClass));
}
if (objectDescList != NULL) {
NSK_DISPLAY1("Deallocate objects list: 0x%p\n", (void*)objectDescList);
if (!NSK_JVMTI_VERIFY(
- NSK_CPP_STUB2(Deallocate, jvmti, (unsigned char*)objectDescList))) {
+ jvmti->Deallocate((unsigned char*)objectDescList))) {
nsk_jvmti_setFailStatus();
}
}
@@ -458,9 +451,7 @@
NSK_DISPLAY0(">>> Iterate over instances of tested class with filter JVMTI_HEAP_OBJECT_TAGGED\n");
{
if (!NSK_JVMTI_VERIFY(
- NSK_CPP_STUB5(IterateOverInstancesOfClass, jvmti,
- testedClass, JVMTI_HEAP_OBJECT_TAGGED,
- heapObjectCallback, &fakeUserData))) {
+ jvmti->IterateOverInstancesOfClass(testedClass, JVMTI_HEAP_OBJECT_TAGGED, heapObjectCallback, &fakeUserData))) {
nsk_jvmti_setFailStatus();
return;
}
@@ -569,7 +560,7 @@
caps.can_tag_objects = 1;
caps.can_generate_object_free_events = 1;
if (!NSK_JVMTI_VERIFY(
- NSK_CPP_STUB2(AddCapabilities, jvmti, &caps))) {
+ jvmti->AddCapabilities(&caps))) {
return JNI_ERR;
}
}
@@ -579,8 +570,7 @@
memset(&eventCallbacks, 0, sizeof(eventCallbacks));
eventCallbacks.ObjectFree = callbackObjectFree;
if (!NSK_JVMTI_VERIFY(
- NSK_CPP_STUB3(SetEventCallbacks, jvmti,
- &eventCallbacks, sizeof(eventCallbacks))))
+ jvmti->SetEventCallbacks(&eventCallbacks, sizeof(eventCallbacks))))
return JNI_ERR;
}
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/IterateOverInstancesOfClass/iterinstcls003/iterinstcls003.cpp Mon Oct 08 18:17:37 2018 -0400
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/IterateOverInstancesOfClass/iterinstcls003/iterinstcls003.cpp Mon Oct 08 18:23:05 2018 -0400
@@ -92,14 +92,14 @@
tag++;
if (!NSK_JNI_VERIFY(jni, (obj =
- NSK_CPP_STUB3(GetObjectField, jni, firstObject, firstField)) != NULL)) {
+ 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))) {
+ jvmti->SetTag(obj, objTag))) {
nsk_jvmti_setFailStatus();
return NSK_FALSE;
}
@@ -111,7 +111,7 @@
return NSK_FALSE;
}
- NSK_TRACE(NSK_CPP_STUB2(DeleteLocalRef, jni, obj));
+ NSK_TRACE(jni->DeleteLocalRef(obj));
return success;
}
@@ -136,9 +136,7 @@
*objectsCount = 2 * chainLength;
NSK_DISPLAY1("Allocate memory for objects list: %d objects\n", *objectsCount);
- 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;
}
@@ -155,7 +153,7 @@
NSK_DISPLAY1("Find debugee class: %s\n", DEBUGEE_CLASS_NAME);
if (!NSK_JNI_VERIFY(jni, (debugeeClass =
- NSK_CPP_STUB2(FindClass, jni, DEBUGEE_CLASS_NAME)) != NULL)) {
+ jni->FindClass(DEBUGEE_CLASS_NAME)) != NULL)) {
nsk_jvmti_setFailStatus();
return NSK_FALSE;
}
@@ -163,7 +161,7 @@
NSK_DISPLAY1("Find root object class: %s\n", ROOT_OBJECT_CLASS_NAME);
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;
}
@@ -171,7 +169,7 @@
NSK_DISPLAY1("Find chain object class: %s\n", CHAIN_OBJECT_CLASS_NAME);
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;
}
@@ -179,7 +177,7 @@
NSK_DISPLAY1("Create global ref to tested class: 0x%p\n", chainObjectClass);
if (!NSK_JNI_VERIFY(jni, (*testedClass = (jclass)
- NSK_CPP_STUB2(NewGlobalRef, jni, chainObjectClass)) != NULL)) {
+ jni->NewGlobalRef(chainObjectClass)) != NULL)) {
nsk_jvmti_setFailStatus();
return NSK_FALSE;
}
@@ -187,8 +185,7 @@
NSK_DISPLAY1("Find static field in debugee class: %s\n", OBJECT_FIELD_NAME);
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;
}
@@ -196,8 +193,7 @@
NSK_DISPLAY1("Find instance field in root object class: %s\n", REACHABLE_CHAIN_FIELD_NAME);
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;
}
@@ -205,8 +201,7 @@
NSK_DISPLAY1("Find instance field in root object class: %s\n", UNREACHABLE_CHAIN_FIELD_NAME);
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;
}
@@ -214,8 +209,7 @@
NSK_DISPLAY1("Find instance field in chain object class: %s\n", TAIL_FIELD_NAME);
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;
}
@@ -223,8 +217,7 @@
NSK_DISPLAY1("Get root object from static field: %s\n", OBJECT_FIELD_NAME);
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;
}
@@ -234,7 +227,7 @@
NSK_DISPLAY0(" tested class object:\n");
if (!NSK_JVMTI_VERIFY(
- NSK_CPP_STUB3(SetTag, jvmti, *testedClass, testedClassTag))) {
+ jvmti->SetTag(*testedClass, testedClassTag))) {
nsk_jvmti_setFailStatus();
return NSK_FALSE;
}
@@ -329,13 +322,13 @@
ObjectDesc* objectDescList, jclass testedClass) {
if (testedClass != NULL) {
NSK_DISPLAY1("Release object reference to tested class: 0x%p\n", testedClass);
- NSK_TRACE(NSK_CPP_STUB2(DeleteGlobalRef, jni, testedClass));
+ NSK_TRACE(jni->DeleteGlobalRef(testedClass));
}
if (objectDescList != NULL) {
NSK_DISPLAY1("Deallocate objects list: 0x%p\n", (void*)objectDescList);
if (!NSK_JVMTI_VERIFY(
- NSK_CPP_STUB2(Deallocate, jvmti, (unsigned char*)objectDescList))) {
+ jvmti->Deallocate((unsigned char*)objectDescList))) {
nsk_jvmti_setFailStatus();
}
}
@@ -459,9 +452,7 @@
NSK_DISPLAY0(">>> Iterate over instances of tested class with filter JVMTI_HEAP_OBJECT_UNTAGGED\n");
{
if (!NSK_JVMTI_VERIFY(
- NSK_CPP_STUB5(IterateOverInstancesOfClass, jvmti,
- testedClass, JVMTI_HEAP_OBJECT_UNTAGGED,
- heapObjectCallback, &fakeUserData))) {
+ jvmti->IterateOverInstancesOfClass(testedClass, JVMTI_HEAP_OBJECT_UNTAGGED, heapObjectCallback, &fakeUserData))) {
nsk_jvmti_setFailStatus();
return;
}
@@ -570,7 +561,7 @@
caps.can_tag_objects = 1;
caps.can_generate_object_free_events = 1;
if (!NSK_JVMTI_VERIFY(
- NSK_CPP_STUB2(AddCapabilities, jvmti, &caps))) {
+ jvmti->AddCapabilities(&caps))) {
return JNI_ERR;
}
}
@@ -580,8 +571,7 @@
memset(&eventCallbacks, 0, sizeof(eventCallbacks));
eventCallbacks.ObjectFree = callbackObjectFree;
if (!NSK_JVMTI_VERIFY(
- NSK_CPP_STUB3(SetEventCallbacks, jvmti,
- &eventCallbacks, sizeof(eventCallbacks))))
+ jvmti->SetEventCallbacks(&eventCallbacks, sizeof(eventCallbacks))))
return JNI_ERR;
}
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/IterateOverInstancesOfClass/iterinstcls004/iterinstcls004.cpp Mon Oct 08 18:17:37 2018 -0400
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/IterateOverInstancesOfClass/iterinstcls004/iterinstcls004.cpp Mon Oct 08 18:23:05 2018 -0400
@@ -61,9 +61,7 @@
/* Set tag */
*tag_ptr = objectCount;
- if (!NSK_JVMTI_VERIFY(
- NSK_CPP_STUB3(Allocate, st_jvmti, (sizeof(ObjectDesc)),
- (unsigned char**)&objectDescBuf))) {
+ if (!NSK_JVMTI_VERIFY(st_jvmti->Allocate((sizeof(ObjectDesc)), (unsigned char**)&objectDescBuf))) {
nsk_jvmti_setFailStatus();
allocationError = 1;
}
@@ -83,8 +81,7 @@
objectCount--;
- if (!NSK_JVMTI_VERIFY(
- NSK_CPP_STUB2(Deallocate, st_jvmti, (unsigned char*)objectDescBuf))) {
+ if (!NSK_JVMTI_VERIFY(st_jvmti->Deallocate((unsigned char*)objectDescBuf))) {
nsk_jvmti_setFailStatus();
}
@@ -115,12 +112,7 @@
NSK_DISPLAY0("Calling IterateOverInstancesOfClass with filter JVMTI_HEAP_OBJECT_UNTAGGED\n");
{
if (!NSK_JVMTI_VERIFY(
- NSK_CPP_STUB5(IterateOverInstancesOfClass,
- jvmti,
- debugeeClass,
- JVMTI_HEAP_OBJECT_UNTAGGED,
- heapObjectCallback1,
- &userData))) {
+ jvmti->IterateOverInstancesOfClass(debugeeClass, JVMTI_HEAP_OBJECT_UNTAGGED, heapObjectCallback1, &userData))) {
nsk_jvmti_setFailStatus();
break;
}
@@ -139,12 +131,7 @@
NSK_DISPLAY0("Calling IterateOverInstancesOfClass with filter JVMTI_HEAP_OBJECT_TAGGED\n");
{
if (!NSK_JVMTI_VERIFY(
- NSK_CPP_STUB5(IterateOverInstancesOfClass,
- jvmti,
- debugeeClass,
- JVMTI_HEAP_OBJECT_TAGGED,
- heapObjectCallback2,
- &userData))) {
+ jvmti->IterateOverInstancesOfClass(debugeeClass, JVMTI_HEAP_OBJECT_TAGGED, heapObjectCallback2, &userData))) {
nsk_jvmti_setFailStatus();
break;
}
@@ -200,7 +187,7 @@
memset(&caps, 0, sizeof(caps));
caps.can_tag_objects = 1;
if (!NSK_JVMTI_VERIFY(
- NSK_CPP_STUB2(AddCapabilities, jvmti, &caps))) {
+ jvmti->AddCapabilities(&caps))) {
return JNI_ERR;
}
}
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/capability/CM02/cm02t001.java Mon Oct 08 18:17:37 2018 -0400
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/capability/CM02/cm02t001.java Mon Oct 08 18:23:05 2018 -0400
@@ -81,8 +81,8 @@
return status;
thread.letFinish();
- // pause to provoke contention
- Thread.sleep(100);
+ // pause to provoke contention on thread.endingMonitor
+ Thread.sleep(1000);
} catch (InterruptedException e) {
throw new Failure(e);
}
--- a/test/jdk/ProblemList.txt Mon Oct 08 18:17:37 2018 -0400
+++ b/test/jdk/ProblemList.txt Mon Oct 08 18:23:05 2018 -0400
@@ -565,7 +565,6 @@
java/nio/channels/DatagramChannel/ChangingAddress.java 7141822 macosx-all
java/nio/channels/Selector/Wakeup.java 6963118 windows-all
-java/nio/channels/Selector/RacyDeregister.java 8201765 windows-all
java/nio/file/WatchService/Basic.java 7158947 solaris-all Solaris 11
java/nio/file/WatchService/MayFlies.java 7158947 solaris-all Solaris 11
@@ -867,6 +866,8 @@
javax/rmi/ssl/SSLSocketParametersTest.sh 8162906 generic-all
+javax/naming/module/RunBasic.java 8211850 generic-all
+
############################################################################
###########################################################################
--- a/test/jdk/java/util/jar/JarFile/Constructor.java Mon Oct 08 18:17:37 2018 -0400
+++ b/test/jdk/java/util/jar/JarFile/Constructor.java Mon Oct 08 18:23:05 2018 -0400
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2003, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2003, 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
@@ -23,7 +23,7 @@
/**
* @test
- * @bug 4842702
+ * @bug 4842702 8211765
* @summary Check that constructors throw specified exceptions
* @author Martin Buchholz
*/
@@ -63,5 +63,13 @@
try { Unreached (new JarFile (new File ("NoSuchJar.jar"))); }
catch (IOException e) {}
+
+ // Test that an IOExcception is thrown when an invalid charater
+ // is part of the path on Windows and Unix
+ final String invalidOSPath = System.getProperty("os.name")
+ .startsWith("Windows") ? "C:\\*" : "foo\u0000bar";
+
+ try { Unreached (new JarFile (invalidOSPath)); }
+ catch (IOException e) {}
}
}
--- a/test/jdk/java/util/jar/JarFile/mrjar/TestVersionedStream.java Mon Oct 08 18:17:37 2018 -0400
+++ b/test/jdk/java/util/jar/JarFile/mrjar/TestVersionedStream.java Mon Oct 08 18:23:05 2018 -0400
@@ -23,7 +23,7 @@
/*
* @test
- * @bug 8163798 8189611
+ * @bug 8163798 8189611 8211728
* @summary basic tests for multi-release jar versioned streams
* @library /test/lib
* @modules jdk.jartool/sun.tools.jar java.base/jdk.internal.util.jar
@@ -82,7 +82,8 @@
"v10/p/Foo.class",
"v10/q/Bar.class",
"v" + LATEST_VERSION + "/p/Bar.class",
- "v" + LATEST_VERSION + "/p/Foo.class"
+ "v" + LATEST_VERSION + "/p/Foo.class",
+ "v" + LATEST_VERSION + "/META-INF/Foo.class"
);
jar("cf mmr.jar -C base . " +
@@ -224,6 +225,11 @@
throw new UncheckedIOException(x);
}
});
+
+ if (!unversionedEntryNames.contains("META-INF/Foo.class") ||
+ versionedNames.indexOf("META-INF/Foo.class") != -1) {
+ Assert.fail("versioned META-INF/Foo.class test failed");
+ }
}
}
--- a/test/jdk/javax/imageio/plugins/png/ItxtUtf8Test.java Mon Oct 08 18:17:37 2018 -0400
+++ b/test/jdk/javax/imageio/plugins/png/ItxtUtf8Test.java Mon Oct 08 18:23:05 2018 -0400
@@ -30,7 +30,7 @@
*
* @run main ItxtUtf8Test
*
- * @run main/othervm/timeout=10 -Xmx4m ItxtUtf8Test truncate
+ * @run main/othervm/timeout=10 -Xmx6m ItxtUtf8Test truncate
*/
import java.awt.image.BufferedImage;
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test/langtools/jdk/javadoc/doclet/testSerialTag/TestSerialTag.java Mon Oct 08 18:23:05 2018 -0400
@@ -0,0 +1,145 @@
+/*
+ * 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.
+ */
+
+/*
+ * @test
+ * @bug 8207214
+ * @summary Test package-level at-serial tags
+ * @library /tools/lib ../lib
+ * @modules jdk.javadoc/jdk.javadoc.internal.tool
+ * @build JavadocTester toolbox.ToolBox
+ * @run main TestSerialTag
+ */
+
+import java.io.IOException;
+import java.nio.file.Path;
+
+import toolbox.ToolBox;
+
+public class TestSerialTag extends JavadocTester {
+ public static void main(String... args) throws Exception {
+ TestSerialTag tester = new TestSerialTag();
+ tester.runTests(m -> new Object[] { Path.of(m.getName()) });
+ }
+
+ private final ToolBox tb;
+
+ TestSerialTag() {
+ tb = new ToolBox();
+ }
+
+ @Test
+ public void testCombo(Path base) throws IOException {
+ boolean[] moduleValues = { false, true };
+ String[] tagValues = { "", "@serial include", "@serial exclude" };
+ for (boolean module : moduleValues ) {
+ for (String tag : tagValues ) {
+ String name = (module ? "module-" : "")
+ + (tag.isEmpty() ? "default" : tag.replace("@serial ", ""));
+ Path dir = base.resolve(name);
+ test(dir, module, tag);
+ }
+ }
+
+ }
+
+ void test(Path base, boolean module, String tag) throws IOException {
+ out.println("Test: module:" + module + ", tag:" + tag);
+
+ Path srcDir = generateSource(base, module, tag);
+
+ Path outDir = base.resolve("out");
+ if (module) {
+ javadoc("-d", outDir.toString(),
+ "--module-source-path", srcDir.toString(),
+ "--module", "m");
+ } else {
+ javadoc("-d", outDir.toString(),
+ "-sourcepath", srcDir.toString(),
+ "p", "q");
+ }
+ checkExit(Exit.OK);
+
+ boolean expectLink = !tag.equals("@serial exclude");
+ checkSeeSerializedForm(module, expectLink);
+ }
+
+ /**
+ * Generates source for a test case.
+ * Two classes are generated, in two different packages.
+ * One package has a variable at-serial tag to test;
+ * The other package is a control and always has no special tag.
+ *
+ * @param base the working directory for the test case
+ * @param module whether or not to enclose the packages in a module
+ * @param tag the at-serial tag to be tested
+ * @return the directory in which the source was created
+ */
+ Path generateSource(Path base, boolean module, String tag) throws IOException {
+ Path srcDir = base.resolve("src");
+
+ Path dir;
+ if (module) {
+ dir = srcDir.resolve("m");
+ tb.writeJavaFiles(dir,
+ "module m { exports p; exports q; }");
+ } else {
+ dir = srcDir;
+ }
+
+ tb.writeJavaFiles(dir,
+ "/** This is package p;\n * " + tag + "\n */\n"
+ + "package p;",
+ "/** This is class p.C1;\n */\n"
+ + "package p; public class C1 implements java.io.Serializable { }",
+ "/** This is package q;\n */\n"
+ + "package q;",
+ "/** This is class q.C2;\n */\n"
+ + "package q; public class C2 implements java.io.Serializable { }"
+ );
+
+ return srcDir;
+ }
+
+ /**
+ * Checks the link to the serialized form page,
+ * and whether classes are documented on that page.
+ *
+ * @param module whether or not the output is module-oriented
+ * @param b whether or not class p.C1 should be documented as serializable
+ */
+ void checkSeeSerializedForm(boolean module, boolean b) {
+ String prefix = module ? "m/" : "";
+
+ checkOutput(prefix + "p/C1.html", b,
+ "serialized-form.html");
+ checkOutput("serialized-form.html", b,
+ "C1");
+
+ checkOutput(prefix + "q/C2.html", true,
+ "serialized-form.html");
+ checkOutput("serialized-form.html", true,
+ "C2");
+ }
+}
+
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test/langtools/tools/javac/lambda/T8209407/VerifierErrorInnerPlusLambda.java Mon Oct 08 18:23:05 2018 -0400
@@ -0,0 +1,42 @@
+/*
+ * 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.
+ */
+
+/*
+ * @test
+ * @bug 8209407
+ * @summary VerifyError is thrown for inner class with lambda
+ */
+
+import java.util.function.Supplier;
+
+public class VerifierErrorInnerPlusLambda {
+ public static void main(String[] args) {
+ Object a = new Object();
+ class Local { Object ref = a; }
+ new Object() {
+ void unused() {
+ Supplier<Local> s = () -> new Local();
+ }
+ };
+ }
+}
--- a/test/lib/jdk/test/lib/Platform.java Mon Oct 08 18:17:37 2018 -0400
+++ b/test/lib/jdk/test/lib/Platform.java Mon Oct 08 18:23:05 2018 -0400
@@ -325,6 +325,19 @@
}
}
+ public static boolean isDefaultCDSArchiveSupported() {
+ return (is64bit() &&
+ isServer() &&
+ (isLinux() ||
+ isOSX() ||
+ isSolaris() ||
+ isWindows()) &&
+ !isZero() &&
+ !isMinimal() &&
+ !isAArch64() &&
+ !isARM());
+ }
+
/*
* This should match the #if condition in ClassListParser::load_class_from_source().
*/
--- a/test/lib/jdk/test/lib/SecurityTools.java Mon Oct 08 18:17:37 2018 -0400
+++ b/test/lib/jdk/test/lib/SecurityTools.java Mon Oct 08 18:23:05 2018 -0400
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2016, 2017, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2016, 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
@@ -28,7 +28,6 @@
import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.Paths;
-import java.util.Arrays;
import java.util.List;
import java.util.stream.Collectors;
import java.util.stream.Stream;
@@ -36,10 +35,23 @@
import jdk.test.lib.process.OutputAnalyzer;
import jdk.test.lib.process.ProcessTools;
+/**
+ * Run security tools (including jarsigner and keytool) in a new process.
+ * The en_US locale is always used so a test can always match output to
+ * English text. {@code /dev/urandom} is used as entropy source so tool will
+ * not block because of entropy scarcity. {@code -Jvm-options} is supported
+ * as an argument.
+ */
public class SecurityTools {
+ /**
+ * The response file name for keytool. Use {@link #setResponse} to
+ * create one. Do NOT manipulate it directly.
+ */
public static final String RESPONSE_FILE = "security_tools_response.txt";
+ private SecurityTools() {}
+
private static ProcessBuilder getProcessBuilder(String tool, List<String> args) {
JDKToolLauncher launcher = JDKToolLauncher.createUsingTestJDK(tool)
.addVMArg("-Duser.language=en")
@@ -57,8 +69,13 @@
return new ProcessBuilder(launcher.getCommand());
}
- // keytool
-
+ /**
+ * Runs keytool.
+ *
+ * @param args arguments to keytool
+ * @return an {@link OutputAnalyzer} object
+ * @throws Exception if there is an error
+ */
public static OutputAnalyzer keytool(List<String> args)
throws Exception {
@@ -77,15 +94,46 @@
}
}
- // Only call this if there is no white space in every argument
+ /**
+ * Runs keytool.
+ *
+ * @param args arguments to keytool in a single string. Only call this if
+ * there is no white space inside an argument. This string will
+ * be split with {@code \s+}.
+ * @return an {@link OutputAnalyzer} object
+ * @throws Exception if there is an error
+ */
public static OutputAnalyzer keytool(String args) throws Exception {
return keytool(args.split("\\s+"));
}
+ /**
+ * Runs keytool.
+ *
+ * @param args arguments to keytool
+ * @return an {@link OutputAnalyzer} object
+ * @throws Exception if there is an error
+ */
public static OutputAnalyzer keytool(String... args) throws Exception {
return keytool(List.of(args));
}
+
+ /**
+ * Sets the responses (user input) for keytool.
+ * <p>
+ * For example, if keytool requires entering a password twice, call
+ * {@code setResponse("password", "password")}. Do NOT append a newline
+ * character to each response. If there are useless responses at the end,
+ * they will be discarded silently. If there are less responses than
+ * necessary, keytool will read EOF. The responses will be written into
+ * {@linkplain #RESPONSE_FILE a local file} and will only be used by the
+ * next keytool run. After the run, the file is removed. Calling this
+ * method will always overwrite the previous response file (if exists).
+ *
+ * @param responses response to keytool
+ * @throws IOException if there is an error
+ */
public static void setResponse(String... responses) throws IOException {
String text;
if (responses.length > 0) {
@@ -97,8 +145,13 @@
Files.write(Paths.get(RESPONSE_FILE), text.getBytes());
}
- // jarsigner
-
+ /**
+ * Runs jarsigner.
+ *
+ * @param args arguments to jarsigner
+ * @return an {@link OutputAnalyzer} object
+ * @throws Exception if there is an error
+ */
public static OutputAnalyzer jarsigner(List<String> args)
throws Exception {
return execute(getProcessBuilder("jarsigner", args));
@@ -118,12 +171,27 @@
}
}
- // Only call this if there is no white space in every argument
+ /**
+ * Runs jarsigner.
+ *
+ * @param args arguments to jarsigner in a single string. Only call this if
+ * there is no white space inside an argument. This string will
+ * be split with {@code \s+}.
+ * @return an {@link OutputAnalyzer} object
+ * @throws Exception if there is an error
+ */
public static OutputAnalyzer jarsigner(String args) throws Exception {
return jarsigner(args.split("\\s+"));
}
+ /**
+ * Runs jarsigner.
+ *
+ * @param args arguments to jarsigner
+ * @return an {@link OutputAnalyzer} object
+ * @throws Exception if there is an error
+ */
public static OutputAnalyzer jarsigner(String... args) throws Exception {
return jarsigner(List.of(args));
}
--- a/test/lib/jdk/test/lib/util/JarUtils.java Mon Oct 08 18:17:37 2018 -0400
+++ b/test/lib/jdk/test/lib/util/JarUtils.java Mon Oct 08 18:23:05 2018 -0400
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2015, 2017, 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
@@ -222,6 +222,7 @@
* be either updated or added. The files in the 2nd group
* will be removed. If no "-" exists, all files belong to
* the 1st group.
+ * @throws IOException if there is an error
*/
@Deprecated
public static void updateJar(String src, String dest, String... files)
@@ -259,7 +260,7 @@
* Value can be Path, byte[] or String. If key exists in
* src but value is Boolean FALSE. The entry is removed.
* Existing entries in src not a key is unmodified.
- * @throws IOException
+ * @throws IOException if there is an error
*/
@Deprecated
public static void updateJar(String src, String dest,
--- a/test/lib/sun/hotspot/WhiteBox.java Mon Oct 08 18:17:37 2018 -0400
+++ b/test/lib/sun/hotspot/WhiteBox.java Mon Oct 08 18:23:05 2018 -0400
@@ -512,6 +512,8 @@
public native void assertMatchingSafepointCalls(boolean mutexSafepointValue, boolean attemptedNoSafepointValue);
// Sharing & archiving
+ public native String getDefaultArchivePath();
+ public native boolean isSharingEnabled();
public native boolean isShared(Object o);
public native boolean isSharedClass(Class<?> c);
public native boolean areSharedStringsIgnored();