--- a/.hgtags Thu Oct 18 18:02:17 2018 -0400
+++ b/.hgtags Thu Oct 18 18:04:05 2018 -0400
@@ -518,3 +518,4 @@
8897e41b327c0a5601c6ba2bba5d07f15a3ffc91 jdk-12+14
6f04692c7d5137ee34a6bd94c0c8a6c9219cb127 jdk-12+14
f8626bcc169813a4b2a15880386b952719d1d6d1 jdk-12+15
+199658d1ef860cdc17055b4fd3e94b057f292fe9 jdk-12+16
--- a/make/common/MakeBase.gmk Thu Oct 18 18:02:17 2018 -0400
+++ b/make/common/MakeBase.gmk Thu Oct 18 18:04:05 2018 -0400
@@ -656,8 +656,11 @@
# String equals
equals = \
- $(and $(findstring $(strip $1),$(strip $2)),\
- $(findstring $(strip $2),$(strip $1)))
+ $(if $(strip $1)$(strip $2),$(strip \
+ $(and $(findstring $(strip $1),$(strip $2)),\
+ $(findstring $(strip $2),$(strip $1)))), \
+ true \
+ )
# Remove a whole list of prefixes
# $1 - List of prefixes
--- a/src/hotspot/cpu/arm/vm_version_arm.hpp Thu Oct 18 18:02:17 2018 -0400
+++ b/src/hotspot/cpu/arm/vm_version_arm.hpp Thu Oct 18 18:04:05 2018 -0400
@@ -110,7 +110,6 @@
static bool supports_kuser_cmpxchg64() { return _kuser_helper_version >= KUSER_VERSION_CMPXCHG64; }
// Override Abstract_VM_Version implementation
static bool use_biased_locking();
- static const char* vm_info_string();
static bool has_vfp() { return (_features & vfp_m) != 0; }
static bool has_vfp3_32() { return (_features & vfp3_32_m) != 0; }
--- a/src/hotspot/cpu/x86/x86_32.ad Thu Oct 18 18:02:17 2018 -0400
+++ b/src/hotspot/cpu/x86/x86_32.ad Thu Oct 18 18:04:05 2018 -0400
@@ -619,7 +619,7 @@
int framesize = C->frame_size_in_bytes();
int bangsize = C->bang_size_in_bytes();
- __ verified_entry(framesize, C->need_stack_bang(bangsize)?bangsize:0, C->in_24_bit_fp_mode());
+ __ verified_entry(framesize, C->need_stack_bang(bangsize)?bangsize:0, C->in_24_bit_fp_mode(), C->stub_function() != NULL);
C->set_frame_complete(cbuf.insts_size());
--- a/src/hotspot/share/classfile/verificationType.cpp Thu Oct 18 18:02:17 2018 -0400
+++ b/src/hotspot/share/classfile/verificationType.cpp Thu Oct 18 18:04:05 2018 -0400
@@ -172,7 +172,11 @@
} else if (is_uninitialized()) {
st->print("uninitialized %d", bci());
} else {
- name()->print_value_on(st);
+ if (name() != NULL) {
+ name()->print_value_on(st);
+ } else {
+ st->print_cr("NULL");
+ }
}
}
}
--- a/src/hotspot/share/oops/instanceKlass.hpp Thu Oct 18 18:02:17 2018 -0400
+++ b/src/hotspot/share/oops/instanceKlass.hpp Thu Oct 18 18:04:05 2018 -0400
@@ -1195,7 +1195,7 @@
// Iterate over all oop fields and metadata.
template <typename T, class OopClosureType>
- inline int oop_oop_iterate(oop obj, OopClosureType* closure);
+ inline void oop_oop_iterate(oop obj, OopClosureType* closure);
// Iterate over all oop fields in one oop map.
template <typename T, class OopClosureType>
@@ -1205,7 +1205,7 @@
// Reverse iteration
// Iterate over all oop fields and metadata.
template <typename T, class OopClosureType>
- inline int oop_oop_iterate_reverse(oop obj, OopClosureType* closure);
+ inline void oop_oop_iterate_reverse(oop obj, OopClosureType* closure);
private:
// Iterate over all oop fields in the oop maps.
@@ -1225,7 +1225,7 @@
// Iterate over all oop fields and metadata.
template <typename T, class OopClosureType>
- inline int oop_oop_iterate_bounded(oop obj, OopClosureType* closure, MemRegion mr);
+ inline void oop_oop_iterate_bounded(oop obj, OopClosureType* closure, MemRegion mr);
private:
// Iterate over all oop fields in one oop map.
--- a/src/hotspot/share/oops/instanceKlass.inline.hpp Thu Oct 18 18:02:17 2018 -0400
+++ b/src/hotspot/share/oops/instanceKlass.inline.hpp Thu Oct 18 18:04:05 2018 -0400
@@ -130,28 +130,24 @@
}
template <typename T, class OopClosureType>
-ALWAYSINLINE int InstanceKlass::oop_oop_iterate(oop obj, OopClosureType* closure) {
+ALWAYSINLINE void InstanceKlass::oop_oop_iterate(oop obj, OopClosureType* closure) {
if (Devirtualizer::do_metadata(closure)) {
Devirtualizer::do_klass(closure, this);
}
oop_oop_iterate_oop_maps<T>(obj, closure);
-
- return size_helper();
}
template <typename T, class OopClosureType>
-ALWAYSINLINE int InstanceKlass::oop_oop_iterate_reverse(oop obj, OopClosureType* closure) {
+ALWAYSINLINE void InstanceKlass::oop_oop_iterate_reverse(oop obj, OopClosureType* closure) {
assert(!Devirtualizer::do_metadata(closure),
"Code to handle metadata is not implemented");
oop_oop_iterate_oop_maps_reverse<T>(obj, closure);
-
- return size_helper();
}
template <typename T, class OopClosureType>
-ALWAYSINLINE int InstanceKlass::oop_oop_iterate_bounded(oop obj, OopClosureType* closure, MemRegion mr) {
+ALWAYSINLINE void InstanceKlass::oop_oop_iterate_bounded(oop obj, OopClosureType* closure, MemRegion mr) {
if (Devirtualizer::do_metadata(closure)) {
if (mr.contains(obj)) {
Devirtualizer::do_klass(closure, this);
@@ -159,8 +155,6 @@
}
oop_oop_iterate_oop_maps_bounded<T>(obj, closure, mr);
-
- return size_helper();
}
#endif // SHARE_VM_OOPS_INSTANCEKLASS_INLINE_HPP
--- a/src/hotspot/share/oops/symbol.cpp Thu Oct 18 18:02:17 2018 -0400
+++ b/src/hotspot/share/oops/symbol.cpp Thu Oct 18 18:04:05 2018 -0400
@@ -294,28 +294,20 @@
}
void Symbol::print_on(outputStream* st) const {
- if (this == NULL) {
- st->print_cr("NULL");
- } else {
- st->print("Symbol: '");
- print_symbol_on(st);
- st->print("'");
- st->print(" count %d", refcount());
- }
+ st->print("Symbol: '");
+ print_symbol_on(st);
+ st->print("'");
+ st->print(" count %d", refcount());
}
// The print_value functions are present in all builds, to support the
// disassembler and error reporting.
void Symbol::print_value_on(outputStream* st) const {
- if (this == NULL) {
- st->print("NULL");
- } else {
- st->print("'");
- for (int i = 0; i < utf8_length(); i++) {
- st->print("%c", char_at(i));
- }
- st->print("'");
+ st->print("'");
+ for (int i = 0; i < utf8_length(); i++) {
+ st->print("%c", char_at(i));
}
+ st->print("'");
}
bool Symbol::is_valid(Symbol* s) {
--- a/src/hotspot/share/opto/node.cpp Thu Oct 18 18:02:17 2018 -0400
+++ b/src/hotspot/share/opto/node.cpp Thu Oct 18 18:04:05 2018 -0400
@@ -899,6 +899,13 @@
return (Node*) this;
}
+bool Node::eqv_uncast(const Node* n) const {
+ BarrierSetC2* bs = BarrierSet::barrier_set()->barrier_set_c2();
+ Node* obj1 = bs->step_over_gc_barrier(const_cast<Node*>(this));
+ Node* obj2 = bs->step_over_gc_barrier(const_cast<Node*>(n));
+ return (obj1->uncast() == obj2->uncast());
+}
+
// Find out of current node that matches opcode.
Node* Node::find_out_with(int opcode) {
for (DUIterator_Fast imax, i = fast_outs(imax); i < imax; i++) {
--- a/src/hotspot/share/opto/node.hpp Thu Oct 18 18:02:17 2018 -0400
+++ b/src/hotspot/share/opto/node.hpp Thu Oct 18 18:04:05 2018 -0400
@@ -457,10 +457,9 @@
// Strip away casting. (It is depth-limited.)
Node* uncast() const;
- // Return whether two Nodes are equivalent, after stripping casting.
- bool eqv_uncast(const Node* n) const {
- return (this->uncast() == n->uncast());
- }
+ // Return whether two Nodes are equivalent, after stripping casting
+ // and GC barriers.
+ bool eqv_uncast(const Node* n) const;
// Find out of current node that matches opcode.
Node* find_out_with(int opcode);
--- a/src/hotspot/share/prims/jvmtiExport.cpp Thu Oct 18 18:02:17 2018 -0400
+++ b/src/hotspot/share/prims/jvmtiExport.cpp Thu Oct 18 18:04:05 2018 -0400
@@ -1044,7 +1044,7 @@
public:
JvmtiObjectAllocEventMark(JavaThread *thread, oop obj) : JvmtiClassEventMark(thread, oop_to_klass(obj)) {
_jobj = (jobject)to_jobject(obj);
- _size = obj->size() * wordSize;
+ _size = Universe::heap()->obj_size(obj) * wordSize;
};
jobject jni_jobject() { return _jobj; }
jlong size() { return _size; }
--- a/src/hotspot/share/prims/jvmtiTagMap.cpp Thu Oct 18 18:02:17 2018 -0400
+++ b/src/hotspot/share/prims/jvmtiTagMap.cpp Thu Oct 18 18:04:05 2018 -0400
@@ -105,7 +105,7 @@
}
inline bool equals(oop object) {
- return object == object_peek();
+ return oopDesc::equals(object, object_peek());
}
inline JvmtiTagHashmapEntry* next() const { return _next; }
@@ -186,6 +186,7 @@
// shift right to get better distribution (as these bits will be zero
// with aligned addresses)
+ key = Access<>::resolve(key);
unsigned int addr = (unsigned int)(cast_from_oop<intptr_t>(key));
#ifdef _LP64
return (addr >> 3) % size;
--- a/src/hotspot/share/runtime/arguments.cpp Thu Oct 18 18:02:17 2018 -0400
+++ b/src/hotspot/share/runtime/arguments.cpp Thu Oct 18 18:04:05 2018 -0400
@@ -106,6 +106,9 @@
AgentLibraryList Arguments::_libraryList;
AgentLibraryList Arguments::_agentList;
+// These are not set by the JDK's built-in launchers, but they can be set by
+// programs that embed the JVM using JNI_CreateJavaVM. See comments around
+// JavaVMOption in jni.h.
abort_hook_t Arguments::_abort_hook = NULL;
exit_hook_t Arguments::_exit_hook = NULL;
vfprintf_hook_t Arguments::_vfprintf_hook = NULL;
--- a/src/hotspot/share/runtime/arguments.hpp Thu Oct 18 18:02:17 2018 -0400
+++ b/src/hotspot/share/runtime/arguments.hpp Thu Oct 18 18:04:05 2018 -0400
@@ -36,7 +36,7 @@
// Arguments parses the command line and recognizes options
-// Invocation API hook typedefs (these should really be defined in jni.hpp)
+// Invocation API hook typedefs (these should really be defined in jni.h)
extern "C" {
typedef void (JNICALL *abort_hook_t)(void);
typedef void (JNICALL *exit_hook_t)(jint code);
--- a/src/hotspot/share/runtime/perfData.cpp Thu Oct 18 18:02:17 2018 -0400
+++ b/src/hotspot/share/runtime/perfData.cpp Thu Oct 18 18:04:05 2018 -0400
@@ -323,7 +323,12 @@
}
PerfData* PerfDataManager::find_by_name(const char* name) {
- return _all->find_by_name(name);
+ // if add_item hasn't been called the list won't be initialized
+ if (_all != NULL) {
+ return _all->find_by_name(name);
+ } else {
+ return NULL;
+ }
}
PerfDataList* PerfDataManager::all() {
@@ -591,10 +596,6 @@
PerfData* PerfDataList::find_by_name(const char* name) {
- // if add_item hasn't been called the list won't be initialized
- if (this == NULL)
- return NULL;
-
int i = _set->find((void*)name, PerfDataList::by_name);
if (i >= 0 && i <= _set->length())
--- a/src/hotspot/share/runtime/perfData.inline.hpp Thu Oct 18 18:02:17 2018 -0400
+++ b/src/hotspot/share/runtime/perfData.inline.hpp Thu Oct 18 18:04:05 2018 -0400
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2002, 2017, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2002, 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
@@ -58,7 +58,11 @@
}
inline bool PerfDataManager::exists(const char* name) {
- return _all->contains(name);
+ if (_all != NULL) {
+ return _all->contains(name);
+ } else {
+ return false;
+ }
}
#endif // SHARE_VM_RUNTIME_PERFDATA_INLINE_HPP
--- a/src/java.base/share/classes/java/lang/ref/Cleaner.java Thu Oct 18 18:02:17 2018 -0400
+++ b/src/java.base/share/classes/java/lang/ref/Cleaner.java Thu Oct 18 18:04:05 2018 -0400
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2015, 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
@@ -100,8 +100,8 @@
* }
* }
*
- * private final State;
- * private final Cleaner.Cleanable cleanable
+ * private final State state;
+ * private final Cleaner.Cleanable cleanable;
*
* public CleaningExample() {
* this.state = new State(...);
--- a/src/java.base/share/native/include/jni.h Thu Oct 18 18:02:17 2018 -0400
+++ b/src/java.base/share/native/include/jni.h Thu Oct 18 18:04:05 2018 -0400
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1996, 2016, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1996, 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
@@ -1871,6 +1871,20 @@
#endif /* __cplusplus */
};
+/*
+ * optionString may be any option accepted by the JVM, or one of the
+ * following:
+ *
+ * -D<name>=<value> Set a system property.
+ * -verbose[:class|gc|jni] Enable verbose output, comma-separated. E.g.
+ * "-verbose:class" or "-verbose:gc,class"
+ * Standard names include: gc, class, and jni.
+ * All nonstandard (VM-specific) names must begin
+ * with "X".
+ * vfprintf extraInfo is a pointer to the vfprintf hook.
+ * exit extraInfo is a pointer to the exit hook.
+ * abort extraInfo is a pointer to the abort hook.
+ */
typedef struct JavaVMOption {
char *optionString;
void *extraInfo;
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/src/java.xml.crypto/share/classes/javax/xml/crypto/dom/package-info.java Thu Oct 18 18:04:05 2018 -0400
@@ -0,0 +1,47 @@
+/*
+ * Copyright (c) 2005, 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. Oracle designates this
+ * particular file as subject to the "Classpath" exception as provided
+ * by Oracle in the LICENSE file that accompanied this code.
+ *
+ * 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.
+ */
+
+/**
+ * DOM-specific classes for the {@link javax.xml.crypto} package.
+ * Only users who are using DOM-based XML cryptographic implementations (ex:
+ * {@link javax.xml.crypto.dsig.XMLSignatureFactory XMLSignatureFactory} or
+ * {@link javax.xml.crypto.dsig.keyinfo.KeyInfoFactory})
+ * should need to make direct use of this package.
+ *
+ * <h2>Package Specification</h2>
+ *
+ * <ul>
+ * <li>
+ * <a href="http://www.w3.org/TR/xmldsig-core/">
+ * XML-Signature Syntax and Processing: W3C Recommendation</a>
+ * <li>
+ * <a href="http://www.ietf.org/rfc/rfc3275.txt">
+ * RFC 3275: XML-Signature Syntax and Processing</a>
+ * </ul>
+ *
+ * @since 1.6
+ */
+
+package javax.xml.crypto.dom;
--- a/src/java.xml.crypto/share/classes/javax/xml/crypto/dom/package.html Thu Oct 18 18:02:17 2018 -0400
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,50 +0,0 @@
-<html>
-<head>
-<!--
-Copyright (c) 2005, 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. Oracle designates this
-particular file as subject to the "Classpath" exception as provided
-by Oracle in the LICENSE file that accompanied this code.
-
-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.
--->
-
-</head>
-<body>
-DOM-specific classes for the {@link javax.xml.crypto} package.
-Only users who are using a DOM-based XML cryptographic implementations (ex:
-{@link javax.xml.crypto.dsig.XMLSignatureFactory XMLSignatureFactory} or
-{@link javax.xml.crypto.dsig.keyinfo.KeyInfoFactory})
-should need to make direct use of this package.
-
-<h2>Package Specification</h2>
-
-<ul>
-<li>
-<a href="http://www.w3.org/TR/xmldsig-core/">
-XML-Signature Syntax and Processing: W3C Recommendation</a>
-<li>
-<a href="http://www.ietf.org/rfc/rfc3275.txt">
-RFC 3275: XML-Signature Syntax and Processing</a>
-</ul>
-
-@since 1.6
-
-</body>
-</html>
--- a/src/java.xml.crypto/share/classes/javax/xml/crypto/dsig/TransformService.java Thu Oct 18 18:02:17 2018 -0400
+++ b/src/java.xml.crypto/share/classes/javax/xml/crypto/dsig/TransformService.java Thu Oct 18 18:04:05 2018 -0400
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2005, 2017, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2005, 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
@@ -68,11 +68,11 @@
* </pre>
* <code>TransformService</code> implementations that support the DOM
* mechanism type must abide by the DOM interoperability requirements defined
- * in the
- * {@extLink security_guide_xmldsig_rqmts DOM Mechanism Requirements} section
- * of the API overview. See the
- * {@extLink security_guide_xmldsig_provider Service Providers} section of
- * the API overview for a list of standard mechanism types.
+ * in the <a href="package-summary.html#dom_req">DOM Mechanism
+ * Requirements</a>. See the {@code TransformService} section in the <a href=
+ * "{@docRoot}/../specs/security/standard-names.html#xml-signature-xmlsignaturefactorykeyinfofactorytransformservice-mechanisms">
+ * Java Security Standard Algorithm Names Specification</a> for a list of
+ * standard algorithm URIs and mechanism types.
* <p>
* Once a <code>TransformService</code> has been created, it can be used
* to process <code>Transform</code> or <code>CanonicalizationMethod</code>
--- a/src/java.xml.crypto/share/classes/javax/xml/crypto/dsig/XMLSignatureFactory.java Thu Oct 18 18:02:17 2018 -0400
+++ b/src/java.xml.crypto/share/classes/javax/xml/crypto/dsig/XMLSignatureFactory.java Thu Oct 18 18:04:05 2018 -0400
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2005, 2017, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2005, 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
@@ -66,10 +66,11 @@
*
* <p>The objects that this factory produces will be based
* on DOM and abide by the DOM interoperability requirements as defined in the
- * {@extLink security_guide_xmldsig_rqmts DOM Mechanism Requirements} section
- * of the API overview. See the
- * {@extLink security_guide_xmldsig_provider Service Providers} section of
- * the API overview for a list of standard mechanism types.
+ * <a href="package-summary.html#dom_req">DOM Mechanism Requirements</a>.
+ * See the {@code XMLSignatureFactory} section in the <a href=
+ * "{@docRoot}/../specs/security/standard-names.html#xml-signature-xmlsignaturefactorykeyinfofactorytransformservice-mechanisms">
+ * Java Security Standard Algorithm Names Specification</a> for a list of
+ * standard mechanism types.
*
* <p><code>XMLSignatureFactory</code> implementations are registered and loaded
* using the {@link java.security.Provider} mechanism.
@@ -180,8 +181,10 @@
* {@link Security#getProviders() Security.getProviders()}.
*
* @param mechanismType the type of the XML processing mechanism and
- * representation. See the {@extLink security_guide_xmldsig_provider
- * Service Providers} section of the API overview for a list of
+ * representation. See the {@code XMLSignatureFactory} section in the
+ * <a href=
+ * "{@docRoot}/../specs/security/standard-names.html#xml-signature-xmlsignaturefactorykeyinfofactorytransformservice-mechanisms">
+ * Java Security Standard Algorithm Names Specification</a> for a list of
* standard mechanism types.
* @return a new <code>XMLSignatureFactory</code>
* @throws NullPointerException if <code>mechanismType</code> is
@@ -225,8 +228,10 @@
* provider list.
*
* @param mechanismType the type of the XML processing mechanism and
- * representation. See the {@extLink security_guide_xmldsig_provider
- * Service Providers} section of the API overview for a list of
+ * representation. See the {@code XMLSignatureFactory} section in the
+ * <a href=
+ * "{@docRoot}/../specs/security/standard-names.html#xml-signature-xmlsignaturefactorykeyinfofactorytransformservice-mechanisms">
+ * Java Security Standard Algorithm Names Specification</a> for a list of
* standard mechanism types.
* @param provider the <code>Provider</code> object
* @return a new <code>XMLSignatureFactory</code>
@@ -276,8 +281,10 @@
* the {@link Security#getProviders() Security.getProviders()} method.
*
* @param mechanismType the type of the XML processing mechanism and
- * representation. See the {@extLink security_guide_xmldsig_provider
- * Service Providers} section of the API overview for a list of
+ * representation. See the {@code XMLSignatureFactory} section in the
+ * <a href=
+ * "{@docRoot}/../specs/security/standard-names.html#xml-signature-xmlsignaturefactorykeyinfofactorytransformservice-mechanisms">
+ * Java Security Standard Algorithm Names Specification</a> for a list of
* standard mechanism types.
* @param provider the string name of the provider
* @return a new <code>XMLSignatureFactory</code>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/src/java.xml.crypto/share/classes/javax/xml/crypto/dsig/dom/package-info.java Thu Oct 18 18:04:05 2018 -0400
@@ -0,0 +1,47 @@
+/*
+ * Copyright (c) 2005, 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. Oracle designates this
+ * particular file as subject to the "Classpath" exception as provided
+ * by Oracle in the LICENSE file that accompanied this code.
+ *
+ * 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.
+ */
+
+/**
+ * DOM-specific classes for the {@link javax.xml.crypto.dsig} package.
+ * Only users who are using a DOM-based {@link
+ * javax.xml.crypto.dsig.XMLSignatureFactory XMLSignatureFactory} or
+ * {@link javax.xml.crypto.dsig.keyinfo.KeyInfoFactory}
+ * should need to make direct use of this package.
+ *
+ * <h2>Package Specification</h2>
+ *
+ * <ul>
+ * <li>
+ * <a href="http://www.w3.org/TR/xmldsig-core/">
+ * XML-Signature Syntax and Processing: W3C Recommendation</a>
+ * <li>
+ * <a href="http://www.ietf.org/rfc/rfc3275.txt">
+ * RFC 3275: XML-Signature Syntax and Processing</a>
+ * </ul>
+ *
+ * @since 1.6
+ */
+
+package javax.xml.crypto.dsig.dom;
--- a/src/java.xml.crypto/share/classes/javax/xml/crypto/dsig/dom/package.html Thu Oct 18 18:02:17 2018 -0400
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,50 +0,0 @@
-<html>
-<head>
-<!--
-Copyright (c) 2005, 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. Oracle designates this
-particular file as subject to the "Classpath" exception as provided
-by Oracle in the LICENSE file that accompanied this code.
-
-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.
--->
-
-</head>
-<body>
-DOM-specific classes for the {@link javax.xml.crypto.dsig} package.
-Only users who are using a DOM-based {@link
-javax.xml.crypto.dsig.XMLSignatureFactory XMLSignatureFactory} or
-{@link javax.xml.crypto.dsig.keyinfo.KeyInfoFactory}
-should need to make direct use of this package.
-
-<h2>Package Specification</h2>
-
-<ul>
-<li>
-<a href="http://www.w3.org/TR/xmldsig-core/">
-XML-Signature Syntax and Processing: W3C Recommendation</a>
-<li>
-<a href="http://www.ietf.org/rfc/rfc3275.txt">
-RFC 3275: XML-Signature Syntax and Processing</a>
-</ul>
-
-@since 1.6
-
-</body>
-</html>
--- a/src/java.xml.crypto/share/classes/javax/xml/crypto/dsig/keyinfo/KeyInfoFactory.java Thu Oct 18 18:02:17 2018 -0400
+++ b/src/java.xml.crypto/share/classes/javax/xml/crypto/dsig/keyinfo/KeyInfoFactory.java Thu Oct 18 18:04:05 2018 -0400
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2005, 2017, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2005, 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
@@ -61,11 +61,11 @@
*
* <p>The objects that this factory produces will be based
* on DOM and abide by the DOM interoperability requirements as defined in the
- * {@extLink security_guide_xmldsig_rqmts DOM Mechanism Requirements} section
- * of the API overview. See the <a href=
+ * <a href="../package-summary.html#dom_req">DOM Mechanism Requirements</a>.
+ * See the {@code KeyInfoFactory} section in the <a href=
* "{@docRoot}/../specs/security/standard-names.html#xml-signature-xmlsignaturefactorykeyinfofactorytransformservice-mechanisms">
- * Java Security Standard Algorithm Names</a> document
- * for more information.
+ * Java Security Standard Algorithm Names Specification</a> for a list of
+ * standard mechanism types.
*
* <p><code>KeyInfoFactory</code> implementations are registered and loaded
* using the {@link java.security.Provider} mechanism.
@@ -137,10 +137,11 @@
* {@link Security#getProviders() Security.getProviders()}.
*
* @param mechanismType the type of the XML processing mechanism and
- * representation. See the <a href=
+ * representation. See the {@code KeyInfoFactory} section in the
+ * <a href=
* "{@docRoot}/../specs/security/standard-names.html#xml-signature-xmlsignaturefactorykeyinfofactorytransformservice-mechanisms">
- * Java Security Standard Algorithm Names</a> document
- * for more information.
+ * Java Security Standard Algorithm Names Specification</a> for a list
+ * of standard mechanism types.
* @return a new <code>KeyInfoFactory</code>
* @throws NullPointerException if <code>mechanismType</code> is
* <code>null</code>
@@ -182,10 +183,11 @@
* provider list.
*
* @param mechanismType the type of the XML processing mechanism and
- * representation. See the <a href=
+ * representation. See the {@code KeyInfoFactory} section in the
+ * <a href=
* "{@docRoot}/../specs/security/standard-names.html#xml-signature-xmlsignaturefactorykeyinfofactorytransformservice-mechanisms">
- * Java Security Standard Algorithm Names</a> document
- * for more information.
+ * Java Security Standard Algorithm Names Specification</a> for a list
+ * of standard mechanism types.
* @param provider the <code>Provider</code> object
* @return a new <code>KeyInfoFactory</code>
* @throws NullPointerException if <code>mechanismType</code> or
@@ -233,10 +235,11 @@
* the {@link Security#getProviders() Security.getProviders()} method.
*
* @param mechanismType the type of the XML processing mechanism and
- * representation. See the <a href=
+ * representation. See the {@code KeyInfoFactory} section in the
+ * <a href=
* "{@docRoot}/../specs/security/standard-names.html#xml-signature-xmlsignaturefactorykeyinfofactorytransformservice-mechanisms">
- * Java Security Standard Algorithm Names</a> document
- * for more information.
+ * Java Security Standard Algorithm Names Specification</a> for a list
+ * of standard mechanism types.
* @param provider the string name of the provider
* @return a new <code>KeyInfoFactory</code>
* @throws NoSuchProviderException if the specified provider is not
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/src/java.xml.crypto/share/classes/javax/xml/crypto/dsig/keyinfo/package-info.java Thu Oct 18 18:04:05 2018 -0400
@@ -0,0 +1,59 @@
+/*
+ * Copyright (c) 2005, 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. Oracle designates this
+ * particular file as subject to the "Classpath" exception as provided
+ * by Oracle in the LICENSE file that accompanied this code.
+ *
+ * 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.
+ */
+
+/**
+ * Classes for parsing and processing {@link
+ * javax.xml.crypto.dsig.keyinfo.KeyInfo KeyInfo} elements and structures.
+ * <code>KeyInfo</code> is an optional element that enables the recipient(s) to
+ * obtain the key needed to validate an {@link
+ * javax.xml.crypto.dsig.XMLSignature XMLSignature}. <code>KeyInfo</code> may
+ * contain keys, names, certificates and other public key management
+ * information, such as in-band key distribution or key agreement data. This
+ * package contains classes representing types defined in the W3C specification
+ * for XML Signatures, such as
+ * {@link javax.xml.crypto.dsig.keyinfo.KeyName KeyName},
+ * {@link javax.xml.crypto.dsig.keyinfo.KeyValue KeyValue},
+ * {@link javax.xml.crypto.dsig.keyinfo.RetrievalMethod RetrievalMethod},
+ * {@link javax.xml.crypto.dsig.keyinfo.X509Data X509Data},
+ * {@link javax.xml.crypto.dsig.keyinfo.X509IssuerSerial X509IssuerSerial}, and
+ * {@link javax.xml.crypto.dsig.keyinfo.PGPData PGPData}.
+ * {@link javax.xml.crypto.dsig.keyinfo.KeyInfoFactory KeyInfoFactory} is an
+ * abstract factory that creates <code>KeyInfo</code> objects from scratch.
+ *
+ * <h2>Package Specification</h2>
+ *
+ * <ul>
+ * <li>
+ * <a href="http://www.w3.org/TR/xmldsig-core/">
+ * XML-Signature Syntax and Processing: W3C Recommendation</a>
+ * <li>
+ * <a href="http://www.ietf.org/rfc/rfc3275.txt">
+ * RFC 3275: XML-Signature Syntax and Processing</a>
+ * </ul>
+ *
+ * @since 1.6
+ */
+
+package javax.xml.crypto.dsig.keyinfo;
--- a/src/java.xml.crypto/share/classes/javax/xml/crypto/dsig/keyinfo/package.html Thu Oct 18 18:02:17 2018 -0400
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,61 +0,0 @@
-<html>
-<head>
-<!--
-Copyright (c) 2005, 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. Oracle designates this
-particular file as subject to the "Classpath" exception as provided
-by Oracle in the LICENSE file that accompanied this code.
-
-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.
--->
-
-</head>
-<body>
-Classes for parsing and processing {@link javax.xml.crypto.dsig.keyinfo.KeyInfo
-KeyInfo} elements and structures. <code>KeyInfo</code> is an optional element
-that enables the recipient(s) to obtain the key needed to validate an
-{@link javax.xml.crypto.dsig.XMLSignature XMLSignature}. <code>KeyInfo</code>
-may contain keys, names, certificates and other public key management
-information, such as in-band key distribution or key agreement data. This
-package contains classes representing types defined in the W3C specification
-for XML Signatures, such as
-{@link javax.xml.crypto.dsig.keyinfo.KeyName KeyName},
-{@link javax.xml.crypto.dsig.keyinfo.KeyValue KeyValue},
-{@link javax.xml.crypto.dsig.keyinfo.RetrievalMethod RetrievalMethod},
-{@link javax.xml.crypto.dsig.keyinfo.X509Data X509Data},
-{@link javax.xml.crypto.dsig.keyinfo.X509IssuerSerial X509IssuerSerial}, and
-{@link javax.xml.crypto.dsig.keyinfo.PGPData PGPData}.
-{@link javax.xml.crypto.dsig.keyinfo.KeyInfoFactory KeyInfoFactory}
-is an abstract factory that creates <code>KeyInfo</code> objects from scratch.
-
-<h2>Package Specification</h2>
-
-<ul>
-<li>
-<a href="http://www.w3.org/TR/xmldsig-core/">
-XML-Signature Syntax and Processing: W3C Recommendation</a>
-<li>
-<a href="http://www.ietf.org/rfc/rfc3275.txt">
-RFC 3275: XML-Signature Syntax and Processing</a>
-</ul>
-
-@since 1.6
-
-</body>
-</html>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/src/java.xml.crypto/share/classes/javax/xml/crypto/dsig/package-info.java Thu Oct 18 18:04:05 2018 -0400
@@ -0,0 +1,169 @@
+/*
+ * Copyright (c) 2005, 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. Oracle designates this
+ * particular file as subject to the "Classpath" exception as provided
+ * by Oracle in the LICENSE file that accompanied this code.
+ *
+ * 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.
+ */
+
+/**
+ * Classes for generating and validating XML digital
+ * signatures. This package includes classes that represent the core elements
+ * defined in the W3C XML digital signature specification:
+ * {@link javax.xml.crypto.dsig.XMLSignature XMLSignature},
+ * {@link javax.xml.crypto.dsig.SignedInfo SignedInfo},
+ * {@link javax.xml.crypto.dsig.CanonicalizationMethod CanonicalizationMethod},
+ * {@link javax.xml.crypto.dsig.SignatureMethod SignatureMethod},
+ * {@link javax.xml.crypto.dsig.Reference Reference},
+ * {@link javax.xml.crypto.dsig.DigestMethod DigestMethod},
+ * {@link javax.xml.crypto.dsig.XMLObject XMLObject},
+ * {@link javax.xml.crypto.dsig.Manifest Manifest},
+ * {@link javax.xml.crypto.dsig.SignatureProperties SignatureProperties}, and
+ * {@link javax.xml.crypto.dsig.SignatureProperty SignatureProperty}.
+ * {@code KeyInfo} types are defined in the
+ * {@link javax.xml.crypto.dsig.keyinfo} subpackage.
+ * {@link javax.xml.crypto.dsig.XMLSignatureFactory XMLSignatureFactory}
+ * is an abstract factory that creates
+ * {@link javax.xml.crypto.dsig.XMLSignature XMLSignature} objects from scratch
+ * or from a pre-existing XML representation, such as a DOM node.
+ * {@link javax.xml.crypto.dsig.TransformService} is a service provider
+ * interface for creating and plugging in implementations of
+ * transform and canonicalization algorithms.
+ *
+ * <p>Of primary significance in this package is the
+ * {@link javax.xml.crypto.dsig.XMLSignature XMLSignature} class,
+ * which allows you to sign and validate an XML digital signature.
+ *
+ * <h2><a id="service_providers"></a>Service Providers</h2>
+ * A service provider is a concrete implementation of the abstract
+ * {@link javax.xml.crypto.dsig.XMLSignatureFactory XMLSignatureFactory} and
+ * {@link javax.xml.crypto.dsig.keyinfo.KeyInfoFactory KeyInfoFactory} classes
+ * and is responsible for creating objects and algorithms that parse, generate
+ * and validate XML Signatures and KeyInfo structures. A concrete implementation
+ * of {@code XMLSignatureFactory} MUST provide support for each of the REQUIRED
+ * algorithms as specified by the W3C recommendation for XML Signatures. It MAY
+ * support other algorithms as defined by the W3C recommendation or other
+ * specifications.
+ *
+ * <p>The API leverages the JCA provider model (see
+ * {@link java.security.Provider the Provider class}) for registering and
+ * loading {@code XMLSignatureFactory} and {@code KeyInfoFactory}
+ * implementations.
+ *
+ * <p>Each concrete {@code XMLSignatureFactory} or {@code KeyInfoFactory}
+ * implementation supports a specific XML mechanism type that identifies the XML
+ * processing mechanism that an implementation uses internally to parse and
+ * generate XML signature and KeyInfo structures.
+ *
+ * <p>A service provider implementation SHOULD use underlying JCA engine
+ * classes, such as {@link java.security.Signature} and
+ * {@link java.security.MessageDigest} to perform cryptographic operations.
+ *
+ * <p>In addition to the {@code XMLSignatureFactory} and {@code KeyInfoFactory}
+ * classes, the API supports a service provider interface for transform and
+ * canonicalization algorithms. The {@link
+ * javax.xml.crypto.dsig.TransformService TransformService} class allows you to
+ * develop and plug in an implementation of a specific transform or
+ * canonicalization algorithm for a particular XML mechanism type. The {@code
+ * TransformService} class uses the standard JCA provider model for registering
+ * and loading implementations. Each service provider implementation SHOULD use
+ * the {@code TransformService} class to find a provider that supports transform
+ * and canonicalization algorithms in XML Signatures that it is generating or
+ * validating.
+ *
+ * <h3><a id="dom_req"></a>DOM Mechanism Requirements</h3>
+ * The following requirements MUST be abided by when implementing a DOM-based
+ * {@code XMLSignatureFactory}, {@code KeyInfoFactory} or {@code
+ * TransformService} in order to minimize interoperability problems:
+ * <ol>
+ * <li>The {@code unmarshalXMLSignature} method of {@code XMLSignatureFactory}
+ * MUST support {@code DOMValidateContext} types. If the type is
+ * {@code DOMValidateContext}, it SHOULD contain an {@code Element} of type
+ * Signature. Additionally, the {@code unmarshalXMLSignature} method MAY
+ * populate the Id/Element mappings of the passed-in {@code DOMValidateContext}.
+ * </li>
+ *
+ * <li>The {@code sign} method of {@code XMLSignature}s produced by
+ * {@code XMLSignatureFactory} MUST support {@code DOMSignContext} types and the
+ * {@code validate} method MUST support {@code DOMValidateContext} types. This
+ * requirement also applies to the {@code validate} method of {@code
+ * SignatureValue} and the {@code validate} method of {@code Reference}.</li>
+ *
+ * <li>The implementation MUST support {@code DOMStructure}s as the mechanism
+ * for the application to specify extensible content (any elements or mixed
+ * content).</li>
+ *
+ * <li>If the {@code dereference} method of user-specified {@code
+ * URIDereferencer}s returns {@code NodeSetData} objects, the {@code iterator}
+ * method MUST return an iteration over objects of type {@code
+ * org.w3c.dom.Node}.</li>
+ *
+ * <li>{@code URIReference} objects passed to the {@code dereference} method of
+ * user-specified {@code URIDereferencer}s MUST be of type {@code
+ * DOMURIReference} and {@code XMLCryptoContext} objects MUST implement {@code
+ * DOMCryptoContext}.</li>
+ *
+ * <li>The previous 2 requirements also apply to {@code URIDereferencer}s
+ * returned by the {@code getURIDereferencer} method of {@code
+ * XMLSignatureFactory} and {@code KeyInfoFactory}.</li>
+ *
+ * <li>The {@code unmarshalKeyInfo} method of {@code KeyInfoFactory} MUST
+ * support {@code DOMStructure} types. If the type is {@code DOMStructure}, it
+ * SHOULD contain an {@code Element} of type {@code KeyInfo}.</li>
+ *
+ * <li>The {@code transform} method of {@code Transform} MUST support
+ * {@code DOMCryptoContext} context parameter types.</li>
+ *
+ * <li>The {@code newtransform} and {@code newCanonicalizationMethod} methods of
+ * {@code XMLSignatureFactory} MUST support {@code DOMStructure} parameter
+ * types.</li>
+ *
+ * <li>The {@code init}, and {@code marshalParams} methods of
+ * {@code TransformService} MUST support {@code DOMStructure} and
+ * {@code DOMCryptoContext} types.</li>
+ *
+ * <li>The {@code unmarshalXMLSignature} method of {@code XMLSignatureFactory}
+ * MUST support {@code DOMStructure} types. If the type is {@code DOMStructure},
+ * it SHOULD contain an {@code Element} of type {@code Signature}.</li>
+ *
+ * <li>The {@code marshal} method of {@code KeyInfo} MUST support
+ * {@code DOMStructure} and {@code DOMCryptoContext} parameter types.</li>
+ * </ol>
+ *
+ * <p>Note that a DOM implementation MAY internally use other XML parsing APIs
+ * other than DOM as long as it doesn't affect interoperability. For example, a
+ * DOM implementation of {@code XMLSignatureFactory} might use a SAX parser
+ * internally to canonicalize data.
+ *
+ * <h2>Package Specification</h2>
+ *
+ * <ul>
+ * <li>
+ * <a href="http://www.w3.org/TR/xmldsig-core/">
+ * XML-Signature Syntax and Processing: W3C Recommendation</a>
+ * <li>
+ * <a href="http://www.ietf.org/rfc/rfc3275.txt">
+ * RFC 3275: XML-Signature Syntax and Processing</a>
+ * </ul>
+ *
+ * @since 1.6
+ */
+
+package javax.xml.crypto.dsig;
--- a/src/java.xml.crypto/share/classes/javax/xml/crypto/dsig/package.html Thu Oct 18 18:02:17 2018 -0400
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,71 +0,0 @@
-<html>
-<head>
-<!--
-Copyright (c) 2005, 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. Oracle designates this
-particular file as subject to the "Classpath" exception as provided
-by Oracle in the LICENSE file that accompanied this code.
-
-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.
--->
-
-</head>
-<body>
-Classes for generating and validating XML digital
-signatures. This package includes classes that represent the core elements
-defined in the W3C XML digital signature specification:
-{@link javax.xml.crypto.dsig.XMLSignature XMLSignature},
-{@link javax.xml.crypto.dsig.SignedInfo SignedInfo},
-{@link javax.xml.crypto.dsig.CanonicalizationMethod CanonicalizationMethod},
-{@link javax.xml.crypto.dsig.SignatureMethod SignatureMethod},
-{@link javax.xml.crypto.dsig.Reference Reference},
-{@link javax.xml.crypto.dsig.DigestMethod DigestMethod},
-{@link javax.xml.crypto.dsig.XMLObject XMLObject},
-{@link javax.xml.crypto.dsig.Manifest Manifest},
-{@link javax.xml.crypto.dsig.SignatureProperties SignatureProperties}, and
-{@link javax.xml.crypto.dsig.SignatureProperty SignatureProperty}.
-<code>KeyInfo</code> types
-are defined in the {@link javax.xml.crypto.dsig.keyinfo} subpackage.
-{@link javax.xml.crypto.dsig.XMLSignatureFactory XMLSignatureFactory}
-is an abstract factory that creates
-{@link javax.xml.crypto.dsig.XMLSignature XMLSignature} objects from scratch
-or from a pre-existing XML representation, such as a DOM node.
-{@link javax.xml.crypto.dsig.TransformService} is a service provider
-interface for creating and plugging in implementations of
-transform and canonicalization algorithms.
-
-<p>Of primary significance in this package is the
-{@link javax.xml.crypto.dsig.XMLSignature XMLSignature} class,
-which allows you to sign and validate an XML digital signature.
-
-<h2>Package Specification</h2>
-
-<ul>
-<li>
-<a href="http://www.w3.org/TR/xmldsig-core/">
-XML-Signature Syntax and Processing: W3C Recommendation</a>
-<li>
-<a href="http://www.ietf.org/rfc/rfc3275.txt">
-RFC 3275: XML-Signature Syntax and Processing</a>
-</ul>
-
-@since 1.6
-
-</body>
-</html>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/src/java.xml.crypto/share/classes/javax/xml/crypto/dsig/spec/package-info.java Thu Oct 18 18:04:05 2018 -0400
@@ -0,0 +1,52 @@
+/*
+ * Copyright (c) 2005, 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. Oracle designates this
+ * particular file as subject to the "Classpath" exception as provided
+ * by Oracle in the LICENSE file that accompanied this code.
+ *
+ * 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.
+ */
+
+/**
+ * Parameter classes for XML digital signatures. This package
+ * contains interfaces and classes representing input parameters for the
+ * digest, signature, transform, or canonicalization algorithms used in
+ * the processing of XML signatures.
+ *
+ * <h2>Package Specification</h2>
+ *
+ * <ul>
+ * <li>
+ * <a href="http://www.w3.org/TR/xmldsig-core/">
+ * XML-Signature Syntax and Processing: W3C Recommendation</a>
+ * <li>
+ * <a href="http://www.ietf.org/rfc/rfc3275.txt">
+ * RFC 3275: XML-Signature Syntax and Processing</a>
+ * <li>
+ * <a href="http://www.w3.org/TR/xml-exc-c14n/">
+ * Exclusive XML Canonicalization algorithm: W3C Recommendation</a>
+ * <li>
+ * <a href="http://www.w3.org/TR/xmldsig-filter2/">
+ * XPath Filter 2.0 Transform Algorithm: W3C Recommendation</a>
+ * </ul>
+ *
+ * @since 1.6
+ */
+
+package javax.xml.crypto.dsig.spec;
--- a/src/java.xml.crypto/share/classes/javax/xml/crypto/dsig/spec/package.html Thu Oct 18 18:02:17 2018 -0400
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,55 +0,0 @@
-<html>
-<head>
-<!--
-Copyright (c) 2005, 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. Oracle designates this
-particular file as subject to the "Classpath" exception as provided
-by Oracle in the LICENSE file that accompanied this code.
-
-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.
--->
-
-</head>
-<body>
-Parameter classes for XML digital signatures. This package
-contains interfaces and classes representing input parameters for the
-digest, signature, transform, or canonicalization algorithms used in
-the processing of XML signatures.
-
-<h2>Package Specification</h2>
-
-<ul>
-<li>
-<a href="http://www.w3.org/TR/xmldsig-core/">
-XML-Signature Syntax and Processing: W3C Recommendation</a>
-<li>
-<a href="http://www.ietf.org/rfc/rfc3275.txt">
-RFC 3275: XML-Signature Syntax and Processing</a>
-<li>
-<a href="http://www.w3.org/TR/xml-exc-c14n/">
-Exclusive XML Canonicalization algorithm: W3C Recommendation</a>
-<li>
-<a href="http://www.w3.org/TR/xmldsig-filter2/">
-XPath Filter 2.0 Transform Algorithm: W3C Recommendation</a>
-</ul>
-
-@since 1.6
-
-</body>
-</html>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/src/java.xml.crypto/share/classes/javax/xml/crypto/package-info.java Thu Oct 18 18:04:05 2018 -0400
@@ -0,0 +1,45 @@
+/*
+ * Copyright (c) 2005, 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. Oracle designates this
+ * particular file as subject to the "Classpath" exception as provided
+ * by Oracle in the LICENSE file that accompanied this code.
+ *
+ * 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.
+ */
+
+/**
+ * Common classes for XML cryptography. This package includes common classes
+ * that are used to perform XML cryptographic operations, such as generating
+ * an XML signature or encrypting XML data.
+ *
+ * <h2>Package Specification</h2>
+ *
+ * <ul>
+ * <li>
+ * <a href="http://www.w3.org/TR/xmldsig-core/">
+ * XML-Signature Syntax and Processing: W3C Recommendation</a>
+ * <li>
+ * <a href="http://www.ietf.org/rfc/rfc3275.txt">
+ * RFC 3275: XML-Signature Syntax and Processing</a>
+ * </ul>
+ *
+ * @since 1.6
+ */
+
+package javax.xml.crypto;
--- a/src/java.xml.crypto/share/classes/javax/xml/crypto/package.html Thu Oct 18 18:02:17 2018 -0400
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,48 +0,0 @@
-<html>
-<head>
-<!--
-Copyright (c) 2005, 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. Oracle designates this
-particular file as subject to the "Classpath" exception as provided
-by Oracle in the LICENSE file that accompanied this code.
-
-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.
--->
-
-</head>
-<body>
-Common classes for XML cryptography. This package includes common classes that
-are used to perform XML cryptographic operations, such as generating
-an XML signature or encrypting XML data.
-
-<h2>Package Specification</h2>
-
-<ul>
-<li>
-<a href="http://www.w3.org/TR/xmldsig-core/">
-XML-Signature Syntax and Processing: W3C Recommendation</a>
-<li>
-<a href="http://www.ietf.org/rfc/rfc3275.txt">
-RFC 3275: XML-Signature Syntax and Processing</a>
-</ul>
-
-@since 1.6
-
-</body>
-</html>
--- a/src/jdk.crypto.mscapi/windows/native/libsunmscapi/security.cpp Thu Oct 18 18:02:17 2018 -0400
+++ b/src/jdk.crypto.mscapi/windows/native/libsunmscapi/security.cpp Thu Oct 18 18:04:05 2018 -0400
@@ -250,7 +250,6 @@
{
HCRYPTPROV hCryptProv = NULL;
- BYTE* pbData = NULL;
jbyte* reseedBytes = NULL;
jbyte* seedBytes = NULL;
jbyteArray result = NULL;
@@ -294,31 +293,17 @@
result = NULL;
- } else if (length > 0) {
+ } else {
- pbData = new (env) BYTE[length];
- if (pbData == NULL) {
- __leave;
+ if (length > 0) {
+ seed = env->NewByteArray(length);
+ if (seed == NULL) {
+ __leave;
+ }
+ } else {
+ length = env->GetArrayLength(seed);
}
- if (::CryptGenRandom(
- hCryptProv,
- length,
- pbData) == FALSE) {
-
- ThrowException(env, PROVIDER_EXCEPTION, GetLastError());
- __leave;
- }
-
- result = env->NewByteArray(length);
- if (result == NULL) {
- __leave;
- }
- env->SetByteArrayRegion(result, 0, length, (jbyte*) pbData);
-
- } else { // length == 0
-
- length = env->GetArrayLength(seed);
if ((seedBytes = env->GetByteArrayElements(seed, 0)) == NULL) {
__leave;
}
@@ -343,9 +328,6 @@
if (reseedBytes)
env->ReleaseByteArrayElements(seed, reseedBytes, JNI_ABORT);
- if (pbData)
- delete [] pbData;
-
if (seedBytes)
env->ReleaseByteArrayElements(seed, seedBytes, 0); // update orig
--- a/test/hotspot/jtreg/compiler/codegen/TestTrichotomyExpressions.java Thu Oct 18 18:02:17 2018 -0400
+++ b/test/hotspot/jtreg/compiler/codegen/TestTrichotomyExpressions.java Thu Oct 18 18:04:05 2018 -0400
@@ -26,10 +26,7 @@
* @bug 8210215
* @summary Test that C2 correctly optimizes trichotomy expressions.
* @library /test/lib
- * @run main/othervm -XX:-TieredCompilation -Xbatch
- * -XX:CompileCommand=dontinline,compiler.codegen.TestTrichotomyExpressions::test*
- * compiler.codegen.TestTrichotomyExpressions
- * @run main/othervm -XX:-TieredCompilation -Xcomp
+ * @run main/othervm/timeout=240 -XX:-TieredCompilation -Xbatch
* -XX:CompileCommand=dontinline,compiler.codegen.TestTrichotomyExpressions::test*
* compiler.codegen.TestTrichotomyExpressions
*/
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/events/EM02/em02t006/em02t006.cpp Thu Oct 18 18:02:17 2018 -0400
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/events/EM02/em02t006/em02t006.cpp Thu Oct 18 18:04:05 2018 -0400
@@ -57,7 +57,7 @@
Java_nsk_jvmti_scenarios_events_EM02_em02t006_setTag(JNIEnv *env,
jobject o, jobject object, jlong tag) {
- if (!NSK_JVMTI_VERIFY(NSK_CPP_STUB3(SetTag, jvmti, object, tag))) {
+ if (!NSK_JVMTI_VERIFY(jvmti->SetTag(object, tag))) {
NSK_COMPLAIN0("TEST FAILED: unable to set tag for a tested object\n");
return NSK_FALSE;
}
@@ -148,12 +148,12 @@
static void
changeCount(jvmtiEvent event, int *currentCounts) {
- if (!NSK_JVMTI_VERIFY(NSK_CPP_STUB2(RawMonitorEnter, jvmti, syncLock)))
+ if (!NSK_JVMTI_VERIFY(jvmti->RawMonitorEnter(syncLock)))
nsk_jvmti_setFailStatus();
currentCounts[event - JVMTI_MIN_EVENT_TYPE_VAL]++;
- if (!NSK_JVMTI_VERIFY(NSK_CPP_STUB2(RawMonitorExit, jvmti, syncLock)))
+ if (!NSK_JVMTI_VERIFY(jvmti->RawMonitorExit(syncLock)))
nsk_jvmti_setFailStatus();
}
@@ -173,8 +173,7 @@
if (!checkEvents(STEP_NUMBER))
nsk_jvmti_setFailStatus();
- if (!NSK_JVMTI_VERIFY(
- NSK_CPP_STUB2(DestroyRawMonitor, jvmti, syncLock)))
+ if (!NSK_JVMTI_VERIFY(jvmti->DestroyRawMonitor(syncLock)))
nsk_jvmti_setFailStatus();
}
@@ -329,16 +328,13 @@
if (nsk_jvmti_isOptionalEvent(event)
&& (event != JVMTI_EVENT_OBJECT_FREE)) {
if (!NSK_JVMTI_VERIFY_CODE(JVMTI_ERROR_MUST_POSSESS_CAPABILITY,
- NSK_CPP_STUB4(SetEventNotificationMode, jvmti,
- JVMTI_ENABLE, event, NULL))) {
+ jvmti->SetEventNotificationMode(JVMTI_ENABLE, event, NULL))) {
NSK_COMPLAIN1("Unexpected error enabling %s\n",
TranslateEvent(event));
return NSK_FALSE;
}
} else {
- if (!NSK_JVMTI_VERIFY(
- NSK_CPP_STUB4(SetEventNotificationMode, jvmti,
- JVMTI_ENABLE, event, NULL))) {
+ if (!NSK_JVMTI_VERIFY(jvmti->SetEventNotificationMode(JVMTI_ENABLE, event, NULL))) {
NSK_COMPLAIN1("Unexpected error enabling %s\n",
TranslateEvent(event));
return NSK_FALSE;
@@ -431,10 +427,7 @@
break;
}
- if (!NSK_JVMTI_VERIFY(
- NSK_CPP_STUB3(SetEventCallbacks, jvmti,
- &eventCallbacks,
- sizeof(eventCallbacks))))
+ if (!NSK_JVMTI_VERIFY(jvmti->SetEventCallbacks(&eventCallbacks, sizeof(eventCallbacks))))
return NSK_FALSE;
return NSK_TRUE;
@@ -495,8 +488,7 @@
if (!NSK_VERIFY((jvmti = nsk_jvmti_createJVMTIEnv(jvm, reserved)) != NULL))
return JNI_ERR;
- if (!NSK_JVMTI_VERIFY(
- NSK_CPP_STUB3(CreateRawMonitor, jvmti, "_syncLock", &syncLock))) {
+ if (!NSK_JVMTI_VERIFY(jvmti->CreateRawMonitor("_syncLock", &syncLock))) {
nsk_jvmti_setFailStatus();
return JNI_ERR;
}
@@ -507,7 +499,7 @@
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;
}
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/events/EM02/em02t007/em02t007.cpp Thu Oct 18 18:02:17 2018 -0400
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/events/EM02/em02t007/em02t007.cpp Thu Oct 18 18:04:05 2018 -0400
@@ -133,12 +133,12 @@
static void
changeCount(jvmtiEvent event, int *currentCounts) {
- if (!NSK_JVMTI_VERIFY(NSK_CPP_STUB2(RawMonitorEnter, jvmti, syncLock)))
+ if (!NSK_JVMTI_VERIFY(jvmti->RawMonitorEnter(syncLock)))
nsk_jvmti_setFailStatus();
currentCounts[event - JVMTI_MIN_EVENT_TYPE_VAL]++;
- if (!NSK_JVMTI_VERIFY(NSK_CPP_STUB2(RawMonitorExit, jvmti, syncLock)))
+ if (!NSK_JVMTI_VERIFY(jvmti->RawMonitorExit(syncLock)))
nsk_jvmti_setFailStatus();
}
@@ -158,8 +158,7 @@
if (!checkEvents(STEP_NUMBER))
nsk_jvmti_setFailStatus();
- if (!NSK_JVMTI_VERIFY(
- NSK_CPP_STUB2(DestroyRawMonitor, jvmti, syncLock)))
+ if (!NSK_JVMTI_VERIFY(jvmti->DestroyRawMonitor(syncLock)))
nsk_jvmti_setFailStatus();
}
@@ -184,9 +183,7 @@
char *sign;
char *genc;
- if (!NSK_JVMTI_VERIFY(
- NSK_CPP_STUB5(
- GetMethodName, jvmti_env, method, &name, &sign, &genc))) {
+ if (!NSK_JVMTI_VERIFY(jvmti_env->GetMethodName(method, &name, &sign, &genc))) {
nsk_jvmti_setFailStatus();
return;
}
@@ -197,17 +194,14 @@
changeCount(JVMTI_EVENT_SINGLE_STEP, &eventCount[0]);
}
- if (!NSK_JVMTI_VERIFY(NSK_CPP_STUB2(Deallocate,
- jvmti_env, (unsigned char*)name))) {
+ if (!NSK_JVMTI_VERIFY(jvmti_env->Deallocate((unsigned char*)name))) {
nsk_jvmti_setFailStatus();
}
- if (!NSK_JVMTI_VERIFY(NSK_CPP_STUB2(Deallocate,
- jvmti_env, (unsigned char*)sign))) {
+ if (!NSK_JVMTI_VERIFY(jvmti_env->Deallocate((unsigned char*)sign))) {
nsk_jvmti_setFailStatus();
}
if (genc != NULL)
- if (!NSK_JVMTI_VERIFY(NSK_CPP_STUB2(Deallocate,
- jvmti_env, (unsigned char*)genc))) {
+ if (!NSK_JVMTI_VERIFY(jvmti_env->Deallocate((unsigned char*)genc))) {
nsk_jvmti_setFailStatus();
}
}
@@ -219,9 +213,7 @@
char *sign;
char *genc;
- if (!NSK_JVMTI_VERIFY(
- NSK_CPP_STUB5(
- GetMethodName, jvmti_env, method, &name, &sign, &genc))) {
+ if (!NSK_JVMTI_VERIFY(jvmti_env->GetMethodName(method, &name, &sign, &genc))) {
nsk_jvmti_setFailStatus();
return;
}
@@ -232,17 +224,14 @@
changeCount(JVMTI_EVENT_SINGLE_STEP, &newEventCount[0]);
}
- if (!NSK_JVMTI_VERIFY(NSK_CPP_STUB2(Deallocate,
- jvmti_env, (unsigned char*)name))) {
+ if (!NSK_JVMTI_VERIFY(jvmti_env->Deallocate((unsigned char*)name))) {
nsk_jvmti_setFailStatus();
}
- if (!NSK_JVMTI_VERIFY(NSK_CPP_STUB2(Deallocate,
- jvmti_env, (unsigned char*)sign))) {
+ if (!NSK_JVMTI_VERIFY(jvmti_env->Deallocate((unsigned char*)sign))) {
nsk_jvmti_setFailStatus();
}
if (genc != NULL)
- if (!NSK_JVMTI_VERIFY(NSK_CPP_STUB2(Deallocate,
- jvmti_env, (unsigned char*)genc))) {
+ if (!NSK_JVMTI_VERIFY(jvmti_env->Deallocate((unsigned char*)genc))) {
nsk_jvmti_setFailStatus();
}
}
@@ -368,16 +357,13 @@
if (nsk_jvmti_isOptionalEvent(event)
&& (event != JVMTI_EVENT_SINGLE_STEP)) {
if (!NSK_JVMTI_VERIFY_CODE(JVMTI_ERROR_MUST_POSSESS_CAPABILITY,
- NSK_CPP_STUB4(SetEventNotificationMode, jvmti,
- JVMTI_ENABLE, event, NULL))) {
+ jvmti->SetEventNotificationMode(JVMTI_ENABLE, event, NULL))) {
NSK_COMPLAIN1("Unexpected error enabling %s\n",
TranslateEvent(event));
return NSK_FALSE;
}
} else {
- if (!NSK_JVMTI_VERIFY(
- NSK_CPP_STUB4(SetEventNotificationMode, jvmti,
- JVMTI_ENABLE, event, NULL))) {
+ if (!NSK_JVMTI_VERIFY(jvmti->SetEventNotificationMode(JVMTI_ENABLE, event, NULL))) {
NSK_COMPLAIN1("Unexpected error enabling %s\n",
TranslateEvent(event));
return NSK_FALSE;
@@ -477,10 +463,7 @@
break;
}
- if (!NSK_JVMTI_VERIFY(
- NSK_CPP_STUB3(SetEventCallbacks, jvmti,
- &eventCallbacks,
- sizeof(eventCallbacks))))
+ if (!NSK_JVMTI_VERIFY(jvmti->SetEventCallbacks(&eventCallbacks, sizeof(eventCallbacks))))
return NSK_FALSE;
return NSK_TRUE;
@@ -541,8 +524,7 @@
if (!NSK_VERIFY((jvmti = nsk_jvmti_createJVMTIEnv(jvm, reserved)) != NULL))
return JNI_ERR;
- if (!NSK_JVMTI_VERIFY(
- NSK_CPP_STUB3(CreateRawMonitor, jvmti, "_syncLock", &syncLock))) {
+ if (!NSK_JVMTI_VERIFY(jvmti->CreateRawMonitor("_syncLock", &syncLock))) {
nsk_jvmti_setFailStatus();
return JNI_ERR;
}
@@ -552,7 +534,7 @@
memset(&caps, 0, sizeof(caps));
caps.can_generate_single_step_events = 1;
- if (!NSK_JVMTI_VERIFY(NSK_CPP_STUB2(AddCapabilities, jvmti, &caps)))
+ if (!NSK_JVMTI_VERIFY(jvmti->AddCapabilities(&caps)))
return JNI_ERR;
}
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/events/EM02/em02t008/em02t008.cpp Thu Oct 18 18:02:17 2018 -0400
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/events/EM02/em02t008/em02t008.cpp Thu Oct 18 18:04:05 2018 -0400
@@ -132,12 +132,12 @@
static void
changeCount(jvmtiEvent event, int *currentCounts) {
- if (!NSK_JVMTI_VERIFY(NSK_CPP_STUB2(RawMonitorEnter, jvmti, syncLock)))
+ if (!NSK_JVMTI_VERIFY(jvmti->RawMonitorEnter(syncLock)))
nsk_jvmti_setFailStatus();
currentCounts[event - JVMTI_MIN_EVENT_TYPE_VAL]++;
- if (!NSK_JVMTI_VERIFY(NSK_CPP_STUB2(RawMonitorExit, jvmti, syncLock)))
+ if (!NSK_JVMTI_VERIFY(jvmti->RawMonitorExit(syncLock)))
nsk_jvmti_setFailStatus();
}
@@ -157,8 +157,7 @@
if (!checkEvents(STEP_NUMBER))
nsk_jvmti_setFailStatus();
- if (!NSK_JVMTI_VERIFY(
- NSK_CPP_STUB2(DestroyRawMonitor, jvmti, syncLock)))
+ if (!NSK_JVMTI_VERIFY(jvmti->DestroyRawMonitor(syncLock)))
nsk_jvmti_setFailStatus();
}
@@ -170,9 +169,7 @@
jvmtiThreadInfo info_ptr;
- if (!NSK_JVMTI_VERIFY(
- NSK_CPP_STUB3(
- GetThreadInfo, jvmti_env, thread, &info_ptr))) {
+ if (!NSK_JVMTI_VERIFY(jvmti_env->GetThreadInfo(thread, &info_ptr))) {
nsk_jvmti_setFailStatus();
return;
}
@@ -183,8 +180,7 @@
changeCount(JVMTI_EVENT_EXCEPTION, &eventCount[0]);
}
- if (!NSK_JVMTI_VERIFY(NSK_CPP_STUB2(Deallocate,
- jvmti_env, (unsigned char*)info_ptr.name))) {
+ if (!NSK_JVMTI_VERIFY(jvmti_env->Deallocate((unsigned char*)info_ptr.name))) {
nsk_jvmti_setFailStatus();
}
}
@@ -196,9 +192,7 @@
jvmtiThreadInfo info_ptr;
- if (!NSK_JVMTI_VERIFY(
- NSK_CPP_STUB3(
- GetThreadInfo, jvmti_env, thread, &info_ptr))) {
+ if (!NSK_JVMTI_VERIFY(jvmti_env->GetThreadInfo(thread, &info_ptr))) {
nsk_jvmti_setFailStatus();
return;
}
@@ -209,8 +203,7 @@
changeCount(JVMTI_EVENT_EXCEPTION, &newEventCount[0]);
}
- if (!NSK_JVMTI_VERIFY(NSK_CPP_STUB2(Deallocate,
- jvmti_env, (unsigned char*)info_ptr.name))) {
+ if (!NSK_JVMTI_VERIFY(jvmti_env->Deallocate((unsigned char*)info_ptr.name))) {
nsk_jvmti_setFailStatus();
}
}
@@ -221,9 +214,7 @@
jvmtiThreadInfo info_ptr;
- if (!NSK_JVMTI_VERIFY(
- NSK_CPP_STUB3(
- GetThreadInfo, jvmti_env, thread, &info_ptr))) {
+ if (!NSK_JVMTI_VERIFY(jvmti_env->GetThreadInfo(thread, &info_ptr))) {
nsk_jvmti_setFailStatus();
return;
}
@@ -234,8 +225,7 @@
changeCount(JVMTI_EVENT_EXCEPTION_CATCH, &eventCount[0]);
}
- if (!NSK_JVMTI_VERIFY(NSK_CPP_STUB2(Deallocate,
- jvmti_env, (unsigned char*)info_ptr.name))) {
+ if (!NSK_JVMTI_VERIFY(jvmti_env->Deallocate((unsigned char*)info_ptr.name))) {
nsk_jvmti_setFailStatus();
}
}
@@ -246,9 +236,7 @@
jvmtiThreadInfo info_ptr;
- if (!NSK_JVMTI_VERIFY(
- NSK_CPP_STUB3(
- GetThreadInfo, jvmti_env, thread, &info_ptr))) {
+ if (!NSK_JVMTI_VERIFY(jvmti_env->GetThreadInfo(thread, &info_ptr))) {
nsk_jvmti_setFailStatus();
return;
}
@@ -259,8 +247,7 @@
changeCount(JVMTI_EVENT_EXCEPTION_CATCH, &newEventCount[0]);
}
- if (!NSK_JVMTI_VERIFY(NSK_CPP_STUB2(Deallocate,
- jvmti_env, (unsigned char*)info_ptr.name))) {
+ if (!NSK_JVMTI_VERIFY(jvmti_env->Deallocate((unsigned char*)info_ptr.name))) {
nsk_jvmti_setFailStatus();
}
}
@@ -390,16 +377,13 @@
&& (event != JVMTI_EVENT_EXCEPTION)
&& (event != JVMTI_EVENT_EXCEPTION_CATCH)) {
if (!NSK_JVMTI_VERIFY_CODE(JVMTI_ERROR_MUST_POSSESS_CAPABILITY,
- NSK_CPP_STUB4(SetEventNotificationMode, jvmti,
- JVMTI_ENABLE, event, NULL))) {
+ jvmti->SetEventNotificationMode(JVMTI_ENABLE, event, NULL))) {
NSK_COMPLAIN1("Unexpected error enabling %s\n",
TranslateEvent(event));
return NSK_FALSE;
}
} else {
- if (!NSK_JVMTI_VERIFY(
- NSK_CPP_STUB4(SetEventNotificationMode, jvmti,
- JVMTI_ENABLE, event, NULL))) {
+ if (!NSK_JVMTI_VERIFY(jvmti->SetEventNotificationMode(JVMTI_ENABLE, event, NULL))) {
NSK_COMPLAIN1("Unexpected error enabling %s\n",
TranslateEvent(event));
return NSK_FALSE;
@@ -493,10 +477,7 @@
break;
}
- if (!NSK_JVMTI_VERIFY(
- NSK_CPP_STUB3(SetEventCallbacks, jvmti,
- &eventCallbacks,
- sizeof(eventCallbacks))))
+ if (!NSK_JVMTI_VERIFY(jvmti->SetEventCallbacks(&eventCallbacks, sizeof(eventCallbacks))))
return NSK_FALSE;
return NSK_TRUE;
@@ -555,8 +536,7 @@
if (!NSK_VERIFY((jvmti = nsk_jvmti_createJVMTIEnv(jvm, reserved)) != NULL))
return JNI_ERR;
- if (!NSK_JVMTI_VERIFY(
- NSK_CPP_STUB3(CreateRawMonitor, jvmti, "_syncLock", &syncLock))) {
+ if (!NSK_JVMTI_VERIFY(jvmti->CreateRawMonitor("_syncLock", &syncLock))) {
nsk_jvmti_setFailStatus();
return JNI_ERR;
}
@@ -566,7 +546,7 @@
memset(&caps, 0, sizeof(caps));
caps.can_generate_exception_events = 1;
- if (!NSK_JVMTI_VERIFY(NSK_CPP_STUB2(AddCapabilities, jvmti, &caps)))
+ if (!NSK_JVMTI_VERIFY(jvmti->AddCapabilities(&caps)))
return JNI_ERR;
}
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/events/EM02/em02t009/em02t009.cpp Thu Oct 18 18:02:17 2018 -0400
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/events/EM02/em02t009/em02t009.cpp Thu Oct 18 18:04:05 2018 -0400
@@ -143,12 +143,12 @@
static void
changeCount(jvmtiEvent event, int *currentCounts) {
- if (!NSK_JVMTI_VERIFY(NSK_CPP_STUB2(RawMonitorEnter, jvmti, syncLock)))
+ if (!NSK_JVMTI_VERIFY(jvmti->RawMonitorEnter(syncLock)))
nsk_jvmti_setFailStatus();
currentCounts[event - JVMTI_MIN_EVENT_TYPE_VAL]++;
- if (!NSK_JVMTI_VERIFY(NSK_CPP_STUB2(RawMonitorExit, jvmti, syncLock)))
+ if (!NSK_JVMTI_VERIFY(jvmti->RawMonitorExit(syncLock)))
nsk_jvmti_setFailStatus();
}
@@ -168,8 +168,7 @@
if (!checkEvents(STEP_NUMBER))
nsk_jvmti_setFailStatus();
- if (!NSK_JVMTI_VERIFY(
- NSK_CPP_STUB2(DestroyRawMonitor, jvmti, syncLock)))
+ if (!NSK_JVMTI_VERIFY(jvmti->DestroyRawMonitor(syncLock)))
nsk_jvmti_setFailStatus();
}
@@ -229,9 +228,7 @@
char *sign;
char *genc;
- if (!NSK_JVMTI_VERIFY(
- NSK_CPP_STUB5(
- GetMethodName, jvmti_env, method, &name, &sign, &genc))) {
+ if (!NSK_JVMTI_VERIFY(jvmti_env->GetMethodName(method, &name, &sign, &genc))) {
nsk_jvmti_setFailStatus();
return;
}
@@ -240,17 +237,14 @@
changeCount(event, &eventCount[0]);
}
- if (!NSK_JVMTI_VERIFY(NSK_CPP_STUB2(Deallocate,
- jvmti_env, (unsigned char*)name))) {
+ if (!NSK_JVMTI_VERIFY(jvmti_env->Deallocate((unsigned char*)name))) {
nsk_jvmti_setFailStatus();
}
- if (!NSK_JVMTI_VERIFY(NSK_CPP_STUB2(Deallocate,
- jvmti_env, (unsigned char*)sign))) {
+ if (!NSK_JVMTI_VERIFY(jvmti_env->Deallocate((unsigned char*)sign))) {
nsk_jvmti_setFailStatus();
}
if (genc != NULL)
- if (!NSK_JVMTI_VERIFY(NSK_CPP_STUB2(Deallocate,
- jvmti_env, (unsigned char*)genc))) {
+ if (!NSK_JVMTI_VERIFY(jvmti_env->Deallocate((unsigned char*)genc))) {
nsk_jvmti_setFailStatus();
}
}
@@ -276,9 +270,7 @@
char *sign;
char *genc;
- if (!NSK_JVMTI_VERIFY(
- NSK_CPP_STUB5(
- GetMethodName, jvmti_env, method, &name, &sign, &genc))) {
+ if (!NSK_JVMTI_VERIFY(jvmti_env->GetMethodName(method, &name, &sign, &genc))) {
nsk_jvmti_setFailStatus();
return;
}
@@ -287,17 +279,14 @@
changeCount(event, &newEventCount[0]);
}
- if (!NSK_JVMTI_VERIFY(NSK_CPP_STUB2(Deallocate,
- jvmti_env, (unsigned char*)name))) {
+ if (!NSK_JVMTI_VERIFY(jvmti_env->Deallocate((unsigned char*)name))) {
nsk_jvmti_setFailStatus();
}
- if (!NSK_JVMTI_VERIFY(NSK_CPP_STUB2(Deallocate,
- jvmti_env, (unsigned char*)sign))) {
+ if (!NSK_JVMTI_VERIFY(jvmti_env->Deallocate((unsigned char*)sign))) {
nsk_jvmti_setFailStatus();
}
if (genc != NULL)
- if (!NSK_JVMTI_VERIFY(NSK_CPP_STUB2(Deallocate,
- jvmti_env, (unsigned char*)genc))) {
+ if (!NSK_JVMTI_VERIFY(jvmti_env->Deallocate((unsigned char*)genc))) {
nsk_jvmti_setFailStatus();
}
}
@@ -395,16 +384,13 @@
&& (event != JVMTI_EVENT_METHOD_ENTRY)
&& (event != JVMTI_EVENT_METHOD_EXIT)) {
if (!NSK_JVMTI_VERIFY_CODE(JVMTI_ERROR_MUST_POSSESS_CAPABILITY,
- NSK_CPP_STUB4(SetEventNotificationMode, jvmti,
- JVMTI_ENABLE, event, NULL))) {
+ jvmti->SetEventNotificationMode(JVMTI_ENABLE, event, NULL))) {
NSK_COMPLAIN1("Unexpected error enabling %s\n",
TranslateEvent(event));
return NSK_FALSE;
}
} else {
- if (!NSK_JVMTI_VERIFY(
- NSK_CPP_STUB4(SetEventNotificationMode, jvmti,
- JVMTI_ENABLE, event, NULL))) {
+ if (!NSK_JVMTI_VERIFY(jvmti->SetEventNotificationMode(JVMTI_ENABLE, event, NULL))) {
NSK_COMPLAIN1("Unexpected error enabling %s\n",
TranslateEvent(event));
return NSK_FALSE;
@@ -498,10 +484,7 @@
break;
}
- if (!NSK_JVMTI_VERIFY(
- NSK_CPP_STUB3(SetEventCallbacks, jvmti,
- &eventCallbacks,
- sizeof(eventCallbacks))))
+ if (!NSK_JVMTI_VERIFY(jvmti->SetEventCallbacks(&eventCallbacks, sizeof(eventCallbacks))))
return NSK_FALSE;
return NSK_TRUE;
@@ -560,8 +543,7 @@
if (!NSK_VERIFY((jvmti = nsk_jvmti_createJVMTIEnv(jvm, reserved)) != NULL))
return JNI_ERR;
- if (!NSK_JVMTI_VERIFY(
- NSK_CPP_STUB3(CreateRawMonitor, jvmti, "_syncLock", &syncLock))) {
+ if (!NSK_JVMTI_VERIFY(jvmti->CreateRawMonitor("_syncLock", &syncLock))) {
nsk_jvmti_setFailStatus();
return JNI_ERR;
}
@@ -572,7 +554,7 @@
caps.can_generate_method_entry_events = 1;
caps.can_generate_method_exit_events = 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/scenarios/events/EM02/em02t010/em02t010.cpp Thu Oct 18 18:02:17 2018 -0400
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/events/EM02/em02t010/em02t010.cpp Thu Oct 18 18:04:05 2018 -0400
@@ -148,12 +148,12 @@
static void
changeCount(jvmtiEvent event, int *currentCounts) {
- if (!NSK_JVMTI_VERIFY(NSK_CPP_STUB2(RawMonitorEnter, jvmti, syncLock)))
+ if (!NSK_JVMTI_VERIFY(jvmti->RawMonitorEnter(syncLock)))
nsk_jvmti_setFailStatus();
currentCounts[event - JVMTI_MIN_EVENT_TYPE_VAL]++;
- if (!NSK_JVMTI_VERIFY(NSK_CPP_STUB2(RawMonitorExit, jvmti, syncLock)))
+ if (!NSK_JVMTI_VERIFY(jvmti->RawMonitorExit(syncLock)))
nsk_jvmti_setFailStatus();
}
@@ -173,8 +173,7 @@
if (!checkEvents(STEP_NUMBER))
nsk_jvmti_setFailStatus();
- if (!NSK_JVMTI_VERIFY(
- NSK_CPP_STUB2(DestroyRawMonitor, jvmti, syncLock)))
+ if (!NSK_JVMTI_VERIFY(jvmti->DestroyRawMonitor(syncLock)))
nsk_jvmti_setFailStatus();
}
@@ -340,16 +339,13 @@
&& (event != JVMTI_EVENT_FIELD_MODIFICATION)
&& (event != JVMTI_EVENT_FIELD_ACCESS)) {
if (!NSK_JVMTI_VERIFY_CODE(JVMTI_ERROR_MUST_POSSESS_CAPABILITY,
- NSK_CPP_STUB4(SetEventNotificationMode, jvmti,
- JVMTI_ENABLE, event, NULL))) {
+ jvmti->SetEventNotificationMode(JVMTI_ENABLE, event, NULL))) {
NSK_COMPLAIN1("Unexpected error enabling %s\n",
TranslateEvent(event));
return NSK_FALSE;
}
} else {
- if (!NSK_JVMTI_VERIFY(
- NSK_CPP_STUB4(SetEventNotificationMode, jvmti,
- JVMTI_ENABLE, event, NULL))) {
+ if (!NSK_JVMTI_VERIFY(jvmti->SetEventNotificationMode(JVMTI_ENABLE, event, NULL))) {
NSK_COMPLAIN1("Unexpected error enabling %s\n",
TranslateEvent(event));
return NSK_FALSE;
@@ -443,10 +439,7 @@
break;
}
- if (!NSK_JVMTI_VERIFY(
- NSK_CPP_STUB3(SetEventCallbacks, jvmti,
- &eventCallbacks,
- sizeof(eventCallbacks))))
+ if (!NSK_JVMTI_VERIFY(jvmti->SetEventCallbacks(&eventCallbacks, sizeof(eventCallbacks))))
return NSK_FALSE;
return NSK_TRUE;
@@ -466,26 +459,21 @@
if (!nsk_jvmti_waitForSync(timeout))
return;
- if (!NSK_JNI_VERIFY(agentJNI, (cls =
- NSK_CPP_STUB2(FindClass, agentJNI, CLASS_NAME)) != NULL))
+ if (!NSK_JNI_VERIFY(agentJNI, (cls = agentJNI->FindClass(CLASS_NAME)) != NULL))
return;
if (!NSK_JNI_VERIFY(agentJNI, (field_accID =
- NSK_CPP_STUB4(GetStaticFieldID, agentJNI, cls, FIELD_ACC_NAME,
- "I")) != NULL))
+ agentJNI->GetStaticFieldID(cls, FIELD_ACC_NAME, "I")) != NULL))
return;
if (!NSK_JNI_VERIFY(agentJNI, (field_modID =
- NSK_CPP_STUB4(GetStaticFieldID, agentJNI, cls, FIELD_MOD_NAME,
- "I")) != NULL))
+ agentJNI->GetStaticFieldID(cls, FIELD_MOD_NAME, "I")) != NULL))
return;
- if (!NSK_JVMTI_VERIFY(
- NSK_CPP_STUB3(SetFieldModificationWatch, jvmti, cls, field_modID)))
+ if (!NSK_JVMTI_VERIFY(jvmti->SetFieldModificationWatch(cls, field_modID)))
return;
- if (!NSK_JVMTI_VERIFY(
- NSK_CPP_STUB3(SetFieldAccessWatch, jvmti, cls, field_accID)))
+ if (!NSK_JVMTI_VERIFY(jvmti->SetFieldAccessWatch(cls, field_accID)))
return;
if (!nsk_jvmti_resumeSync())
@@ -536,8 +524,7 @@
if (!NSK_VERIFY((jvmti = nsk_jvmti_createJVMTIEnv(jvm, reserved)) != NULL))
return JNI_ERR;
- if (!NSK_JVMTI_VERIFY(
- NSK_CPP_STUB3(CreateRawMonitor, jvmti, "_syncLock", &syncLock))) {
+ if (!NSK_JVMTI_VERIFY(jvmti->CreateRawMonitor("_syncLock", &syncLock))) {
nsk_jvmti_setFailStatus();
return JNI_ERR;
}
@@ -548,7 +535,7 @@
caps.can_generate_field_modification_events = 1;
caps.can_generate_field_access_events = 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/scenarios/events/EM02/em02t011/em02t011.cpp Thu Oct 18 18:02:17 2018 -0400
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/events/EM02/em02t011/em02t011.cpp Thu Oct 18 18:04:05 2018 -0400
@@ -144,12 +144,12 @@
static void
changeCount(jvmtiEvent event, int *currentCounts) {
- if (!NSK_JVMTI_VERIFY(NSK_CPP_STUB2(RawMonitorEnter, jvmti, syncLock)))
+ if (!NSK_JVMTI_VERIFY(jvmti->RawMonitorEnter(syncLock)))
nsk_jvmti_setFailStatus();
currentCounts[event - JVMTI_MIN_EVENT_TYPE_VAL]++;
- if (!NSK_JVMTI_VERIFY(NSK_CPP_STUB2(RawMonitorExit, jvmti, syncLock)))
+ if (!NSK_JVMTI_VERIFY(jvmti->RawMonitorExit(syncLock)))
nsk_jvmti_setFailStatus();
}
@@ -169,8 +169,7 @@
if (!checkEvents(STEP_NUMBER))
nsk_jvmti_setFailStatus();
- if (!NSK_JVMTI_VERIFY(
- NSK_CPP_STUB2(DestroyRawMonitor, jvmti, syncLock)))
+ if (!NSK_JVMTI_VERIFY(jvmti->DestroyRawMonitor(syncLock)))
nsk_jvmti_setFailStatus();
}
@@ -326,16 +325,13 @@
if (nsk_jvmti_isOptionalEvent(event)
&& (event != JVMTI_EVENT_BREAKPOINT)) {
if (!NSK_JVMTI_VERIFY_CODE(JVMTI_ERROR_MUST_POSSESS_CAPABILITY,
- NSK_CPP_STUB4(SetEventNotificationMode, jvmti,
- JVMTI_ENABLE, event, NULL))) {
+ jvmti->SetEventNotificationMode(JVMTI_ENABLE, event, NULL))) {
NSK_COMPLAIN1("Unexpected error enabling %s\n",
TranslateEvent(event));
return NSK_FALSE;
}
} else {
- if (!NSK_JVMTI_VERIFY(
- NSK_CPP_STUB4(SetEventNotificationMode, jvmti,
- JVMTI_ENABLE, event, NULL))) {
+ if (!NSK_JVMTI_VERIFY(jvmti->SetEventNotificationMode(JVMTI_ENABLE, event, NULL))) {
NSK_COMPLAIN1("Unexpected error enabling %s\n",
TranslateEvent(event));
return NSK_FALSE;
@@ -428,10 +424,7 @@
break;
}
- if (!NSK_JVMTI_VERIFY(
- NSK_CPP_STUB3(SetEventCallbacks, jvmti,
- &eventCallbacks,
- sizeof(eventCallbacks))))
+ if (!NSK_JVMTI_VERIFY(jvmti->SetEventCallbacks(&eventCallbacks, sizeof(eventCallbacks))))
return NSK_FALSE;
return NSK_TRUE;
@@ -451,17 +444,14 @@
if (!nsk_jvmti_waitForSync(timeout))
return;
- if (!NSK_JNI_VERIFY(agentJNI, (cls =
- NSK_CPP_STUB2(FindClass, agentJNI, CLASS_NAME)) != NULL))
+ if (!NSK_JNI_VERIFY(agentJNI, (cls = agentJNI->FindClass(CLASS_NAME)) != NULL))
return;
if (!NSK_JNI_VERIFY(agentJNI, (methodID =
- NSK_CPP_STUB4(GetStaticMethodID, agentJNI, cls, METHOD_NAME,
- "()I")) != NULL))
+ agentJNI->GetStaticMethodID(cls, METHOD_NAME, "()I")) != NULL))
return;
- if (!NSK_JVMTI_VERIFY(
- NSK_CPP_STUB3(SetBreakpoint, jvmti, methodID, 0)))
+ if (!NSK_JVMTI_VERIFY(jvmti->SetBreakpoint(methodID, 0)))
return;
if (!nsk_jvmti_resumeSync())
@@ -512,8 +502,7 @@
if (!NSK_VERIFY((jvmti = nsk_jvmti_createJVMTIEnv(jvm, reserved)) != NULL))
return JNI_ERR;
- if (!NSK_JVMTI_VERIFY(
- NSK_CPP_STUB3(CreateRawMonitor, jvmti, "_syncLock", &syncLock))) {
+ if (!NSK_JVMTI_VERIFY(jvmti->CreateRawMonitor("_syncLock", &syncLock))) {
nsk_jvmti_setFailStatus();
return JNI_ERR;
}
@@ -523,7 +512,7 @@
memset(&caps, 0, sizeof(caps));
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;
}
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/events/EM02/em02t012/em02t012.cpp Thu Oct 18 18:02:17 2018 -0400
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/events/EM02/em02t012/em02t012.cpp Thu Oct 18 18:04:05 2018 -0400
@@ -52,8 +52,7 @@
jobject o, jthread thrd) {
/* make thread accessable for a long time */
- NSK_JNI_VERIFY(jni_env, (testedThread =
- NSK_CPP_STUB2(NewGlobalRef, jni_env, thrd)) != NULL);
+ NSK_JNI_VERIFY(jni_env, (testedThread = jni_env->NewGlobalRef(thrd)) != NULL);
}
static void
@@ -151,12 +150,12 @@
static void
changeCount(jvmtiEvent event, int *currentCounts) {
- if (!NSK_JVMTI_VERIFY(NSK_CPP_STUB2(RawMonitorEnter, jvmti, syncLock)))
+ if (!NSK_JVMTI_VERIFY(jvmti->RawMonitorEnter(syncLock)))
nsk_jvmti_setFailStatus();
currentCounts[event - JVMTI_MIN_EVENT_TYPE_VAL]++;
- if (!NSK_JVMTI_VERIFY(NSK_CPP_STUB2(RawMonitorExit, jvmti, syncLock)))
+ if (!NSK_JVMTI_VERIFY(jvmti->RawMonitorExit(syncLock)))
nsk_jvmti_setFailStatus();
}
@@ -176,8 +175,7 @@
if (!checkEvents(STEP_NUMBER))
nsk_jvmti_setFailStatus();
- if (!NSK_JVMTI_VERIFY(
- NSK_CPP_STUB2(DestroyRawMonitor, jvmti, syncLock)))
+ if (!NSK_JVMTI_VERIFY(jvmti->DestroyRawMonitor(syncLock)))
nsk_jvmti_setFailStatus();
}
@@ -331,16 +329,13 @@
if (nsk_jvmti_isOptionalEvent(event)
&& (event != JVMTI_EVENT_FRAME_POP)) {
if (!NSK_JVMTI_VERIFY_CODE(JVMTI_ERROR_MUST_POSSESS_CAPABILITY,
- NSK_CPP_STUB4(SetEventNotificationMode, jvmti,
- JVMTI_ENABLE, event, NULL))) {
+ jvmti->SetEventNotificationMode(JVMTI_ENABLE, event, NULL))) {
NSK_COMPLAIN1("Unexpected error enabling %s\n",
TranslateEvent(event));
return NSK_FALSE;
}
} else {
- if (!NSK_JVMTI_VERIFY(
- NSK_CPP_STUB4(SetEventNotificationMode, jvmti,
- JVMTI_ENABLE, event, NULL))) {
+ if (!NSK_JVMTI_VERIFY(jvmti->SetEventNotificationMode(JVMTI_ENABLE, event, NULL))) {
NSK_COMPLAIN1("Unexpected error enabling %s\n",
TranslateEvent(event));
return NSK_FALSE;
@@ -433,10 +428,7 @@
break;
}
- if (!NSK_JVMTI_VERIFY(
- NSK_CPP_STUB3(SetEventCallbacks, jvmti,
- &eventCallbacks,
- sizeof(eventCallbacks))))
+ if (!NSK_JVMTI_VERIFY(jvmti->SetEventCallbacks(&eventCallbacks, sizeof(eventCallbacks))))
return NSK_FALSE;
return NSK_TRUE;
@@ -455,18 +447,15 @@
if (!nsk_jvmti_waitForSync(timeout))
return;
- if (!NSK_JVMTI_VERIFY(
- NSK_CPP_STUB2(SuspendThread, jvmti, testedThread)))
+ if (!NSK_JVMTI_VERIFY(jvmti->SuspendThread(testedThread)))
return;
for (j = 2; j < 1002; j++) {
- if (!NSK_JVMTI_VERIFY(
- NSK_CPP_STUB3(NotifyFramePop, jvmti, testedThread, j)))
+ if (!NSK_JVMTI_VERIFY(jvmti->NotifyFramePop(testedThread, j)))
return;
}
- if (!NSK_JVMTI_VERIFY(
- NSK_CPP_STUB2(ResumeThread, jvmti, testedThread)))
+ if (!NSK_JVMTI_VERIFY(jvmti->ResumeThread(testedThread)))
return;
if (!nsk_jvmti_resumeSync())
@@ -489,7 +478,7 @@
return;
}
- NSK_CPP_STUB2(DeleteGlobalRef, agentJNI, testedThread);
+ agentJNI->DeleteGlobalRef(testedThread);
}
/* ============================================================================= */
@@ -516,8 +505,7 @@
if (!NSK_VERIFY((jvmti = nsk_jvmti_createJVMTIEnv(jvm, reserved)) != NULL))
return JNI_ERR;
- if (!NSK_JVMTI_VERIFY(
- NSK_CPP_STUB3(CreateRawMonitor, jvmti, "_syncLock", &syncLock))) {
+ if (!NSK_JVMTI_VERIFY(jvmti->CreateRawMonitor("_syncLock", &syncLock))) {
nsk_jvmti_setFailStatus();
return JNI_ERR;
}
@@ -528,7 +516,7 @@
caps.can_suspend = 1;
caps.can_generate_frame_pop_events = 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/scenarios/events/EM04/em04t001/em04t001.cpp Thu Oct 18 18:02:17 2018 -0400
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/events/EM04/em04t001/em04t001.cpp Thu Oct 18 18:04:05 2018 -0400
@@ -111,9 +111,7 @@
static int
enableEvent(jvmtiEventMode enable, jvmtiEvent event) {
- if (!NSK_JVMTI_VERIFY(
- NSK_CPP_STUB4(SetEventNotificationMode, jvmti, enable,
- event, NULL))) {
+ if (!NSK_JVMTI_VERIFY(jvmti->SetEventNotificationMode(enable, event, NULL))) {
nsk_jvmti_setFailStatus();
return NSK_FALSE;
}
@@ -129,10 +127,7 @@
eventCallbacks.DynamicCodeGenerated = (stage == 1) ?
cbDynamicCodeGenerated1 : cbDynamicCodeGenerated2;
- if (!NSK_JVMTI_VERIFY(
- NSK_CPP_STUB3(SetEventCallbacks, jvmti,
- &eventCallbacks,
- sizeof(eventCallbacks))))
+ if (!NSK_JVMTI_VERIFY(jvmti->SetEventCallbacks(&eventCallbacks, sizeof(eventCallbacks))))
return NSK_FALSE;
return NSK_TRUE;
@@ -153,9 +148,7 @@
return;
}
- 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();
{
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/events/EM05/em05t001/em05t001.cpp Thu Oct 18 18:02:17 2018 -0400
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/events/EM05/em05t001/em05t001.cpp Thu Oct 18 18:04:05 2018 -0400
@@ -127,9 +127,7 @@
int i;
for (i = 0; i < EVENTS_COUNT; i++) {
- if (!NSK_JVMTI_VERIFY(
- NSK_CPP_STUB4(SetEventNotificationMode, jvmti, enable,
- eventsList[i], NULL))) {
+ if (!NSK_JVMTI_VERIFY(jvmti->SetEventNotificationMode(enable, eventsList[i], NULL))) {
nsk_jvmti_setFailStatus();
return NSK_FALSE;
}
@@ -156,28 +154,24 @@
methodsDesc[i].unloadEvents = 0;
}
- if (!NSK_JNI_VERIFY(jni, (debugeeClass =
- NSK_CPP_STUB2(FindClass, jni, DEBUGEE_CLASS_NAME)) != NULL))
+ if (!NSK_JNI_VERIFY(jni, (debugeeClass = jni->FindClass(DEBUGEE_CLASS_NAME)) != NULL))
return NSK_FALSE;
if (!NSK_JNI_VERIFY(jni, (threadFieldID =
- NSK_CPP_STUB4(GetStaticFieldID, jni, debugeeClass,
- THREAD_FIELD_NAME, THREAD_FIELD_SIG)) != NULL))
+ jni->GetStaticFieldID(debugeeClass, THREAD_FIELD_NAME, THREAD_FIELD_SIG)) != NULL))
return NSK_FALSE;
if (!NSK_JNI_VERIFY(jni, (thread = (jthread)
- NSK_CPP_STUB3(GetStaticObjectField, jni, debugeeClass, threadFieldID)) != NULL))
+ jni->GetStaticObjectField(debugeeClass, threadFieldID)) != NULL))
return NSK_FALSE;
- if (!NSK_JNI_VERIFY(jni, (threadClass =
- NSK_CPP_STUB2(GetObjectClass, jni, thread)) != NULL))
+ if (!NSK_JNI_VERIFY(jni, (threadClass = jni->GetObjectClass(thread)) != NULL))
return NSK_FALSE;
NSK_DISPLAY0("Find tested methods:\n");
for (i = 0; i < METHODS_COUNT; i++) {
if (!NSK_JNI_VERIFY(jni, (methodsDesc[i].method =
- NSK_CPP_STUB4(GetMethodID, jni, threadClass,
- methodsDesc[i].methodName, methodsDesc[i].methodSig)) != NULL))
+ jni->GetMethodID(threadClass, methodsDesc[i].methodName, methodsDesc[i].methodSig)) != NULL))
return NSK_FALSE;
NSK_DISPLAY3(" method #%d (%s): 0x%p\n",
i, methodsDesc[i].methodName, (void*)methodsDesc[i].method);
@@ -327,8 +321,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;
}
@@ -337,9 +330,7 @@
memset(&eventCallbacks, 0, sizeof(eventCallbacks));
eventCallbacks.CompiledMethodLoad = callbackCompiledMethodLoad;
eventCallbacks.CompiledMethodUnload = callbackCompiledMethodUnload;
- 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/scenarios/events/EM05/em05t002/em05t002.cpp Thu Oct 18 18:02:17 2018 -0400
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/events/EM05/em05t002/em05t002.cpp Thu Oct 18 18:04:05 2018 -0400
@@ -152,8 +152,7 @@
* Generate tested events (COMPILED_METHOD_LOAD only).
*/
static int generateEvents() {
- 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();
return NSK_FALSE;
}
@@ -183,28 +182,24 @@
}
}
- 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))
return NSK_FALSE;
if (!NSK_JNI_VERIFY(jni, (threadFieldID =
- NSK_CPP_STUB4(GetStaticFieldID, jni, debugeeClass,
- THREAD_FIELD_NAME, THREAD_FIELD_SIG)) != NULL))
+ jni->GetStaticFieldID(debugeeClass, THREAD_FIELD_NAME, THREAD_FIELD_SIG)) != NULL))
return NSK_FALSE;
if (!NSK_JNI_VERIFY(jni, (thread = (jthread)
- NSK_CPP_STUB3(GetStaticObjectField, jni, debugeeClass, threadFieldID)) != NULL))
+ jni->GetStaticObjectField(debugeeClass, threadFieldID)) != NULL))
return NSK_FALSE;
- if (!NSK_JNI_VERIFY(jni, (threadClass =
- NSK_CPP_STUB2(GetObjectClass, jni, thread)) != NULL))
+ if (!NSK_JNI_VERIFY(jni, (threadClass = jni->GetObjectClass(thread)) != NULL))
return NSK_FALSE;
NSK_DISPLAY0("Find tested methods:\n");
for (i = 0; i < METHODS_COUNT; i++) {
if (!NSK_JNI_VERIFY(jni, (methodsDesc[i].method =
- NSK_CPP_STUB4(GetMethodID, jni, threadClass,
- methodsDesc[i].methodName, methodsDesc[i].methodSig)) != NULL))
+ jni->GetMethodID(threadClass, methodsDesc[i].methodName, methodsDesc[i].methodSig)) != NULL))
return NSK_FALSE;
NSK_DISPLAY3(" method #%d (%s): 0x%p\n",
i, methodsDesc[i].methodName, (void*)methodsDesc[i].method);
@@ -395,8 +390,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;
}
@@ -405,9 +399,7 @@
memset(&eventCallbacks, 0, sizeof(eventCallbacks));
eventCallbacks.CompiledMethodLoad = callbackCompiledMethodLoad;
eventCallbacks.CompiledMethodUnload = callbackCompiledMethodUnload;
- 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/scenarios/events/EM06/em06t001/em06t001.cpp Thu Oct 18 18:02:17 2018 -0400
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/events/EM06/em06t001/em06t001.cpp Thu Oct 18 18:04:05 2018 -0400
@@ -60,26 +60,24 @@
jstring jclassName;
const char *className;
- if (!NSK_JNI_VERIFY(jni_env, (classObject =
- NSK_CPP_STUB2(GetObjectClass, jni_env, klass)) != NULL)) {
+ if (!NSK_JNI_VERIFY(jni_env, (classObject = jni_env->GetObjectClass(klass)) != NULL)) {
nsk_jvmti_setFailStatus();
return;
}
if (!NSK_JNI_VERIFY(jni_env, (methodID =
- NSK_CPP_STUB4(GetMethodID, jni_env, classObject,
- "getName", "()Ljava/lang/String;")) != NULL)) {
+ jni_env->GetMethodID(classObject, "getName", "()Ljava/lang/String;")) != NULL)) {
nsk_jvmti_setFailStatus();
return;
}
- jclassName = (jstring) NSK_CPP_STUB3(CallObjectMethod, jni_env, klass, methodID);
+ jclassName = (jstring) jni_env->CallObjectMethod(klass, methodID);
- className = NSK_CPP_STUB3(GetStringUTFChars, jni_env, jclassName, 0);
+ className = jni_env->GetStringUTFChars(jclassName, 0);
if ( className != NULL && (strcmp(className, EXPECTED_CLASS_NAME)==0) ) {
- if (!NSK_JVMTI_VERIFY(NSK_CPP_STUB2(RawMonitorEnter, jvmti, syncLock)))
+ if (!NSK_JVMTI_VERIFY(jvmti->RawMonitorEnter(syncLock)))
nsk_jvmti_setFailStatus();
switch (event) {
@@ -92,12 +90,12 @@
nsk_jvmti_setFailStatus();
}
- if (!NSK_JVMTI_VERIFY(NSK_CPP_STUB2(RawMonitorExit, jvmti, syncLock)))
+ if (!NSK_JVMTI_VERIFY(jvmti->RawMonitorExit(syncLock)))
nsk_jvmti_setFailStatus();
}
- NSK_CPP_STUB3(ReleaseStringUTFChars, jni_env, jclassName, className);
+ jni_env->ReleaseStringUTFChars(jclassName, className);
}
JNIEXPORT void JNICALL
@@ -116,9 +114,7 @@
static int
enableEvent(jvmtiEventMode enable, jvmtiEvent event) {
- if (!NSK_JVMTI_VERIFY(
- NSK_CPP_STUB4(SetEventNotificationMode, jvmti, enable,
- event, NULL))) {
+ if (!NSK_JVMTI_VERIFY(jvmti->SetEventNotificationMode(enable, event, NULL))) {
nsk_jvmti_setFailStatus();
return NSK_FALSE;
}
@@ -171,10 +167,7 @@
eventCallbacks.ClassLoad = cbClassLoad;
eventCallbacks.ClassPrepare = cbClassPrepare;
- if (!NSK_JVMTI_VERIFY(
- NSK_CPP_STUB3(SetEventCallbacks, jvmti,
- &eventCallbacks,
- sizeof(eventCallbacks))))
+ if (!NSK_JVMTI_VERIFY(jvmti->SetEventCallbacks(&eventCallbacks, sizeof(eventCallbacks))))
return NSK_FALSE;
return NSK_TRUE;
@@ -186,8 +179,7 @@
static void JNICALL
agentProc(jvmtiEnv* jvmti, JNIEnv* agentJNI, void* arg) {
- if (!NSK_JVMTI_VERIFY(
- NSK_CPP_STUB3(CreateRawMonitor, jvmti, "_syncLock", &syncLock))) {
+ if (!NSK_JVMTI_VERIFY(jvmti->CreateRawMonitor("_syncLock", &syncLock))) {
nsk_jvmti_setFailStatus();
return;
}
@@ -230,8 +222,7 @@
if (!nsk_jvmti_resumeSync())
return;
- if (!NSK_JVMTI_VERIFY(
- NSK_CPP_STUB2(DestroyRawMonitor, jvmti, syncLock)))
+ if (!NSK_JVMTI_VERIFY(jvmti->DestroyRawMonitor(syncLock)))
nsk_jvmti_setFailStatus();
}
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/events/EM07/em07t001/em07t001.cpp Thu Oct 18 18:02:17 2018 -0400
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/events/EM07/em07t001/em07t001.cpp Thu Oct 18 18:04:05 2018 -0400
@@ -64,12 +64,12 @@
void changeCount(jvmtiEvent event) {
- if (!NSK_JVMTI_VERIFY(NSK_CPP_STUB2(RawMonitorEnter, jvmti, syncLock)))
+ if (!NSK_JVMTI_VERIFY(jvmti->RawMonitorEnter(syncLock)))
nsk_jvmti_setFailStatus();
eventCount[event - JVMTI_MIN_EVENT_TYPE_VAL]++;
- if (!NSK_JVMTI_VERIFY(NSK_CPP_STUB2(RawMonitorExit, jvmti, syncLock)))
+ if (!NSK_JVMTI_VERIFY(jvmti->RawMonitorExit(syncLock)))
nsk_jvmti_setFailStatus();
}
@@ -87,8 +87,7 @@
cbVMDeath(jvmtiEnv* jvmti, JNIEnv* jni_env) {
changeCount(JVMTI_EVENT_VM_DEATH);
- if (!NSK_JVMTI_VERIFY(
- NSK_CPP_STUB2(DestroyRawMonitor, jvmti, syncLock)))
+ if (!NSK_JVMTI_VERIFY(jvmti->DestroyRawMonitor(syncLock)))
nsk_jvmti_setFailStatus();
}
@@ -234,8 +233,7 @@
jvmtiEvent event = (jvmtiEvent)(i + JVMTI_MIN_EVENT_TYPE_VAL);
if (nsk_jvmti_isOptionalEvent(event))
if (!NSK_JVMTI_VERIFY_CODE(JVMTI_ERROR_MUST_POSSESS_CAPABILITY,
- NSK_CPP_STUB4(SetEventNotificationMode, jvmti,
- JVMTI_ENABLE, event, NULL))) {
+ jvmti->SetEventNotificationMode(JVMTI_ENABLE, event, NULL))) {
NSK_COMPLAIN1("Unexpected error enabling %s\n",
TranslateEvent(event));
result = NSK_FALSE;
@@ -309,10 +307,7 @@
eventCallbacks.ObjectFree = cbObjectFree;
eventCallbacks.VMObjectAlloc = cbVMObjectAlloc;
- if (!NSK_JVMTI_VERIFY(
- NSK_CPP_STUB3(SetEventCallbacks, jvmti,
- &eventCallbacks,
- sizeof(eventCallbacks))))
+ if (!NSK_JVMTI_VERIFY(jvmti->SetEventCallbacks(&eventCallbacks, sizeof(eventCallbacks))))
return NSK_FALSE;
return NSK_TRUE;
@@ -363,8 +358,7 @@
if (!NSK_VERIFY((jvmti = nsk_jvmti_createJVMTIEnv(jvm, reserved)) != NULL))
return JNI_ERR;
- if (!NSK_JVMTI_VERIFY(
- NSK_CPP_STUB3(CreateRawMonitor, jvmti, "_syncLock", &syncLock))) {
+ if (!NSK_JVMTI_VERIFY(jvmti->CreateRawMonitor("_syncLock", &syncLock))) {
nsk_jvmti_setFailStatus();
return JNI_ERR;
}
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/events/EM07/em07t002/em07t002.cpp Thu Oct 18 18:02:17 2018 -0400
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/events/EM07/em07t002/em07t002.cpp Thu Oct 18 18:04:05 2018 -0400
@@ -63,9 +63,7 @@
char *sign;
char *genc;
- if (!NSK_JVMTI_VERIFY(
- NSK_CPP_STUB5(
- GetMethodName, jvmti_env, method, &name, &sign, &genc))) {
+ if (!NSK_JVMTI_VERIFY(jvmti_env->GetMethodName(method, &name, &sign, &genc))) {
nsk_jvmti_setFailStatus();
return;
}
@@ -86,28 +84,25 @@
NSK_DISPLAY0(">>>JVMTI_EVENT_COMPILED_METHOD_LOAD received for\n");
NSK_DISPLAY1("\t\tmethod: %s\n", rec->name);
- if (!NSK_JVMTI_VERIFY(NSK_CPP_STUB2(RawMonitorEnter, jvmti, syncLock)))
+ if (!NSK_JVMTI_VERIFY(jvmti->RawMonitorEnter(syncLock)))
nsk_jvmti_setFailStatus();
methodLoadCount++;
- if (!NSK_JVMTI_VERIFY(NSK_CPP_STUB2(RawMonitorExit, jvmti, syncLock)))
+ if (!NSK_JVMTI_VERIFY(jvmti->RawMonitorExit(syncLock)))
nsk_jvmti_setFailStatus();
}
}
- if (!NSK_JVMTI_VERIFY(NSK_CPP_STUB2(Deallocate,
- jvmti_env, (unsigned char*)name))) {
+ if (!NSK_JVMTI_VERIFY(jvmti_env->Deallocate((unsigned char*)name))) {
nsk_jvmti_setFailStatus();
}
- if (!NSK_JVMTI_VERIFY(NSK_CPP_STUB2(Deallocate,
- jvmti_env, (unsigned char*)sign))) {
+ if (!NSK_JVMTI_VERIFY(jvmti_env->Deallocate((unsigned char*)sign))) {
nsk_jvmti_setFailStatus();
}
if (genc != NULL)
- if (!NSK_JVMTI_VERIFY(NSK_CPP_STUB2(Deallocate,
- jvmti_env, (unsigned char*)genc))) {
+ if (!NSK_JVMTI_VERIFY(jvmti_env->Deallocate((unsigned char*)genc))) {
nsk_jvmti_setFailStatus();
}
}
@@ -127,12 +122,12 @@
NSK_DISPLAY0(">>>JVMTI_EVENT_COMPILED_METHOD_UNLOAD received for\n");
NSK_DISPLAY1("\t\tmethod: %s\n", rec->name);
- if (!NSK_JVMTI_VERIFY(NSK_CPP_STUB2(RawMonitorEnter, jvmti, syncLock)))
+ if (!NSK_JVMTI_VERIFY(jvmti->RawMonitorEnter(syncLock)))
nsk_jvmti_setFailStatus();
methodUnloadCount++;
- if (!NSK_JVMTI_VERIFY(NSK_CPP_STUB2(RawMonitorExit, jvmti, syncLock)))
+ if (!NSK_JVMTI_VERIFY(jvmti->RawMonitorExit(syncLock)))
nsk_jvmti_setFailStatus();
free(rec);
@@ -148,9 +143,7 @@
static int
enableEvent(jvmtiEventMode enable, jvmtiEvent event) {
- if (!NSK_JVMTI_VERIFY(
- NSK_CPP_STUB4(SetEventNotificationMode, jvmti, enable,
- event, NULL))) {
+ if (!NSK_JVMTI_VERIFY(jvmti->SetEventNotificationMode(enable, event, NULL))) {
nsk_jvmti_setFailStatus();
return NSK_FALSE;
}
@@ -191,9 +184,7 @@
eventCallbacks.CompiledMethodLoad = cbCompiledMethodLoad;
eventCallbacks.CompiledMethodUnload = cbCompiledMethodUnload;
- return NSK_JVMTI_VERIFY(NSK_CPP_STUB3(SetEventCallbacks, jvmti,
- &eventCallbacks,
- sizeof(eventCallbacks)));
+ return NSK_JVMTI_VERIFY(jvmti->SetEventCallbacks(&eventCallbacks, sizeof(eventCallbacks)));
}
/* ============================================================================= */
@@ -230,8 +221,7 @@
}
- if (!NSK_JVMTI_VERIFY(
- NSK_CPP_STUB2(DestroyRawMonitor, jvmti, syncLock)))
+ if (!NSK_JVMTI_VERIFY(jvmti->DestroyRawMonitor(syncLock)))
nsk_jvmti_setFailStatus();
}
@@ -260,8 +250,7 @@
if (!NSK_VERIFY((jvmti = nsk_jvmti_createJVMTIEnv(jvm, reserved)) != NULL))
return JNI_ERR;
- if (!NSK_JVMTI_VERIFY(
- NSK_CPP_STUB3(CreateRawMonitor, jvmti, "_syncLock", &syncLock))) {
+ if (!NSK_JVMTI_VERIFY(jvmti->CreateRawMonitor("_syncLock", &syncLock))) {
nsk_jvmti_setFailStatus();
return JNI_ERR;
}
@@ -274,7 +263,7 @@
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;
}
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/extension/EX03/ex03t001/ex03t001.cpp Thu Oct 18 18:02:17 2018 -0400
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/extension/EX03/ex03t001/ex03t001.cpp Thu Oct 18 18:04:05 2018 -0400
@@ -61,16 +61,13 @@
}
/* Notify main agent thread */
- if (!NSK_JVMTI_VERIFY(
- NSK_CPP_STUB2(RawMonitorEnter, jvmti, eventMon))) {
+ if (!NSK_JVMTI_VERIFY(jvmti->RawMonitorEnter(eventMon))) {
nsk_jvmti_setFailStatus();
}
- if (!NSK_JVMTI_VERIFY(
- NSK_CPP_STUB2(RawMonitorNotify, jvmti, eventMon))) {
+ if (!NSK_JVMTI_VERIFY(jvmti->RawMonitorNotify(eventMon))) {
nsk_jvmti_setFailStatus();
}
- if (!NSK_JVMTI_VERIFY(
- NSK_CPP_STUB2(RawMonitorExit, jvmti, eventMon))) {
+ if (!NSK_JVMTI_VERIFY(jvmti->RawMonitorExit(eventMon))) {
nsk_jvmti_setFailStatus();
}
}
@@ -84,8 +81,7 @@
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))) {
nsk_jvmti_setFailStatus();
return JNI_FALSE;
}
@@ -117,8 +113,7 @@
jboolean found = JNI_FALSE;
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))) {
nsk_jvmti_setFailStatus();
return JNI_FALSE;
}
@@ -128,8 +123,8 @@
found = JNI_TRUE;
if (!NSK_JVMTI_VERIFY(
- NSK_CPP_STUB3(SetExtensionEventCallback, jvmti, extList[i].extension_event_index,
- enable ? (jvmtiExtensionEvent)ClassUnload : NULL ))) {
+ jvmti->SetExtensionEventCallback(extList[i].extension_event_index,
+ enable ? (jvmtiExtensionEvent)ClassUnload : NULL ))) {
nsk_jvmti_setFailStatus();
return JNI_FALSE;
}
@@ -175,16 +170,13 @@
break;
/* Wait for notifying from event's thread */
- if (!NSK_JVMTI_VERIFY(
- NSK_CPP_STUB2(RawMonitorEnter, jvmti, eventMon))) {
+ if (!NSK_JVMTI_VERIFY(jvmti->RawMonitorEnter(eventMon))) {
nsk_jvmti_setFailStatus();
}
- if (!NSK_JVMTI_VERIFY(
- NSK_CPP_STUB3(RawMonitorWait, jvmti, eventMon, timeout))) {
+ if (!NSK_JVMTI_VERIFY(jvmti->RawMonitorWait(eventMon, timeout))) {
nsk_jvmti_setFailStatus();
}
- if (!NSK_JVMTI_VERIFY(
- NSK_CPP_STUB2(RawMonitorExit, jvmti, eventMon))) {
+ if (!NSK_JVMTI_VERIFY(jvmti->RawMonitorExit(eventMon))) {
nsk_jvmti_setFailStatus();
}
@@ -202,16 +194,13 @@
return;
/* Wait during 10 secs for notifying from event's thread */
- if (!NSK_JVMTI_VERIFY(
- NSK_CPP_STUB2(RawMonitorEnter, jvmti, eventMon))) {
+ if (!NSK_JVMTI_VERIFY(jvmti->RawMonitorEnter(eventMon))) {
nsk_jvmti_setFailStatus();
}
- if (!NSK_JVMTI_VERIFY(
- NSK_CPP_STUB3(RawMonitorWait, jvmti, eventMon, 10000))) {
+ if (!NSK_JVMTI_VERIFY(jvmti->RawMonitorWait(eventMon, 10000))) {
nsk_jvmti_setFailStatus();
}
- if (!NSK_JVMTI_VERIFY(
- NSK_CPP_STUB2(RawMonitorExit, jvmti, eventMon))) {
+ if (!NSK_JVMTI_VERIFY(jvmti->RawMonitorExit(eventMon))) {
nsk_jvmti_setFailStatus();
}
@@ -230,7 +219,7 @@
} while (0);
- NSK_TRACE(NSK_CPP_STUB2(DestroyRawMonitor, jvmti, eventMon));
+ NSK_TRACE(jvmti->DestroyRawMonitor(eventMon));
NSK_DISPLAY0("Let debugee to finish\n");
if (!NSK_VERIFY(nsk_jvmti_resumeSync()))
@@ -262,8 +251,7 @@
nsk_jvmti_createJVMTIEnv(jvm, reserved)) != NULL))
return JNI_ERR;
- if (!NSK_JVMTI_VERIFY(
- NSK_CPP_STUB3(CreateRawMonitor, jvmti, "eventMon", &eventMon))) {
+ if (!NSK_JVMTI_VERIFY(jvmti->CreateRawMonitor("eventMon", &eventMon))) {
return JNI_ERR;
}
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/general_functions/GF01/gf01t001/gf01t001.cpp Thu Oct 18 18:02:17 2018 -0400
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/general_functions/GF01/gf01t001/gf01t001.cpp Thu Oct 18 18:04:05 2018 -0400
@@ -77,8 +77,7 @@
NSK_DISPLAY1("%s: Getting system property keys ...\n",
stepMsg);
- if (!NSK_JVMTI_VERIFY(NSK_CPP_STUB3(GetSystemProperties,
- jvmti_env, &count, &propKeys))) {
+ if (!NSK_JVMTI_VERIFY(jvmti_env->GetSystemProperties(&count, &propKeys))) {
result = STATUS_FAILED;
return;
}
@@ -94,8 +93,7 @@
for (i=0; i< count; i++) {
NSK_DISPLAY2("%d) getting property for the key \"%s\":\n",
i+1, propKeys[i]);
- if (!NSK_JVMTI_VERIFY(NSK_CPP_STUB3(GetSystemProperty,
- jvmti_env, (const char*) propKeys[i], &prop))) {
+ if (!NSK_JVMTI_VERIFY(jvmti_env->GetSystemProperty((const char*) propKeys[i], &prop))) {
result = STATUS_FAILED;
return;
}
@@ -105,23 +103,20 @@
foundProps += findProp(propKeys[i]);
NSK_DISPLAY0("\tdeallocating system property\n");
- if (!NSK_JVMTI_VERIFY(NSK_CPP_STUB2(Deallocate,
- jvmti_env, (unsigned char*) prop))) {
+ if (!NSK_JVMTI_VERIFY(jvmti_env->Deallocate((unsigned char*) prop))) {
result = STATUS_FAILED;
return;
}
NSK_DISPLAY0("\tdeallocating the system property key\n\n");
- if (!NSK_JVMTI_VERIFY(NSK_CPP_STUB2(Deallocate,
- jvmti_env, (unsigned char*) propKeys[i]))) {
+ if (!NSK_JVMTI_VERIFY(jvmti_env->Deallocate((unsigned char*) propKeys[i]))) {
result = STATUS_FAILED;
return;
}
}
/* NSK_DISPLAY0("Deallocating the property key array ...\n");
- if (!NSK_JVMTI_VERIFY(NSK_CPP_STUB2(Deallocate,
- jvmti_env, (unsigned char*) &propKeys))) {
+ if (!NSK_JVMTI_VERIFY(jvmti_env->Deallocate((unsigned char*) &propKeys))) {
result = STATUS_FAILED;
return;
}*/
@@ -185,17 +180,14 @@
(void) memset(&callbacks, 0, sizeof(callbacks));
callbacks.VMInit = &VMInit;
callbacks.VMDeath = &VMDeath;
- if (!NSK_JVMTI_VERIFY(NSK_CPP_STUB3(SetEventCallbacks,
- jvmti, &callbacks, sizeof(callbacks))))
+ if (!NSK_JVMTI_VERIFY(jvmti->SetEventCallbacks(&callbacks, sizeof(callbacks))))
return JNI_ERR;
NSK_DISPLAY0("setting event callbacks done\nenabling 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_VM_INIT, NULL)))
+ if (!NSK_JVMTI_VERIFY(jvmti->SetEventNotificationMode(JVMTI_ENABLE, JVMTI_EVENT_VM_INIT, NULL)))
return JNI_ERR;
NSK_DISPLAY0("enabling events done\n\n");
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/general_functions/GF04/gf04t001/gf04t001.cpp Thu Oct 18 18:02:17 2018 -0400
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/general_functions/GF04/gf04t001/gf04t001.cpp Thu Oct 18 18:04:05 2018 -0400
@@ -52,8 +52,7 @@
void* storage = NULL;
NSK_DISPLAY1("Add segment: %s\n", segment);
- if (!NSK_JVMTI_VERIFY(
- NSK_CPP_STUB2(AddToBootstrapClassLoaderSearch, jvmti, segment))) {
+ if (!NSK_JVMTI_VERIFY(jvmti->AddToBootstrapClassLoaderSearch(segment))) {
return NSK_FALSE;
}
NSK_DISPLAY0(" ... added\n");
@@ -62,17 +61,13 @@
}
static void setupLock(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 setoffLock(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");
}
JNIEXPORT jint JNICALL
@@ -93,8 +88,7 @@
setupLock(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;
}
@@ -103,8 +97,7 @@
sig);
classLoadReceived = JNI_TRUE;
- if (!NSK_JVMTI_VERIFY(NSK_CPP_STUB4(SetEventNotificationMode,
- jvmti_env, JVMTI_DISABLE, JVMTI_EVENT_CLASS_LOAD, NULL))) {
+ if (!NSK_JVMTI_VERIFY(jvmti_env->SetEventNotificationMode(JVMTI_DISABLE, JVMTI_EVENT_CLASS_LOAD, NULL))) {
result = STATUS_FAILED;
} else {
NSK_DISPLAY0("ClassLoad event disabled\n");
@@ -121,8 +114,7 @@
setupLock(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;
}
@@ -131,8 +123,7 @@
sig);
classPrepareReceived = JNI_TRUE;
- if (!NSK_JVMTI_VERIFY(NSK_CPP_STUB4(SetEventNotificationMode,
- jvmti_env, JVMTI_DISABLE, JVMTI_EVENT_CLASS_PREPARE, NULL))) {
+ if (!NSK_JVMTI_VERIFY(jvmti_env->SetEventNotificationMode(JVMTI_DISABLE, JVMTI_EVENT_CLASS_PREPARE, NULL))) {
result = STATUS_FAILED;
} else {
NSK_DISPLAY0("ClassPrepare event disabled\n");
@@ -172,8 +163,7 @@
nsk_jvmti_createJVMTIEnv(jvm, reserved)) != NULL))
return JNI_ERR;
- if (!NSK_JVMTI_VERIFY(NSK_CPP_STUB3(CreateRawMonitor,
- jvmti, "eventLock", &countLock)))
+ if (!NSK_JVMTI_VERIFY(jvmti->CreateRawMonitor("eventLock", &countLock)))
return JNI_ERR;
NSK_DISPLAY0("Add bootstrap class load segment in Agent_OnLoad()\n");
@@ -189,22 +179,19 @@
memset(&callbacks, 0, sizeof(callbacks));
callbacks.ClassLoad = &ClassLoad;
callbacks.ClassPrepare = &ClassPrepare;
- if (!NSK_JVMTI_VERIFY(
- NSK_CPP_STUB3(SetEventCallbacks, jvmti, &callbacks, size))) {
+ if (!NSK_JVMTI_VERIFY(jvmti->SetEventCallbacks(&callbacks, size))) {
return JNI_ERR;
}
}
NSK_DISPLAY0(" ... set\n");
NSK_DISPLAY0("Enabling events: \n");
- if (!NSK_JVMTI_VERIFY(NSK_CPP_STUB4(SetEventNotificationMode,
- jvmti, JVMTI_ENABLE, JVMTI_EVENT_CLASS_LOAD, NULL))) {
+ if (!NSK_JVMTI_VERIFY(jvmti->SetEventNotificationMode(JVMTI_ENABLE, JVMTI_EVENT_CLASS_LOAD, NULL))) {
return JNI_ERR;
} else {
NSK_DISPLAY0(" ... ClassLoad enabled\n");
}
- if (!NSK_JVMTI_VERIFY(NSK_CPP_STUB4(SetEventNotificationMode,
- jvmti, JVMTI_ENABLE, JVMTI_EVENT_CLASS_PREPARE, NULL))) {
+ if (!NSK_JVMTI_VERIFY(jvmti->SetEventNotificationMode(JVMTI_ENABLE, JVMTI_EVENT_CLASS_PREPARE, NULL))) {
return JNI_ERR;
} else {
NSK_DISPLAY0(" ... ClassPrepare enabled\n");
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/general_functions/GF06/gf06t001/gf06t001.cpp Thu Oct 18 18:02:17 2018 -0400
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/general_functions/GF06/gf06t001/gf06t001.cpp Thu Oct 18 18:04:05 2018 -0400
@@ -75,8 +75,7 @@
void* storage = NULL;
NSK_DISPLAY0("Calling GetEnvironmentLocalStorage():");
- 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);
@@ -115,9 +114,9 @@
jmethodID cid;
jthread res;
- thrClass = NSK_CPP_STUB2(FindClass, env, "java/lang/Thread");
- cid = NSK_CPP_STUB4(GetMethodID, env, thrClass, "<init>", "()V");
- res = NSK_CPP_STUB3(NewObject, env, thrClass, cid);
+ thrClass = env->FindClass("java/lang/Thread");
+ cid = env->GetMethodID(thrClass, "<init>", "()V");
+ res = env->NewObject(thrClass, cid);
return res;
}
@@ -193,8 +192,7 @@
}
NSK_DISPLAY1("Set local storage in JVM_OnLoad() for first JVMTI env: 0x%p\n", (void*)initialStorage);
- if (!NSK_JVMTI_VERIFY(
- NSK_CPP_STUB2(SetEnvironmentLocalStorage, jvmti_1, initialStorage))) {
+ if (!NSK_JVMTI_VERIFY(jvmti_1->SetEnvironmentLocalStorage(initialStorage))) {
return JNI_ERR;
}
NSK_DISPLAY0(" ... ok\n");
@@ -212,8 +210,7 @@
eventCallbacks.VMInit = callbackVMInit;
eventCallbacks.VMDeath = callbackVMDeath;
if (!NSK_JVMTI_VERIFY(
- NSK_CPP_STUB3(SetEventCallbacks, jvmti_2,
- &eventCallbacks, sizeof(eventCallbacks)))) {
+ jvmti_2->SetEventCallbacks(&eventCallbacks, sizeof(eventCallbacks)))) {
return JNI_ERR;
}
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/general_functions/GF08/gf08t001/gf08t001.cpp Thu Oct 18 18:02:17 2018 -0400
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/general_functions/GF08/gf08t001/gf08t001.cpp Thu Oct 18 18:04:05 2018 -0400
@@ -70,8 +70,7 @@
setVerboseMode = nsk_jvmti_findOptionStringValue("setVerboseMode", NULL);
if (strcmp(setVerboseMode, "y") == 0 || strcmp(setVerboseMode, "yes") == 0) {
- if (!NSK_JVMTI_VERIFY(
- NSK_CPP_STUB3(SetVerboseFlag, jvmti, JVMTI_VERBOSE_GC, JNI_TRUE))) {
+ if (!NSK_JVMTI_VERIFY(jvmti->SetVerboseFlag(JVMTI_VERBOSE_GC, JNI_TRUE))) {
return JNI_ERR;
} else {
NSK_DISPLAY0("JVMTI_VERBOSE_GC mode has been set.\n");
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/general_functions/GF08/gf08t002/gf08t002.cpp Thu Oct 18 18:02:17 2018 -0400
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/general_functions/GF08/gf08t002/gf08t002.cpp Thu Oct 18 18:04:05 2018 -0400
@@ -70,8 +70,7 @@
setVerboseMode = nsk_jvmti_findOptionStringValue("setVerboseMode", NULL);
if (strcmp(setVerboseMode, "y") == 0 || strcmp(setVerboseMode, "yes") == 0) {
- if (!NSK_JVMTI_VERIFY(
- NSK_CPP_STUB3(SetVerboseFlag, jvmti, JVMTI_VERBOSE_CLASS, JNI_TRUE))) {
+ if (!NSK_JVMTI_VERIFY(jvmti->SetVerboseFlag(JVMTI_VERBOSE_CLASS, JNI_TRUE))) {
return JNI_ERR;
} else {
NSK_DISPLAY0("JVMTI_VERBOSE_CLASS mode has been set.\n");
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/general_functions/GF08/gf08t003/gf08t003.cpp Thu Oct 18 18:02:17 2018 -0400
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/general_functions/GF08/gf08t003/gf08t003.cpp Thu Oct 18 18:04:05 2018 -0400
@@ -70,8 +70,7 @@
setVerboseMode = nsk_jvmti_findOptionStringValue("setVerboseMode", NULL);
if (strcmp(setVerboseMode, "y") == 0 || strcmp(setVerboseMode, "yes") == 0) {
- if (!NSK_JVMTI_VERIFY(
- NSK_CPP_STUB3(SetVerboseFlag, jvmti, JVMTI_VERBOSE_JNI, JNI_TRUE))) {
+ if (!NSK_JVMTI_VERIFY(jvmti->SetVerboseFlag(JVMTI_VERBOSE_JNI, JNI_TRUE))) {
return JNI_ERR;
} else {
NSK_DISPLAY0("JVMTI_VERBOSE_JNI mode has been set.\n");
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/hotswap/HS103/hs103t002/hs103t002.cpp Thu Oct 18 18:02:17 2018 -0400
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/hotswap/HS103/hs103t002/hs103t002.cpp Thu Oct 18 18:04:05 2018 -0400
@@ -57,19 +57,15 @@
testClass = jni->FindClass(MAIN_CLASS);
if (!NSK_JNI_VERIFY(jni, (
- setRedefinitionFailed = NSK_CPP_STUB4(GetStaticMethodID, jni,
- testClass, "setRedefinitionFailed", "()V")) != NULL))
+ setRedefinitionFailed = jni->GetStaticMethodID(testClass, "setRedefinitionFailed", "()V")) != NULL))
{
- NSK_CPP_STUB2(FatalError, jni,
- "TEST FAILED: while getting setRedefinitionFailed()\n");
+ jni->FatalError("TEST FAILED: while getting setRedefinitionFailed()\n");
}
if (!NSK_JNI_VERIFY(jni, (
- setRedefinitionDone = NSK_CPP_STUB4(GetStaticMethodID, jni,
- testClass, "setRedefinitionDone", "()V")) != NULL))
+ setRedefinitionDone = jni->GetStaticMethodID(testClass, "setRedefinitionDone", "()V")) != NULL))
{
- NSK_CPP_STUB2(FatalError, jni,
- "TEST FAILED: while getting setRedefinitionDone()\n");
+ jni->FatalError("TEST FAILED: while getting setRedefinitionDone()\n");
}
nsk_printf("doRedefineInNativeThread\n");
@@ -82,20 +78,16 @@
} else {
nsk_printf("\nMyClass :: Failed to redefine ..\n");
- if (!NSK_JNI_VERIFY_VOID(jni, NSK_CPP_STUB3(CallStaticVoidMethod, jni,
- testClass, setRedefinitionFailed)))
+ if (!NSK_JNI_VERIFY_VOID(jni, jni->CallStaticVoidMethod(testClass, setRedefinitionFailed)))
{
- NSK_CPP_STUB2(FatalError, jni,
- "TEST FAILED: while calling setRedefinitionFailed()\n");
+ jni->FatalError("TEST FAILED: while calling setRedefinitionFailed()\n");
}
}
}
- if (!NSK_JNI_VERIFY_VOID(jni, NSK_CPP_STUB3(CallStaticVoidMethod, jni,
- testClass, setRedefinitionDone)))
+ if (!NSK_JNI_VERIFY_VOID(jni, jni->CallStaticVoidMethod(testClass, setRedefinitionDone)))
{
- NSK_CPP_STUB2(FatalError, jni,
- "TEST FAILED: while calling setRedefinitionDone()\n");
+ jni->FatalError("TEST FAILED: while calling setRedefinitionDone()\n");
}
nsk_printf(" All 30 redefinitions are done..\n");
@@ -150,10 +142,8 @@
name = jni->NewStringUTF(threadName);
clas = jni->FindClass("java/lang/Thread");
- if (!NSK_JNI_VERIFY(jni, (method = NSK_CPP_STUB4(GetMethodID,
- jni, clas, "<init>","(Ljava/lang/String;)V")) != NULL)) {
- NSK_CPP_STUB2(FatalError, jni,
- "failed to get ID for the java method\n");
+ if (!NSK_JNI_VERIFY(jni, (method = jni->GetMethodID(clas, "<init>", "(Ljava/lang/String;)V")) != NULL)) {
+ jni->FatalError("failed to get ID for the java method\n");
}
thread = (jthread) jni->NewObject(clas,method,name);
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/hotswap/HS104/hs104t002/hs104t002.cpp Thu Oct 18 18:02:17 2018 -0400
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/hotswap/HS104/hs104t002/hs104t002.cpp Thu Oct 18 18:04:05 2018 -0400
@@ -49,8 +49,7 @@
}
#endif
jint Agent_Initialize(JavaVM *vm, char *options, void *reserved){
- if ( ! NSK_VERIFY ( JNI_OK == NSK_CPP_STUB3(GetEnv, vm,
- (void **)&jvmti, JVMTI_VERSION_1_1) ) ) {
+ if ( ! NSK_VERIFY ( JNI_OK == vm->GetEnv((void **)&jvmti, JVMTI_VERSION_1_1) ) ) {
nsk_printf("#error Agent :: Could not load JVMTI interface.\n");
return JNI_ERR;
} else {
@@ -61,8 +60,7 @@
}
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) )) {
nsk_printf("#error Agent :: occured while adding capabilities.\n");
return JNI_ERR;
}
@@ -76,8 +74,7 @@
jclass cla;
char fileName[512];
- if ( ! NSK_JNI_VERIFY(jni, ( cla = NSK_CPP_STUB2(FindClass,
- jni, SEARCH_NAME) ) != NULL ) ) {
+ if ( ! NSK_JNI_VERIFY(jni, ( cla = jni->FindClass(SEARCH_NAME) ) != NULL ) ) {
nsk_printf(" Agent :: Failed to get class.\n");
nsk_jvmti_agentFailed();
return;
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/hotswap/HS201/hs201t001/hs201t001.cpp Thu Oct 18 18:02:17 2018 -0400
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/hotswap/HS201/hs201t001/hs201t001.cpp Thu Oct 18 18:04:05 2018 -0400
@@ -64,15 +64,12 @@
jfieldID fld;
if (!NSK_JNI_VERIFY(jni_env, (fld =
- NSK_CPP_STUB4(GetStaticFieldID, jni_env, testClass, "currentStep", "I")) != NULL)) {
- NSK_CPP_STUB2(FatalError, jni_env,
- "TEST FAILED: while getting currentStep fieldID\n");
+ jni_env->GetStaticFieldID(testClass, "currentStep", "I")) != NULL)) {
+ jni_env->FatalError("TEST FAILED: while getting currentStep fieldID\n");
}
- if (!NSK_JNI_VERIFY_VOID(jni_env,
- NSK_CPP_STUB4(SetStaticIntField, jni_env, testClass, fld, value))) {
- NSK_CPP_STUB2(FatalError, jni_env,
- "TEST FAILED: while setting value of currentStep fieldID\n");
+ if (!NSK_JNI_VERIFY_VOID(jni_env, jni_env->SetStaticIntField(testClass, fld, value))) {
+ jni_env->FatalError("TEST FAILED: while setting value of currentStep fieldID\n");
}
}
@@ -81,9 +78,7 @@
void enableEvent(jvmtiEnv *jvmti_env, jvmtiEvent event, jthread thread) {
- if (!NSK_JVMTI_VERIFY(
- NSK_CPP_STUB4(SetEventNotificationMode, jvmti_env, JVMTI_ENABLE,
- event, thread))) {
+ if (!NSK_JVMTI_VERIFY(jvmti_env->SetEventNotificationMode(JVMTI_ENABLE, event, thread))) {
NSK_COMPLAIN1("TEST FAILED: enabling %s\n", TranslateEvent(event));
nsk_jvmti_setFailStatus();
}
@@ -93,9 +88,7 @@
void disableEvent(jvmtiEnv *jvmti_env, jvmtiEvent event, jthread thread) {
- if (!NSK_JVMTI_VERIFY(
- NSK_CPP_STUB4(SetEventNotificationMode, jvmti_env, JVMTI_DISABLE,
- event, thread))) {
+ if (!NSK_JVMTI_VERIFY(jvmti_env->SetEventNotificationMode(JVMTI_DISABLE, event, thread))) {
NSK_COMPLAIN1("TEST FAILED: disabling %s\n", TranslateEvent(event));
nsk_jvmti_setFailStatus();
}
@@ -109,9 +102,7 @@
char *className;
- if (!NSK_JVMTI_VERIFY(
- NSK_CPP_STUB4(GetClassSignature, jvmti_env, klass,
- &className, NULL))) {
+ if (!NSK_JVMTI_VERIFY(jvmti_env->GetClassSignature(klass, &className, NULL))) {
nsk_jvmti_setFailStatus();
return;
}
@@ -127,15 +118,13 @@
classDef.class_bytes = newClassBytes;
NSK_DISPLAY1("\tredefining class %s\n", className);
- if (!NSK_JVMTI_VERIFY(
- NSK_CPP_STUB3(RedefineClasses, jvmti_env, 1, &classDef))) {
+ if (!NSK_JVMTI_VERIFY(jvmti_env->RedefineClasses(1, &classDef))) {
NSK_COMPLAIN1("TEST FAILED: while redefining class %s\n", className);
nsk_jvmti_setFailStatus();
return;
}
- if (!NSK_JVMTI_VERIFY(NSK_CPP_STUB2(Deallocate,
- jvmti_env, (unsigned char*)className))) {
+ if (!NSK_JVMTI_VERIFY(jvmti_env->Deallocate((unsigned char*)className))) {
nsk_jvmti_setFailStatus();
}
@@ -163,8 +152,8 @@
if (!nsk_jvmti_waitForSync(timeout))
return;
- NSK_TRACE(NSK_CPP_STUB2(DeleteGlobalRef, jni, testClass));
- NSK_TRACE(NSK_CPP_STUB2(DeleteGlobalRef, jni, testedThread));
+ NSK_TRACE(jni->DeleteGlobalRef(testClass));
+ NSK_TRACE(jni->DeleteGlobalRef(testedThread));
NSK_DISPLAY0("Let debuggee to finish\n");
if (!nsk_jvmti_resumeSync())
@@ -176,15 +165,11 @@
void setBreakPoint(jvmtiEnv *jvmti_env, JNIEnv *jni_env, jclass klass) {
jmethodID mid;
- if (!NSK_JNI_VERIFY(jni_env, (mid = NSK_CPP_STUB4(GetMethodID,
- jni_env, klass, METHOD_NAME, METHOD_SIG)) != NULL))
- NSK_CPP_STUB2(FatalError, jni_env,
- "[agent] failed to get ID for the java method\n");
+ if (!NSK_JNI_VERIFY(jni_env, (mid = jni_env->GetMethodID(klass, METHOD_NAME, METHOD_SIG)) != NULL))
+ jni_env->FatalError("[agent] failed to get ID for the java method\n");
- if (!NSK_JVMTI_VERIFY(NSK_CPP_STUB3(SetBreakpoint,
- jvmti_env, mid, 1)))
- NSK_CPP_STUB2(FatalError, jni_env,
- "[agent] failed to set breakpoint\n");
+ if (!NSK_JVMTI_VERIFY(jvmti_env->SetBreakpoint(mid, 1)))
+ jni_env->FatalError("[agent] failed to set breakpoint\n");
}
/* ============================================================================= */
@@ -200,9 +185,7 @@
char *className;
char *generic;
- if (!NSK_JVMTI_VERIFY(
- NSK_CPP_STUB4(GetClassSignature, jvmti_env, klass,
- &className, &generic))) {
+ if (!NSK_JVMTI_VERIFY(jvmti_env->GetClassSignature(klass, &className, &generic))) {
nsk_jvmti_setFailStatus();
return;
}
@@ -215,14 +198,12 @@
setBreakPoint(jvmti_env, jni_env, klass);
}
- if (!NSK_JVMTI_VERIFY(NSK_CPP_STUB2(Deallocate,
- jvmti_env, (unsigned char*)className))) {
+ if (!NSK_JVMTI_VERIFY(jvmti_env->Deallocate((unsigned char*)className))) {
nsk_jvmti_setFailStatus();
}
if (generic != NULL)
- if (!NSK_JVMTI_VERIFY(NSK_CPP_STUB2(Deallocate,
- jvmti_env, (unsigned char*)generic))) {
+ if (!NSK_JVMTI_VERIFY(jvmti_env->Deallocate((unsigned char*)generic))) {
nsk_jvmti_setFailStatus();
}
}
@@ -253,8 +234,7 @@
char *methodName;
- if (!NSK_JVMTI_VERIFY(NSK_CPP_STUB5(GetMethodName,
- jvmti_env, method, &methodName, NULL, NULL))) {
+ if (!NSK_JVMTI_VERIFY(jvmti_env->GetMethodName(method, &methodName, NULL, NULL))) {
NSK_COMPLAIN0("TEST FAILED: unable to get method name during Breakpoint callback\n\n");
}
@@ -262,13 +242,11 @@
char *declaringClassName;
jclass declaringClass;
- if (!NSK_JVMTI_VERIFY(NSK_CPP_STUB3(GetMethodDeclaringClass,
- jvmti_env, method, &declaringClass))) {
+ if (!NSK_JVMTI_VERIFY(jvmti_env->GetMethodDeclaringClass(method, &declaringClass))) {
NSK_COMPLAIN0("TEST FAILED: unable to get method name during Breakpoint callback\n\n");
}
- if (!NSK_JVMTI_VERIFY(NSK_CPP_STUB4(GetClassSignature,
- jvmti_env, declaringClass, &declaringClassName, NULL))) {
+ if (!NSK_JVMTI_VERIFY(jvmti_env->GetClassSignature(declaringClass, &declaringClassName, NULL))) {
NSK_COMPLAIN0("TEST FAILED: unable to get method name during Breakpoint callback\n\n");
}
@@ -292,8 +270,7 @@
NSK_DISPLAY1("\n\n>>>> Checking if redefined method is obsolete\n", testStep);
- if (!NSK_JVMTI_VERIFY(
- NSK_CPP_STUB3(IsMethodObsolete, jvmti, method, &is_obsolete))) {
+ if (!NSK_JVMTI_VERIFY(jvmti->IsMethodObsolete(method, &is_obsolete))) {
NSK_COMPLAIN0("TEST FAILED: unable to check method to be obsolete\n");
nsk_jvmti_setFailStatus();
return;
@@ -326,15 +303,13 @@
}
- if (!NSK_JVMTI_VERIFY(NSK_CPP_STUB2(Deallocate,
- jvmti_env, (unsigned char*) declaringClassName))) {
+ if (!NSK_JVMTI_VERIFY(jvmti_env->Deallocate((unsigned char*) declaringClassName))) {
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*) methodName))) {
+ if (!NSK_JVMTI_VERIFY(jvmti_env->Deallocate((unsigned char*) methodName))) {
NSK_COMPLAIN0("TEST FAILED: unable to deallocate memory pointed to method name\n\n");
}
@@ -362,8 +337,7 @@
className, getThreadName(jni_env, thread));
testStep++;
- if (!NSK_JNI_VERIFY(jni_env, (klass =
- NSK_CPP_STUB2(GetObjectClass, jni_env, exception)) != NULL)) {
+ if (!NSK_JNI_VERIFY(jni_env, (klass = jni_env->GetObjectClass(exception)) != NULL)) {
nsk_jvmti_setFailStatus();
return;
}
@@ -394,8 +368,7 @@
className, getThreadName(jni_env, thread));
testStep++;
- if (!NSK_JNI_VERIFY(jni_env, (klass =
- NSK_CPP_STUB2(GetObjectClass, jni_env, exception)) != NULL)) {
+ if (!NSK_JNI_VERIFY(jni_env, (klass = jni_env->GetObjectClass(exception)) != NULL)) {
nsk_jvmti_setFailStatus();
return;
}
@@ -435,8 +408,7 @@
newClassSize = ftell(bytecode);
rewind(bytecode);
- if (!NSK_JVMTI_VERIFY(NSK_CPP_STUB3(Allocate, jvmti,
- newClassSize, &newClassBytes))) {
+ if (!NSK_JVMTI_VERIFY(jvmti->Allocate(newClassSize, &newClassBytes))) {
NSK_COMPLAIN0("buffer couldn't be allocated\n");
return NSK_FALSE;
}
@@ -460,27 +432,24 @@
strcpy(chbuffer, "");
- if (!NSK_JNI_VERIFY(jni_env, (klass =
- NSK_CPP_STUB2(GetObjectClass, jni_env, thread)) != NULL)) {
+ if (!NSK_JNI_VERIFY(jni_env, (klass = jni_env->GetObjectClass(thread)) != NULL)) {
nsk_jvmti_setFailStatus();
return chbuffer;
}
if (!NSK_JNI_VERIFY(jni_env, (methodID =
- NSK_CPP_STUB4(GetMethodID, jni_env, klass,
- "getName", "()Ljava/lang/String;")) != NULL)) {
+ jni_env->GetMethodID(klass, "getName", "()Ljava/lang/String;")) != NULL)) {
nsk_jvmti_setFailStatus();
return chbuffer;
}
- jthreadName = (jstring) NSK_CPP_STUB3(CallObjectMethod, jni_env, thread,
- methodID);
+ jthreadName = (jstring) jni_env->CallObjectMethod(thread, methodID);
- threadName = NSK_CPP_STUB3(GetStringUTFChars, jni_env, jthreadName, 0);
+ threadName = jni_env->GetStringUTFChars(jthreadName, 0);
strcpy(chbuffer, threadName);
- NSK_CPP_STUB3(ReleaseStringUTFChars, jni_env, jthreadName, threadName);
+ jni_env->ReleaseStringUTFChars(jthreadName, threadName);
return chbuffer;
}
@@ -495,29 +464,24 @@
strcpy(chbuffer, "");
- if (!NSK_JNI_VERIFY(jni_env, (klass =
- NSK_CPP_STUB2(GetObjectClass, jni_env, object)) != NULL)) {
+ if (!NSK_JNI_VERIFY(jni_env, (klass = jni_env->GetObjectClass(object)) != NULL)) {
nsk_jvmti_setFailStatus();
return chbuffer;
}
- if (!NSK_JVMTI_VERIFY(
- NSK_CPP_STUB4(GetClassSignature, jvmti_env, klass,
- &className, &generic))) {
+ if (!NSK_JVMTI_VERIFY(jvmti_env->GetClassSignature(klass, &className, &generic))) {
nsk_jvmti_setFailStatus();
return chbuffer;
}
strcpy(chbuffer, className);
- if (!NSK_JVMTI_VERIFY(NSK_CPP_STUB2(Deallocate,
- jvmti_env, (unsigned char*)className))) {
+ if (!NSK_JVMTI_VERIFY(jvmti_env->Deallocate((unsigned char*)className))) {
nsk_jvmti_setFailStatus();
}
if (generic != NULL)
- if (!NSK_JVMTI_VERIFY(NSK_CPP_STUB2(Deallocate,
- jvmti_env, (unsigned char*)generic))) {
+ if (!NSK_JVMTI_VERIFY(jvmti_env->Deallocate((unsigned char*)generic))) {
nsk_jvmti_setFailStatus();
}
@@ -535,8 +499,7 @@
jint value = -1;
/* getting local variable table*/
- if (!NSK_JVMTI_VERIFY(NSK_CPP_STUB4(GetLocalVariableTable,
- jvmti_env, method, &entryCount, &table))) {
+ if (!NSK_JVMTI_VERIFY(jvmti_env->GetLocalVariableTable(method, &entryCount, &table))) {
NSK_COMPLAIN0("TEST FAILED: unable to get local variable table\n\n");
}
@@ -545,8 +508,7 @@
for (i = 0; i < entryCount; i++) {
if (strcmp(table[i].name, LOCAL_VARIABLE_NAME) == 0) {
- error = NSK_CPP_STUB5(GetLocalInt, jvmti_env, thread, 0,
- table[i].slot, &value);
+ error = jvmti_env->GetLocalInt(thread, 0, table[i].slot, &value);
if (!NSK_VERIFY(error == JVMTI_ERROR_NONE
|| error == JVMTI_ERROR_INVALID_SLOT))
NSK_COMPLAIN0("TEST FAILED: unable to get local variable table\n\n");
@@ -555,20 +517,17 @@
for (i = 0; i < entryCount; i++) {
- if (!NSK_JVMTI_VERIFY(NSK_CPP_STUB2(Deallocate,
- jvmti_env, (unsigned char*)table[i].name))) {
+ if (!NSK_JVMTI_VERIFY(jvmti_env->Deallocate((unsigned char*)table[i].name))) {
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*)table[i].signature))) {
+ if (!NSK_JVMTI_VERIFY(jvmti_env->Deallocate((unsigned char*)table[i].signature))) {
NSK_COMPLAIN0("TEST FAILED: unable to deallocate memory pointed to method signature\n\n");
}
}
- if (!NSK_JVMTI_VERIFY(NSK_CPP_STUB2(Deallocate,
- jvmti_env, (unsigned char*)table))) {
+ if (!NSK_JVMTI_VERIFY(jvmti_env->Deallocate((unsigned char*)table))) {
NSK_COMPLAIN0("TEST FAILED: unable to deallocate memory pointed to local variable table\n\n");
}
@@ -583,12 +542,10 @@
Java_nsk_jvmti_scenarios_hotswap_HS201_hs201t001_setThread(JNIEnv *env,
jclass cls, jthread thread) {
- if (!NSK_JNI_VERIFY(env, (testClass = (jclass)
- NSK_CPP_STUB2(NewGlobalRef, env, cls)) != NULL))
+ if (!NSK_JNI_VERIFY(env, (testClass = (jclass) env->NewGlobalRef(cls)) != NULL))
nsk_jvmti_setFailStatus();
- if (!NSK_JNI_VERIFY(env, (testedThread =
- NSK_CPP_STUB2(NewGlobalRef, env, thread)) != NULL))
+ if (!NSK_JNI_VERIFY(env, (testedThread = env->NewGlobalRef(thread)) != NULL))
nsk_jvmti_setFailStatus();
}
@@ -602,8 +559,7 @@
NSK_DISPLAY0("\tresuming thread...\n");
disableEvent(jvmti, JVMTI_EVENT_SINGLE_STEP, thread);
- if (!NSK_JVMTI_VERIFY(
- NSK_CPP_STUB2(ResumeThread, jvmti, thread))) {
+ if (!NSK_JVMTI_VERIFY(jvmti->ResumeThread(thread))) {
NSK_COMPLAIN0("TEST FAILED: unable to resume the thread\n");
nsk_jvmti_setFailStatus();
return JNI_FALSE;
@@ -621,8 +577,7 @@
NSK_DISPLAY0("\tsuspending thread...\n");
disableEvent(jvmti, JVMTI_EVENT_SINGLE_STEP, thread);
- if (!NSK_JVMTI_VERIFY(
- NSK_CPP_STUB2(SuspendThread, jvmti, thread))) {
+ if (!NSK_JVMTI_VERIFY(jvmti->SuspendThread(thread))) {
NSK_COMPLAIN0("TEST FAILED: unable to suspend the thread\n");
nsk_jvmti_setFailStatus();
return JNI_FALSE;
@@ -638,16 +593,14 @@
jclass cls, jthread thread) {
NSK_DISPLAY0("\tpopping frame...\n");
- if (!NSK_JVMTI_VERIFY(
- NSK_CPP_STUB2(PopFrame, jvmti, thread))) {
+ if (!NSK_JVMTI_VERIFY(jvmti->PopFrame(thread))) {
NSK_COMPLAIN0("TEST FAILED: unable to pop the currently executed frame\n");
nsk_jvmti_setFailStatus();
return JNI_FALSE;
}
NSK_DISPLAY0("\tresuming thread...\n");
- if (!NSK_JVMTI_VERIFY(
- NSK_CPP_STUB2(ResumeThread, jvmti, thread))) {
+ if (!NSK_JVMTI_VERIFY(jvmti->ResumeThread(thread))) {
NSK_COMPLAIN0("TEST FAILED: unable to resume the thread\n");
nsk_jvmti_setFailStatus();
return NSK_FALSE;
@@ -696,8 +649,7 @@
caps.can_pop_frame = 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;
}
@@ -709,9 +661,7 @@
eventCallbacks.ExceptionCatch = callbackExceptionCatch;
eventCallbacks.Breakpoint = callbackBreakpoint;
eventCallbacks.SingleStep = callbackSingleStep;
- 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/scenarios/hotswap/HS201/hs201t002/hs201t002.cpp Thu Oct 18 18:02:17 2018 -0400
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/hotswap/HS201/hs201t002/hs201t002.cpp Thu Oct 18 18:04:05 2018 -0400
@@ -64,15 +64,12 @@
jfieldID fld;
if (!NSK_JNI_VERIFY(jni_env, (fld =
- NSK_CPP_STUB4(GetStaticFieldID, jni_env, testClass, "currentStep", "I")) != NULL)) {
- NSK_CPP_STUB2(FatalError, jni_env,
- "TEST FAILED: while getting currentStep fieldID\n");
+ jni_env->GetStaticFieldID(testClass, "currentStep", "I")) != NULL)) {
+ jni_env->FatalError("TEST FAILED: while getting currentStep fieldID\n");
}
- if (!NSK_JNI_VERIFY_VOID(jni_env,
- NSK_CPP_STUB4(SetStaticIntField, jni_env, testClass, fld, value))) {
- NSK_CPP_STUB2(FatalError, jni_env,
- "TEST FAILED: while setting value of currentStep fieldID\n");
+ if (!NSK_JNI_VERIFY_VOID(jni_env, jni_env->SetStaticIntField(testClass, fld, value))) {
+ jni_env->FatalError("TEST FAILED: while setting value of currentStep fieldID\n");
}
}
@@ -81,9 +78,7 @@
void enableEvent(jvmtiEnv *jvmti_env, jvmtiEvent event, jthread thread) {
- if (!NSK_JVMTI_VERIFY(
- NSK_CPP_STUB4(SetEventNotificationMode, jvmti_env, JVMTI_ENABLE,
- event, thread))) {
+ if (!NSK_JVMTI_VERIFY(jvmti_env->SetEventNotificationMode(JVMTI_ENABLE, event, thread))) {
NSK_COMPLAIN1("TEST FAILED: enabling %s\n", TranslateEvent(event));
nsk_jvmti_setFailStatus();
}
@@ -93,9 +88,7 @@
void disableEvent(jvmtiEnv *jvmti_env, jvmtiEvent event, jthread thread) {
- if (!NSK_JVMTI_VERIFY(
- NSK_CPP_STUB4(SetEventNotificationMode, jvmti_env, JVMTI_DISABLE,
- event, thread))) {
+ if (!NSK_JVMTI_VERIFY(jvmti_env->SetEventNotificationMode(JVMTI_DISABLE, event, thread))) {
NSK_COMPLAIN1("TEST FAILED: disabling %s\n", TranslateEvent(event));
nsk_jvmti_setFailStatus();
}
@@ -109,9 +102,7 @@
char *className;
- if (!NSK_JVMTI_VERIFY(
- NSK_CPP_STUB4(GetClassSignature, jvmti_env, klass,
- &className, NULL))) {
+ if (!NSK_JVMTI_VERIFY(jvmti_env->GetClassSignature(klass, &className, NULL))) {
nsk_jvmti_setFailStatus();
return;
}
@@ -127,15 +118,13 @@
classDef.class_bytes = newClassBytes;
NSK_DISPLAY1("\tredefining class %s\n", className);
- if (!NSK_JVMTI_VERIFY(
- NSK_CPP_STUB3(RedefineClasses, jvmti_env, 1, &classDef))) {
+ if (!NSK_JVMTI_VERIFY(jvmti_env->RedefineClasses(1, &classDef))) {
NSK_COMPLAIN1("TEST FAILED: while redefining class %s\n", className);
nsk_jvmti_setFailStatus();
return;
}
- if (!NSK_JVMTI_VERIFY(NSK_CPP_STUB2(Deallocate,
- jvmti_env, (unsigned char*)className))) {
+ if (!NSK_JVMTI_VERIFY(jvmti_env->Deallocate((unsigned char*)className))) {
nsk_jvmti_setFailStatus();
}
@@ -163,8 +152,8 @@
if (!nsk_jvmti_waitForSync(timeout))
return;
- NSK_TRACE(NSK_CPP_STUB2(DeleteGlobalRef, jni, testClass));
- NSK_TRACE(NSK_CPP_STUB2(DeleteGlobalRef, jni, testedThread));
+ NSK_TRACE(jni->DeleteGlobalRef(testClass));
+ NSK_TRACE(jni->DeleteGlobalRef(testedThread));
NSK_DISPLAY0("Let debuggee to finish\n");
if (!nsk_jvmti_resumeSync())
@@ -176,15 +165,11 @@
void setBreakPoint(jvmtiEnv *jvmti_env, JNIEnv *jni_env, jclass klass) {
jmethodID mid;
- if (!NSK_JNI_VERIFY(jni_env, (mid = NSK_CPP_STUB4(GetMethodID,
- jni_env, klass, METHOD_NAME, METHOD_SIG)) != NULL))
- NSK_CPP_STUB2(FatalError, jni_env,
- "[agent] failed to get ID for the java method\n");
+ if (!NSK_JNI_VERIFY(jni_env, (mid = jni_env->GetMethodID(klass, METHOD_NAME, METHOD_SIG)) != NULL))
+ jni_env->FatalError("[agent] failed to get ID for the java method\n");
- if (!NSK_JVMTI_VERIFY(NSK_CPP_STUB3(SetBreakpoint,
- jvmti_env, mid, 1)))
- NSK_CPP_STUB2(FatalError, jni_env,
- "[agent] failed to set breakpoint\n");
+ if (!NSK_JVMTI_VERIFY(jvmti_env->SetBreakpoint(mid, 1)))
+ jni_env->FatalError("[agent] failed to set breakpoint\n");
}
/* ============================================================================= */
@@ -200,9 +185,7 @@
char *className;
char *generic;
- if (!NSK_JVMTI_VERIFY(
- NSK_CPP_STUB4(GetClassSignature, jvmti_env, klass,
- &className, &generic))) {
+ if (!NSK_JVMTI_VERIFY(jvmti_env->GetClassSignature(klass, &className, &generic))) {
nsk_jvmti_setFailStatus();
return;
}
@@ -215,14 +198,12 @@
setBreakPoint(jvmti_env, jni_env, klass);
}
- if (!NSK_JVMTI_VERIFY(NSK_CPP_STUB2(Deallocate,
- jvmti_env, (unsigned char*)className))) {
+ if (!NSK_JVMTI_VERIFY(jvmti_env->Deallocate((unsigned char*)className))) {
nsk_jvmti_setFailStatus();
}
if (generic != NULL)
- if (!NSK_JVMTI_VERIFY(NSK_CPP_STUB2(Deallocate,
- jvmti_env, (unsigned char*)generic))) {
+ if (!NSK_JVMTI_VERIFY(jvmti_env->Deallocate((unsigned char*)generic))) {
nsk_jvmti_setFailStatus();
}
}
@@ -253,8 +234,7 @@
char *methodName;
- if (!NSK_JVMTI_VERIFY(NSK_CPP_STUB5(GetMethodName,
- jvmti_env, method, &methodName, NULL, NULL))) {
+ if (!NSK_JVMTI_VERIFY(jvmti_env->GetMethodName(method, &methodName, NULL, NULL))) {
NSK_COMPLAIN0("TEST FAILED: unable to get method name during Breakpoint callback\n\n");
}
@@ -262,13 +242,11 @@
char *declaringClassName;
jclass declaringClass;
- if (!NSK_JVMTI_VERIFY(NSK_CPP_STUB3(GetMethodDeclaringClass,
- jvmti_env, method, &declaringClass))) {
+ if (!NSK_JVMTI_VERIFY(jvmti_env->GetMethodDeclaringClass(method, &declaringClass))) {
NSK_COMPLAIN0("TEST FAILED: unable to get method name during Breakpoint callback\n\n");
}
- if (!NSK_JVMTI_VERIFY(NSK_CPP_STUB4(GetClassSignature,
- jvmti_env, declaringClass, &declaringClassName, NULL))) {
+ if (!NSK_JVMTI_VERIFY(jvmti_env->GetClassSignature(declaringClass, &declaringClassName, NULL))) {
NSK_COMPLAIN0("TEST FAILED: unable to get method name during Breakpoint callback\n\n");
}
@@ -292,8 +270,7 @@
NSK_DISPLAY1("\n\n>>>> Checking if redefined method is not obsolete\n", testStep);
- if (!NSK_JVMTI_VERIFY(
- NSK_CPP_STUB3(IsMethodObsolete, jvmti, method, &is_obsolete))) {
+ if (!NSK_JVMTI_VERIFY(jvmti->IsMethodObsolete(method, &is_obsolete))) {
NSK_COMPLAIN0("TEST FAILED: unable to check method to be obsolete\n");
nsk_jvmti_setFailStatus();
return;
@@ -326,15 +303,13 @@
}
- if (!NSK_JVMTI_VERIFY(NSK_CPP_STUB2(Deallocate,
- jvmti_env, (unsigned char*) declaringClassName))) {
+ if (!NSK_JVMTI_VERIFY(jvmti_env->Deallocate((unsigned char*) declaringClassName))) {
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*) methodName))) {
+ if (!NSK_JVMTI_VERIFY(jvmti_env->Deallocate((unsigned char*) methodName))) {
NSK_COMPLAIN0("TEST FAILED: unable to deallocate memory pointed to method name\n\n");
}
@@ -362,8 +337,7 @@
className, getThreadName(jni_env, thread));
testStep++;
- if (!NSK_JNI_VERIFY(jni_env, (klass =
- NSK_CPP_STUB2(GetObjectClass, jni_env, exception)) != NULL)) {
+ if (!NSK_JNI_VERIFY(jni_env, (klass = jni_env->GetObjectClass(exception)) != NULL)) {
nsk_jvmti_setFailStatus();
return;
}
@@ -394,8 +368,7 @@
className, getThreadName(jni_env, thread));
testStep++;
- if (!NSK_JNI_VERIFY(jni_env, (klass =
- NSK_CPP_STUB2(GetObjectClass, jni_env, exception)) != NULL)) {
+ if (!NSK_JNI_VERIFY(jni_env, (klass = jni_env->GetObjectClass(exception)) != NULL)) {
nsk_jvmti_setFailStatus();
return;
}
@@ -435,8 +408,7 @@
newClassSize = ftell(bytecode);
rewind(bytecode);
- if (!NSK_JVMTI_VERIFY(NSK_CPP_STUB3(Allocate, jvmti,
- newClassSize, &newClassBytes))) {
+ if (!NSK_JVMTI_VERIFY(jvmti->Allocate(newClassSize, &newClassBytes))) {
NSK_COMPLAIN0("buffer couldn't be allocated\n");
return NSK_FALSE;
}
@@ -460,27 +432,24 @@
strcpy(chbuffer, "");
- if (!NSK_JNI_VERIFY(jni_env, (klass =
- NSK_CPP_STUB2(GetObjectClass, jni_env, thread)) != NULL)) {
+ if (!NSK_JNI_VERIFY(jni_env, (klass = jni_env->GetObjectClass(thread)) != NULL)) {
nsk_jvmti_setFailStatus();
return chbuffer;
}
if (!NSK_JNI_VERIFY(jni_env, (methodID =
- NSK_CPP_STUB4(GetMethodID, jni_env, klass,
- "getName", "()Ljava/lang/String;")) != NULL)) {
+ jni_env->GetMethodID(klass, "getName", "()Ljava/lang/String;")) != NULL)) {
nsk_jvmti_setFailStatus();
return chbuffer;
}
- jthreadName = (jstring) NSK_CPP_STUB3(CallObjectMethod, jni_env, thread,
- methodID);
+ jthreadName = (jstring) jni_env->CallObjectMethod(thread, methodID);
- threadName = NSK_CPP_STUB3(GetStringUTFChars, jni_env, jthreadName, 0);
+ threadName = jni_env->GetStringUTFChars(jthreadName, 0);
strcpy(chbuffer, threadName);
- NSK_CPP_STUB3(ReleaseStringUTFChars, jni_env, jthreadName, threadName);
+ jni_env->ReleaseStringUTFChars(jthreadName, threadName);
return chbuffer;
}
@@ -495,29 +464,24 @@
strcpy(chbuffer, "");
- if (!NSK_JNI_VERIFY(jni_env, (klass =
- NSK_CPP_STUB2(GetObjectClass, jni_env, object)) != NULL)) {
+ if (!NSK_JNI_VERIFY(jni_env, (klass = jni_env->GetObjectClass(object)) != NULL)) {
nsk_jvmti_setFailStatus();
return chbuffer;
}
- if (!NSK_JVMTI_VERIFY(
- NSK_CPP_STUB4(GetClassSignature, jvmti_env, klass,
- &className, &generic))) {
+ if (!NSK_JVMTI_VERIFY(jvmti_env->GetClassSignature(klass, &className, &generic))) {
nsk_jvmti_setFailStatus();
return chbuffer;
}
strcpy(chbuffer, className);
- if (!NSK_JVMTI_VERIFY(NSK_CPP_STUB2(Deallocate,
- jvmti_env, (unsigned char*)className))) {
+ if (!NSK_JVMTI_VERIFY(jvmti_env->Deallocate((unsigned char*)className))) {
nsk_jvmti_setFailStatus();
}
if (generic != NULL)
- if (!NSK_JVMTI_VERIFY(NSK_CPP_STUB2(Deallocate,
- jvmti_env, (unsigned char*)generic))) {
+ if (!NSK_JVMTI_VERIFY(jvmti_env->Deallocate((unsigned char*)generic))) {
nsk_jvmti_setFailStatus();
}
@@ -535,8 +499,7 @@
jint value = -1;
/* getting local variable table*/
- if (!NSK_JVMTI_VERIFY(NSK_CPP_STUB4(GetLocalVariableTable,
- jvmti_env, method, &entryCount, &table))) {
+ if (!NSK_JVMTI_VERIFY(jvmti_env->GetLocalVariableTable(method, &entryCount, &table))) {
NSK_COMPLAIN0("TEST FAILED: unable to get local variable table\n\n");
}
@@ -545,8 +508,7 @@
for (i = 0; i < entryCount; i++) {
if (strcmp(table[i].name, LOCAL_VARIABLE_NAME) == 0) {
- error = NSK_CPP_STUB5(GetLocalInt, jvmti_env, thread, 0,
- table[i].slot, &value);
+ error = jvmti_env->GetLocalInt(thread, 0, table[i].slot, &value);
if (!NSK_VERIFY(error == JVMTI_ERROR_NONE
|| error == JVMTI_ERROR_INVALID_SLOT))
NSK_COMPLAIN0("TEST FAILED: unable to get local variable table\n\n");
@@ -555,20 +517,17 @@
for (i = 0; i < entryCount; i++) {
- if (!NSK_JVMTI_VERIFY(NSK_CPP_STUB2(Deallocate,
- jvmti_env, (unsigned char*)table[i].name))) {
+ if (!NSK_JVMTI_VERIFY(jvmti_env->Deallocate((unsigned char*)table[i].name))) {
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*)table[i].signature))) {
+ if (!NSK_JVMTI_VERIFY(jvmti_env->Deallocate((unsigned char*)table[i].signature))) {
NSK_COMPLAIN0("TEST FAILED: unable to deallocate memory pointed to method signature\n\n");
}
}
- if (!NSK_JVMTI_VERIFY(NSK_CPP_STUB2(Deallocate,
- jvmti_env, (unsigned char*)table))) {
+ if (!NSK_JVMTI_VERIFY(jvmti_env->Deallocate((unsigned char*)table))) {
NSK_COMPLAIN0("TEST FAILED: unable to deallocate memory pointed to local variable table\n\n");
}
@@ -583,12 +542,10 @@
Java_nsk_jvmti_scenarios_hotswap_HS201_hs201t002_setThread(JNIEnv *env,
jclass cls, jthread thread) {
- if (!NSK_JNI_VERIFY(env, (testClass = (jclass)
- NSK_CPP_STUB2(NewGlobalRef, env, cls)) != NULL))
+ if (!NSK_JNI_VERIFY(env, (testClass = (jclass) env->NewGlobalRef(cls)) != NULL))
nsk_jvmti_setFailStatus();
- if (!NSK_JNI_VERIFY(env, (testedThread =
- NSK_CPP_STUB2(NewGlobalRef, env, thread)) != NULL))
+ if (!NSK_JNI_VERIFY(env, (testedThread = env->NewGlobalRef(thread)) != NULL))
nsk_jvmti_setFailStatus();
}
@@ -602,8 +559,7 @@
NSK_DISPLAY0("\tresuming thread...\n");
disableEvent(jvmti, JVMTI_EVENT_SINGLE_STEP, thread);
- if (!NSK_JVMTI_VERIFY(
- NSK_CPP_STUB2(ResumeThread, jvmti, thread))) {
+ if (!NSK_JVMTI_VERIFY(jvmti->ResumeThread(thread))) {
NSK_COMPLAIN0("TEST FAILED: unable to resume the thread\n");
nsk_jvmti_setFailStatus();
return NSK_FALSE;
@@ -621,8 +577,7 @@
NSK_DISPLAY0("\tsuspending thread...\n");
disableEvent(jvmti, JVMTI_EVENT_SINGLE_STEP, thread);
- if (!NSK_JVMTI_VERIFY(
- NSK_CPP_STUB2(SuspendThread, jvmti, thread))) {
+ if (!NSK_JVMTI_VERIFY(jvmti->SuspendThread(thread))) {
NSK_COMPLAIN0("TEST FAILED: unable to suspend the thread\n");
nsk_jvmti_setFailStatus();
return NSK_FALSE;
@@ -638,16 +593,14 @@
jclass cls, jthread thread) {
NSK_DISPLAY0("\tpopping frame...\n");
- if (!NSK_JVMTI_VERIFY(
- NSK_CPP_STUB2(PopFrame, jvmti, thread))) {
+ if (!NSK_JVMTI_VERIFY(jvmti->PopFrame(thread))) {
NSK_COMPLAIN0("TEST FAILED: unable to pop the currently executed frame\n");
nsk_jvmti_setFailStatus();
return NSK_FALSE;
}
NSK_DISPLAY0("\tresuming thread...\n");
- if (!NSK_JVMTI_VERIFY(
- NSK_CPP_STUB2(ResumeThread, jvmti, thread))) {
+ if (!NSK_JVMTI_VERIFY(jvmti->ResumeThread(thread))) {
NSK_COMPLAIN0("TEST FAILED: unable to resume the thread\n");
nsk_jvmti_setFailStatus();
return NSK_FALSE;
@@ -696,8 +649,7 @@
caps.can_pop_frame = 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;
}
@@ -709,9 +661,7 @@
eventCallbacks.ExceptionCatch = callbackExceptionCatch;
eventCallbacks.Breakpoint = callbackBreakpoint;
eventCallbacks.SingleStep = callbackSingleStep;
- 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/scenarios/hotswap/HS201/hs201t003/hs201t003.cpp Thu Oct 18 18:02:17 2018 -0400
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/hotswap/HS201/hs201t003/hs201t003.cpp Thu Oct 18 18:04:05 2018 -0400
@@ -63,9 +63,9 @@
(JNIEnv *jni_env, jclass cls, jbyteArray classBytes) {
jboolean isCopy;
- bytesCount = NSK_CPP_STUB2(GetArrayLength, jni_env, classBytes);
+ bytesCount = jni_env->GetArrayLength(classBytes);
clsBytes =
- NSK_CPP_STUB3(GetByteArrayElements, jni_env, classBytes, &isCopy);
+ jni_env->GetByteArrayElements(classBytes, &isCopy);
}
static int expectedMeth(jvmtiEnv *jvmti_env, const char *event,
@@ -74,8 +74,7 @@
char *sig;
int methFound = 0;
- if (!NSK_JVMTI_VERIFY(NSK_CPP_STUB5(GetMethodName,
- jvmti_env, method, &name, &sig, NULL))) {
+ if (!NSK_JVMTI_VERIFY(jvmti_env->GetMethodName(method, &name, &sig, NULL))) {
nsk_jvmti_setFailStatus();
return 0;
}
@@ -90,11 +89,9 @@
else
methFound = 0;
- if (!NSK_JVMTI_VERIFY(NSK_CPP_STUB2(Deallocate,
- jvmti_env, (unsigned char*) name)))
+ if (!NSK_JVMTI_VERIFY(jvmti_env->Deallocate((unsigned char*) name)))
nsk_jvmti_setFailStatus();
- if (!NSK_JVMTI_VERIFY(NSK_CPP_STUB2(Deallocate,
- jvmti_env, (unsigned char*) sig)))
+ if (!NSK_JVMTI_VERIFY(jvmti_env->Deallocate((unsigned char*) sig)))
nsk_jvmti_setFailStatus();
return methFound;
@@ -106,13 +103,11 @@
char *cls_sig;
jvmtiClassDefinition classDef;
- if (!NSK_JVMTI_VERIFY(NSK_CPP_STUB3(GetMethodDeclaringClass,
- jvmti_env, tMethodID, &decl_cls))) {
+ if (!NSK_JVMTI_VERIFY(jvmti_env->GetMethodDeclaringClass(tMethodID, &decl_cls))) {
nsk_jvmti_setFailStatus();
return;
}
- if (!NSK_JVMTI_VERIFY(NSK_CPP_STUB4(GetClassSignature,
- jvmti_env, decl_cls, &cls_sig, NULL))) {
+ if (!NSK_JVMTI_VERIFY(jvmti_env->GetClassSignature(decl_cls, &cls_sig, NULL))) {
nsk_jvmti_setFailStatus();
return;
}
@@ -120,8 +115,7 @@
NSK_DISPLAY2("[%s] tested method class signature: \"%s\"\n\n",
event, cls_sig);
- if (!NSK_JVMTI_VERIFY(NSK_CPP_STUB2(Deallocate,
- jvmti_env, (unsigned char*) cls_sig)))
+ if (!NSK_JVMTI_VERIFY(jvmti_env->Deallocate((unsigned char*) cls_sig)))
nsk_jvmti_setFailStatus();
/* fill the structure jvmtiClassDefinition */
@@ -133,8 +127,7 @@
"[%s] >>>>> Invoke RedefineClasses():\n"
"\tnew class byte count=%d\n",
event, classDef.class_byte_count);
- if (!NSK_JVMTI_VERIFY(NSK_CPP_STUB3(RedefineClasses,
- jvmti, 1, &classDef))) {
+ if (!NSK_JVMTI_VERIFY(jvmti->RedefineClasses(1, &classDef))) {
nsk_jvmti_setFailStatus();
return;
}
@@ -150,16 +143,14 @@
jint methBytesCount; /* number of bytes of a method */
unsigned char *methBytes; /* bytes defining a method */
- if (!NSK_JVMTI_VERIFY(NSK_CPP_STUB5(GetMethodName,
- jvmti_env, tMethodID, &name, &sig, NULL))) {
+ if (!NSK_JVMTI_VERIFY(jvmti_env->GetMethodName(tMethodID, &name, &sig, NULL))) {
nsk_jvmti_setFailStatus();
return;
}
NSK_DISPLAY4("[%s] method ID=0x%p name=\"%s\" signature=\"%s\"\n",
event, (void*) tMethodID, name, sig);
- if (!NSK_JVMTI_VERIFY(NSK_CPP_STUB4(GetBytecodes,
- jvmti_env, tMethodID, &methBytesCount, &methBytes))) {
+ if (!NSK_JVMTI_VERIFY(jvmti_env->GetBytecodes(tMethodID, &methBytesCount, &methBytes))) {
nsk_jvmti_setFailStatus();
return;
}
@@ -167,12 +158,10 @@
"[%s] method bytes count=%d\n"
"\tbytes count of the redefined method=%d\n",
event, methBytesCount, redefMethBytesCount);
- if (!NSK_JVMTI_VERIFY(NSK_CPP_STUB2(Deallocate,
- jvmti_env, (unsigned char*) methBytes)))
+ if (!NSK_JVMTI_VERIFY(jvmti_env->Deallocate((unsigned char*) methBytes)))
nsk_jvmti_setFailStatus();
- if (!NSK_JVMTI_VERIFY(NSK_CPP_STUB3(IsMethodObsolete,
- jvmti_env, tMethodID, &isObsolete))) {
+ if (!NSK_JVMTI_VERIFY(jvmti_env->IsMethodObsolete(tMethodID, &isObsolete))) {
nsk_jvmti_setFailStatus();
return;
}
@@ -197,20 +186,17 @@
if (expectedMeth(jvmti_env, "MethodEntry",
method, expHSMethod, expHSSignature)==1) {
- if (!NSK_JVMTI_VERIFY(NSK_CPP_STUB4(GetBytecodes,
- jvmti_env, method, &redefMethBytesCount, &redefMethBytes)))
+ if (!NSK_JVMTI_VERIFY(jvmti_env->GetBytecodes(method, &redefMethBytesCount, &redefMethBytes)))
nsk_jvmti_setFailStatus();
else {
NSK_DISPLAY2("[MethodEntry] thread=0x%p method bytes count=%d\n",
thr, redefMethBytesCount);
- if (!NSK_JVMTI_VERIFY(NSK_CPP_STUB3(NotifyFramePop,
- jvmti_env, thr, 0)))
+ if (!NSK_JVMTI_VERIFY(jvmti_env->NotifyFramePop(thr, 0)))
nsk_jvmti_setFailStatus();
}
- if (!NSK_JVMTI_VERIFY(NSK_CPP_STUB4(SetEventNotificationMode,
- jvmti_env, JVMTI_DISABLE, JVMTI_EVENT_METHOD_ENTRY, NULL)))
+ if (!NSK_JVMTI_VERIFY(jvmti_env->SetEventNotificationMode(JVMTI_DISABLE, JVMTI_EVENT_METHOD_ENTRY, NULL)))
nsk_jvmti_setFailStatus();
}
}
@@ -277,8 +263,7 @@
return;
/* deallocating used memory */
- if (!NSK_JVMTI_VERIFY(NSK_CPP_STUB2(Deallocate,
- jvmti_env, (unsigned char*) redefMethBytes)))
+ if (!NSK_JVMTI_VERIFY(jvmti_env->Deallocate((unsigned char*) redefMethBytes)))
nsk_jvmti_setFailStatus();
NSK_DISPLAY0("agentProc: final resuming of the debuggee ...\n\n");
@@ -324,8 +309,7 @@
caps.can_generate_method_exit_events = 1;
caps.can_generate_frame_pop_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;
/* set event callback */
@@ -335,8 +319,7 @@
callbacks.MethodEntry = &MethodEntry;
callbacks.MethodExit = &MethodExit;
callbacks.FramePop = &FramePop;
- 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 events ...\n");
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/hotswap/HS203/hs203t003/hs203t003.cpp Thu Oct 18 18:02:17 2018 -0400
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/hotswap/HS203/hs203t003/hs203t003.cpp Thu Oct 18 18:04:05 2018 -0400
@@ -60,20 +60,17 @@
redefineNumber=0;
className=NULL;
generic=NULL;
- if ( ! NSK_JVMTI_VERIFY ( NSK_CPP_STUB4(GetClassSignature,
- jvmti_env, klass, &className, &generic) ) ) {
+ if ( ! NSK_JVMTI_VERIFY ( jvmti_env->GetClassSignature(klass, &className, &generic) ) ) {
nsk_printf("#error Agent :: while getting classname Signature.\n");
nsk_jvmti_agentFailed();
} else {
if (strcmp(className,CLASS_NAME) == 0) {
jfieldID field;
/* get the field id and set watch on that .*/
- if (! NSK_JNI_VERIFY(jni, (field = NSK_CPP_STUB4(GetFieldID,
- jni, klass, FIELDNAME, TYPE)) != NULL) ) {
+ if (! NSK_JNI_VERIFY(jni, (field = jni->GetFieldID(klass, FIELDNAME, TYPE)) != NULL) ) {
nsk_printf(" Agent :: (*JNI)->GetFieldID(jni, ... ) returns `null`.\n");
nsk_jvmti_agentFailed();
- } else if ( ! NSK_JVMTI_VERIFY(NSK_CPP_STUB3(SetFieldAccessWatch,
- jvmti_env, klass, field) ) ) {
+ } else if ( ! NSK_JVMTI_VERIFY(jvmti_env->SetFieldAccessWatch(klass, field) ) ) {
nsk_printf("#error Agent :: occured while jvmti->SetFieldAccessWatch(... ) .\n");
nsk_jvmti_agentFailed();
}
@@ -96,7 +93,7 @@
return;
}
redefineNumber=0;
- if (! NSK_JNI_VERIFY(jni, (clas = NSK_CPP_STUB2(FindClass, jni, SEARCH_NAME)) != NULL) ) {
+ if (! NSK_JNI_VERIFY(jni, (clas = jni->FindClass(SEARCH_NAME)) != NULL) ) {
nsk_printf(" Agent :: (*JNI)->FindClass(jni, %s) returns `null`.\n",SEARCH_NAME);
nsk_jvmti_agentFailed();
} else {
@@ -109,7 +106,7 @@
nsk_printf(" Agent :: Redefined.\n");
nsk_printf(" Agent :: Suspendeding thread.\n");
/* pop the current working frame. */
- if ( ! NSK_JVMTI_VERIFY( NSK_CPP_STUB2(SuspendThread, jvmti_env, thread) ) ) {
+ if ( ! NSK_JVMTI_VERIFY(jvmti_env->SuspendThread(thread) ) ) {
nsk_printf("#error Agent :: occured suspending Thread.\n");
nsk_jvmti_agentFailed();
} else {
@@ -131,8 +128,7 @@
}
#endif
jint Agent_Initialize(JavaVM *vm, char *options, void *reserved) {
- if ( ! NSK_VERIFY ( JNI_OK == NSK_CPP_STUB3(GetEnv, vm,
- (void **)&jvmti, JVMTI_VERSION_1_1) ) ) {
+ if ( ! NSK_VERIFY ( JNI_OK == vm->GetEnv((void **)&jvmti, JVMTI_VERSION_1_1) ) ) {
nsk_printf(" Agent :: Could not load JVMTI interface.\n");
return JNI_ERR;
} else {
@@ -148,16 +144,14 @@
caps.can_pop_frame=1;
caps.can_generate_all_class_hook_events=1;
caps.can_generate_field_access_events=1;
- if (! NSK_JVMTI_VERIFY ( NSK_CPP_STUB2(AddCapabilities, jvmti, &caps) )) {
+ if (! NSK_JVMTI_VERIFY ( jvmti->AddCapabilities(&caps) ) ) {
nsk_printf("#error Agent :: while adding capabilities.\n");
return JNI_ERR;
}
memset(&eventCallbacks, 0, sizeof(eventCallbacks));
eventCallbacks.ClassPrepare =callbackClassPrepare;
eventCallbacks.FieldAccess= callbackFieldAccess;
- if (!NSK_JVMTI_VERIFY(
- NSK_CPP_STUB3(SetEventCallbacks, jvmti,
- &eventCallbacks, sizeof(eventCallbacks)))) {
+ if (!NSK_JVMTI_VERIFY(jvmti->SetEventCallbacks(&eventCallbacks, sizeof(eventCallbacks)))) {
nsk_printf("#error Agent :: while setting event callbacks.\n");
return JNI_ERR;
}
@@ -181,7 +175,7 @@
jboolean retvalue;
jint state;
retvalue = JNI_FALSE;
- if ( ! NSK_JVMTI_VERIFY( NSK_CPP_STUB3(GetThreadState, jvmti, thread, &state) ) ) {
+ if ( ! NSK_JVMTI_VERIFY( jvmti->GetThreadState(thread, &state) ) ) {
nsk_printf(" Agent :: Error while getting thread state.\n");
nsk_jvmti_agentFailed();
} else {
@@ -199,18 +193,18 @@
jboolean retvalue;
jint state;
retvalue = JNI_FALSE;
- if ( ! NSK_JVMTI_VERIFY( NSK_CPP_STUB3(GetThreadState, jvmti, thread, &state) ) ) {
+ if ( ! NSK_JVMTI_VERIFY( jvmti->GetThreadState(thread, &state) ) ) {
nsk_printf(" Agent :: Error while getting thread state.\n");
nsk_jvmti_agentFailed();
} else {
if ( state & JVMTI_THREAD_STATE_SUSPENDED) {
- if ( ! NSK_JVMTI_VERIFY ( NSK_CPP_STUB2( PopFrame, jvmti, thread) ) ) {
+ if ( ! NSK_JVMTI_VERIFY ( jvmti->PopFrame(thread) ) ) {
nsk_printf("#error Agent :: while poping thread's frame.\n");
nsk_jvmti_agentFailed();
} else {
nsk_printf(" Agent :: poped thread frame.\n");
- if ( ! NSK_JVMTI_VERIFY ( NSK_CPP_STUB4 (SetEventNotificationMode, jvmti,
- JVMTI_DISABLE, JVMTI_EVENT_FIELD_ACCESS, NULL) ) ) {
+ if ( ! NSK_JVMTI_VERIFY (
+ jvmti->SetEventNotificationMode(JVMTI_DISABLE, JVMTI_EVENT_FIELD_ACCESS, NULL) ) ) {
nsk_printf("#error Agent :: failed to disable notification JVMTI_EVENT_FIELD ACCESS.\n");
nsk_jvmti_agentFailed();
} else {
@@ -232,7 +226,7 @@
jthread thread) {
jboolean retvalue;
retvalue = JNI_FALSE;
- if ( !NSK_JVMTI_VERIFY( NSK_CPP_STUB2 ( ResumeThread, jvmti, thread)) ) {
+ if ( !NSK_JVMTI_VERIFY( jvmti->ResumeThread(thread) ) ) {
nsk_printf("#error Agent :: while resuming thread.\n");
nsk_jvmti_agentFailed();
} else {
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/hotswap/HS203/hs203t004/hs203t004.cpp Thu Oct 18 18:02:17 2018 -0400
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/hotswap/HS203/hs203t004/hs203t004.cpp Thu Oct 18 18:04:05 2018 -0400
@@ -45,23 +45,21 @@
char * className;
className=NULL;
- if (!NSK_JVMTI_VERIFY (NSK_CPP_STUB4(GetClassSignature,
- jvmti_env, klass, &className, NULL) ) ) {
+ if (!NSK_JVMTI_VERIFY (jvmti_env->GetClassSignature(klass, &className, NULL) ) ) {
NSK_COMPLAIN0("#error Agent :: while getting classname.\n");
nsk_jvmti_agentFailed();
} else {
if (strcmp(className, CLASS_NAME) == 0) {
- if (nsk_jvmti_enableNotification(jvmti_env, JVMTI_EVENT_COMPILED_METHOD_LOAD, NULL) == NSK_TRUE ) {
+ if (nsk_jvmti_enableNotification(jvmti_env, JVMTI_EVENT_COMPILED_METHOD_LOAD, NULL) == NSK_TRUE) {
NSK_DISPLAY0(" Agent :: notification enabled for COMPILED_METHOD_LOAD.\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("#error Agent :: occured while enabling compiled method events.\n");
nsk_jvmti_agentFailed();
}
}
}
- if (!NSK_JVMTI_VERIFY(NSK_CPP_STUB2(Deallocate, jvmti_env, (unsigned char *)className))) {
+ if (!NSK_JVMTI_VERIFY(jvmti_env->Deallocate((unsigned char *)className))) {
NSK_COMPLAIN1("#error Agent :: failed to Deallocate className = %s.", className);
nsk_jvmti_agentFailed();
}
@@ -78,8 +76,7 @@
const void* compile_info) {
jclass threadClass;
if (redefineNumber == 0) {
- if ( ! NSK_JVMTI_VERIFY ( NSK_CPP_STUB3(GetMethodDeclaringClass,
- jvmti_env, method, &threadClass) ) ) {
+ if ( ! NSK_JVMTI_VERIFY ( jvmti_env->GetMethodDeclaringClass(method, &threadClass) ) ) {
NSK_COMPLAIN0("#error Agent :: while geting the declaring class.\n");
nsk_jvmti_agentFailed();
} else {
@@ -89,15 +86,13 @@
className = NULL;
methodName = NULL;
- if ( ! NSK_JVMTI_VERIFY (NSK_CPP_STUB4(GetClassSignature,
- jvmti_env, threadClass, &className, NULL) ) ) {
+ if ( ! NSK_JVMTI_VERIFY (jvmti_env->GetClassSignature(threadClass, &className, NULL) ) ) {
NSK_COMPLAIN0("#error Agent :: while getting classname.\n");
nsk_jvmti_agentFailed();
return;
}
- if ( ! NSK_JVMTI_VERIFY (NSK_CPP_STUB5(GetMethodName,
- jvmti_env, method, &methodName, NULL, NULL) ) ) {
+ if ( ! NSK_JVMTI_VERIFY (jvmti_env->GetMethodName(method, &methodName, NULL, NULL) ) ) {
NSK_COMPLAIN0("#error Agent :: while getting methodname.\n");
nsk_jvmti_agentFailed();
return;
@@ -121,13 +116,13 @@
}
if ( className != NULL ) {
- if (!NSK_JVMTI_VERIFY(NSK_CPP_STUB2(Deallocate, jvmti_env, (unsigned char *)className))) {
+ if (!NSK_JVMTI_VERIFY(jvmti_env->Deallocate((unsigned char *)className))) {
NSK_COMPLAIN1("#error Agent :: failed to Deallocate className = %s.", className);
nsk_jvmti_agentFailed();
}
}
if ( methodName != NULL ) {
- if (!NSK_JVMTI_VERIFY(NSK_CPP_STUB2(Deallocate, jvmti_env, (unsigned char *)methodName))) {
+ if (!NSK_JVMTI_VERIFY(jvmti_env->Deallocate((unsigned char *)methodName))) {
NSK_COMPLAIN1("#error Agent :: failed to Deallocate methodName = %s.", methodName);
nsk_jvmti_agentFailed();
}
@@ -149,8 +144,7 @@
#endif
jint Agent_Initialize(JavaVM *vm, char *options, void *reserved) {
redefineNumber=0;
- if ( ! NSK_VERIFY ( JNI_OK == NSK_CPP_STUB3(GetEnv, vm,
- (void **)&jvmti, JVMTI_VERSION_1_1) ) ) {
+ if ( ! NSK_VERIFY ( JNI_OK == vm->GetEnv((void **)&jvmti, JVMTI_VERSION_1_1) ) ) {
NSK_DISPLAY0("#error Agent :: Could not load JVMTI interface.\n");
return JNI_ERR;
} else {
@@ -166,16 +160,14 @@
caps.can_pop_frame = 1;
caps.can_generate_all_class_hook_events = 1;
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) ) ) {
NSK_DISPLAY0("#error Agent :: occured while adding capabilities.\n");
return JNI_ERR;
}
memset(&eventCallbacks, 0, sizeof(eventCallbacks));
eventCallbacks.ClassPrepare =callbackClassPrepare;
eventCallbacks.CompiledMethodLoad=callbackCompiledMethodLoad;
- if (!NSK_JVMTI_VERIFY(
- NSK_CPP_STUB3(SetEventCallbacks, jvmti,
- &eventCallbacks, sizeof(eventCallbacks)))) {
+ if (!NSK_JVMTI_VERIFY(jvmti->SetEventCallbacks(&eventCallbacks, sizeof(eventCallbacks)))) {
NSK_COMPLAIN0("#error Agent :: occured while setting event callback.\n");
return JNI_ERR;
}
@@ -194,7 +186,7 @@
jobject clas,
jthread thread) {
NSK_DISPLAY0(" Agent :: Suspending Thread.\n");
- if ( NSK_JVMTI_VERIFY( NSK_CPP_STUB2(SuspendThread, jvmti, thread) ) ) {
+ if ( NSK_JVMTI_VERIFY( jvmti->SuspendThread(thread) ) ) {
NSK_DISPLAY0(" Agent :: Succeded in suspending.\n");
} else {
NSK_COMPLAIN0("#error Agent :: occured while suspending thread.\n");
@@ -211,18 +203,18 @@
NSK_DISPLAY0(" Agent :: nsk.jvmti.scenarios.hotswap.HS203.hs203t004.popThreadFrame(... ).\n");
retvalue = JNI_FALSE;
- if ( ! NSK_JVMTI_VERIFY ( NSK_CPP_STUB3(GetThreadState, jvmti,
- thread, &state) ) ) {
+ if ( ! NSK_JVMTI_VERIFY (jvmti->GetThreadState(thread, &state) ) ) {
NSK_COMPLAIN0("#error Agent :: while getting thread's state.\n");
nsk_jvmti_agentFailed();
} else {
if ( state & JVMTI_THREAD_STATE_SUSPENDED) {
- if ( ! NSK_JVMTI_VERIFY( NSK_CPP_STUB2(PopFrame, jvmti, thread) ) ){
+ if ( ! NSK_JVMTI_VERIFY( jvmti->PopFrame(thread) ) ) {
NSK_DISPLAY0("#error Agent :: occured while poping thread's frame.\n");
nsk_jvmti_agentFailed();
} else {
- if ( NSK_JVMTI_VERIFY( NSK_CPP_STUB4(SetEventNotificationMode, jvmti,
- JVMTI_DISABLE, JVMTI_EVENT_COMPILED_METHOD_LOAD, NULL) ) ) {
+ if ( NSK_JVMTI_VERIFY(
+ jvmti->SetEventNotificationMode(JVMTI_DISABLE,
+ JVMTI_EVENT_COMPILED_METHOD_LOAD, NULL) ) ) {
NSK_DISPLAY0(" Agent :: Disabled JVMTI_EVENT_COMPILED_METHOD_LOAD.\n");
retvalue = JNI_TRUE;
} else {
@@ -245,7 +237,7 @@
jboolean retvalue;
retvalue = JNI_FALSE;
- if ( NSK_JVMTI_VERIFY ( NSK_CPP_STUB2(ResumeThread, jvmti, thread))) {
+ if ( NSK_JVMTI_VERIFY (jvmti->ResumeThread(thread))) {
NSK_DISPLAY0(" Agent :: Thread resumed.\n");
retvalue= JNI_TRUE;
} else {
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/hotswap/HS204/hs204t001/hs204t001.cpp Thu Oct 18 18:02:17 2018 -0400
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/hotswap/HS204/hs204t001/hs204t001.cpp Thu Oct 18 18:04:05 2018 -0400
@@ -51,7 +51,7 @@
char *getClassName(jvmtiEnv *jvmti, jclass klass) {
char * className;
char * generic;
- if( !NSK_JVMTI_VERIFY(NSK_CPP_STUB4(GetClassSignature, jvmti, klass, &className, &generic))) {
+ if( !NSK_JVMTI_VERIFY(jvmti->GetClassSignature(klass, &className, &generic))) {
nsk_jvmti_setFailStatus();
}
return className;
@@ -75,7 +75,7 @@
} else {
NSK_COMPLAIN0("\nMyClass :: Failed to redefine ..\n");
}
- /* if( (myTestClass =NSK_CPP_STUB2(NewGlobalRef,jni_env, klass)) == NULL) {
+ /* if ( (myTestClass = jni_env->NewGlobalRef(klass) ) == NULL) {
NSK_COMPLAIN0("Failed to create global ref...");
}
*/
@@ -100,7 +100,7 @@
} else {
NSK_COMPLAIN0("\nMyClass :: Failed to redefine ..\n");
}
- if( (myTestClass = (jclass) NSK_CPP_STUB2(NewGlobalRef,jni_env, klass)) == NULL) {
+ if( (myTestClass = (jclass) jni_env->NewGlobalRef(klass)) == NULL) {
NSK_COMPLAIN0("Failed to create global ref...");
}
}
@@ -240,9 +240,9 @@
jclass klass,
jobject thread) {
NSK_DISPLAY0(" Inside the setThread Method");
- if (!NSK_JNI_VERIFY(env, (testClass =(jclass) NSK_CPP_STUB2(NewGlobalRef, env, klass)) != NULL))
+ if (!NSK_JNI_VERIFY(env, (testClass = (jclass) env->NewGlobalRef(klass)) != NULL))
nsk_jvmti_setFailStatus();
- if (!NSK_JNI_VERIFY(env, (testedThread =NSK_CPP_STUB2(NewGlobalRef, env, thread)) != NULL))
+ if (!NSK_JNI_VERIFY(env, (testedThread = env->NewGlobalRef(thread)) != NULL))
nsk_jvmti_setFailStatus();
}
@@ -252,12 +252,12 @@
jobject thread) {
jint state;
NSK_DISPLAY0("---suspend thread .. \n");
- if (NSK_CPP_STUB3(GetThreadState,jvmti,thread, &state) == JVMTI_ERROR_NONE) {
+ if (jvmti->GetThreadState(thread, &state) == JVMTI_ERROR_NONE) {
NSK_DISPLAY0(" No Errors in finding state of the thread.\n");
if (state & JVMTI_THREAD_STATE_ALIVE) {
NSK_DISPLAY0(" Thread state is alive .. So can be suspend should be possible ..\n");
nsk_jvmti_disableNotification(jvmti, JVMTI_EVENT_SINGLE_STEP, thread);
- if (!NSK_JVMTI_VERIFY( NSK_CPP_STUB2(SuspendThread, jvmti, thread))) {
+ if (!NSK_JVMTI_VERIFY(jvmti->SuspendThread(thread))) {
NSK_COMPLAIN0("TEST FAILED: unable to suspend the thread \n");
nsk_jvmti_setFailStatus();
return NSK_FALSE;
@@ -278,11 +278,11 @@
jthread thread) {
jint state;
NSK_DISPLAY0("Inside pop_Frame method.....\n");
- if (NSK_CPP_STUB3(GetThreadState,jvmti,thread, &state) == JVMTI_ERROR_NONE) {
+ if (jvmti->GetThreadState(thread, &state) == JVMTI_ERROR_NONE) {
NSK_DISPLAY0(" Got the state of thread \n");
if ( state & JVMTI_THREAD_STATE_SUSPENDED) {
NSK_DISPLAY0(" Thread is already in suspended mode..\n");
- if (!NSK_JVMTI_VERIFY(NSK_CPP_STUB2(PopFrame, jvmti, thread))) {
+ if (!NSK_JVMTI_VERIFY(jvmti->PopFrame(thread))) {
NSK_COMPLAIN0(" TEST FAILED: UNABLE TO POP FRAME \n");
nsk_jvmti_setFailStatus();
return NSK_FALSE;
@@ -290,7 +290,7 @@
NSK_DISPLAY0(" Poped frame safely..");
}
/* We should resume that thread for next execution.. */
- if (!NSK_JVMTI_VERIFY(NSK_CPP_STUB2(ResumeThread, jvmti, thread))) {
+ if (!NSK_JVMTI_VERIFY(jvmti->ResumeThread(thread))) {
NSK_COMPLAIN0(" TEST FAILED: UNABLE TO Resume thread \n");
nsk_jvmti_setFailStatus();
return NSK_FALSE;
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/hotswap/HS204/hs204t003/hs204t003.cpp Thu Oct 18 18:02:17 2018 -0400
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/hotswap/HS204/hs204t003/hs204t003.cpp Thu Oct 18 18:04:05 2018 -0400
@@ -51,27 +51,24 @@
className = NULL;
generic = NULL;
redefineNumber=0;
- if ( !NSK_JVMTI_VERIFY(NSK_CPP_STUB4(GetClassSignature, jvmti_env,
- klass, &className, &generic)) ) {
+ if ( !NSK_JVMTI_VERIFY(jvmti_env->GetClassSignature(klass, &className, &generic)) ) {
NSK_DISPLAY0(" Agent :: Failed get class signature.\n");
nsk_jvmti_agentFailed();
} else {
if( (strcmp(className, CLASS_NAME) == 0 ) ) {
jfieldID fieldId;
- if ( ! NSK_JNI_VERIFY(jni, (fieldId = NSK_CPP_STUB4(GetStaticFieldID,
- jni, klass, FIELDNAME, TYPE) ) != NULL ) ) {
+ if ( ! NSK_JNI_VERIFY(jni, (fieldId = jni->GetStaticFieldID(klass, FIELDNAME, TYPE) ) != NULL ) ) {
NSK_DISPLAY0(" Agent :: Failed to get FieldId.\n");
nsk_jvmti_agentFailed();
} else {
- if ( ! NSK_JVMTI_VERIFY( NSK_CPP_STUB3(SetFieldAccessWatch,
- jvmti_env, klass, fieldId) ) ) {
+ if ( ! NSK_JVMTI_VERIFY(jvmti_env->SetFieldAccessWatch(klass, fieldId) ) ) {
NSK_DISPLAY0(" Agent :: Failed to set watch point on a field.\n");
nsk_jvmti_agentFailed();
} else {
nsk_jvmti_enableNotification(jvmti_env, JVMTI_EVENT_FIELD_ACCESS, NULL);
if (! NSK_JNI_VERIFY(jni,
( watchFieldClass = (jclass)
- NSK_CPP_STUB2(NewGlobalRef, jni, klass) )
+ jni->NewGlobalRef(klass) )
!= NULL ) ) {
NSK_DISPLAY0(" Agent :: Failed to get global reference for class.\n");
nsk_jvmti_agentFailed();
@@ -84,14 +81,14 @@
}
if ( className != NULL ) {
- if (!NSK_JVMTI_VERIFY(NSK_CPP_STUB2(Deallocate, jvmti_env, (unsigned char *)className))) {
+ if (!NSK_JVMTI_VERIFY(jvmti_env->Deallocate((unsigned char *)className))) {
NSK_DISPLAY1(" Agent :: #error failed to Deallocate className = %s.", className);
nsk_jvmti_agentFailed();
}
}
if ( generic != NULL ) {
- if (!NSK_JVMTI_VERIFY(NSK_CPP_STUB2(Deallocate, jvmti_env, (unsigned char *)generic))) {
+ if (!NSK_JVMTI_VERIFY(jvmti_env->Deallocate((unsigned char *)generic))) {
NSK_DISPLAY1(" Agent :: #error failed to Deallocate class signature = %s.", generic);
nsk_jvmti_agentFailed();
}
@@ -116,8 +113,7 @@
if (redefineNumber != 0 ) {
return;
}
- if ( ! NSK_JVMTI_VERIFY(NSK_CPP_STUB4(GetClassSignature, jvmti_env,
- field_klass, &className, &generic)) ) {
+ if ( ! NSK_JVMTI_VERIFY(jvmti_env->GetClassSignature(field_klass, &className, &generic)) ) {
NSK_DISPLAY0(" Agent :: Failed get class signature.\n");
nsk_jvmti_agentFailed();
} else {
@@ -133,13 +129,13 @@
nsk_jvmti_agentFailed();
}
NSK_DISPLAY0(" Agent :: Before attempting thread suspend.\n");
- if ( ! NSK_JVMTI_VERIFY( NSK_CPP_STUB3(GetThreadInfo, jvmti_env, thread , &info)) ) {
+ if ( ! NSK_JVMTI_VERIFY(jvmti_env->GetThreadInfo(thread, &info))) {
NSK_DISPLAY0(" Agent :: error getting thread info ");
nsk_jvmti_agentFailed();
} else {
NSK_DISPLAY1(" Agent :: Thread Name = %s .\n", info.name);
}
- if ( ! NSK_JVMTI_VERIFY( NSK_CPP_STUB2(SuspendThread, jvmti_env, thread)) ) {
+ if ( ! NSK_JVMTI_VERIFY(jvmti_env->SuspendThread(thread))) {
NSK_DISPLAY0(" Agent :: Failed to suspend thread.\n");
nsk_jvmti_agentFailed();
}
@@ -147,14 +143,14 @@
}
if ( className != NULL ) {
- if (!NSK_JVMTI_VERIFY(NSK_CPP_STUB2(Deallocate, jvmti_env, (unsigned char *)className))) {
+ if (!NSK_JVMTI_VERIFY(jvmti_env->Deallocate((unsigned char *)className))) {
NSK_DISPLAY1(" Agent :: #error failed to Deallocate className = %s.", className);
nsk_jvmti_agentFailed();
}
}
if ( generic != NULL ) {
- if (!NSK_JVMTI_VERIFY(NSK_CPP_STUB2(Deallocate, jvmti_env, (unsigned char *)generic))) {
+ if (!NSK_JVMTI_VERIFY(jvmti_env->Deallocate((unsigned char *)generic))) {
NSK_DISPLAY1(" Agent :: #error failed to Deallocate class signature = %s.", generic);
nsk_jvmti_agentFailed();
}
@@ -173,8 +169,7 @@
}
#endif
jint Agent_Initialize(JavaVM *vm, char *options, void *reserved) {
- if ( ! NSK_VERIFY ( JNI_OK == NSK_CPP_STUB3(GetEnv, vm,
- (void **)&jvmti, JVMTI_VERSION_1_1) ) ) {
+ if ( ! NSK_VERIFY ( JNI_OK == vm->GetEnv((void **)&jvmti, JVMTI_VERSION_1_1) ) ) {
NSK_DISPLAY0("Agent :: Could not load JVMTI interface \n");
return JNI_ERR;
} else {
@@ -189,15 +184,14 @@
caps.can_generate_field_access_events = 1;
caps.can_pop_frame = 1;
caps.can_suspend = 1;
- if ( ! NSK_JVMTI_VERIFY(NSK_CPP_STUB2( AddCapabilities, jvmti, &caps)) ) {
+ if ( ! NSK_JVMTI_VERIFY(jvmti->AddCapabilities(&caps)) ) {
NSK_DISPLAY0(" Agent :: Failed add required capabilities\n.");
return JNI_ERR;
}
memset(&eventCallbacks, 0, sizeof(eventCallbacks));
eventCallbacks.ClassPrepare = callbackClassPrepare;
eventCallbacks.FieldAccess = callbackFieldAccess;
- if (!NSK_JVMTI_VERIFY( NSK_CPP_STUB3(SetEventCallbacks, jvmti,
- &eventCallbacks, sizeof(eventCallbacks) ) ) ) {
+ if (!NSK_JVMTI_VERIFY(jvmti->SetEventCallbacks(&eventCallbacks, sizeof(eventCallbacks) ) ) ) {
NSK_DISPLAY0(" Agent :: Error occured while setting event call back \n");
return JNI_ERR;
}
@@ -213,28 +207,26 @@
jboolean retvalue;
jint state;
retvalue = JNI_FALSE;
- if (! NSK_JVMTI_VERIFY( NSK_CPP_STUB3(GetThreadState, jvmti, thread, &state)) ){
+ if (! NSK_JVMTI_VERIFY(jvmti->GetThreadState(thread, &state))) {
NSK_DISPLAY0(" Agent :: Error getting thread state.\n");
nsk_jvmti_agentFailed();
} else {
if ( state & JVMTI_THREAD_STATE_SUSPENDED) {
NSK_DISPLAY0(" Agent :: Thread state = JVMTI_THREAD_STATE_SUSPENDED.\n");
- if ( ! NSK_JVMTI_VERIFY ( NSK_CPP_STUB2(PopFrame, jvmti, thread) ) ) {
+ if ( ! NSK_JVMTI_VERIFY ( jvmti->PopFrame(thread) ) ) {
NSK_DISPLAY0("#error Agent :: Jvmti failed to do popFrame.\n");
nsk_jvmti_agentFailed();
} else {
- if ( ! NSK_JVMTI_VERIFY ( NSK_CPP_STUB2(ResumeThread, jvmti, thread)) ) {
+ if ( ! NSK_JVMTI_VERIFY ( jvmti->ResumeThread(thread) ) ) {
NSK_DISPLAY0(" Agent :: Error occured in resuming a thread.\n");
nsk_jvmti_agentFailed();
} else {
- jfieldID fieldId;
- if ( ! NSK_JNI_VERIFY(jni, (fieldId = NSK_CPP_STUB4(GetStaticFieldID,
- jni, watchFieldClass, FIELDNAME, TYPE) ) != NULL ) ) {
+ jfieldID fieldId = jni->GetStaticFieldID(watchFieldClass, FIELDNAME, TYPE);
+ if ( ! NSK_JNI_VERIFY(jni, fieldId != NULL ) ) {
NSK_DISPLAY0(" Agent :: Failed to get FieldId before droping watchers.\n");
nsk_jvmti_agentFailed();
} else {
- if ( ! NSK_JVMTI_VERIFY ( NSK_CPP_STUB3(ClearFieldAccessWatch,
- jvmti, watchFieldClass, fieldId)) ) {
+ if ( ! NSK_JVMTI_VERIFY ( jvmti->ClearFieldAccessWatch(watchFieldClass, fieldId) ) ) {
NSK_DISPLAY0(" Agent :: failed to drop field watces.\n");
nsk_jvmti_agentFailed();
} else {
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/hotswap/HS301/hs301t001/hs301t001.cpp Thu Oct 18 18:02:17 2018 -0400
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/hotswap/HS301/hs301t001/hs301t001.cpp Thu Oct 18 18:04:05 2018 -0400
@@ -49,8 +49,7 @@
#endif
jint Agent_Initialize(JavaVM *vm, char *options, void *reserved) {
nsk_printf("Agent:: Agent_OnLoad .\n");
- if ( ! NSK_VERIFY ( JNI_OK == NSK_CPP_STUB3(GetEnv, vm,
- (void **)&jvmti, JVMTI_VERSION_1_1) ) ) {
+ if ( ! NSK_VERIFY ( JNI_OK == vm->GetEnv((void **)&jvmti, JVMTI_VERSION_1_1) ) ) {
nsk_printf("Agent:: Could not load JVMTI interface.\n");
return JNI_ERR;
} else {
@@ -62,14 +61,12 @@
}
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) )) {
nsk_printf(" Agent:: Error occured while adding capabilities.\n");
return JNI_ERR;
}
memset(&eventCallbacks, 0, sizeof(eventCallbacks));
- if (!NSK_JVMTI_VERIFY(
- NSK_CPP_STUB3(SetEventCallbacks, jvmti,
- &eventCallbacks, sizeof(eventCallbacks)))) {
+ if (!NSK_JVMTI_VERIFY(jvmti->SetEventCallbacks(&eventCallbacks, sizeof(eventCallbacks)))) {
nsk_printf(" Agent:: Error occured while setting event call back.\n");
return JNI_ERR;
}
@@ -86,8 +83,8 @@
redefineNumber=0;
- //cls= NSK_CPP_STUB2(FindClass, jni, SEARCH_NAME);
- if (! NSK_JNI_VERIFY(jni, (cls = NSK_CPP_STUB2(FindClass, jni, SEARCH_NAME)) != NULL) ) {
+ cls = jni->FindClass(SEARCH_NAME);
+ if (! NSK_JNI_VERIFY(jni, cls != NULL) ) {
nsk_printf("Agent:: (*JNI)->FindClass(jni, %s) returns `null`.\n",SEARCH_NAME);
return NSK_FALSE;
}
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/hotswap/HS301/hs301t002/hs301t002.cpp Thu Oct 18 18:02:17 2018 -0400
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/hotswap/HS301/hs301t002/hs301t002.cpp Thu Oct 18 18:04:05 2018 -0400
@@ -52,8 +52,7 @@
#endif
jint Agent_Initialize(JavaVM *vm, char *options, void *reserved) {
nsk_printf(" Agent:: VM Started.\n");
- if ( ! NSK_VERIFY ( JNI_OK == NSK_CPP_STUB3(GetEnv, vm,
- (void **)&jvmti, JVMTI_VERSION_1_1) ) ) {
+ if ( ! NSK_VERIFY ( JNI_OK == vm->GetEnv((void **)&jvmti, JVMTI_VERSION_1_1) ) ) {
nsk_printf(" Agent ::Agent failed to get jvmti env.\n");
return JNI_ERR;
} else {
@@ -64,7 +63,7 @@
}
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) ) ) {
nsk_printf(" Agent:: Error occured while adding capabilities.\n");
return JNI_ERR;
}
@@ -85,7 +84,7 @@
redefineNumber=0;
ret = JNI_FALSE;
- if (!NSK_JNI_VERIFY(jni, (cls = NSK_CPP_STUB2(FindClass, jni, SEARCH_NAME)) != NULL)) {
+ if (!NSK_JNI_VERIFY(jni, (cls = jni->FindClass(SEARCH_NAME)) != NULL)) {
nsk_printf("Agent:: (*JNI)->FindClass(jni, %s) returns `null`.\n", SEARCH_NAME);
return NSK_FALSE;
}
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/hotswap/HS301/hs301t003/hs301t003.cpp Thu Oct 18 18:02:17 2018 -0400
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/hotswap/HS301/hs301t003/hs301t003.cpp Thu Oct 18 18:04:05 2018 -0400
@@ -36,8 +36,7 @@
jclass klass) {
char * className;
char * generic;
- if ( ! NSK_JVMTI_VERIFY ( NSK_CPP_STUB4(GetClassSignature,
- jvmti_env, klass, &className, &generic) ) ) {
+ if ( ! NSK_JVMTI_VERIFY ( jvmti_env->GetClassSignature(klass, &className, &generic) ) ) {
nsk_printf(" Agent:: Error while getting ClassFileName Signature ");
} else {
if (strcmp(className, CLASS_NAME ) == 0) {
@@ -70,8 +69,7 @@
jint Agent_Initialize(JavaVM *vm, char *options, void *reserved) {
jvmtiEnv * jvmti;
nsk_printf("Agent:: Agent_OnLoad.\n");
- if ( ! NSK_VERIFY ( JNI_OK == NSK_CPP_STUB3(GetEnv, vm,
- (void **)&jvmti, JVMTI_VERSION_1_1) ) ) {
+ if ( ! NSK_VERIFY ( JNI_OK == vm->GetEnv((void **)&jvmti, JVMTI_VERSION_1_1) ) ) {
nsk_printf("Agent:: Could not load JVMTI interface.\n");
return JNI_ERR;
} else {
@@ -84,15 +82,13 @@
memset(&caps, 0, sizeof(caps));
caps.can_redefine_classes = 1;
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) ) ) {
nsk_printf(" Agent:: Error occured while adding capabilities.\n");
return JNI_ERR;
}
memset(&eventCallbacks, 0, sizeof(eventCallbacks));
eventCallbacks.ClassPrepare = &callbackClassPrepare;
- if (!NSK_JVMTI_VERIFY(
- NSK_CPP_STUB3(SetEventCallbacks, jvmti,
- &eventCallbacks, sizeof(eventCallbacks)))) {
+ if (!NSK_JVMTI_VERIFY(jvmti->SetEventCallbacks(&eventCallbacks, sizeof(eventCallbacks)))) {
nsk_printf(" Agent:: Error occured while setting event call back.\n");
return JNI_ERR;
}
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/hotswap/HS301/hs301t004/hs301t004.cpp Thu Oct 18 18:02:17 2018 -0400
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/hotswap/HS301/hs301t004/hs301t004.cpp Thu Oct 18 18:04:05 2018 -0400
@@ -37,8 +37,7 @@
char * className;
char * generic;
int redefineNumber=0;
- if (! NSK_JVMTI_VERIFY( NSK_CPP_STUB4(GetClassSignature,
- jvmti_env, klass, &className, &generic)) ) {
+ if (! NSK_JVMTI_VERIFY(jvmti_env->GetClassSignature(klass, &className, &generic)) ) {
nsk_printf(" Agent :: Error occured in getting class signature.\n");
return;
} else {
@@ -71,8 +70,7 @@
jint Agent_Initialize(JavaVM *vm, char *options, void *reserved) {
jvmtiEnv * jvmti;
nsk_printf("Agent:: VM Started.\n");
- if (! NSK_VERIFY ( JNI_OK == NSK_CPP_STUB3(GetEnv,
- vm, (void **)&jvmti, JVMTI_VERSION_1_1) ) ) {
+ if (! NSK_VERIFY ( JNI_OK == vm->GetEnv((void **)&jvmti, JVMTI_VERSION_1_1) ) ) {
nsk_printf("Agent:: Could not load JVMTI interface \n");
return JNI_ERR;
} else {
@@ -85,15 +83,13 @@
memset(&caps, 0, sizeof(caps));
caps.can_redefine_classes = 1;
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) )) {
nsk_printf(" Agent:: Error occured while adding capabilities.\n");
return JNI_ERR;
}
memset(&eventCallbacks, 0, sizeof(eventCallbacks));
eventCallbacks.ClassPrepare = &callbackClassPrepare;
- if ( ! NSK_JVMTI_VERIFY( NSK_CPP_STUB3(SetEventCallbacks,
- jvmti, &eventCallbacks, sizeof(eventCallbacks)) ) ) {
+ if ( ! NSK_JVMTI_VERIFY(jvmti->SetEventCallbacks(&eventCallbacks, sizeof(eventCallbacks)) ) ) {
nsk_printf(" Agent:: Error occured while setting event call back \n");
return JNI_ERR;
}
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/jni_interception/JI01/ji01t001/ji01t001.cpp Thu Oct 18 18:02:17 2018 -0400
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/jni_interception/JI01/ji01t001/ji01t001.cpp Thu Oct 18 18:04:05 2018 -0400
@@ -70,14 +70,7 @@
static jvmtiPhase getVMPhase(jvmtiEnv *jvmti) {
jvmtiPhase phase;
- if (!NSK_JVMTI_VERIFY(
- NSK_CPP_STUB2(
- GetPhase
- , jvmti
- , &phase
- )
- )
- )
+ if (!NSK_JVMTI_VERIFY(jvmti->GetPhase(&phase)))
exit(NSK_STATUS_FAILED);
return phase;
@@ -89,14 +82,8 @@
NSK_DISPLAY0("doRedirect: obtaining the JNI function table ...\n");
// Store original function table
- if (!NSK_VERIFY(
- (err = NSK_CPP_STUB2(
- GetJNIFunctionTable
- , jvmti
- , &orig_jni_functions
- )) == JVMTI_ERROR_NONE || phase != JVMTI_PHASE_LIVE
- )
- )
+ err = jvmti->GetJNIFunctionTable(&orig_jni_functions);
+ if (!NSK_VERIFY((err == JVMTI_ERROR_NONE || phase != JVMTI_PHASE_LIVE)))
{
NSK_COMPLAIN2("TEST FAILED: failed to get original JNI function table during %s: %s\n"
, TranslatePhase(phase)
@@ -116,13 +103,7 @@
// Get a duplicate of the function table for future modification
if (!NSK_VERIFY(
- (err = NSK_CPP_STUB2(
- GetJNIFunctionTable
- , jvmti
- , &redir_jni_functions
- )) == JVMTI_ERROR_NONE || phase != JVMTI_PHASE_LIVE
- )
- )
+ (err = jvmti->GetJNIFunctionTable(&redir_jni_functions)) == JVMTI_ERROR_NONE || phase != JVMTI_PHASE_LIVE))
{
NSK_COMPLAIN2("TEST FAILED: failed to get JNI function table for interception during %s: %s\n"
, TranslatePhase(phase)
@@ -148,13 +129,7 @@
// Set new JNI function table
if (!NSK_VERIFY(
- (err = NSK_CPP_STUB2(
- SetJNIFunctionTable
- , jvmti
- , redir_jni_functions
- )) == JVMTI_ERROR_NONE || phase != JVMTI_PHASE_LIVE
- )
- )
+ (err = jvmti->SetJNIFunctionTable(redir_jni_functions)) == JVMTI_ERROR_NONE || phase != JVMTI_PHASE_LIVE))
{
NSK_COMPLAIN2("TEST FAILED: failed to set redirected JNI function table during %s: %s\n"
, TranslatePhase(phase)
@@ -178,14 +153,7 @@
NSK_DISPLAY0("doRestore: restoring the original JNI function table ...\n");
// Set new JNI function table
- if (!NSK_JVMTI_VERIFY(
- NSK_CPP_STUB2(
- SetJNIFunctionTable
- , jvmti
- , orig_jni_functions
- )
- )
- )
+ if (!NSK_JVMTI_VERIFY(jvmti->SetJNIFunctionTable(orig_jni_functions)))
{
NSK_COMPLAIN0("TEST FAILED: failed to restore original JNI function table\n");
@@ -198,14 +166,7 @@
/* ====================================================================== */
static void lock(jvmtiEnv *jvmti) {
- if (!NSK_JVMTI_VERIFY(
- NSK_CPP_STUB2(
- RawMonitorEnter
- , jvmti
- , eventLock
- )
- )
- )
+ if (!NSK_JVMTI_VERIFY(jvmti->RawMonitorEnter(eventLock)))
{
result = NSK_STATUS_FAILED;
exit(NSK_STATUS_FAILED);
@@ -214,14 +175,7 @@
/* ====================================================================== */
static void unlock(jvmtiEnv *jvmti) {
- if (!NSK_JVMTI_VERIFY(
- NSK_CPP_STUB2(
- RawMonitorExit
- , jvmti
- , eventLock
- )
- )
- )
+ if (!NSK_JVMTI_VERIFY(jvmti->RawMonitorExit(eventLock)))
{
result = NSK_STATUS_FAILED;
exit(NSK_STATUS_FAILED);
@@ -239,15 +193,11 @@
jclass cls;
NSK_TRACE(
- (cls = NSK_CPP_STUB2(
- FindClass
- , env
- , classSig
- ))
+ (cls = env->FindClass(classSig))
);
NSK_TRACE(
- NSK_CPP_STUB1(ExceptionClear, env)
+ env->ExceptionClear()
);
// The check should pass if the actual number of invocations is not less that the expected number (fnd_calls >= exFndCalls).
@@ -329,15 +279,7 @@
(void) memset(&callbacks, 0, sizeof(callbacks));
- if (!NSK_JVMTI_VERIFY(
- NSK_CPP_STUB3(
- SetEventCallbacks
- , jvmti
- , &callbacks
- , sizeof(callbacks)
- )
- )
- )
+ if (!NSK_JVMTI_VERIFY(jvmti->SetEventCallbacks(&callbacks, sizeof(callbacks))))
result = NSK_STATUS_FAILED;
NSK_TRACE(unlock(jvmti));
@@ -373,28 +315,11 @@
return JNI_ERR;
- if (!NSK_VERIFY(
- NSK_CPP_STUB3(
- GetEnv
- , jvm
- , (void **) &jvmti
- , JVMTI_VERSION_1_1
- ) == JNI_OK
- && jvmti != NULL
- )
- )
+ if (!NSK_VERIFY(jvm->GetEnv((void **) &jvmti, JVMTI_VERSION_1_1) == JNI_OK && jvmti != NULL))
return JNI_ERR;
- if (!NSK_JVMTI_VERIFY(
- NSK_CPP_STUB3(
- CreateRawMonitor
- , jvmti
- , "_event_lock"
- , &eventLock
- )
- )
- )
+ if (!NSK_JVMTI_VERIFY(jvmti->CreateRawMonitor("_event_lock", &eventLock)))
return JNI_ERR;
NSK_DISPLAY1("a) Trying to intercept JNI functions during %s phase ...\n"
@@ -409,43 +334,17 @@
callbacks.VMInit = &VMInit;
callbacks.VMDeath = &VMDeath;
- if (!NSK_JVMTI_VERIFY(
- NSK_CPP_STUB3(
- SetEventCallbacks
- , jvmti
- , &callbacks
- , sizeof(callbacks)
- )
- )
- )
+ if (!NSK_JVMTI_VERIFY(jvmti->SetEventCallbacks(&callbacks, sizeof(callbacks))))
return JNI_ERR;
NSK_DISPLAY0("Event callbacks are set\nEnabling 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_VM_DEATH
- , NULL
- )
- )
- )
+ if (!NSK_JVMTI_VERIFY(jvmti->SetEventNotificationMode(JVMTI_ENABLE, JVMTI_EVENT_VM_DEATH, NULL)))
return JNI_ERR;
NSK_DISPLAY0("Events are enabled\n");
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/jni_interception/JI06/ji06t001/ji06t001.cpp Thu Oct 18 18:02:17 2018 -0400
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/jni_interception/JI06/ji06t001/ji06t001.cpp Thu Oct 18 18:04:05 2018 -0400
@@ -81,14 +81,12 @@
static volatile int monent_calls = 0;
static void lock() {
- if (!NSK_JVMTI_VERIFY(NSK_CPP_STUB2(RawMonitorEnter,
- jvmti, countLock)))
+ if (!NSK_JVMTI_VERIFY(jvmti->RawMonitorEnter(countLock)))
exit(STATUS_FAILED);
}
static void unlock() {
- if (!NSK_JVMTI_VERIFY(NSK_CPP_STUB2(RawMonitorExit,
- jvmti, countLock)))
+ if (!NSK_JVMTI_VERIFY(jvmti->RawMonitorExit(countLock)))
exit(STATUS_FAILED);
}
@@ -482,8 +480,7 @@
vm = jvm;
- if (!NSK_JVMTI_VERIFY(NSK_CPP_STUB3(CreateRawMonitor,
- jvmti, "_counter_lock", &countLock)))
+ if (!NSK_JVMTI_VERIFY(jvmti->CreateRawMonitor("_counter_lock", &countLock)))
return JNI_ERR;
return JNI_OK;
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/multienv/MA02/ma02t001/ma02t001.cpp Thu Oct 18 18:02:17 2018 -0400
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/multienv/MA02/ma02t001/ma02t001.cpp Thu Oct 18 18:04:05 2018 -0400
@@ -114,12 +114,10 @@
if (!NSK_VERIFY(nsk_jvmti_init_MA(&callbacks)))
return JNI_ERR;
- if (!NSK_JVMTI_VERIFY(NSK_CPP_STUB4(SetEventNotificationMode,
- jvmti, JVMTI_ENABLE, JVMTI_EVENT_VM_INIT, NULL)))
+ if (!NSK_JVMTI_VERIFY(jvmti->SetEventNotificationMode(JVMTI_ENABLE, JVMTI_EVENT_VM_INIT, NULL)))
return JNI_ERR;
- if (!NSK_JVMTI_VERIFY(NSK_CPP_STUB4(SetEventNotificationMode,
- jvmti, JVMTI_ENABLE, JVMTI_EVENT_VM_DEATH, NULL)))
+ if (!NSK_JVMTI_VERIFY(jvmti->SetEventNotificationMode(JVMTI_ENABLE, JVMTI_EVENT_VM_DEATH, NULL)))
return JNI_ERR;
return JNI_OK;
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/multienv/MA02/ma02t001/ma02t001a.cpp Thu Oct 18 18:02:17 2018 -0400
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/multienv/MA02/ma02t001/ma02t001a.cpp Thu Oct 18 18:04:05 2018 -0400
@@ -114,12 +114,10 @@
if (!NSK_VERIFY(nsk_jvmti_init_MA(&callbacks)))
return JNI_ERR;
- if (!NSK_JVMTI_VERIFY(NSK_CPP_STUB4(SetEventNotificationMode,
- jvmti, JVMTI_ENABLE, JVMTI_EVENT_VM_INIT, NULL)))
+ if (!NSK_JVMTI_VERIFY(jvmti->SetEventNotificationMode(JVMTI_ENABLE, JVMTI_EVENT_VM_INIT, NULL)))
return JNI_ERR;
- if (!NSK_JVMTI_VERIFY(NSK_CPP_STUB4(SetEventNotificationMode,
- jvmti, JVMTI_ENABLE, JVMTI_EVENT_VM_DEATH, NULL)))
+ if (!NSK_JVMTI_VERIFY(jvmti->SetEventNotificationMode(JVMTI_ENABLE, JVMTI_EVENT_VM_DEATH, NULL)))
return JNI_ERR;
return JNI_OK;
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/multienv/MA03/ma03t001/ma03t001.cpp Thu Oct 18 18:02:17 2018 -0400
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/multienv/MA03/ma03t001/ma03t001.cpp Thu Oct 18 18:04:05 2018 -0400
@@ -126,16 +126,13 @@
if (!NSK_VERIFY(nsk_jvmti_init_MA(&callbacks)))
return JNI_ERR;
- if (!NSK_JVMTI_VERIFY(NSK_CPP_STUB4(SetEventNotificationMode,
- jvmti, JVMTI_ENABLE, JVMTI_EVENT_VM_INIT, NULL)))
+ if (!NSK_JVMTI_VERIFY(jvmti->SetEventNotificationMode(JVMTI_ENABLE, JVMTI_EVENT_VM_INIT, NULL)))
return JNI_ERR;
- if (!NSK_JVMTI_VERIFY(NSK_CPP_STUB4(SetEventNotificationMode,
- jvmti, JVMTI_ENABLE, JVMTI_EVENT_VM_DEATH, NULL)))
+ if (!NSK_JVMTI_VERIFY(jvmti->SetEventNotificationMode(JVMTI_ENABLE, JVMTI_EVENT_VM_DEATH, NULL)))
return JNI_ERR;
- if (!NSK_JVMTI_VERIFY(NSK_CPP_STUB4(SetEventNotificationMode,
- jvmti, JVMTI_ENABLE, JVMTI_EVENT_THREAD_START, NULL)))
+ if (!NSK_JVMTI_VERIFY(jvmti->SetEventNotificationMode(JVMTI_ENABLE, JVMTI_EVENT_THREAD_START, NULL)))
return JNI_ERR;
return JNI_OK;
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/multienv/MA04/ma04t001/ma04t001.cpp Thu Oct 18 18:02:17 2018 -0400
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/multienv/MA04/ma04t001/ma04t001.cpp Thu Oct 18 18:04:05 2018 -0400
@@ -53,22 +53,18 @@
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, (cls =
- NSK_CPP_STUB2(FindClass, jni, CLASS_NAME)) != NULL))
+ if (!NSK_JNI_VERIFY(jni, (cls = jni->FindClass(CLASS_NAME)) != NULL))
return NSK_FALSE;
NSK_DISPLAY2("Find field: %s:%s\n", FIELD_NAME, FIELD_SIGNATURE);
if (!NSK_JNI_VERIFY(jni, (fid =
- NSK_CPP_STUB4(GetStaticFieldID, jni, cls,
- FIELD_NAME, FIELD_SIGNATURE)) != NULL))
+ jni->GetStaticFieldID(cls, FIELD_NAME, FIELD_SIGNATURE)) != NULL))
return NSK_FALSE;
- if (!NSK_JNI_VERIFY(jni, (testedObject =
- NSK_CPP_STUB3(GetStaticObjectField, jni, cls, fid)) != NULL))
+ if (!NSK_JNI_VERIFY(jni, (testedObject = jni->GetStaticObjectField(cls, fid)) != NULL))
return NSK_FALSE;
- if (!NSK_JNI_VERIFY(jni, (testedObject =
- NSK_CPP_STUB2(NewGlobalRef, jni, testedObject)) != NULL))
+ if (!NSK_JNI_VERIFY(jni, (testedObject = jni->NewGlobalRef(testedObject)) != NULL))
return NSK_FALSE;
return NSK_TRUE;
@@ -91,7 +87,7 @@
}
NSK_DISPLAY0("Testcase #1: check that testedObject is not tagged \n");
- if (!NSK_JVMTI_VERIFY(NSK_CPP_STUB3(GetTag, jvmti, testedObject, &tag))) {
+ if (!NSK_JVMTI_VERIFY(jvmti->GetTag(testedObject, &tag))) {
nsk_jvmti_setFailStatus();
return;
}
@@ -101,8 +97,7 @@
jlong_to_string(tag, buffer));
nsk_jvmti_setFailStatus();
}
- if (!NSK_JVMTI_VERIFY(NSK_CPP_STUB3(SetTag, jvmti, testedObject,
- SAMPLE_TAG))) {
+ if (!NSK_JVMTI_VERIFY(jvmti->SetTag(testedObject, SAMPLE_TAG))) {
nsk_jvmti_setFailStatus();
return;
}
@@ -112,7 +107,7 @@
return;
NSK_DISPLAY0("Testcase #2: check that testedObject is tagged correctly\n");
- if (!NSK_JVMTI_VERIFY(NSK_CPP_STUB3(GetTag, jvmti, testedObject, &tag))) {
+ if (!NSK_JVMTI_VERIFY(jvmti->GetTag(testedObject, &tag))) {
nsk_jvmti_setFailStatus();
return;
}
@@ -133,7 +128,7 @@
return;
NSK_DISPLAY0("Testcase #3: check that testedObject is tagged correctly\n");
- if (!NSK_JVMTI_VERIFY(NSK_CPP_STUB3(GetTag, jvmti, testedObject, &tag))) {
+ if (!NSK_JVMTI_VERIFY(jvmti->GetTag(testedObject, &tag))) {
nsk_jvmti_setFailStatus();
return;
}
@@ -148,7 +143,7 @@
}
nsk_jvmti_setFailStatus();
}
- if (!NSK_JVMTI_VERIFY(NSK_CPP_STUB3(SetTag, jvmti, testedObject, (jlong)0))) {
+ if (!NSK_JVMTI_VERIFY(jvmti->SetTag(testedObject, (jlong)0))) {
nsk_jvmti_setFailStatus();
return;
}
@@ -158,7 +153,7 @@
return;
NSK_DISPLAY0("Testcase #4: check that testedObject is not tagged \n");
- if (!NSK_JVMTI_VERIFY(NSK_CPP_STUB3(GetTag, jvmti, testedObject, &tag))) {
+ if (!NSK_JVMTI_VERIFY(jvmti->GetTag(testedObject, &tag))) {
nsk_jvmti_setFailStatus();
return;
}
@@ -174,7 +169,7 @@
return;
NSK_DISPLAY0("Testcase #5: check that testedObject is not tagged\n");
- if (!NSK_JVMTI_VERIFY(NSK_CPP_STUB3(GetTag, jvmti, testedObject, &tag))) {
+ if (!NSK_JVMTI_VERIFY(jvmti->GetTag(testedObject, &tag))) {
nsk_jvmti_setFailStatus();
return;
}
@@ -184,7 +179,7 @@
jlong_to_string(tag, buffer));
nsk_jvmti_setFailStatus();
}
- NSK_TRACE(NSK_CPP_STUB2(DeleteGlobalRef, jni, testedObject));
+ NSK_TRACE(jni->DeleteGlobalRef(testedObject));
if (!nsk_jvmti_resumeSync())
return;
@@ -222,7 +217,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/scenarios/multienv/MA04/ma04t001/ma04t001a.cpp Thu Oct 18 18:02:17 2018 -0400
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/multienv/MA04/ma04t001/ma04t001a.cpp Thu Oct 18 18:04:05 2018 -0400
@@ -53,22 +53,18 @@
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, (cls =
- NSK_CPP_STUB2(FindClass, jni, CLASS_NAME)) != NULL))
+ if (!NSK_JNI_VERIFY(jni, (cls = jni->FindClass(CLASS_NAME)) != NULL))
return NSK_FALSE;
NSK_DISPLAY2("Find field: %s:%s\n", FIELD_NAME, FIELD_SIGNATURE);
if (!NSK_JNI_VERIFY(jni, (fid =
- NSK_CPP_STUB4(GetStaticFieldID, jni, cls,
- FIELD_NAME, FIELD_SIGNATURE)) != NULL))
+ jni->GetStaticFieldID(cls, FIELD_NAME, FIELD_SIGNATURE)) != NULL))
return NSK_FALSE;
- if (!NSK_JNI_VERIFY(jni, (testedObject =
- NSK_CPP_STUB3(GetStaticObjectField, jni, cls, fid)) != NULL))
+ if (!NSK_JNI_VERIFY(jni, (testedObject = jni->GetStaticObjectField(cls, fid)) != NULL))
return NSK_FALSE;
- if (!NSK_JNI_VERIFY(jni, (testedObject =
- NSK_CPP_STUB2(NewGlobalRef, jni, testedObject)) != NULL))
+ if (!NSK_JNI_VERIFY(jni, (testedObject = jni->NewGlobalRef(testedObject)) != NULL))
return NSK_FALSE;
return NSK_TRUE;
@@ -91,7 +87,7 @@
}
NSK_DISPLAY0("Testcase #1: check that testedObject is not tagged\n");
- if (!NSK_JVMTI_VERIFY(NSK_CPP_STUB3(GetTag, jvmti, testedObject, &tag))) {
+ if (!NSK_JVMTI_VERIFY(jvmti->GetTag(testedObject, &tag))) {
nsk_jvmti_setFailStatus();
return;
}
@@ -107,7 +103,7 @@
return;
NSK_DISPLAY0("Testcase #2: check that testedObject is not tagged\n");
- if (!NSK_JVMTI_VERIFY(NSK_CPP_STUB3(GetTag, jvmti, testedObject, &tag))) {
+ if (!NSK_JVMTI_VERIFY(jvmti->GetTag(testedObject, &tag))) {
nsk_jvmti_setFailStatus();
return;
}
@@ -117,8 +113,7 @@
jlong_to_string(tag, buffer));
nsk_jvmti_setFailStatus();
}
- if (!NSK_JVMTI_VERIFY(NSK_CPP_STUB3(SetTag, jvmti, testedObject,
- SAMPLE_TAG))) {
+ if (!NSK_JVMTI_VERIFY(jvmti->SetTag(testedObject, SAMPLE_TAG))) {
nsk_jvmti_setFailStatus();
return;
}
@@ -128,7 +123,7 @@
return;
NSK_DISPLAY0("Testcase #3: check that testedObject is tagged correctly\n");
- if (!NSK_JVMTI_VERIFY(NSK_CPP_STUB3(GetTag, jvmti, testedObject, &tag))) {
+ if (!NSK_JVMTI_VERIFY(jvmti->GetTag(testedObject, &tag))) {
nsk_jvmti_setFailStatus();
return;
}
@@ -149,7 +144,7 @@
return;
NSK_DISPLAY0("Testcase #4: check that testedObject is tagged correctly\n");
- if (!NSK_JVMTI_VERIFY(NSK_CPP_STUB3(GetTag, jvmti, testedObject, &tag))) {
+ if (!NSK_JVMTI_VERIFY(jvmti->GetTag(testedObject, &tag))) {
nsk_jvmti_setFailStatus();
return;
}
@@ -164,7 +159,7 @@
}
nsk_jvmti_setFailStatus();
}
- if (!NSK_JVMTI_VERIFY(NSK_CPP_STUB3(SetTag, jvmti, testedObject, (jlong)0))) {
+ if (!NSK_JVMTI_VERIFY(jvmti->SetTag(testedObject, (jlong)0))) {
nsk_jvmti_setFailStatus();
return;
}
@@ -174,7 +169,7 @@
return;
NSK_DISPLAY0("Testcase #5: check that testedObject is not tagged\n");
- if (!NSK_JVMTI_VERIFY(NSK_CPP_STUB3(GetTag, jvmti, testedObject, &tag))) {
+ if (!NSK_JVMTI_VERIFY(jvmti->GetTag(testedObject, &tag))) {
nsk_jvmti_setFailStatus();
return;
}
@@ -184,7 +179,7 @@
jlong_to_string(tag, buffer));
nsk_jvmti_setFailStatus();
}
- NSK_TRACE(NSK_CPP_STUB2(DeleteGlobalRef, jni, testedObject));
+ NSK_TRACE(jni->DeleteGlobalRef(testedObject));
if (!nsk_jvmti_resumeSync())
return;
@@ -222,7 +217,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/scenarios/multienv/MA04/ma04t002/ma04t002.cpp Thu Oct 18 18:02:17 2018 -0400
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/multienv/MA04/ma04t002/ma04t002.cpp Thu Oct 18 18:04:05 2018 -0400
@@ -81,33 +81,28 @@
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, (fid =
- NSK_CPP_STUB4(GetStaticFieldID, jni, testedClass,
- FIELD_NAME, FIELD_SIGNATURE)) != NULL))
+ jni->GetStaticFieldID(testedClass, FIELD_NAME, FIELD_SIGNATURE)) != NULL))
return NSK_FALSE;
- if (!NSK_JNI_VERIFY(jni, (testedObject =
- NSK_CPP_STUB3(GetStaticObjectField, jni, testedClass, fid)) != NULL))
+ if (!NSK_JNI_VERIFY(jni, (testedObject = jni->GetStaticObjectField(testedClass, fid)) != NULL))
return NSK_FALSE;
NSK_DISPLAY2("Find class instance: %s:%s\n",
INSTANCE_NAME, INSTANCE_SIGNATURE);
if (!NSK_JNI_VERIFY(jni, (fid =
- NSK_CPP_STUB4(GetStaticFieldID, jni, testedClass,
- INSTANCE_NAME, INSTANCE_SIGNATURE)) != NULL))
+ jni->GetStaticFieldID(testedClass, INSTANCE_NAME, INSTANCE_SIGNATURE)) != NULL))
return NSK_FALSE;
if (!NSK_JNI_VERIFY(jni, (testedInstance =
- NSK_CPP_STUB3(GetStaticObjectField, jni, testedClass, fid)) != NULL))
+ jni->GetStaticObjectField(testedClass, fid)) != NULL))
return NSK_FALSE;
return NSK_TRUE;
@@ -131,8 +126,7 @@
NSK_DISPLAY0("Testcase #1: check that there are no tagged objects\n");
ObjectsCount = 0;
- if (!NSK_JVMTI_VERIFY(NSK_CPP_STUB4(IterateOverHeap, jvmti,
- JVMTI_HEAP_OBJECT_EITHER, heap_object_callback, &dummy))) {
+ if (!NSK_JVMTI_VERIFY(jvmti->IterateOverHeap(JVMTI_HEAP_OBJECT_EITHER, heap_object_callback, &dummy))) {
nsk_jvmti_setFailStatus();
return;
}
@@ -144,8 +138,7 @@
}
ObjectsCount = 0;
- if (!NSK_JVMTI_VERIFY(NSK_CPP_STUB4(IterateOverHeap, jvmti,
- JVMTI_HEAP_OBJECT_TAGGED, heap_object_callback, &dummy))) {
+ if (!NSK_JVMTI_VERIFY(jvmti->IterateOverHeap(JVMTI_HEAP_OBJECT_TAGGED, heap_object_callback, &dummy))) {
nsk_jvmti_setFailStatus();
return;
}
@@ -157,8 +150,10 @@
}
ObjectsCount = 0;
- if (!NSK_JVMTI_VERIFY(NSK_CPP_STUB5(IterateOverInstancesOfClass, jvmti,
- testedClass, JVMTI_HEAP_OBJECT_EITHER, heap_object_callback, &dummy))) {
+ if (!NSK_JVMTI_VERIFY(jvmti->IterateOverInstancesOfClass(testedClass,
+ JVMTI_HEAP_OBJECT_EITHER,
+ heap_object_callback,
+ &dummy))) {
nsk_jvmti_setFailStatus();
return;
}
@@ -170,8 +165,10 @@
}
ObjectsCount = 0;
- if (!NSK_JVMTI_VERIFY(NSK_CPP_STUB5(IterateOverInstancesOfClass, jvmti,
- testedClass, JVMTI_HEAP_OBJECT_TAGGED, heap_object_callback, &dummy))) {
+ if (!NSK_JVMTI_VERIFY(jvmti->IterateOverInstancesOfClass(testedClass,
+ JVMTI_HEAP_OBJECT_TAGGED,
+ heap_object_callback,
+ &dummy))) {
nsk_jvmti_setFailStatus();
return;
}
@@ -182,8 +179,7 @@
nsk_jvmti_setFailStatus();
}
- if (!NSK_JVMTI_VERIFY(NSK_CPP_STUB3(SetTag, jvmti, testedObject,
- SAMPLE_TAG))) {
+ if (!NSK_JVMTI_VERIFY(jvmti->SetTag(testedObject, SAMPLE_TAG))) {
nsk_jvmti_setFailStatus();
return;
}
@@ -197,8 +193,8 @@
NSK_DISPLAY0("Testcase #2: check that there is only one object tagged\n");
ObjectsCount = 0;
- if (!NSK_JVMTI_VERIFY(NSK_CPP_STUB4(IterateOverHeap, jvmti,
- JVMTI_HEAP_OBJECT_EITHER, heap_object_callback, &dummy))) {
+ if (!NSK_JVMTI_VERIFY(
+ jvmti->IterateOverHeap(JVMTI_HEAP_OBJECT_EITHER, heap_object_callback, &dummy))) {
nsk_jvmti_setFailStatus();
return;
}
@@ -209,8 +205,8 @@
}
ObjectsCount = 0;
- if (!NSK_JVMTI_VERIFY(NSK_CPP_STUB4(IterateOverHeap, jvmti,
- JVMTI_HEAP_OBJECT_TAGGED, heap_object_callback, &dummy))) {
+ if (!NSK_JVMTI_VERIFY(
+ jvmti->IterateOverHeap(JVMTI_HEAP_OBJECT_TAGGED, heap_object_callback, &dummy))) {
nsk_jvmti_setFailStatus();
return;
}
@@ -221,8 +217,7 @@
}
ObjectsCount = 0;
- if (!NSK_JVMTI_VERIFY(NSK_CPP_STUB4(IterateOverHeap, jvmti,
- JVMTI_HEAP_OBJECT_UNTAGGED, heap_object_callback, &dummy))) {
+ if (!NSK_JVMTI_VERIFY(jvmti->IterateOverHeap(JVMTI_HEAP_OBJECT_UNTAGGED, heap_object_callback, &dummy))) {
nsk_jvmti_setFailStatus();
return;
}
@@ -233,8 +228,7 @@
nsk_jvmti_setFailStatus();
}
- if (!NSK_JVMTI_VERIFY(NSK_CPP_STUB3(SetTag, jvmti, testedInstance,
- SAMPLE_TAG))) {
+ if (!NSK_JVMTI_VERIFY(jvmti->SetTag(testedInstance, SAMPLE_TAG))) {
nsk_jvmti_setFailStatus();
return;
}
@@ -248,8 +242,10 @@
NSK_DISPLAY0("Testcase #3: check that there is only one class object tagged\n");
ObjectsCount = 0;
- if (!NSK_JVMTI_VERIFY(NSK_CPP_STUB5(IterateOverInstancesOfClass, jvmti,
- testedClass, JVMTI_HEAP_OBJECT_EITHER, heap_object_callback, &dummy))) {
+ if (!NSK_JVMTI_VERIFY(jvmti->IterateOverInstancesOfClass(testedClass,
+ JVMTI_HEAP_OBJECT_EITHER,
+ heap_object_callback,
+ &dummy))) {
nsk_jvmti_setFailStatus();
return;
}
@@ -261,8 +257,10 @@
}
ObjectsCount = 0;
- if (!NSK_JVMTI_VERIFY(NSK_CPP_STUB5(IterateOverInstancesOfClass, jvmti,
- testedClass, JVMTI_HEAP_OBJECT_EITHER, heap_object_callback, &dummy))) {
+ if (!NSK_JVMTI_VERIFY(jvmti->IterateOverInstancesOfClass(testedClass,
+ JVMTI_HEAP_OBJECT_EITHER,
+ heap_object_callback,
+ &dummy))) {
nsk_jvmti_setFailStatus();
return;
}
@@ -274,8 +272,7 @@
}
ObjectsCount = 0;
- if (!NSK_JVMTI_VERIFY(NSK_CPP_STUB4(IterateOverHeap, jvmti,
- JVMTI_HEAP_OBJECT_UNTAGGED, heap_object_callback, &dummy))) {
+ if (!NSK_JVMTI_VERIFY(jvmti->IterateOverHeap(JVMTI_HEAP_OBJECT_UNTAGGED, heap_object_callback, &dummy))) {
nsk_jvmti_setFailStatus();
return;
}
@@ -287,7 +284,7 @@
}
- NSK_TRACE(NSK_CPP_STUB2(DeleteGlobalRef, jni, testedClass));
+ NSK_TRACE(jni->DeleteGlobalRef(testedClass));
if (!nsk_jvmti_resumeSync())
return;
@@ -326,7 +323,7 @@
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;
}
@@ -337,8 +334,7 @@
if (!NSK_VERIFY(nsk_jvmti_init_MA(&callbacks)))
return JNI_ERR;
- if (!NSK_JVMTI_VERIFY(NSK_CPP_STUB4(SetEventNotificationMode,
- jvmti, JVMTI_ENABLE, JVMTI_EVENT_OBJECT_FREE, NULL)))
+ if (!NSK_JVMTI_VERIFY(jvmti->SetEventNotificationMode(JVMTI_ENABLE, JVMTI_EVENT_OBJECT_FREE, NULL)))
return JNI_ERR;
return JNI_OK;
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/multienv/MA04/ma04t002/ma04t002a.cpp Thu Oct 18 18:02:17 2018 -0400
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/multienv/MA04/ma04t002/ma04t002a.cpp Thu Oct 18 18:04:05 2018 -0400
@@ -81,33 +81,28 @@
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, (fid =
- NSK_CPP_STUB4(GetStaticFieldID, jni, testedClass,
- FIELD_NAME, FIELD_SIGNATURE)) != NULL))
+ jni->GetStaticFieldID(testedClass, FIELD_NAME, FIELD_SIGNATURE)) != NULL))
return NSK_FALSE;
- if (!NSK_JNI_VERIFY(jni, (testedObject =
- NSK_CPP_STUB3(GetStaticObjectField, jni, testedClass, fid)) != NULL))
+ if (!NSK_JNI_VERIFY(jni, (testedObject = jni->GetStaticObjectField(testedClass, fid)) != NULL))
return NSK_FALSE;
NSK_DISPLAY2("Find class instance: %s:%s\n",
INSTANCE_NAME, INSTANCE_SIGNATURE);
if (!NSK_JNI_VERIFY(jni, (fid =
- NSK_CPP_STUB4(GetStaticFieldID, jni, testedClass,
- INSTANCE_NAME, INSTANCE_SIGNATURE)) != NULL))
+ jni->GetStaticFieldID(testedClass, INSTANCE_NAME, INSTANCE_SIGNATURE)) != NULL))
return NSK_FALSE;
if (!NSK_JNI_VERIFY(jni, (testedInstance =
- NSK_CPP_STUB3(GetStaticObjectField, jni, testedClass, fid)) != NULL))
+ jni->GetStaticObjectField(testedClass, fid)) != NULL))
return NSK_FALSE;
return NSK_TRUE;
@@ -131,8 +126,7 @@
NSK_DISPLAY0("Testcase #1: check that there are no tagged objects\n");
ObjectsCount = 0;
- if (!NSK_JVMTI_VERIFY(NSK_CPP_STUB4(IterateOverHeap, jvmti,
- JVMTI_HEAP_OBJECT_EITHER, heap_object_callback, &dummy))) {
+ if (!NSK_JVMTI_VERIFY(jvmti->IterateOverHeap(JVMTI_HEAP_OBJECT_EITHER, heap_object_callback, &dummy))) {
nsk_jvmti_setFailStatus();
return;
}
@@ -144,8 +138,7 @@
}
ObjectsCount = 0;
- if (!NSK_JVMTI_VERIFY(NSK_CPP_STUB4(IterateOverHeap, jvmti,
- JVMTI_HEAP_OBJECT_TAGGED, heap_object_callback, &dummy))) {
+ if (!NSK_JVMTI_VERIFY(jvmti->IterateOverHeap(JVMTI_HEAP_OBJECT_TAGGED, heap_object_callback, &dummy))) {
nsk_jvmti_setFailStatus();
return;
}
@@ -157,8 +150,10 @@
}
ObjectsCount = 0;
- if (!NSK_JVMTI_VERIFY(NSK_CPP_STUB5(IterateOverInstancesOfClass, jvmti,
- testedClass, JVMTI_HEAP_OBJECT_EITHER, heap_object_callback, &dummy))) {
+ if (!NSK_JVMTI_VERIFY(jvmti->IterateOverInstancesOfClass(testedClass,
+ JVMTI_HEAP_OBJECT_EITHER,
+ heap_object_callback,
+ &dummy))) {
nsk_jvmti_setFailStatus();
return;
}
@@ -170,8 +165,10 @@
}
ObjectsCount = 0;
- if (!NSK_JVMTI_VERIFY(NSK_CPP_STUB5(IterateOverInstancesOfClass, jvmti,
- testedClass, JVMTI_HEAP_OBJECT_EITHER, heap_object_callback, &dummy))) {
+ if (!NSK_JVMTI_VERIFY(jvmti->IterateOverInstancesOfClass(testedClass,
+ JVMTI_HEAP_OBJECT_EITHER,
+ heap_object_callback,
+ &dummy))) {
nsk_jvmti_setFailStatus();
return;
}
@@ -182,8 +179,7 @@
nsk_jvmti_setFailStatus();
}
- if (!NSK_JVMTI_VERIFY(NSK_CPP_STUB3(SetTag, jvmti, testedObject,
- SAMPLE_TAG))) {
+ if (!NSK_JVMTI_VERIFY(jvmti->SetTag(testedObject, SAMPLE_TAG))) {
nsk_jvmti_setFailStatus();
return;
}
@@ -197,8 +193,7 @@
NSK_DISPLAY0("Testcase #2: check that there is only one object tagged\n");
ObjectsCount = 0;
- if (!NSK_JVMTI_VERIFY(NSK_CPP_STUB4(IterateOverHeap, jvmti,
- JVMTI_HEAP_OBJECT_EITHER, heap_object_callback, &dummy))) {
+ if (!NSK_JVMTI_VERIFY(jvmti->IterateOverHeap(JVMTI_HEAP_OBJECT_EITHER, heap_object_callback, &dummy))) {
nsk_jvmti_setFailStatus();
return;
}
@@ -209,8 +204,7 @@
}
ObjectsCount = 0;
- if (!NSK_JVMTI_VERIFY(NSK_CPP_STUB4(IterateOverHeap, jvmti,
- JVMTI_HEAP_OBJECT_TAGGED, heap_object_callback, &dummy))) {
+ if (!NSK_JVMTI_VERIFY(jvmti->IterateOverHeap(JVMTI_HEAP_OBJECT_TAGGED, heap_object_callback, &dummy))) {
nsk_jvmti_setFailStatus();
return;
}
@@ -221,8 +215,7 @@
}
ObjectsCount = 0;
- if (!NSK_JVMTI_VERIFY(NSK_CPP_STUB4(IterateOverHeap, jvmti,
- JVMTI_HEAP_OBJECT_UNTAGGED, heap_object_callback, &dummy))) {
+ if (!NSK_JVMTI_VERIFY(jvmti->IterateOverHeap(JVMTI_HEAP_OBJECT_UNTAGGED, heap_object_callback, &dummy))) {
nsk_jvmti_setFailStatus();
return;
}
@@ -233,8 +226,7 @@
nsk_jvmti_setFailStatus();
}
- if (!NSK_JVMTI_VERIFY(NSK_CPP_STUB3(SetTag, jvmti, testedInstance,
- SAMPLE_TAG))) {
+ if (!NSK_JVMTI_VERIFY(jvmti->SetTag(testedInstance, SAMPLE_TAG))) {
nsk_jvmti_setFailStatus();
return;
}
@@ -248,8 +240,10 @@
NSK_DISPLAY0("Testcase #3: check that there is only one class object tagged\n");
ObjectsCount = 0;
- if (!NSK_JVMTI_VERIFY(NSK_CPP_STUB5(IterateOverInstancesOfClass, jvmti,
- testedClass, JVMTI_HEAP_OBJECT_EITHER, heap_object_callback, &dummy))) {
+ if (!NSK_JVMTI_VERIFY(jvmti->IterateOverInstancesOfClass(testedClass,
+ JVMTI_HEAP_OBJECT_EITHER,
+ heap_object_callback,
+ &dummy))) {
nsk_jvmti_setFailStatus();
return;
}
@@ -261,8 +255,10 @@
}
ObjectsCount = 0;
- if (!NSK_JVMTI_VERIFY(NSK_CPP_STUB5(IterateOverInstancesOfClass, jvmti,
- testedClass, JVMTI_HEAP_OBJECT_EITHER, heap_object_callback, &dummy))) {
+ if (!NSK_JVMTI_VERIFY(jvmti->IterateOverInstancesOfClass(testedClass,
+ JVMTI_HEAP_OBJECT_EITHER,
+ heap_object_callback,
+ &dummy))) {
nsk_jvmti_setFailStatus();
return;
}
@@ -274,8 +270,7 @@
}
ObjectsCount = 0;
- if (!NSK_JVMTI_VERIFY(NSK_CPP_STUB4(IterateOverHeap, jvmti,
- JVMTI_HEAP_OBJECT_UNTAGGED, heap_object_callback, &dummy))) {
+ if (!NSK_JVMTI_VERIFY(jvmti->IterateOverHeap(JVMTI_HEAP_OBJECT_UNTAGGED, heap_object_callback, &dummy))) {
nsk_jvmti_setFailStatus();
return;
}
@@ -287,7 +282,7 @@
}
- NSK_TRACE(NSK_CPP_STUB2(DeleteGlobalRef, jni, testedClass));
+ NSK_TRACE(jni->DeleteGlobalRef(testedClass));
if (!nsk_jvmti_resumeSync())
return;
@@ -326,7 +321,7 @@
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;
}
@@ -337,8 +332,7 @@
if (!NSK_VERIFY(nsk_jvmti_init_MA(&callbacks)))
return JNI_ERR;
- if (!NSK_JVMTI_VERIFY(NSK_CPP_STUB4(SetEventNotificationMode,
- jvmti, JVMTI_ENABLE, JVMTI_EVENT_OBJECT_FREE, NULL)))
+ if (!NSK_JVMTI_VERIFY(jvmti->SetEventNotificationMode(JVMTI_ENABLE, JVMTI_EVENT_OBJECT_FREE, NULL)))
return JNI_ERR;
return JNI_OK;
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/multienv/MA04/ma04t003/ma04t003.cpp Thu Oct 18 18:02:17 2018 -0400
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/multienv/MA04/ma04t003/ma04t003.cpp Thu Oct 18 18:04:05 2018 -0400
@@ -88,22 +88,18 @@
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, (cls =
- NSK_CPP_STUB2(FindClass, jni, CLASS_NAME)) != NULL))
+ if (!NSK_JNI_VERIFY(jni, (cls = jni->FindClass(CLASS_NAME)) != NULL))
return NSK_FALSE;
NSK_DISPLAY2("Find field: %s:%s\n", FIELD_NAME, FIELD_SIGNATURE);
if (!NSK_JNI_VERIFY(jni, (fid =
- NSK_CPP_STUB4(GetStaticFieldID, jni, cls,
- FIELD_NAME, FIELD_SIGNATURE)) != NULL))
+ jni->GetStaticFieldID(cls, FIELD_NAME, FIELD_SIGNATURE)) != NULL))
return NSK_FALSE;
- if (!NSK_JNI_VERIFY(jni, (testedObject =
- NSK_CPP_STUB3(GetStaticObjectField, jni, cls, fid)) != NULL))
+ if (!NSK_JNI_VERIFY(jni, (testedObject = jni->GetStaticObjectField(cls, fid)) != NULL))
return NSK_FALSE;
- if (!NSK_JNI_VERIFY(jni, (testedObject =
- NSK_CPP_STUB2(NewGlobalRef, jni, testedObject)) != NULL))
+ if (!NSK_JNI_VERIFY(jni, (testedObject = jni->NewGlobalRef(testedObject)) != NULL))
return NSK_FALSE;
return NSK_TRUE;
@@ -124,13 +120,12 @@
}
NSK_DISPLAY0("Set tag on testedObject\n");
- if (!NSK_JVMTI_VERIFY(NSK_CPP_STUB3(SetTag, jvmti, testedObject,
- SAMPLE_TAG))) {
+ if (!NSK_JVMTI_VERIFY(jvmti->SetTag(testedObject, SAMPLE_TAG))) {
nsk_jvmti_setFailStatus();
return;
}
- NSK_TRACE(NSK_CPP_STUB2(DeleteGlobalRef, jni, testedObject));
+ NSK_TRACE(jni->DeleteGlobalRef(testedObject));
if (!nsk_jvmti_resumeSync())
return;
@@ -169,7 +164,7 @@
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;
}
@@ -182,12 +177,10 @@
if (!NSK_VERIFY(nsk_jvmti_init_MA(&callbacks)))
return JNI_ERR;
- if (!NSK_JVMTI_VERIFY(NSK_CPP_STUB4(SetEventNotificationMode,
- jvmti, JVMTI_ENABLE, JVMTI_EVENT_OBJECT_FREE, NULL)))
+ if (!NSK_JVMTI_VERIFY(jvmti->SetEventNotificationMode(JVMTI_ENABLE, JVMTI_EVENT_OBJECT_FREE, NULL)))
return JNI_ERR;
- if (!NSK_JVMTI_VERIFY(NSK_CPP_STUB4(SetEventNotificationMode,
- jvmti, JVMTI_ENABLE, JVMTI_EVENT_VM_DEATH, NULL)))
+ if (!NSK_JVMTI_VERIFY(jvmti->SetEventNotificationMode(JVMTI_ENABLE, JVMTI_EVENT_VM_DEATH, NULL)))
return JNI_ERR;
return JNI_OK;
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/multienv/MA04/ma04t003/ma04t003a.cpp Thu Oct 18 18:02:17 2018 -0400
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/multienv/MA04/ma04t003/ma04t003a.cpp Thu Oct 18 18:04:05 2018 -0400
@@ -88,22 +88,18 @@
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, (cls =
- NSK_CPP_STUB2(FindClass, jni, CLASS_NAME)) != NULL))
+ if (!NSK_JNI_VERIFY(jni, (cls = jni->FindClass(CLASS_NAME)) != NULL))
return NSK_FALSE;
NSK_DISPLAY2("Find field: %s:%s\n", FIELD_NAME, FIELD_SIGNATURE);
if (!NSK_JNI_VERIFY(jni, (fid =
- NSK_CPP_STUB4(GetStaticFieldID, jni, cls,
- FIELD_NAME, FIELD_SIGNATURE)) != NULL))
+ jni->GetStaticFieldID(cls, FIELD_NAME, FIELD_SIGNATURE)) != NULL))
return NSK_FALSE;
- if (!NSK_JNI_VERIFY(jni, (testedObject =
- NSK_CPP_STUB3(GetStaticObjectField, jni, cls, fid)) != NULL))
+ if (!NSK_JNI_VERIFY(jni, (testedObject = jni->GetStaticObjectField(cls, fid)) != NULL))
return NSK_FALSE;
- if (!NSK_JNI_VERIFY(jni, (testedObject =
- NSK_CPP_STUB2(NewGlobalRef, jni, testedObject)) != NULL))
+ if (!NSK_JNI_VERIFY(jni, (testedObject = jni->NewGlobalRef(testedObject)) != NULL))
return NSK_FALSE;
return NSK_TRUE;
@@ -124,13 +120,12 @@
}
NSK_DISPLAY0("Set tag on testedObject\n");
- if (!NSK_JVMTI_VERIFY(NSK_CPP_STUB3(SetTag, jvmti, testedObject,
- SAMPLE_TAG))) {
+ if (!NSK_JVMTI_VERIFY(jvmti->SetTag(testedObject, SAMPLE_TAG))) {
nsk_jvmti_setFailStatus();
return;
}
- NSK_TRACE(NSK_CPP_STUB2(DeleteGlobalRef, jni, testedObject));
+ NSK_TRACE(jni->DeleteGlobalRef(testedObject));
if (!nsk_jvmti_resumeSync())
return;
@@ -169,7 +164,7 @@
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;
}
@@ -182,12 +177,10 @@
if (!NSK_VERIFY(nsk_jvmti_init_MA(&callbacks)))
return JNI_ERR;
- if (!NSK_JVMTI_VERIFY(NSK_CPP_STUB4(SetEventNotificationMode,
- jvmti, JVMTI_ENABLE, JVMTI_EVENT_OBJECT_FREE, NULL)))
+ if (!NSK_JVMTI_VERIFY(jvmti->SetEventNotificationMode(JVMTI_ENABLE, JVMTI_EVENT_OBJECT_FREE, NULL)))
return JNI_ERR;
- if (!NSK_JVMTI_VERIFY(NSK_CPP_STUB4(SetEventNotificationMode,
- jvmti, JVMTI_ENABLE, JVMTI_EVENT_VM_DEATH, NULL)))
+ if (!NSK_JVMTI_VERIFY(jvmti->SetEventNotificationMode(JVMTI_ENABLE, JVMTI_EVENT_VM_DEATH, NULL)))
return JNI_ERR;
return JNI_OK;
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/multienv/MA05/ma05t001/ma05t001.cpp Thu Oct 18 18:02:17 2018 -0400
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/multienv/MA05/ma05t001/ma05t001.cpp Thu Oct 18 18:04:05 2018 -0400
@@ -54,17 +54,16 @@
char *signature = NULL;
BreakpointEventsCount++;
- if (!NSK_JVMTI_VERIFY(NSK_CPP_STUB5(GetMethodName,
- jvmti_env, method, &name, &signature, NULL))) {
+ if (!NSK_JVMTI_VERIFY(jvmti_env->GetMethodName(method, &name, &signature, NULL))) {
nsk_jvmti_setFailStatus();
}
NSK_DISPLAY2("Breakpoint event: %s%s\n", name, signature);
if (name != NULL)
- NSK_CPP_STUB2(Deallocate, jvmti_env, (unsigned char*)name);
+ jvmti_env->Deallocate((unsigned char*)name);
if (signature != NULL)
- NSK_CPP_STUB2(Deallocate, jvmti_env, (unsigned char*)signature);
+ jvmti_env->Deallocate((unsigned char*)signature);
switch(BreakpointEventsCount) {
case 1:
@@ -85,8 +84,7 @@
break;
}
- if (!NSK_JVMTI_VERIFY(
- NSK_CPP_STUB3(NotifyFramePop, jvmti_env, thread, 0))) {
+ if (!NSK_JVMTI_VERIFY(jvmti_env->NotifyFramePop(thread, 0))) {
nsk_jvmti_setFailStatus();
}
}
@@ -99,8 +97,7 @@
char *signature = NULL;
FramePopEventsCount++;
- if (!NSK_JVMTI_VERIFY(NSK_CPP_STUB5(GetMethodName,
- jvmti_env, method, &name, &signature, NULL))) {
+ if (!NSK_JVMTI_VERIFY(jvmti_env->GetMethodName(method, &name, &signature, NULL))) {
nsk_jvmti_setFailStatus();
return;
}
@@ -108,9 +105,9 @@
NSK_DISPLAY2("FramePop event: %s%s\n", name, signature);
if (name != NULL)
- NSK_CPP_STUB2(Deallocate, jvmti_env, (unsigned char*)name);
+ jvmti_env->Deallocate((unsigned char*)name);
if (signature != NULL)
- NSK_CPP_STUB2(Deallocate, jvmti_env, (unsigned char*)signature);
+ jvmti_env->Deallocate((unsigned char*)signature);
}
/* ========================================================================== */
@@ -126,8 +123,7 @@
NSK_DISPLAY0("Prepare: find tested thread\n");
/* get all live threads */
- if (!NSK_JVMTI_VERIFY(
- NSK_CPP_STUB3(GetAllThreads, jvmti, &threads_count, &threads)))
+ if (!NSK_JVMTI_VERIFY(jvmti->GetAllThreads(&threads_count, &threads)))
return NSK_FALSE;
if (!NSK_VERIFY(threads_count > 0 && threads != NULL))
@@ -139,8 +135,7 @@
return NSK_FALSE;
/* get thread information */
- if (!NSK_JVMTI_VERIFY(
- NSK_CPP_STUB3(GetThreadInfo, jvmti, threads[i], &info)))
+ if (!NSK_JVMTI_VERIFY(jvmti->GetThreadInfo(threads[i], &info)))
return NSK_FALSE;
NSK_DISPLAY3(" thread #%d (%s): %p\n", i, info.name, threads[i]);
@@ -151,15 +146,13 @@
}
if (info.name != NULL) {
- if (!NSK_JVMTI_VERIFY(NSK_CPP_STUB2(
- Deallocate, jvmti, (unsigned char*)info.name)))
+ if (!NSK_JVMTI_VERIFY(jvmti->Deallocate((unsigned char*)info.name)))
return NSK_FALSE;
}
}
/* deallocate threads list */
- if (!NSK_JVMTI_VERIFY(
- NSK_CPP_STUB2(Deallocate, jvmti, (unsigned char*)threads)))
+ if (!NSK_JVMTI_VERIFY(jvmti->Deallocate((unsigned char*)threads)))
return NSK_FALSE;
if (thread == NULL) {
@@ -167,29 +160,24 @@
return NSK_FALSE;
}
- if (!NSK_JNI_VERIFY(jni, (thread =
- NSK_CPP_STUB2(NewGlobalRef, jni, thread)) != NULL))
+ if (!NSK_JNI_VERIFY(jni, (thread = jni->NewGlobalRef(thread)) != NULL))
return NSK_FALSE;
/* get tested thread class */
- if (!NSK_JNI_VERIFY(jni, (klass =
- NSK_CPP_STUB2(GetObjectClass, jni, thread)) != NULL))
+ if (!NSK_JNI_VERIFY(jni, (klass = jni->GetObjectClass(thread)) != NULL))
return NSK_FALSE;
/* get tested thread method 'checkPoint' */
- if (!NSK_JNI_VERIFY(jni, (method = NSK_CPP_STUB4(
- GetMethodID, jni, klass, "checkPoint", "()V")) != NULL))
+ if (!NSK_JNI_VERIFY(jni, (method = jni->GetMethodID(klass, "checkPoint", "()V")) != NULL))
return NSK_FALSE;
- if (!NSK_JVMTI_VERIFY(NSK_CPP_STUB3(SetBreakpoint, jvmti, method, 0)))
+ if (!NSK_JVMTI_VERIFY(jvmti->SetBreakpoint(method, 0)))
return NSK_FALSE;
/* enable events */
- 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 NSK_FALSE;
- if (!NSK_JVMTI_VERIFY(NSK_CPP_STUB4(SetEventNotificationMode,
- jvmti, JVMTI_ENABLE, JVMTI_EVENT_FRAME_POP, NULL)))
+ if (!NSK_JVMTI_VERIFY(jvmti->SetEventNotificationMode(JVMTI_ENABLE, JVMTI_EVENT_FRAME_POP, NULL)))
return NSK_FALSE;
return NSK_TRUE;
@@ -224,12 +212,11 @@
nsk_jvmti_setFailStatus();
}
- if (!NSK_JVMTI_VERIFY(NSK_CPP_STUB4(SetEventNotificationMode,
- jvmti, JVMTI_DISABLE, JVMTI_EVENT_FRAME_POP, NULL)))
+ if (!NSK_JVMTI_VERIFY(jvmti->SetEventNotificationMode(JVMTI_DISABLE, JVMTI_EVENT_FRAME_POP, NULL)))
nsk_jvmti_setFailStatus();
- NSK_TRACE(NSK_CPP_STUB3(ClearBreakpoint, jvmti, method, 0));
- NSK_TRACE(NSK_CPP_STUB2(DeleteGlobalRef, jni, thread));
+ NSK_TRACE(jvmti->ClearBreakpoint(method, 0));
+ NSK_TRACE(jni->DeleteGlobalRef(thread));
if (!nsk_jvmti_resumeSync())
return;
@@ -268,7 +255,7 @@
memset(&caps, 0, sizeof(caps));
caps.can_generate_breakpoint_events = 1;
caps.can_generate_frame_pop_events = 1;
- if (!NSK_JVMTI_VERIFY(NSK_CPP_STUB2(AddCapabilities, jvmti, &caps)))
+ if (!NSK_JVMTI_VERIFY(jvmti->AddCapabilities(&caps)))
return JNI_ERR;
if (!NSK_VERIFY(nsk_jvmti_setAgentProc(agentProc, NULL)))
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/multienv/MA05/ma05t001/ma05t001a.cpp Thu Oct 18 18:02:17 2018 -0400
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/multienv/MA05/ma05t001/ma05t001a.cpp Thu Oct 18 18:04:05 2018 -0400
@@ -57,8 +57,7 @@
return;
MethodEntryEventsCount++;
- if (!NSK_JVMTI_VERIFY(NSK_CPP_STUB5(GetMethodName,
- jvmti_env, method, &name, &signature, NULL))) {
+ if (!NSK_JVMTI_VERIFY(jvmti_env->GetMethodName(method, &name, &signature, NULL))) {
nsk_jvmti_setFailStatus();
return;
}
@@ -66,15 +65,14 @@
NSK_DISPLAY2("MethodEntry event: %s%s\n", name, signature);
if (name != NULL)
- NSK_CPP_STUB2(Deallocate, jvmti_env, (unsigned char*)name);
+ jvmti_env->Deallocate((unsigned char*)name);
if (signature != NULL)
- NSK_CPP_STUB2(Deallocate, jvmti_env, (unsigned char*)signature);
+ jvmti_env->Deallocate((unsigned char*)signature);
switch(MethodEntryEventsCount) {
case 1:
NSK_DISPLAY0("Testcase #1: FramePop in both agents\n");
- if (!NSK_JVMTI_VERIFY(
- NSK_CPP_STUB3(NotifyFramePop, jvmti_env, thread, 0)))
+ if (!NSK_JVMTI_VERIFY(jvmti_env->NotifyFramePop(thread, 0)))
nsk_jvmti_setFailStatus();
break;
@@ -84,11 +82,9 @@
case 3:
NSK_DISPLAY0("Testcase #3: FramePop disabled in 2nd agent\n");
- if (!NSK_JVMTI_VERIFY(NSK_CPP_STUB4(SetEventNotificationMode,
- jvmti_env, JVMTI_DISABLE, JVMTI_EVENT_FRAME_POP, NULL)))
+ if (!NSK_JVMTI_VERIFY(jvmti_env->SetEventNotificationMode(JVMTI_DISABLE, JVMTI_EVENT_FRAME_POP, NULL)))
nsk_jvmti_setFailStatus();
- if (!NSK_JVMTI_VERIFY(
- NSK_CPP_STUB3(NotifyFramePop, jvmti_env, thread, 0)))
+ if (!NSK_JVMTI_VERIFY(jvmti_env->NotifyFramePop(thread, 0)))
nsk_jvmti_setFailStatus();
break;
@@ -107,8 +103,7 @@
char *signature = NULL;
FramePopEventsCount++;
- if (!NSK_JVMTI_VERIFY(NSK_CPP_STUB5(GetMethodName,
- jvmti_env, method, &name, &signature, NULL))) {
+ if (!NSK_JVMTI_VERIFY(jvmti_env->GetMethodName(method, &name, &signature, NULL))) {
nsk_jvmti_setFailStatus();
return;
}
@@ -116,9 +111,9 @@
NSK_DISPLAY2("FramePop event: %s%s\n", name, signature);
if (name != NULL)
- NSK_CPP_STUB2(Deallocate, jvmti_env, (unsigned char*)name);
+ jvmti_env->Deallocate((unsigned char*)name);
if (signature != NULL)
- NSK_CPP_STUB2(Deallocate, jvmti_env, (unsigned char*)signature);
+ jvmti_env->Deallocate((unsigned char*)signature);
switch(MethodEntryEventsCount) {
case 1:
@@ -155,8 +150,7 @@
NSK_DISPLAY0("Prepare: find tested thread\n");
/* get all live threads */
- if (!NSK_JVMTI_VERIFY(
- NSK_CPP_STUB3(GetAllThreads, jvmti, &threads_count, &threads)))
+ if (!NSK_JVMTI_VERIFY(jvmti->GetAllThreads(&threads_count, &threads)))
return NSK_FALSE;
if (!NSK_VERIFY(threads_count > 0 && threads != NULL))
@@ -168,8 +162,7 @@
return NSK_FALSE;
/* get thread information */
- if (!NSK_JVMTI_VERIFY(
- NSK_CPP_STUB3(GetThreadInfo, jvmti, threads[i], &info)))
+ if (!NSK_JVMTI_VERIFY(jvmti->GetThreadInfo(threads[i], &info)))
return NSK_FALSE;
NSK_DISPLAY3(" thread #%d (%s): %p\n", i, info.name, threads[i]);
@@ -180,15 +173,13 @@
}
if (info.name != NULL) {
- if (!NSK_JVMTI_VERIFY(NSK_CPP_STUB2(
- Deallocate, jvmti, (unsigned char*)info.name)))
+ if (!NSK_JVMTI_VERIFY(jvmti->Deallocate((unsigned char*)info.name)))
return NSK_FALSE;
}
}
/* deallocate threads list */
- if (!NSK_JVMTI_VERIFY(
- NSK_CPP_STUB2(Deallocate, jvmti, (unsigned char*)threads)))
+ if (!NSK_JVMTI_VERIFY(jvmti->Deallocate((unsigned char*)threads)))
return NSK_FALSE;
if (thread == NULL) {
@@ -196,26 +187,21 @@
return NSK_FALSE;
}
- if (!NSK_JNI_VERIFY(jni, (thread =
- NSK_CPP_STUB2(NewGlobalRef, jni, thread)) != NULL))
+ if (!NSK_JNI_VERIFY(jni, (thread = jni->NewGlobalRef(thread)) != NULL))
return NSK_FALSE;
/* get tested thread class */
- if (!NSK_JNI_VERIFY(jni, (klass =
- NSK_CPP_STUB2(GetObjectClass, jni, thread)) != NULL))
+ if (!NSK_JNI_VERIFY(jni, (klass = jni->GetObjectClass(thread)) != NULL))
return NSK_FALSE;
/* get tested thread method 'checkPoint' */
- if (!NSK_JNI_VERIFY(jni, (midCheckPoint = NSK_CPP_STUB4(
- GetMethodID, jni, klass, "checkPoint", "()V")) != NULL))
+ if (!NSK_JNI_VERIFY(jni, (midCheckPoint = jni->GetMethodID(klass, "checkPoint", "()V")) != NULL))
return NSK_FALSE;
/* enable events */
- if (!NSK_JVMTI_VERIFY(NSK_CPP_STUB4(SetEventNotificationMode,
- jvmti, JVMTI_ENABLE, JVMTI_EVENT_METHOD_ENTRY, NULL)))
+ if (!NSK_JVMTI_VERIFY(jvmti->SetEventNotificationMode(JVMTI_ENABLE, JVMTI_EVENT_METHOD_ENTRY, NULL)))
return NSK_FALSE;
- if (!NSK_JVMTI_VERIFY(NSK_CPP_STUB4(SetEventNotificationMode,
- jvmti, JVMTI_ENABLE, JVMTI_EVENT_FRAME_POP, NULL)))
+ if (!NSK_JVMTI_VERIFY(jvmti->SetEventNotificationMode(JVMTI_ENABLE, JVMTI_EVENT_FRAME_POP, NULL)))
return NSK_FALSE;
return NSK_TRUE;
@@ -246,9 +232,8 @@
nsk_jvmti_setFailStatus();
}
- NSK_TRACE(NSK_CPP_STUB2(DeleteGlobalRef, jni, thread));
- if (!NSK_JVMTI_VERIFY(NSK_CPP_STUB4(SetEventNotificationMode,
- jvmti, JVMTI_DISABLE, JVMTI_EVENT_METHOD_ENTRY, NULL)))
+ NSK_TRACE(jni->DeleteGlobalRef(thread));
+ if (!NSK_JVMTI_VERIFY(jvmti->SetEventNotificationMode(JVMTI_DISABLE, JVMTI_EVENT_METHOD_ENTRY, NULL)))
nsk_jvmti_setFailStatus();
if (!nsk_jvmti_resumeSync())
@@ -288,7 +273,7 @@
memset(&caps, 0, sizeof(caps));
caps.can_generate_method_entry_events = 1;
caps.can_generate_frame_pop_events = 1;
- if (!NSK_JVMTI_VERIFY(NSK_CPP_STUB2(AddCapabilities, jvmti, &caps)))
+ if (!NSK_JVMTI_VERIFY(jvmti->AddCapabilities(&caps)))
return JNI_ERR;
if (!NSK_VERIFY(nsk_jvmti_setAgentProc(agentProc, NULL)))
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/multienv/MA06/ma06t001/ma06t001.cpp Thu Oct 18 18:02:17 2018 -0400
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/multienv/MA06/ma06t001/ma06t001.cpp Thu Oct 18 18:04:05 2018 -0400
@@ -65,8 +65,7 @@
if (class_being_redefined == NULL) {
/* sent by class load */
- if (!NSK_JVMTI_VERIFY(NSK_CPP_STUB3(Allocate,
- jvmti_env, class_data_len, &klass_bytes)))
+ if (!NSK_JVMTI_VERIFY(jvmti_env->Allocate(class_data_len, &klass_bytes)))
nsk_jvmti_setFailStatus();
else {
memcpy(klass_bytes, class_data, class_data_len);
@@ -94,12 +93,10 @@
static int prepare(jvmtiEnv* jvmti, JNIEnv* jni) {
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;
return NSK_TRUE;
@@ -126,7 +123,7 @@
class_def.klass = testedClass;
class_def.class_byte_count = klass_byte_count;
class_def.class_bytes = klass_bytes;
- if (!NSK_JVMTI_VERIFY(NSK_CPP_STUB3(RedefineClasses, jvmti, 1, &class_def)))
+ if (!NSK_JVMTI_VERIFY(jvmti->RedefineClasses(1, &class_def)))
return NSK_FALSE;
return NSK_TRUE;
@@ -181,11 +178,10 @@
nsk_jvmti_setFailStatus();
}
- if (!NSK_JVMTI_VERIFY(NSK_CPP_STUB4(SetEventNotificationMode,
- jvmti, JVMTI_DISABLE, JVMTI_EVENT_CLASS_FILE_LOAD_HOOK, NULL)))
+ if (!NSK_JVMTI_VERIFY(jvmti->SetEventNotificationMode(JVMTI_DISABLE, JVMTI_EVENT_CLASS_FILE_LOAD_HOOK, NULL)))
nsk_jvmti_setFailStatus();
- NSK_TRACE(NSK_CPP_STUB2(DeleteGlobalRef, jni, testedClass));
+ NSK_TRACE(jni->DeleteGlobalRef(testedClass));
if (!nsk_jvmti_resumeSync())
return;
@@ -223,7 +219,7 @@
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;
if (!NSK_VERIFY(nsk_jvmti_setAgentProc(agentProc, NULL)))
@@ -234,8 +230,7 @@
if (!NSK_VERIFY(nsk_jvmti_init_MA(&callbacks)))
return JNI_ERR;
- 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/scenarios/multienv/MA06/ma06t001/ma06t001a.cpp Thu Oct 18 18:02:17 2018 -0400
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/multienv/MA06/ma06t001/ma06t001a.cpp Thu Oct 18 18:04:05 2018 -0400
@@ -65,8 +65,7 @@
if (class_being_redefined == NULL) {
/* sent by class load */
- if (!NSK_JVMTI_VERIFY(NSK_CPP_STUB3(Allocate,
- jvmti_env, class_data_len, &klass_bytes)))
+ if (!NSK_JVMTI_VERIFY(jvmti_env->Allocate(class_data_len, &klass_bytes)))
nsk_jvmti_setFailStatus();
else {
memcpy(klass_bytes, class_data, class_data_len);
@@ -94,12 +93,10 @@
static int prepare(jvmtiEnv* jvmti, JNIEnv* jni) {
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;
return NSK_TRUE;
@@ -126,7 +123,7 @@
class_def.klass = testedClass;
class_def.class_byte_count = klass_byte_count;
class_def.class_bytes = klass_bytes;
- if (!NSK_JVMTI_VERIFY(NSK_CPP_STUB3(RedefineClasses, jvmti, 1, &class_def)))
+ if (!NSK_JVMTI_VERIFY(jvmti->RedefineClasses(1, &class_def)))
return NSK_FALSE;
return NSK_TRUE;
@@ -181,11 +178,10 @@
nsk_jvmti_setFailStatus();
}
- if (!NSK_JVMTI_VERIFY(NSK_CPP_STUB4(SetEventNotificationMode,
- jvmti, JVMTI_DISABLE, JVMTI_EVENT_CLASS_FILE_LOAD_HOOK, NULL)))
+ if (!NSK_JVMTI_VERIFY(jvmti->SetEventNotificationMode(JVMTI_DISABLE, JVMTI_EVENT_CLASS_FILE_LOAD_HOOK, NULL)))
nsk_jvmti_setFailStatus();
- NSK_TRACE(NSK_CPP_STUB2(DeleteGlobalRef, jni, testedClass));
+ NSK_TRACE(jni->DeleteGlobalRef(testedClass));
if (!nsk_jvmti_resumeSync())
return;
@@ -223,7 +219,7 @@
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;
if (!NSK_VERIFY(nsk_jvmti_setAgentProc(agentProc, NULL)))
@@ -234,8 +230,7 @@
if (!NSK_VERIFY(nsk_jvmti_init_MA(&callbacks)))
return JNI_ERR;
- 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/scenarios/multienv/MA07/ma07t001/ma07t001.cpp Thu Oct 18 18:02:17 2018 -0400
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/multienv/MA07/ma07t001/ma07t001.cpp Thu Oct 18 18:04:05 2018 -0400
@@ -71,8 +71,7 @@
return;
}
- if (!NSK_JVMTI_VERIFY(NSK_CPP_STUB3(Allocate,
- jvmti_env, class_data_len, &klass_bytes)))
+ if (!NSK_JVMTI_VERIFY(jvmti_env->Allocate(class_data_len, &klass_bytes)))
nsk_jvmti_setFailStatus();
else {
@@ -174,8 +173,7 @@
if (!NSK_VERIFY(nsk_jvmti_init_MA(&callbacks)))
return JNI_ERR;
- 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/scenarios/multienv/MA07/ma07t001/ma07t001a.cpp Thu Oct 18 18:02:17 2018 -0400
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/multienv/MA07/ma07t001/ma07t001a.cpp Thu Oct 18 18:04:05 2018 -0400
@@ -71,8 +71,7 @@
return;
}
- if (!NSK_JVMTI_VERIFY(NSK_CPP_STUB3(Allocate,
- jvmti_env, class_data_len, &klass_bytes)))
+ if (!NSK_JVMTI_VERIFY(jvmti_env->Allocate(class_data_len, &klass_bytes)))
nsk_jvmti_setFailStatus();
else {
@@ -175,8 +174,7 @@
if (!NSK_VERIFY(nsk_jvmti_init_MA(&callbacks)))
return JNI_ERR;
- 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/jdk/java/util/PluggableLocale/BreakIteratorProviderTest.java Thu Oct 18 18:02:17 2018 -0400
+++ b/test/jdk/java/util/PluggableLocale/BreakIteratorProviderTest.java Thu Oct 18 18:04:05 2018 -0400
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2007, 2016, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 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
@@ -20,27 +20,41 @@
* or visit www.oracle.com if you need additional information or have any
* questions.
*/
+
/*
- *
+ * @test
+ * @bug 4052440 8062588 8165804 8210406
+ * @summary BreakIteratorProvider tests
+ * @library providersrc/foobarutils
+ * providersrc/fooprovider
+ * @modules java.base/sun.util.locale.provider
+ * java.base/sun.util.resources
+ * @build com.foobar.Utils
+ * com.foo.*
+ * @run main/othervm -Djava.locale.providers=JRE,SPI BreakIteratorProviderTest
*/
-import java.text.*;
-import java.util.*;
-import sun.util.locale.provider.*;
+import java.text.BreakIterator;
+import java.util.Arrays;
+import java.util.HashSet;
+import java.util.List;
+import java.util.Locale;
+import java.util.ResourceBundle;
+import java.util.Set;
+
+import com.foo.BreakIteratorProviderImpl;
+
+import sun.util.locale.provider.LocaleProviderAdapter;
+import sun.util.locale.provider.ResourceBundleBasedAdapter;
public class BreakIteratorProviderTest extends ProviderTest {
- com.foo.BreakIteratorProviderImpl bip = new com.foo.BreakIteratorProviderImpl();
+ BreakIteratorProviderImpl bip = new BreakIteratorProviderImpl();
List<Locale> availloc = Arrays.asList(BreakIterator.getAvailableLocales());
List<Locale> providerloc = Arrays.asList(bip.getAvailableLocales());
List<Locale> jreloc = Arrays.asList(LocaleProviderAdapter.forJRE().getAvailableLocales());
List<Locale> jreimplloc = Arrays.asList(LocaleProviderAdapter.forJRE().getBreakIteratorProvider().getAvailableLocales());
- private static final int CHARACTER_INDEX = 0;
- private static final int WORD_INDEX = 1;
- private static final int LINE_INDEX = 2;
- private static final int SENTENCE_INDEX = 3;
-
public static void main(String[] s) {
new BreakIteratorProviderTest();
}
@@ -98,4 +112,4 @@
}
}
}
-}
+}
\ No newline at end of file
--- a/test/jdk/java/util/PluggableLocale/BreakIteratorProviderTest.sh Thu Oct 18 18:02:17 2018 -0400
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,28 +0,0 @@
-#!/bin/sh
-#
-# Copyright (c) 2007, 2016, 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 4052440 8062588 8165804
-# @summary BreakIteratorProvider tests
-# @run shell ExecTest.sh foo BreakIteratorProviderTest
--- a/test/jdk/java/util/PluggableLocale/CalendarDataProviderTest.java Thu Oct 18 18:02:17 2018 -0400
+++ b/test/jdk/java/util/PluggableLocale/CalendarDataProviderTest.java Thu Oct 18 18:04:05 2018 -0400
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2012, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012, 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
@@ -20,16 +20,22 @@
* or visit www.oracle.com if you need additional information or have any
* questions.
*/
+
/*
- *
+ * @test
+ * @bug 7058207 8000986 8062588 8210406
+ * @summary CalendarDataProvider tests
+ * @library providersrc/foobarutils
+ * providersrc/barprovider
+ * @build com.foobar.Utils
+ * com.bar.*
+ * @run main/othervm -Djava.locale.providers=JRE,SPI CalendarDataProviderTest
*/
-import java.text.*;
-import java.util.*;
-import static java.util.Calendar.*;
-import sun.util.locale.provider.*;
-import sun.util.resources.*;
-import com.bar.CalendarDataProviderImpl;
+import java.util.Calendar;
+import java.util.Locale;
+
+import static java.util.Calendar.WEDNESDAY;
/**
* Test case for CalendarDataProvider.
@@ -51,7 +57,6 @@
void test() {
Locale kids = new Locale("ja", "JP", "kids"); // test provider's supported locale
Calendar kcal = Calendar.getInstance(kids);
- Calendar jcal = Calendar.getInstance(Locale.JAPAN);
// check the week parameters
checkResult("firstDayOfWeek", kcal.getFirstDayOfWeek(), WEDNESDAY);
@@ -64,4 +69,4 @@
throw new RuntimeException(s);
}
}
-}
+}
\ No newline at end of file
--- a/test/jdk/java/util/PluggableLocale/CalendarDataProviderTest.sh Thu Oct 18 18:02:17 2018 -0400
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,28 +0,0 @@
-#!/bin/sh
-#
-# Copyright (c) 2012, 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 7058207 8000986 8062588
-# @summary CalendarDataProvider tests
-# @run shell ExecTest.sh bar CalendarDataProviderTest
--- a/test/jdk/java/util/PluggableLocale/CalendarNameProviderTest.java Thu Oct 18 18:02:17 2018 -0400
+++ b/test/jdk/java/util/PluggableLocale/CalendarNameProviderTest.java Thu Oct 18 18:04:05 2018 -0400
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2012, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012, 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
@@ -20,17 +20,37 @@
* or visit www.oracle.com if you need additional information or have any
* questions.
*/
+
/*
- *
+ * @test
+ * @bug 8000986 8062588 8210406
+ * @summary CalendarNameProvider tests
+ * @library providersrc/foobarutils
+ * providersrc/barprovider
+ * @build com.foobar.Utils
+ * com.bar.*
+ * @run main/othervm -Djava.locale.providers=JRE,SPI CalendarNameProviderTest
*/
-import java.text.*;
-import java.util.*;
-import static java.util.Calendar.*;
-import sun.util.locale.provider.*;
-import sun.util.resources.*;
+import java.util.Calendar;
+import java.util.HashMap;
+import java.util.Locale;
+import java.util.Map;
+
import com.bar.CalendarNameProviderImpl;
+import static java.util.Calendar.ALL_STYLES;
+import static java.util.Calendar.DAY_OF_MONTH;
+import static java.util.Calendar.DAY_OF_WEEK;
+import static java.util.Calendar.DECEMBER;
+import static java.util.Calendar.HOUR_OF_DAY;
+import static java.util.Calendar.JANUARY;
+import static java.util.Calendar.LONG_STANDALONE;
+import static java.util.Calendar.MONTH;
+import static java.util.Calendar.SATURDAY;
+import static java.util.Calendar.SHORT_STANDALONE;
+import static java.util.Calendar.SUNDAY;
+
/**
* Test case for CalendarNameProvider.
*
@@ -101,4 +121,4 @@
throw new RuntimeException(s);
}
}
-}
+}
\ No newline at end of file
--- a/test/jdk/java/util/PluggableLocale/CalendarNameProviderTest.sh Thu Oct 18 18:02:17 2018 -0400
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,27 +0,0 @@
-#
-# Copyright (c) 2012, 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 8000986 8062588
-# @summary CalendarNameProvider tests
-# @run shell ExecTest.sh bar CalendarNameProviderTest
--- a/test/jdk/java/util/PluggableLocale/ClasspathTest.java Thu Oct 18 18:02:17 2018 -0400
+++ b/test/jdk/java/util/PluggableLocale/ClasspathTest.java Thu Oct 18 18:04:05 2018 -0400
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2007, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 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
@@ -20,13 +20,21 @@
* or visit www.oracle.com if you need additional information or have any
* questions.
*/
+
/*
- *
+ * @test
+ * @bug 6388652 8062588 8210406
+ * @summary Checks whether providers can be loaded from classpath.
+ * @library providersrc/foobarutils
+ * providersrc/barprovider
+ * @build com.foobar.Utils
+ * com.bar.*
+ * @run main/othervm -Djava.locale.providers=JRE,SPI ClasspathTest
*/
-import java.text.*;
-import java.util.*;
-import sun.util.resources.*;
+import java.util.Arrays;
+import java.util.List;
+import java.util.Locale;
public class ClasspathTest {
@@ -45,4 +53,4 @@
throw new RuntimeException("LSS providers were NOT loaded from the class path.");
}
}
-}
+}
\ No newline at end of file
--- a/test/jdk/java/util/PluggableLocale/ClasspathTest.sh Thu Oct 18 18:02:17 2018 -0400
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,28 +0,0 @@
-#!/bin/sh
-#
-# Copyright (c) 2007, 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 6388652 8062588
-# @summary Checks whether providers can be loaded from classpath.
-# @run shell ExecTest.sh bar ClasspathTest
--- a/test/jdk/java/util/PluggableLocale/CollatorProviderTest.java Thu Oct 18 18:02:17 2018 -0400
+++ b/test/jdk/java/util/PluggableLocale/CollatorProviderTest.java Thu Oct 18 18:04:05 2018 -0400
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2007, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 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
@@ -20,18 +20,40 @@
* or visit www.oracle.com if you need additional information or have any
* questions.
*/
+
/*
- *
+ * @test
+ * @bug 4052440 8062588 8210406
+ * @summary CollatorProvider tests
+ * @library providersrc/foobarutils
+ * providersrc/fooprovider
+ * @modules java.base/sun.util.locale.provider
+ * java.base/sun.util.resources
+ * @build com.foobar.Utils
+ * com.foo.*
+ * @run main/othervm -Djava.locale.providers=JRE,SPI CollatorProviderTest
*/
-import java.text.*;
-import java.util.*;
-import sun.util.locale.provider.*;
-import sun.util.resources.*;
+import java.text.Collator;
+import java.text.ParseException;
+import java.text.RuleBasedCollator;
+import java.util.Arrays;
+import java.util.HashSet;
+import java.util.List;
+import java.util.Locale;
+import java.util.MissingResourceException;
+import java.util.ResourceBundle;
+import java.util.Set;
+
+import com.foo.CollatorProviderImpl;
+
+import sun.util.locale.provider.AvailableLanguageTags;
+import sun.util.locale.provider.LocaleProviderAdapter;
+import sun.util.locale.provider.ResourceBundleBasedAdapter;
public class CollatorProviderTest extends ProviderTest {
- com.foo.CollatorProviderImpl cp = new com.foo.CollatorProviderImpl();
+ CollatorProviderImpl cp = new CollatorProviderImpl();
List<Locale> availloc = Arrays.asList(Collator.getAvailableLocales());
List<Locale> providerloc = Arrays.asList(cp.getAvailableLocales());
List<Locale> jreloc = Arrays.asList(LocaleProviderAdapter.forJRE().getAvailableLocales());
@@ -94,4 +116,4 @@
checkValidity(target, jresResult, providersResult, result, jreSupportsLocale);
}
}
-}
+}
\ No newline at end of file
--- a/test/jdk/java/util/PluggableLocale/CollatorProviderTest.sh Thu Oct 18 18:02:17 2018 -0400
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,28 +0,0 @@
-#!/bin/sh
-#
-# Copyright (c) 2007, 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 4052440 8062588
-# @summary CollatorProvider tests
-# @run shell ExecTest.sh foo CollatorProviderTest
--- a/test/jdk/java/util/PluggableLocale/CurrencyNameProviderTest.java Thu Oct 18 18:02:17 2018 -0400
+++ b/test/jdk/java/util/PluggableLocale/CurrencyNameProviderTest.java Thu Oct 18 18:04:05 2018 -0400
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2007, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 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
@@ -20,14 +20,36 @@
* or visit www.oracle.com if you need additional information or have any
* questions.
*/
+
/*
- *
+ * @test
+ * @bug 4052440 7199750 8000997 8062588 8210406
+ * @summary CurrencyNameProvider tests
+ * @library providersrc/foobarutils
+ * providersrc/barprovider
+ * @modules java.base/sun.util.locale.provider
+ * java.base/sun.util.resources
+ * @build com.foobar.Utils
+ * com.bar.*
+ * @run main/othervm -Djava.locale.providers=JRE,SPI CurrencyNameProviderTest
*/
-import java.text.*;
-import java.util.*;
-import sun.util.locale.provider.*;
-import sun.util.resources.*;
+import java.text.DecimalFormat;
+import java.text.DecimalFormatSymbols;
+import java.text.ParseException;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.Currency;
+import java.util.List;
+import java.util.Locale;
+import java.util.MissingResourceException;
+
+import com.bar.CurrencyNameProviderImpl;
+import com.bar.CurrencyNameProviderImpl2;
+
+import sun.util.locale.provider.LocaleProviderAdapter;
+import sun.util.locale.provider.ResourceBundleBasedAdapter;
+import sun.util.resources.OpenListResourceBundle;
public class CurrencyNameProviderTest extends ProviderTest {
@@ -47,8 +69,8 @@
}
void test1() {
- com.bar.CurrencyNameProviderImpl cnp = new com.bar.CurrencyNameProviderImpl();
- com.bar.CurrencyNameProviderImpl2 cnp2 = new com.bar.CurrencyNameProviderImpl2();
+ CurrencyNameProviderImpl cnp = new CurrencyNameProviderImpl();
+ CurrencyNameProviderImpl2 cnp2 = new CurrencyNameProviderImpl2();
Locale[] availloc = Locale.getAvailableLocales();
Locale[] testloc = availloc.clone();
List<Locale> jreimplloc = Arrays.asList(LocaleProviderAdapter.forJRE().getCurrencyNameProvider().getAvailableLocales());
@@ -163,4 +185,4 @@
Locale.setDefault(defloc);
}
}
-}
+}
\ No newline at end of file
--- a/test/jdk/java/util/PluggableLocale/CurrencyNameProviderTest.sh Thu Oct 18 18:02:17 2018 -0400
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,28 +0,0 @@
-#!/bin/sh
-#
-# Copyright (c) 2007, 2012, 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 4052440 7199750 8000997 8062588
-# @summary CurrencyNameProvider tests
-# @run shell ExecTest.sh bar CurrencyNameProviderTest
--- a/test/jdk/java/util/PluggableLocale/DateFormatProviderTest.java Thu Oct 18 18:02:17 2018 -0400
+++ b/test/jdk/java/util/PluggableLocale/DateFormatProviderTest.java Thu Oct 18 18:04:05 2018 -0400
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2007, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 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
@@ -20,18 +20,41 @@
* or visit www.oracle.com if you need additional information or have any
* questions.
*/
+
/*
- *
+ * @test
+ * @bug 4052440 7003643 8062588 8210406
+ * @summary DateFormatProvider tests
+ * @library providersrc/foobarutils
+ * providersrc/fooprovider
+ * @modules java.base/sun.util.locale.provider
+ * java.base/sun.util.resources
+ * @build com.foobar.Utils
+ * com.foo.*
+ * @run main/othervm -Djava.locale.providers=JRE,SPI DateFormatProviderTest
*/
-import java.text.*;
-import java.util.*;
-import sun.util.locale.provider.*;
-import sun.util.resources.*;
+import java.text.DateFormat;
+import java.text.Format;
+import java.text.MessageFormat;
+import java.text.SimpleDateFormat;
+import java.util.Arrays;
+import java.util.Calendar;
+import java.util.HashSet;
+import java.util.List;
+import java.util.Locale;
+import java.util.MissingResourceException;
+import java.util.ResourceBundle;
+import java.util.Set;
+
+import com.foo.DateFormatProviderImpl;
+
+import sun.util.locale.provider.LocaleProviderAdapter;
+import sun.util.locale.provider.ResourceBundleBasedAdapter;
public class DateFormatProviderTest extends ProviderTest {
- com.foo.DateFormatProviderImpl dfp = new com.foo.DateFormatProviderImpl();
+ DateFormatProviderImpl dfp = new DateFormatProviderImpl();
List<Locale> availloc = Arrays.asList(DateFormat.getAvailableLocales());
List<Locale> providerloc = Arrays.asList(dfp.getAvailableLocales());
List<Locale> jreloc = Arrays.asList(LocaleProviderAdapter.forJRE().getAvailableLocales());
@@ -181,4 +204,4 @@
}
}
}
-}
+}
\ No newline at end of file
--- a/test/jdk/java/util/PluggableLocale/DateFormatProviderTest.sh Thu Oct 18 18:02:17 2018 -0400
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,28 +0,0 @@
-#!/bin/sh
-#
-# Copyright (c) 2007, 2010, 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 4052440 7003643 8062588
-# @summary DateFormatProvider tests
-# @run shell ExecTest.sh foo DateFormatProviderTest
--- a/test/jdk/java/util/PluggableLocale/DateFormatSymbolsProviderTest.java Thu Oct 18 18:02:17 2018 -0400
+++ b/test/jdk/java/util/PluggableLocale/DateFormatSymbolsProviderTest.java Thu Oct 18 18:04:05 2018 -0400
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2007, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 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
@@ -20,18 +20,37 @@
* or visit www.oracle.com if you need additional information or have any
* questions.
*/
+
/*
- *
+ * @test
+ * @bug 4052440 7200341 8062588 8210406
+ * @summary DateFormatSymbolsProvider tests
+ * @library providersrc/foobarutils
+ * providersrc/fooprovider
+ * @modules java.base/sun.util.locale.provider
+ * java.base/sun.util.resources
+ * @build com.foobar.Utils
+ * com.foo.*
+ * @run main/othervm -Djava.locale.providers=JRE,SPI DateFormatSymbolsProviderTest
*/
-import java.text.*;
-import java.util.*;
-import sun.util.locale.provider.*;
-import sun.util.resources.*;
+import java.text.DateFormatSymbols;
+import java.util.Arrays;
+import java.util.HashSet;
+import java.util.List;
+import java.util.Locale;
+import java.util.MissingResourceException;
+import java.util.ResourceBundle;
+import java.util.Set;
+
+import com.foo.DateFormatSymbolsProviderImpl;
+
+import sun.util.locale.provider.LocaleProviderAdapter;
+import sun.util.locale.provider.ResourceBundleBasedAdapter;
public class DateFormatSymbolsProviderTest extends ProviderTest {
- com.foo.DateFormatSymbolsProviderImpl dfsp = new com.foo.DateFormatSymbolsProviderImpl();
+ DateFormatSymbolsProviderImpl dfsp = new DateFormatSymbolsProviderImpl();
List<Locale> availloc = Arrays.asList(DateFormatSymbols.getAvailableLocales());
List<Locale> providerloc = Arrays.asList(dfsp.getAvailableLocales());
List<Locale> jreloc = Arrays.asList(LocaleProviderAdapter.forJRE().getAvailableLocales());
@@ -137,4 +156,4 @@
}
}
}
-}
+}
\ No newline at end of file
--- a/test/jdk/java/util/PluggableLocale/DateFormatSymbolsProviderTest.sh Thu Oct 18 18:02:17 2018 -0400
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,28 +0,0 @@
-#!/bin/sh
-#
-# Copyright (c) 2007, 2012, 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 4052440 7200341 8062588
-# @summary DateFormatSymbolsProvider tests
-# @run shell ExecTest.sh foo DateFormatSymbolsProviderTest
--- a/test/jdk/java/util/PluggableLocale/DecimalFormatSymbolsProviderTest.java Thu Oct 18 18:02:17 2018 -0400
+++ b/test/jdk/java/util/PluggableLocale/DecimalFormatSymbolsProviderTest.java Thu Oct 18 18:04:05 2018 -0400
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2007, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 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
@@ -20,18 +20,33 @@
* or visit www.oracle.com if you need additional information or have any
* questions.
*/
+
/*
- *
+ * @test
+ * @bug 4052440 8062588 8210406
+ * @summary DecimalFormatSymbolsProvider tests
+ * @library providersrc/foobarutils
+ * providersrc/fooprovider
+ * @modules java.base/sun.util.locale.provider
+ * @build com.foobar.Utils
+ * com.foo.*
+ * @run main/othervm -Djava.locale.providers=JRE,SPI DecimalFormatSymbolsProviderTest
*/
-import java.text.*;
-import java.util.*;
-import sun.util.locale.provider.*;
-import sun.util.resources.*;
+import java.text.DecimalFormatSymbols;
+import java.util.Arrays;
+import java.util.HashSet;
+import java.util.List;
+import java.util.Locale;
+import java.util.Set;
+
+import com.foo.DecimalFormatSymbolsProviderImpl;
+
+import sun.util.locale.provider.LocaleProviderAdapter;
public class DecimalFormatSymbolsProviderTest extends ProviderTest {
- com.foo.DecimalFormatSymbolsProviderImpl dfsp = new com.foo.DecimalFormatSymbolsProviderImpl();
+ DecimalFormatSymbolsProviderImpl dfsp = new DecimalFormatSymbolsProviderImpl();
List<Locale> availloc = Arrays.asList(DecimalFormatSymbols.getAvailableLocales());
List<Locale> providerloc = Arrays.asList(dfsp.getAvailableLocales());
List<Locale> jreloc = Arrays.asList(LocaleProviderAdapter.forJRE().getAvailableLocales());
@@ -92,4 +107,4 @@
}
}
}
-}
+}
\ No newline at end of file
--- a/test/jdk/java/util/PluggableLocale/DecimalFormatSymbolsProviderTest.sh Thu Oct 18 18:02:17 2018 -0400
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,28 +0,0 @@
-#!/bin/sh
-#
-# Copyright (c) 2007, 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 4052440 8062588
-# @summary DecimalFormatSymbolsProvider tests
-# @run shell ExecTest.sh foo DecimalFormatSymbolsProviderTest
--- a/test/jdk/java/util/PluggableLocale/ExecTest.sh Thu Oct 18 18:02:17 2018 -0400
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,145 +0,0 @@
-#!/bin/sh
-#
-# Copyright (c) 2007, 2015, 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.
-#
-#
-#
-#
-# This script is the actual launcher of each locale service provider test.
-# fooprovider.jar contains localized object providers and barprovider.jar
-# contains localized name providers. This way, we can test providers that
-# can relate to each other (such as, DateFormatSymbolsProvider and
-# TimeZoneNameProvider) separately.
-#
-# Parameters:
-# providersToTest: [foo|bar|foobar]
-# java class name: <class name>
-# java security policy file: (Optional. Installs security manager if exists)
-
-if [ "${TESTSRC}" = "" ]
-then
- echo "TESTSRC not set. Test cannot execute. Failed."
- exit 1
-fi
-echo "TESTSRC=${TESTSRC}"
-if [ "${TESTJAVA}" = "" ]
-then
- echo "TESTJAVA not set. Test cannot execute. Failed."
- exit 1
-fi
-if [ "${COMPILEJAVA}" = "" ]
-then
- COMPILEJAVA="${TESTJAVA}"
-fi
-echo "TESTJAVA=${TESTJAVA}"
-if [ "${TESTCLASSES}" = "" ]
-then
- echo "TESTCLASSES not set. Test cannot execute. Failed."
- exit 1
-fi
-echo "TESTCLASSES=${TESTCLASSES}"
-echo "CLASSPATH=${CLASSPATH}"
-
-# set platform-dependent variables
-OS=`uname -s`
-case "$OS" in
- SunOS | Linux | Darwin | AIX )
- PS=":"
- FS="/"
- ;;
- Windows* | CYGWIN* )
- PS=";"
- FS="\\"
- ;;
- * )
- echo "Unrecognized system!"
- exit 1;
- ;;
-esac
-
-case "$1" in
- "foo" )
- cp ${TESTSRC}${FS}fooprovider.jar ${TESTCLASSES}
- CLASSPATHARG=".${PS}${TESTSRC}${PS}${TESTSRC}${FS}fooprovider.jar"
- ;;
- "bar" )
- cp ${TESTSRC}${FS}barprovider.jar ${TESTCLASSES}
- CLASSPATHARG=".${PS}${TESTSRC}${PS}${TESTSRC}${FS}barprovider.jar"
- ;;
- "foobar" )
- cp ${TESTSRC}${FS}fooprovider.jar ${TESTCLASSES}
- cp ${TESTSRC}${FS}barprovider.jar ${TESTCLASSES}
- CLASSPATHARG=".${PS}${TESTSRC}${PS}${TESTSRC}${FS}fooprovider.jar${PS}${TESTSRC}${PS}${TESTSRC}${FS}barprovider.jar"
- ;;
-esac
-
-
-EXTRA_OPTS="--add-exports java.base/sun.util.locale.provider=ALL-UNNAMED \
- --add-exports java.base/sun.util.resources=ALL-UNNAMED"
-
-# compile
-cp ${TESTSRC}${FS}ProviderTest.java .
-cp ${TESTSRC}${FS}$2.java .
-COMPILE="${COMPILEJAVA}${FS}bin${FS}javac ${TESTJAVACOPTS} ${TESTTOOLVMOPTS} ${EXTRA_OPTS} \
- -XDignore.symbol.file -d . -classpath ${CLASSPATHARG} $2.java"
-echo ${COMPILE}
-${COMPILE}
-result=$?
-
-if [ $result -eq 0 ]
-then
- echo "Compilation of the test case was successful."
-else
- echo "Compilation of the test case failed."
- # Cleanup
- rm -f ${TESTCLASSES}${FS}$2*.class
- rm -f ${TESTCLASSES}${FS}fooprovider.jar
- rm -f ${TESTCLASSES}${FS}barprovider.jar
- exit $result
-fi
-
-# security options
-if [ "$3" != "" ]
-then
- SECURITYOPTS="-Djava.security.manager -Djava.security.policy=${TESTSRC}${FS}$3"
-fi
-
-# run
-RUNCMD="${TESTJAVA}${FS}bin${FS}java ${TESTVMOPTS} ${EXTRA_OPTS} ${SECURITYOPTS} -classpath ${CLASSPATHARG} -Djava.locale.providers=JRE,SPI $2 "
-
-echo ${RUNCMD}
-${RUNCMD}
-result=$?
-
-if [ $result -eq 0 ]
-then
- echo "Execution successful"
-else
- echo "Execution of the test case failed."
-fi
-
-# Cleanup
-rm -f ${TESTCLASSES}${FS}$2*.class
-rm -f ${TESTCLASSES}${FS}fooprovider.jar
-rm -f ${TESTCLASSES}${FS}barprovider.jar
-
-exit $result
--- a/test/jdk/java/util/PluggableLocale/GenericTest.java Thu Oct 18 18:02:17 2018 -0400
+++ b/test/jdk/java/util/PluggableLocale/GenericTest.java Thu Oct 18 18:04:05 2018 -0400
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2007, 2012, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 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
@@ -20,30 +20,58 @@
* or visit www.oracle.com if you need additional information or have any
* questions.
*/
+
/*
- *
+ * @test
+ * @bug 4052440 8062588 8210406
+ * @summary Generic tests for the pluggable locales feature
+ * @library providersrc/foobarutils
+ * providersrc/barprovider
+ * providersrc/fooprovider
+ * @modules java.base/sun.util.locale.provider
+ * @build com.foobar.Utils
+ * com.bar.*
+ * com.foo.*
+ * @run main/othervm -Djava.locale.providers=JRE,SPI GenericTest
*/
-import java.text.*;
-import java.util.*;
-import sun.util.locale.provider.*;
+import java.util.Arrays;
+import java.util.HashSet;
+import java.util.Locale;
+import java.util.Set;
+
+import com.bar.CalendarDataProviderImpl;
+import com.bar.CalendarNameProviderImpl;
+import com.bar.CurrencyNameProviderImpl;
+import com.bar.CurrencyNameProviderImpl2;
+import com.bar.GenericTimeZoneNameProviderImpl;
+import com.bar.LocaleNameProviderImpl;
+import com.bar.TimeZoneNameProviderImpl;
+import com.foo.BreakIteratorProviderImpl;
+import com.foo.CollatorProviderImpl;
+import com.foo.DateFormatProviderImpl;
+import com.foo.DateFormatSymbolsProviderImpl;
+import com.foo.DecimalFormatSymbolsProviderImpl;
+import com.foo.NumberFormatProviderImpl;
+
+import sun.util.locale.provider.LocaleProviderAdapter;
public class GenericTest {
// test providers
- com.foo.BreakIteratorProviderImpl breakIP = new com.foo.BreakIteratorProviderImpl();
- com.foo.CollatorProviderImpl collatorP = new com.foo.CollatorProviderImpl();
- com.foo.DateFormatProviderImpl dateFP = new com.foo.DateFormatProviderImpl();
- com.foo.DateFormatSymbolsProviderImpl dateFSP = new com.foo.DateFormatSymbolsProviderImpl();
- com.foo.DecimalFormatSymbolsProviderImpl decimalFSP = new com.foo.DecimalFormatSymbolsProviderImpl();
- com.foo.NumberFormatProviderImpl numberFP = new com.foo.NumberFormatProviderImpl();
- com.bar.CurrencyNameProviderImpl currencyNP = new com.bar.CurrencyNameProviderImpl();
- com.bar.CurrencyNameProviderImpl2 currencyNP2 = new com.bar.CurrencyNameProviderImpl2();
- com.bar.LocaleNameProviderImpl localeNP = new com.bar.LocaleNameProviderImpl();
- com.bar.TimeZoneNameProviderImpl tzNP = new com.bar.TimeZoneNameProviderImpl();
- com.bar.GenericTimeZoneNameProviderImpl tzGenNP = new com.bar.GenericTimeZoneNameProviderImpl();
- com.bar.CalendarDataProviderImpl calDataP = new com.bar.CalendarDataProviderImpl();
- com.bar.CalendarNameProviderImpl calNameP = new com.bar.CalendarNameProviderImpl();
+ BreakIteratorProviderImpl breakIP = new BreakIteratorProviderImpl();
+ CollatorProviderImpl collatorP = new CollatorProviderImpl();
+ DateFormatProviderImpl dateFP = new DateFormatProviderImpl();
+ DateFormatSymbolsProviderImpl dateFSP = new DateFormatSymbolsProviderImpl();
+ DecimalFormatSymbolsProviderImpl decimalFSP = new DecimalFormatSymbolsProviderImpl();
+ NumberFormatProviderImpl numberFP = new NumberFormatProviderImpl();
+ CurrencyNameProviderImpl currencyNP = new CurrencyNameProviderImpl();
+ CurrencyNameProviderImpl2 currencyNP2 = new CurrencyNameProviderImpl2();
+ LocaleNameProviderImpl localeNP = new LocaleNameProviderImpl();
+ TimeZoneNameProviderImpl tzNP = new TimeZoneNameProviderImpl();
+ GenericTimeZoneNameProviderImpl tzGenNP = new GenericTimeZoneNameProviderImpl();
+ CalendarDataProviderImpl calDataP = new CalendarDataProviderImpl();
+ CalendarNameProviderImpl calNameP = new CalendarNameProviderImpl();
public static void main(String[] s) {
new GenericTest();
@@ -108,4 +136,4 @@
s2.addAll(s1);
return s2.toString();
}
-}
+}
\ No newline at end of file
--- a/test/jdk/java/util/PluggableLocale/GenericTest.sh Thu Oct 18 18:02:17 2018 -0400
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,28 +0,0 @@
-#!/bin/sh
-#
-# Copyright (c) 2007, 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 4052440 8062588
-# @summary Generic tests for the pluggable locales feature
-# @run shell ExecTest.sh foobar GenericTest
--- a/test/jdk/java/util/PluggableLocale/LocaleNameProviderTest.java Thu Oct 18 18:02:17 2018 -0400
+++ b/test/jdk/java/util/PluggableLocale/LocaleNameProviderTest.java Thu Oct 18 18:04:05 2018 -0400
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2007, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 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
@@ -20,14 +20,30 @@
* or visit www.oracle.com if you need additional information or have any
* questions.
*/
+
/*
- *
+ * @test
+ * @bug 4052440 8000273 8062588 8210406
+ * @summary LocaleNameProvider tests
+ * @library providersrc/foobarutils
+ * providersrc/barprovider
+ * @modules java.base/sun.util.locale.provider
+ * java.base/sun.util.resources
+ * @build com.foobar.Utils
+ * com.bar.*
+ * @run main/othervm -Djava.locale.providers=JRE,SPI LocaleNameProviderTest
*/
-import java.text.*;
-import java.util.*;
-import sun.util.locale.provider.*;
-import sun.util.resources.*;
+import java.util.Arrays;
+import java.util.List;
+import java.util.Locale;
+import java.util.MissingResourceException;
+
+import com.bar.LocaleNameProviderImpl;
+
+import sun.util.locale.provider.LocaleProviderAdapter;
+import sun.util.locale.provider.ResourceBundleBasedAdapter;
+import sun.util.resources.OpenListResourceBundle;
public class LocaleNameProviderTest extends ProviderTest {
@@ -41,7 +57,7 @@
}
void checkAvailLocValidityTest() {
- com.bar.LocaleNameProviderImpl lnp = new com.bar.LocaleNameProviderImpl();
+ LocaleNameProviderImpl lnp = new LocaleNameProviderImpl();
Locale[] availloc = Locale.getAvailableLocales();
Locale[] testloc = availloc.clone();
List<Locale> jreimplloc = Arrays.asList(LocaleProviderAdapter.forJRE().getLocaleNameProvider().getAvailableLocales());
@@ -121,10 +137,10 @@
if (YY_suffix.getVariant().equals(retVrnt)) {
System.out.println(message);
return;
-}
+ }
message = "variantFallbackTest() failed. Returned variant: "+retVrnt;
}
throw new RuntimeException(message);
}
-}
+}
\ No newline at end of file
--- a/test/jdk/java/util/PluggableLocale/LocaleNameProviderTest.sh Thu Oct 18 18:02:17 2018 -0400
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,28 +0,0 @@
-#!/bin/sh
-#
-# Copyright (c) 2007, 2012, 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 4052440 8000273 8062588
-# @summary LocaleNameProvider tests
-# @run shell ExecTest.sh bar LocaleNameProviderTest
--- a/test/jdk/java/util/PluggableLocale/NumberFormatProviderTest.java Thu Oct 18 18:02:17 2018 -0400
+++ b/test/jdk/java/util/PluggableLocale/NumberFormatProviderTest.java Thu Oct 18 18:04:05 2018 -0400
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2007, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 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
@@ -20,20 +20,38 @@
* or visit www.oracle.com if you need additional information or have any
* questions.
*/
+
/*
- *
+ * @test
+ * @bug 4052440 7003643 8062588 8210406
+ * @summary NumberFormatProvider tests
+ * @library providersrc/foobarutils
+ * providersrc/fooprovider
+ * @modules java.base/sun.util.locale.provider
+ * @build com.foobar.Utils
+ * com.foo.*
+ * @run main/othervm -Djava.locale.providers=JRE,SPI NumberFormatProviderTest
*/
-import java.text.*;
-import java.util.*;
-import sun.util.locale.provider.*;
-import sun.util.resources.*;
+import java.text.DecimalFormat;
+import java.text.DecimalFormatSymbols;
+import java.text.MessageFormat;
+import java.text.NumberFormat;
+import java.util.Arrays;
+import java.util.Currency;
+import java.util.HashSet;
+import java.util.List;
+import java.util.Locale;
+import java.util.Set;
import com.foo.FooNumberFormat;
+import com.foo.NumberFormatProviderImpl;
+
+import sun.util.locale.provider.LocaleProviderAdapter;
public class NumberFormatProviderTest extends ProviderTest {
- com.foo.NumberFormatProviderImpl nfp = new com.foo.NumberFormatProviderImpl();
+ NumberFormatProviderImpl nfp = new NumberFormatProviderImpl();
List<Locale> availloc = Arrays.asList(NumberFormat.getAvailableLocales());
List<Locale> providerloc = Arrays.asList(nfp.getAvailableLocales());
List<Locale> jreloc = Arrays.asList(LocaleProviderAdapter.forJRE().getAvailableLocales());
@@ -201,4 +219,4 @@
}
}
}
-}
+}
\ No newline at end of file
--- a/test/jdk/java/util/PluggableLocale/NumberFormatProviderTest.sh Thu Oct 18 18:02:17 2018 -0400
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,28 +0,0 @@
-#!/bin/sh
-#
-# Copyright (c) 2007, 2010, 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 4052440 7003643 8062588
-# @summary NumberFormatProvider tests
-# @run shell ExecTest.sh foo NumberFormatProviderTest
--- a/test/jdk/java/util/PluggableLocale/PermissionTest.java Thu Oct 18 18:02:17 2018 -0400
+++ b/test/jdk/java/util/PluggableLocale/PermissionTest.java Thu Oct 18 18:04:05 2018 -0400
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2015, 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
@@ -20,25 +20,59 @@
* or visit www.oracle.com if you need additional information or have any
* questions.
*/
+
/*
- *
+ * @test
+ * @bug 8075545 8210406
+ * @summary Check whether RuntimePermission("localeServiceProvider") is
+ * handled correctly.
+ * @library providersrc/foobarutils
+ * providersrc/barprovider
+ * providersrc/fooprovider
+ * @build com.foobar.Utils
+ * com.bar.*
+ * com.foo.*
+ * @run main/othervm PermissionTest
+ * @run main/othervm/fail/java.security.policy=dummy.policy
+ * -Djava.security.manager
+ * -Djava.locale.providers=JRE,SPI
+ * PermissionTest
+ * @run main/othervm/java.security.policy=localeServiceProvider.policy
+ * -Djava.security.manager
+ * -Djava.locale.providers=JRE,SPI
+ * PermissionTest
*/
+
+import com.bar.CalendarDataProviderImpl;
+import com.bar.CalendarNameProviderImpl;
+import com.bar.CurrencyNameProviderImpl;
+import com.bar.CurrencyNameProviderImpl2;
+import com.bar.GenericTimeZoneNameProviderImpl;
+import com.bar.LocaleNameProviderImpl;
+import com.bar.TimeZoneNameProviderImpl;
+import com.foo.BreakIteratorProviderImpl;
+import com.foo.CollatorProviderImpl;
+import com.foo.DateFormatProviderImpl;
+import com.foo.DateFormatSymbolsProviderImpl;
+import com.foo.DecimalFormatSymbolsProviderImpl;
+import com.foo.NumberFormatProviderImpl;
+
public class PermissionTest{
// Make sure provider impls can be instantiated under a security manager.ZZ
- com.foo.BreakIteratorProviderImpl breakIP = new com.foo.BreakIteratorProviderImpl();
- com.foo.CollatorProviderImpl collatorP = new com.foo.CollatorProviderImpl();
- com.foo.DateFormatProviderImpl dateFP = new com.foo.DateFormatProviderImpl();
- com.foo.DateFormatSymbolsProviderImpl dateFSP = new com.foo.DateFormatSymbolsProviderImpl();
- com.foo.DecimalFormatSymbolsProviderImpl decimalFSP = new com.foo.DecimalFormatSymbolsProviderImpl();
- com.foo.NumberFormatProviderImpl numberFP = new com.foo.NumberFormatProviderImpl();
- com.bar.CurrencyNameProviderImpl currencyNP = new com.bar.CurrencyNameProviderImpl();
- com.bar.CurrencyNameProviderImpl2 currencyNP2 = new com.bar.CurrencyNameProviderImpl2();
- com.bar.LocaleNameProviderImpl localeNP = new com.bar.LocaleNameProviderImpl();
- com.bar.TimeZoneNameProviderImpl tzNP = new com.bar.TimeZoneNameProviderImpl();
- com.bar.GenericTimeZoneNameProviderImpl tzGenNP = new com.bar.GenericTimeZoneNameProviderImpl();
- com.bar.CalendarDataProviderImpl calDataP = new com.bar.CalendarDataProviderImpl();
- com.bar.CalendarNameProviderImpl calNameP = new com.bar.CalendarNameProviderImpl();
+ BreakIteratorProviderImpl breakIP = new BreakIteratorProviderImpl();
+ CollatorProviderImpl collatorP = new CollatorProviderImpl();
+ DateFormatProviderImpl dateFP = new DateFormatProviderImpl();
+ DateFormatSymbolsProviderImpl dateFSP = new DateFormatSymbolsProviderImpl();
+ DecimalFormatSymbolsProviderImpl decimalFSP = new DecimalFormatSymbolsProviderImpl();
+ NumberFormatProviderImpl numberFP = new NumberFormatProviderImpl();
+ CurrencyNameProviderImpl currencyNP = new CurrencyNameProviderImpl();
+ CurrencyNameProviderImpl2 currencyNP2 = new CurrencyNameProviderImpl2();
+ LocaleNameProviderImpl localeNP = new LocaleNameProviderImpl();
+ TimeZoneNameProviderImpl tzNP = new TimeZoneNameProviderImpl();
+ GenericTimeZoneNameProviderImpl tzGenNP = new GenericTimeZoneNameProviderImpl();
+ CalendarDataProviderImpl calDataP = new CalendarDataProviderImpl();
+ CalendarNameProviderImpl calNameP = new CalendarNameProviderImpl();
public static void main(String[] s) {
new PermissionTest();
--- a/test/jdk/java/util/PluggableLocale/PermissionTest.sh Thu Oct 18 18:02:17 2018 -0400
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,31 +0,0 @@
-#!/bin/sh
-#
-# Copyright (c) 2015, 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 8075545
-# @summary Check whether RuntimePermission("localeServiceProvider") is
-# handled correctly
-# @run shell ExecTest.sh foobar PermissionTest
-# @run shell/fail ExecTest.sh foobar PermissionTest dummy
-# @run shell ExecTest.sh foobar PermissionTest localeServiceProvider.policy
--- a/test/jdk/java/util/PluggableLocale/TimeZoneNameProviderTest.java Thu Oct 18 18:02:17 2018 -0400
+++ b/test/jdk/java/util/PluggableLocale/TimeZoneNameProviderTest.java Thu Oct 18 18:04:05 2018 -0400
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2007, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 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
@@ -20,19 +20,41 @@
* or visit www.oracle.com if you need additional information or have any
* questions.
*/
+
/*
- *
+ * @test
+ * @bug 4052440 8003267 8062588 8210406
+ * @summary TimeZoneNameProvider tests
+ * @library providersrc/foobarutils
+ * providersrc/barprovider
+ * @modules java.base/sun.util.locale.provider
+ * java.base/sun.util.resources
+ * @build com.foobar.Utils
+ * com.bar.*
+ * @run main/othervm -Djava.locale.providers=JRE,SPI TimeZoneNameProviderTest
*/
-import java.text.*;
+import java.text.DateFormatSymbols;
+import java.text.ParseException;
+import java.text.SimpleDateFormat;
import java.time.format.TextStyle;
-import java.util.*;
-import sun.util.locale.provider.*;
-import sun.util.resources.*;
+import java.util.Arrays;
+import java.util.Calendar;
+import java.util.Date;
+import java.util.List;
+import java.util.Locale;
+import java.util.MissingResourceException;
+import java.util.TimeZone;
+
+import com.bar.TimeZoneNameProviderImpl;
+
+import sun.util.locale.provider.LocaleProviderAdapter;
+import sun.util.locale.provider.ResourceBundleBasedAdapter;
+import sun.util.resources.OpenListResourceBundle;
public class TimeZoneNameProviderTest extends ProviderTest {
- com.bar.TimeZoneNameProviderImpl tznp = new com.bar.TimeZoneNameProviderImpl();
+ TimeZoneNameProviderImpl tznp = new TimeZoneNameProviderImpl();
public static void main(String[] s) {
new TimeZoneNameProviderTest();
@@ -248,4 +270,4 @@
throw new RuntimeException("Generic name fallback failed. got: "+generic);
}
}
-}
+}
\ No newline at end of file
--- a/test/jdk/java/util/PluggableLocale/TimeZoneNameProviderTest.sh Thu Oct 18 18:02:17 2018 -0400
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,28 +0,0 @@
-#!/bin/sh
-#
-# Copyright (c) 2007, 2012, 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 4052440 8003267 8062588
-# @summary TimeZoneNameProvider tests
-# @run shell ExecTest.sh bar TimeZoneNameProviderTest
Binary file test/jdk/java/util/PluggableLocale/barprovider.jar has changed
Binary file test/jdk/java/util/PluggableLocale/fooprovider.jar has changed
--- a/test/jdk/java/util/PluggableLocale/providersrc/BreakIteratorProviderImpl.java Thu Oct 18 18:02:17 2018 -0400
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,140 +0,0 @@
-/*
- * Copyright (c) 2007, 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.
- */
-/*
- *
- */
-
-package com.foo;
-
-import java.text.*;
-import java.text.spi.*;
-import java.util.*;
-import com.foobar.Utils;
-
-public class BreakIteratorProviderImpl extends BreakIteratorProvider {
-
- static Locale[] avail = {
- Locale.JAPAN,
- new Locale("ja", "JP", "osaka"),
- new Locale("ja", "JP", "kyoto"),
- new Locale("xx", "YY")};
-
- static String[] dialect = {
- "\u3067\u3059\u3002",
- "\u3084\u3002",
- "\u3069\u3059\u3002",
- "-xx-YY"
- };
-
- static enum Type {CHARACTER, LINE, SENTENCE, WORD};
-
- public Locale[] getAvailableLocales() {
- return avail;
- }
-
- public BreakIterator getCharacterInstance(Locale locale) {
- for (int i = 0; i < avail.length; i ++) {
- if (Utils.supportsLocale(avail[i], locale)) {
- return new FooBreakIterator(Type.CHARACTER, i);
- }
- }
- throw new IllegalArgumentException("locale is not supported: "+locale);
- }
-
- public BreakIterator getLineInstance(Locale locale) {
- for (int i = 0; i < avail.length; i ++) {
- if (Utils.supportsLocale(avail[i], locale)) {
- return new FooBreakIterator(Type.LINE, i);
- }
- }
- throw new IllegalArgumentException("locale is not supported: "+locale);
- }
-
- public BreakIterator getSentenceInstance(Locale locale) {
- for (int i = 0; i < avail.length; i ++) {
- if (Utils.supportsLocale(avail[i], locale)) {
- return new FooBreakIterator(Type.SENTENCE, i);
- }
- }
- throw new IllegalArgumentException("locale is not supported: "+locale);
- }
-
- public BreakIterator getWordInstance(Locale locale) {
- for (int i = 0; i < avail.length; i ++) {
- if (Utils.supportsLocale(avail[i], locale)) {
- return new FooBreakIterator(Type.WORD, i);
- }
- }
- throw new IllegalArgumentException("locale is not supported: "+locale);
- }
-
- // dummy implementation
- class FooBreakIterator extends BreakIterator {
- public FooBreakIterator(Type t, int index) {
- super();
- }
-
- public int current() {
- return 0;
- }
-
- public int first() {
- return 0;
- }
-
- public int following(int offset) {
- return 0;
- }
-
- public CharacterIterator getText() {
- return null;
- }
-
- public boolean isBoundary(int offset) {
- return true;
- }
-
- public int last() {
- return 0;
- }
-
- public int next() {
- return 0;
- }
-
- public int next(int n) {
- return 0;
- }
-
- public int preceding(int offset) {
- return 0;
- }
-
- public int previous() {
- return 0;
- }
-
- public void setText(CharacterIterator ci) {
- }
- }
-}
--- a/test/jdk/java/util/PluggableLocale/providersrc/CalendarDataProviderImpl.java Thu Oct 18 18:02:17 2018 -0400
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,54 +0,0 @@
-/*
- * Copyright (c) 2012, 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.
- */
-
-package com.bar;
-
-import com.foobar.Utils;
-import java.util.Arrays;
-import static java.util.Calendar.*;
-import java.util.HashMap;
-import java.util.Locale;
-import java.util.Map;
-import java.util.spi.CalendarDataProvider;
-
-public class CalendarDataProviderImpl extends CalendarDataProvider {
- static final char FULLWIDTH_ZERO = '\uff10';
- static final Locale[] avail = {
- new Locale("ja", "JP", "kids"),
- };
-
- @Override
- public int getFirstDayOfWeek(Locale locale) {
- return WEDNESDAY;
- }
-
- @Override
- public int getMinimalDaysInFirstWeek(Locale locale) {
- return 7;
- }
-
- @Override
- public Locale[] getAvailableLocales() {
- return avail.clone();
- }
-}
--- a/test/jdk/java/util/PluggableLocale/providersrc/CalendarNameProviderImpl.java Thu Oct 18 18:02:17 2018 -0400
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,102 +0,0 @@
-/*
- * Copyright (c) 2012, 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.
- */
-
-package com.bar;
-
-import com.foobar.Utils;
-import java.util.Arrays;
-import static java.util.Calendar.*;
-import java.util.HashMap;
-import java.util.Locale;
-import java.util.Map;
-import java.util.spi.CalendarNameProvider;
-
-public class CalendarNameProviderImpl extends CalendarNameProvider {
- static final char FULLWIDTH_ZERO = '\uff10';
- static final Locale[] avail = {
- new Locale("ja", "JP", "kids"),
- };
-
- @Override
- public String getDisplayName(String calendarType, int field, int value, int style, Locale locale) {
- if (calendarType == null || locale == null) {
- throw new NullPointerException();
- }
- if (!Utils.supportsLocale(Arrays.asList(avail), locale)) {
- throw new IllegalArgumentException("locale is not one of available locales: "+ locale);
- }
- if (field != MONTH) {
- return null;
- }
- return toMonthName(value + 1, style);
- }
-
- @Override
- public Map<String, Integer> getDisplayNames(String calendarType, int field, int style, Locale locale) {
- if (calendarType == null || locale == null) {
- throw new NullPointerException();
- }
- if (!Utils.supportsLocale(Arrays.asList(avail), locale)) {
- throw new IllegalArgumentException("locale is not one of available locales: " + locale);
- }
- if (field != MONTH) {
- return null;
- }
- Map<String, Integer> map = new HashMap<>();
- if (style == LONG_STANDALONE) {
- style = LONG;
- } else if (style == SHORT_STANDALONE) {
- style = SHORT;
- }
- for (int month = JANUARY; month <= DECEMBER; month++) {
- if (style == ALL_STYLES || style == LONG) {
- map.put(toMonthName(month + 1, LONG), month);
- }
- if (style == ALL_STYLES || style == SHORT) {
- map.put(toMonthName(month + 1, SHORT), month);
- }
- }
- return map;
- }
-
- @Override
- public Locale[] getAvailableLocales() {
- return avail.clone();
- }
-
- // month is 1-based.
- public static String toMonthName(int month, int style) {
- StringBuilder sb = new StringBuilder();
- if (month >= 10) {
- sb.append((char)(FULLWIDTH_ZERO + 1));
- sb.appendCodePoint((char)(FULLWIDTH_ZERO + (month % 10)));
- } else {
- sb.appendCodePoint((char)(FULLWIDTH_ZERO + month));
- }
- if (style == SHORT || style == SHORT_STANDALONE) {
- return sb.toString(); // full-width digit(s)
- }
- sb.append("\u304c\u3064"); // + "gatsu" in Hiragana
- return sb.toString();
- }
-}
--- a/test/jdk/java/util/PluggableLocale/providersrc/CollatorProviderImpl.java Thu Oct 18 18:02:17 2018 -0400
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,68 +0,0 @@
-/*
- * Copyright (c) 2007, 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.
- */
-/*
- *
- */
-
-package com.foo;
-
-import java.text.*;
-import java.text.spi.*;
-import java.util.*;
-
-import com.foobar.Utils;
-
-public class CollatorProviderImpl extends CollatorProvider {
-
- static Locale[] avail = {
- Locale.JAPAN,
- new Locale("ja", "JP", "osaka"),
- new Locale("ja", "JP", "kyoto"),
- new Locale("xx", "YY", "ZZZZ")};
-
- static String[] dialect = {
- "\u3067\u3059\u3002",
- "\u3084\u3002",
- "\u3069\u3059\u3002",
- "-xx-YY-ZZZZ"
- };
-
- public Locale[] getAvailableLocales() {
- return avail;
- }
-
- public Collator getInstance(Locale locale) {
- for (int i = 0; i < avail.length; i ++) {
- if (Utils.supportsLocale(avail[i], locale)) {
- RuleBasedCollator ja = (RuleBasedCollator)Collator.getInstance(Locale.JAPANESE);
- try {
- return new RuleBasedCollator(ja.getRules()+"& Z < "+dialect[i]);
- } catch (ParseException pe) {
-System.err.println(pe+ja.getRules()+"& Z < "+dialect[i]);
- return ja;
- }
- }
- }
- throw new IllegalArgumentException("locale is not supported: "+locale);
- }
-}
--- a/test/jdk/java/util/PluggableLocale/providersrc/CurrencyNameProviderImpl.java Thu Oct 18 18:02:17 2018 -0400
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,82 +0,0 @@
-/*
- * Copyright (c) 2007, 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.
- */
-/*
- *
- */
-
-package com.bar;
-
-import java.util.*;
-import java.util.spi.*;
-
-import com.foobar.Utils;
-
-public class CurrencyNameProviderImpl extends CurrencyNameProvider {
- static Locale[] avail = {new Locale("ja", "JP", "osaka"),
- new Locale("ja", "JP", "kyoto"),
- Locale.JAPAN,
- new Locale("xx")};
-
- public Locale[] getAvailableLocales() {
- return avail;
- }
-
- public String getSymbol(String c, Locale locale) {
- if (!Utils.supportsLocale(Arrays.asList(avail), locale)) {
- throw new IllegalArgumentException("locale is not supported: "+locale);
- }
-
- if (c.equals("JPY")) {
- if (Utils.supportsLocale(avail[0], locale)) {
- return "\u5186\u3084\u3002";
- } else if (Utils.supportsLocale(avail[1], locale)) {
- return "\u5186\u3069\u3059\u3002";
- } else if (Utils.supportsLocale(avail[2], locale)) {
- return "\u5186\u3067\u3059\u3002";
- } else if (Utils.supportsLocale(avail[3], locale)) {
- return "\u5186\u3070\u3064\u3070\u3064\u3002";
- }
- }
- return null;
- }
-
- @Override
- public String getDisplayName(String c, Locale locale) {
- if (!Utils.supportsLocale(Arrays.asList(avail), locale)) {
- throw new IllegalArgumentException("locale is not supported: "+locale);
- }
-
- if (c.equals("JPY")) {
- if (Utils.supportsLocale(avail[0], locale)) {
- return "\u65e5\u672c\u5186\u3084\u3002";
- } else if (Utils.supportsLocale(avail[1], locale)) {
- return "\u65e5\u672c\u5186\u3069\u3059\u3002";
- } else if (Utils.supportsLocale(avail[2], locale)) {
- return "\u65e5\u672c\u5186\u3067\u3059\u3002";
- } else if (Utils.supportsLocale(avail[3], locale)) {
- return "\u65e5\u672c\u5186\u3070\u3064\u3070\u3064\u3002";
- }
- }
- return null;
- }
-}
--- a/test/jdk/java/util/PluggableLocale/providersrc/CurrencyNameProviderImpl2.java Thu Oct 18 18:02:17 2018 -0400
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,72 +0,0 @@
-/*
- * Copyright (c) 2012, 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.
- */
-/*
- *
- */
-
-package com.bar;
-
-import java.util.*;
-import java.util.spi.*;
-
-import com.foobar.Utils;
-
-public class CurrencyNameProviderImpl2 extends CurrencyNameProvider {
- static Locale[] avail = {new Locale("ja", "JP", "tokyo"),
- new Locale("ja", "JP", "osaka"), };
- public Locale[] getAvailableLocales() {
- return avail;
- }
-
- @Override
- public String getSymbol(String c, Locale locale) {
- if (!Utils.supportsLocale(Arrays.asList(avail), locale)) {
- throw new IllegalArgumentException("locale is not supported: "+locale);
- }
-
- if (c.equals("JPY")) {
- if (Utils.supportsLocale(avail[0], locale)) {
- return "JPY-tokyo";
- } else if (Utils.supportsLocale(avail[1], locale)) {
- return "JPY-osaka";
- }
- }
- return null;
- }
-
- @Override
- public String getDisplayName(String c, Locale locale) {
- if (!Utils.supportsLocale(Arrays.asList(avail), locale)) {
- throw new IllegalArgumentException("locale is not supported: "+locale);
- }
-
- if (c.equals("JPY")) {
- if (Utils.supportsLocale(avail[0], locale)) {
- return "JPY-tokyo";
- } else if (Utils.supportsLocale(avail[1], locale)) {
- return "JPY-osaka";
- }
- }
- return null;
- }
-}
--- a/test/jdk/java/util/PluggableLocale/providersrc/DateFormatProviderImpl.java Thu Oct 18 18:02:17 2018 -0400
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,95 +0,0 @@
-/*
- * Copyright (c) 2007, 2010, 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.
- */
-/*
- *
- */
-
-package com.foo;
-
-import java.text.*;
-import java.text.spi.*;
-import java.util.*;
-
-import com.foobar.Utils;
-
-public class DateFormatProviderImpl extends DateFormatProvider {
-
- static Locale[] avail = {
- Locale.JAPAN,
- new Locale("ja", "JP", "osaka"),
- new Locale("ja", "JP", "kyoto"),
- new Locale("yy")};
-
- static String[] datePattern = {
- "yyyy'\u5e74'M'\u6708'd'\u65e5'", // full date pattern
- "yyyy/MMM/dd", // long date pattern
- "yyyy/MM/dd", // medium date pattern
- "yy/MM/dd" // short date pattern
- };
-
- static String[] timePattern = {
- "H'\u6642'mm'\u5206'ss'\u79d2' z", // full time pattern
- "H:mm:ss z", // long time pattern
- "H:mm:ss", // medium time pattern
- "H:mm" // short time pattern
- };
-
- static String[] dialect = {
- "\u3067\u3059\u3002",
- "\u3084\u3002",
- "\u3069\u3059\u3002",
- "\u308f\u3044\u308f\u3044"
- };
-
- public Locale[] getAvailableLocales() {
- return avail;
- }
-
- public DateFormat getDateInstance(int style, Locale locale) {
- for (int i = 0; i < avail.length; i ++) {
- if (Utils.supportsLocale(avail[i], locale)) {
- return new FooDateFormat(datePattern[style]+dialect[i], locale);
- }
- }
- throw new IllegalArgumentException("locale is not supported: "+locale);
- }
-
- public DateFormat getTimeInstance(int style, Locale locale) {
- for (int i = 0; i < avail.length; i ++) {
- if (Utils.supportsLocale(avail[i], locale)) {
- return new FooDateFormat(timePattern[style]+dialect[i], locale);
- }
- }
- throw new IllegalArgumentException("locale is not supported: "+locale);
- }
-
- public DateFormat getDateTimeInstance(int dateStyle, int timeStyle, Locale locale) {
- for (int i = 0; i < avail.length; i ++) {
- if (Utils.supportsLocale(avail[i], locale)) {
- return new FooDateFormat(
- datePattern[dateStyle]+" "+timePattern[timeStyle]+dialect[i], locale);
- }
- }
- throw new IllegalArgumentException("locale is not supported: "+locale);
- }
-}
--- a/test/jdk/java/util/PluggableLocale/providersrc/DateFormatSymbolsProviderImpl.java Thu Oct 18 18:02:17 2018 -0400
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,230 +0,0 @@
-/*
- * Copyright (c) 2007, 2012, 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.
- */
-/*
- *
- */
-
-package com.foo;
-
-import java.text.*;
-import java.text.spi.*;
-import java.util.*;
-
-import com.foobar.Utils;
-
-public class DateFormatSymbolsProviderImpl extends DateFormatSymbolsProvider {
-
- static Locale[] avail = {
- new Locale("ja", "JP", "osaka"),
- new Locale("ja", "JP", "kyoto"),
- Locale.JAPAN,
- new Locale("yy", "ZZ")
- };
- static List<Locale> availList = Arrays.asList(avail);
-
- static String[] dialect = {
- "\u3084\u3002",
- "\u3069\u3059\u3002",
- "\u3067\u3059\u3002",
- "-yy-ZZ"
- };
-
- static Map<Locale, FooDateFormatSymbols> symbols = new HashMap<Locale, FooDateFormatSymbols>(4);
-
- public Locale[] getAvailableLocales() {
- return avail;
- }
-
- public DateFormatSymbols getInstance(Locale locale) {
- if (!Utils.supportsLocale(availList, locale)) {
- throw new IllegalArgumentException("locale is not supported: "+locale);
- }
-
- FooDateFormatSymbols fdfs = symbols.get(locale);
- if (fdfs == null) {
- for (int index = 0; index < avail.length; index ++) {
- if (Utils.supportsLocale(avail[index], locale)) {
- fdfs = new FooDateFormatSymbols(index);
- symbols.put(locale, fdfs);
- break;
- }
- }
- }
- return fdfs;
- }
-
- class FooDateFormatSymbols extends DateFormatSymbols {
- String dialect = "";
-
- String[] eras = null;
- String[] months = null;
- String[] shortMonths = null;
- String[] weekdays = null;
- String[] shortWeekdays = null;
- String[] ampms = null;
-
- public FooDateFormatSymbols(int index) {
- super(DateFormatSymbolsProviderImpl.this.avail[index]);
- dialect = DateFormatSymbolsProviderImpl.this.dialect[index];
- }
-
- public String[] getEras() {
- if (eras == null) {
- eras = super.getEras();
- for (int i = 0; i < eras.length; i++) {
- eras[i] = eras[i]+dialect;
- }
- }
- return eras;
- }
-
- /**
- * Sets era strings. For example: "AD" and "BC".
- * @param newEras the new era strings.
- */
- public void setEras(String[] newEras) {
- eras = newEras;
- }
-
- /**
- * Gets month strings. For example: "January", "February", etc.
- * @return the month strings.
- */
- public String[] getMonths() {
- if (months == null) {
- months = super.getMonths();
- for (int i = 0; i < months.length; i++) {
- months[i] = months[i]+dialect;
- }
- }
- return months;
- }
-
- /**
- * Sets month strings. For example: "January", "February", etc.
- * @param newMonths the new month strings.
- */
- public void setMonths(String[] newMonths) {
- months = newMonths;
- }
-
- /**
- * Gets short month strings. For example: "Jan", "Feb", etc.
- * @return the short month strings.
- */
- public String[] getShortMonths() {
- if (shortMonths == null) {
- shortMonths = super.getShortMonths();
- for (int i = 0; i < shortMonths.length; i++) {
- shortMonths[i] = shortMonths[i]+dialect;
- }
- }
- return shortMonths;
- }
-
- /**
- * Sets short month strings. For example: "Jan", "Feb", etc.
- * @param newShortMonths the new short month strings.
- */
- public void setShortMonths(String[] newShortMonths) {
- shortMonths = newShortMonths;
- }
-
- /**
- * Gets weekday strings. For example: "Sunday", "Monday", etc.
- * @return the weekday strings. Use <code>Calendar.SUNDAY</code>,
- * <code>Calendar.MONDAY</code>, etc. to index the result array.
- */
- public String[] getWeekdays() {
- if (weekdays == null) {
- weekdays = super.getWeekdays();
- for (int i = 0; i < weekdays.length; i++) {
- weekdays[i] = weekdays[i]+dialect;
- }
- }
- return weekdays;
- }
-
- /**
- * Sets weekday strings. For example: "Sunday", "Monday", etc.
- * @param newWeekdays the new weekday strings. The array should
- * be indexed by <code>Calendar.SUNDAY</code>,
- * <code>Calendar.MONDAY</code>, etc.
- */
- public void setWeekdays(String[] newWeekdays) {
- weekdays = newWeekdays;
- }
-
- /**
- * Gets short weekday strings. For example: "Sun", "Mon", etc.
- * @return the short weekday strings. Use <code>Calendar.SUNDAY</code>,
- * <code>Calendar.MONDAY</code>, etc. to index the result array.
- */
- public String[] getShortWeekdays() {
- if (shortWeekdays == null) {
- shortWeekdays = super.getShortWeekdays();
- for (int i = 0; i < shortWeekdays.length; i++) {
- shortWeekdays[i] = shortWeekdays[i]+dialect;
- }
- }
- return shortWeekdays;
- }
-
- /**
- * Sets short weekday strings. For example: "Sun", "Mon", etc.
- * @param newShortWeekdays the new short weekday strings. The array should
- * be indexed by <code>Calendar.SUNDAY</code>,
- * <code>Calendar.MONDAY</code>, etc.
- */
- public void setShortWeekdays(String[] newShortWeekdays) {
- shortWeekdays = newShortWeekdays;
- }
-
- /**
- * Gets ampm strings. For example: "AM" and "PM".
- * @return the ampm strings.
- */
- public String[] getAmPmStrings() {
- if (ampms == null) {
- ampms = super.getAmPmStrings();
- for (int i = 0; i < ampms.length; i++) {
- ampms[i] = ampms[i]+dialect;
- }
- }
- return ampms;
- }
-
- /**
- * Sets ampm strings. For example: "AM" and "PM".
- * @param newAmpms the new ampm strings.
- */
- public void setAmPmStrings(String[] newAmpms) {
- ampms = newAmpms;
- }
-
- @Override
- public String[][] getZoneStrings() {
- return new String[0][0];
- }
- }
-}
--- a/test/jdk/java/util/PluggableLocale/providersrc/DecimalFormatSymbolsProviderImpl.java Thu Oct 18 18:02:17 2018 -0400
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,110 +0,0 @@
-/*
- * Copyright (c) 2007, 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.
- */
-/*
- *
- */
-
-package com.foo;
-
-import java.text.*;
-import java.text.spi.*;
-import java.util.*;
-
-import com.foobar.Utils;
-
-public class DecimalFormatSymbolsProviderImpl extends DecimalFormatSymbolsProvider {
-
- static Locale[] avail = {
- new Locale("ja", "JP", "osaka"),
- new Locale("ja", "JP", "kyoto"),
- Locale.JAPAN,
- new Locale("yy", "ZZ", "UUU")
- };
- static List<Locale> availList = Arrays.asList(avail);
-
- static String[] dialect = {
- "\u3084\u3002",
- "\u3069\u3059\u3002",
- "\u3067\u3059\u3002",
- "-yy-ZZ-UUU"
- };
-
- static HashMap<Locale, FooDecimalFormatSymbols> symbols = new HashMap<Locale, FooDecimalFormatSymbols>(4);
-
- public Locale[] getAvailableLocales() {
- return avail;
- }
-
- public DecimalFormatSymbols getInstance(Locale locale) {
- if (!Utils.supportsLocale(availList, locale)) {
- throw new IllegalArgumentException("locale is not supported: "+locale);
- }
-
- FooDecimalFormatSymbols fdfs = symbols.get(locale);
- if (fdfs == null) {
- for (int index = 0; index < avail.length; index ++) {
- if (Utils.supportsLocale(avail[index], locale)) {
- fdfs = new FooDecimalFormatSymbols(index);
- symbols.put(locale, fdfs);
- break;
- }
- }
- }
- return fdfs;
- }
-
- class FooDecimalFormatSymbols extends DecimalFormatSymbols {
- String dialect = "";
-
- String infinity = null;
- String nan = null;
-
- public FooDecimalFormatSymbols(int index) {
- super(DecimalFormatSymbolsProviderImpl.this.avail[index]);
- dialect = DecimalFormatSymbolsProviderImpl.this.dialect[index];
- }
-
- // overrides methods only returns Strings
- public String getInfinity() {
- if (infinity == null) {
- infinity = super.getInfinity() + dialect;
- }
- return infinity;
- }
-
- public void setInfinity(String infinity) {
- this.infinity = infinity;
- }
-
- public String getNaN() {
- if (nan == null) {
- nan = super.getNaN() + dialect;
- }
- return nan;
- }
-
- public void setNaN(String nan) {
- this.nan = nan;
- }
- }
-}
--- a/test/jdk/java/util/PluggableLocale/providersrc/FooDateFormat.java Thu Oct 18 18:02:17 2018 -0400
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,61 +0,0 @@
-/*
- * Copyright (c) 2010, 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.
- */
-
-package com.foo;
-
-import java.text.*;
-import java.util.*;
-
-/**
- * FooDateFormat provides SimpleDateFormat methods required for the SPI testing.
- */
-public class FooDateFormat extends DateFormat {
- private SimpleDateFormat sdf;
-
- public FooDateFormat(String pattern, Locale loc) {
- sdf = new SimpleDateFormat(pattern, loc);
- }
-
- @Override
- public StringBuffer format(Date date,
- StringBuffer toAppendTo,
- FieldPosition fieldPosition) {
- return sdf.format(date, toAppendTo, fieldPosition);
- }
-
- @Override
- public Date parse(String source, ParsePosition pos) {
- return sdf.parse(source, pos);
- }
-
- @Override
- public boolean equals(Object other) {
- return other instanceof FooDateFormat
- && sdf.equals(((FooDateFormat)other).sdf);
- }
-
- @Override
- public int hashCode() {
- return sdf.hashCode();
- }
-}
--- a/test/jdk/java/util/PluggableLocale/providersrc/FooNumberFormat.java Thu Oct 18 18:02:17 2018 -0400
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,81 +0,0 @@
-/*
- * Copyright (c) 2010, 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.
- */
-
-package com.foo;
-
-import java.text.*;
-
-/**
- * FooNumberFormat provides DecimalFormat methods required for the SPI testing.
- */
-public class FooNumberFormat extends NumberFormat {
- private DecimalFormat df;
-
- public FooNumberFormat(String pattern, DecimalFormatSymbols dfs) {
- df = new DecimalFormat(pattern, dfs);
- }
-
- @Override
- public StringBuffer format(double number,
- StringBuffer toAppendTo,
- FieldPosition pos) {
- return df.format(number, toAppendTo, pos);
- }
-
- @Override
- public StringBuffer format(long number,
- StringBuffer toAppendTo,
- FieldPosition pos) {
- return df.format(number, toAppendTo, pos);
- }
-
- @Override
- public Number parse(String source, ParsePosition parsePosition) {
- return df.parse(source, parsePosition);
- }
-
- @Override
- public boolean equals(Object other) {
- return other instanceof FooNumberFormat
- && df.equals(((FooNumberFormat)other).df);
- }
-
- @Override
- public int hashCode() {
- return df.hashCode();
- }
-
- // DecimalFormat specific methods required for testing
-
- public String toPattern() {
- return df.toPattern();
- }
-
- public DecimalFormatSymbols getDecimalFormatSymbols() {
- return df.getDecimalFormatSymbols();
- }
-
- public void setDecimalSeparatorAlwaysShown(boolean newValue) {
- df.setDecimalSeparatorAlwaysShown(newValue);
- }
-}
--- a/test/jdk/java/util/PluggableLocale/providersrc/GenericTimeZoneNameProviderImpl.java Thu Oct 18 18:02:17 2018 -0400
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,58 +0,0 @@
-/*
- * Copyright (c) 2012, 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.
- */
-/*
- *
- */
-
-package com.bar;
-
-import java.util.*;
-import java.util.spi.*;
-
-import com.foobar.Utils;
-
-/**
- * Implementation class for getGenericTimeZoneName which returns "Generic "+<standard name in OSAKA>.
- */
-public class GenericTimeZoneNameProviderImpl extends TimeZoneNameProviderImpl {
- static final Locale jaJPGeneric = new Locale("ja", "JP", "generic");
- static final Locale OSAKA = new Locale("ja", "JP", "osaka");
-
- static Locale[] avail = {
- jaJPGeneric
- };
-
- @Override
- public Locale[] getAvailableLocales() {
- return avail;
- }
-
- @Override
- public String getGenericDisplayName(String id, int style, Locale locale) {
- if (!jaJPGeneric.equals(locale)) {
- return null;
- }
- String std = super.getDisplayName(id, false, style, OSAKA);
- return (std != null) ? "Generic " + std : null;
- }
-}
--- a/test/jdk/java/util/PluggableLocale/providersrc/LocaleNameProviderImpl.java Thu Oct 18 18:02:17 2018 -0400
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,100 +0,0 @@
-/*
- * Copyright (c) 2007, 2012, 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.
- */
-/*
- *
- */
-
-package com.bar;
-
-import java.text.*;
-import java.util.*;
-import java.util.spi.*;
-
-import com.foobar.Utils;
-
-public class LocaleNameProviderImpl extends LocaleNameProvider {
- static Locale[] avail = {Locale.JAPANESE,
- Locale.JAPAN,
- new Locale("ja", "JP", "osaka"),
- new Locale("ja", "JP", "kyoto"),
- new Locale("xx"),
- new Locale("yy", "YY", "YYYY")};
- static List<Locale> availList = Arrays.asList(avail);
- public Locale[] getAvailableLocales() {
- return avail;
- }
-
- @Override
- public String getDisplayLanguage(String lang, Locale target) {
- return getDisplayString(lang, target);
- }
-
- @Override
- public String getDisplayCountry(String ctry, Locale target) {
- return getDisplayString(ctry, target);
- }
-
- @Override
- public String getDisplayVariant(String vrnt, Locale target) {
- return getDisplayString(vrnt, target);
- }
-
- private String getDisplayString(String key, Locale target) {
- if (!Utils.supportsLocale(availList, target)) {
- throw new IllegalArgumentException("locale is not supported: "+target);
- }
-
- String ret = null;
-
- if (target.getLanguage().equals("yy") &&
- target.getCountry().equals("YY")) {
- String vrnt = target.getVariant();
- if (vrnt.startsWith("YYYY")) {
- switch (key) {
- case "yy":
- case "YY":
- ret = "waiwai";
- break;
-
- case "YYYY":
- if (vrnt.equals("YYYY_suffix")) {
- // for LocaleNameProviderTest.variantFallbackTest()
- throw new RuntimeException(vrnt);
- } else {
- ret = "waiwai";
- }
- break;
- }
- }
- } else {
- // resource bundle based (allows fallback)
- try {
- ResourceBundle rb = ResourceBundle.getBundle("com.bar.LocaleNames", target);
- ret = rb.getString(key);
- } catch (MissingResourceException mre) {
- }
- }
-
- return ret;
- }
- }
--- a/test/jdk/java/util/PluggableLocale/providersrc/LocaleNames.properties Thu Oct 18 18:02:17 2018 -0400
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,25 +0,0 @@
-#
-# Copyright (c) 2007, 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.
-#
-osaka=Osaka
-kyoto=Kyoto
-xx=batsubatsu
--- a/test/jdk/java/util/PluggableLocale/providersrc/LocaleNames_ja.properties Thu Oct 18 18:02:17 2018 -0400
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,30 +0,0 @@
-#
-# Copyright (c) 2007, 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.
-#
-ja=\u65e5\u672c\u8a9e\u3067\u3059\u3002
-JP=\u65e5\u672c\u3067\u3059\u3002
-#
-# added ones
-#
-osaka=\u5927\u962a\u3067\u3059\u3002
-kyoto=\u4eac\u90fd\u3067\u3059\u3002
-xx=\u3070\u3064\u3070\u3064\u3067\u3059\u3002
--- a/test/jdk/java/util/PluggableLocale/providersrc/LocaleNames_ja_JP_kyoto.properties Thu Oct 18 18:02:17 2018 -0400
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,28 +0,0 @@
-#
-# Copyright (c) 2007, 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.
-#
-ja=\u65e5\u672c\u8a9e\u3069\u3059\u3002
-JP=\u65e5\u672c\u3069\u3059\u3002
-#
-osaka=\u5927\u962a\u3069\u3059\u3002
-kyoto=\u4eac\u90fd\u3069\u3059\u3002
-xx=\u307a\u3051\u307a\u3051\u3069\u3059\u3002
--- a/test/jdk/java/util/PluggableLocale/providersrc/LocaleNames_ja_JP_osaka.properties Thu Oct 18 18:02:17 2018 -0400
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,28 +0,0 @@
-#
-# Copyright (c) 2007, 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.
-#
-ja=\u7956\u56fd\u8a9e\u3084\u3002
-JP=\u3084\u307e\u3068\u3084\u3002
-#
-osaka=\u5927\u962a\u3084\u3002
-kyoto=\u4eac\u90fd\u3084\u3002
-xx=\u307a\u3051\u307a\u3051\u3084\u3002
--- a/test/jdk/java/util/PluggableLocale/providersrc/LocaleNames_xx.properties Thu Oct 18 18:02:17 2018 -0400
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,23 +0,0 @@
-#
-# Copyright (c) 2007, 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.
-#
-xx=batsubatsu
--- a/test/jdk/java/util/PluggableLocale/providersrc/Makefile Thu Oct 18 18:02:17 2018 -0400
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,78 +0,0 @@
-#
-#
-#
-
-DESTDIR=..
-FOODIR=foo-contents
-BARDIR=bar-contents
-
-all: $(DESTDIR)/fooprovider.jar $(DESTDIR)/barprovider.jar
-
-FOOSERVICES = \
- java.text.spi.BreakIteratorProvider \
- java.text.spi.CollatorProvider \
- java.text.spi.DateFormatProvider \
- java.text.spi.DateFormatSymbolsProvider \
- java.text.spi.DecimalFormatSymbolsProvider \
- java.text.spi.NumberFormatProvider
-
-BARSERVICES = \
- java.util.spi.CurrencyNameProvider \
- java.util.spi.TimeZoneNameProvider \
- java.util.spi.LocaleNameProvider \
- java.util.spi.CalendarDataProvider \
- java.util.spi.CalendarNameProvider
-
-FOOFILES_JAVA = \
- BreakIteratorProviderImpl.java \
- CollatorProviderImpl.java \
- DateFormatProviderImpl.java \
- DateFormatSymbolsProviderImpl.java \
- DecimalFormatSymbolsProviderImpl.java \
- NumberFormatProviderImpl.java \
- FooDateFormat.java \
- FooNumberFormat.java \
- Utils.java
-
-BARFILES_JAVA = \
- CurrencyNameProviderImpl.java \
- CurrencyNameProviderImpl2.java \
- TimeZoneNameProviderImpl.java \
- GenericTimeZoneNameProviderImpl.java \
- LocaleNameProviderImpl.java \
- CalendarDataProviderImpl.java \
- CalendarNameProviderImpl.java \
- Utils.java
-
-BARFILES_PROPERTIES = \
- LocaleNames.properties \
- LocaleNames_ja.properties \
- LocaleNames_ja_JP_osaka.properties \
- LocaleNames_ja_JP_kyoto.properties \
- LocaleNames_xx.properties
-
-$(DESTDIR)/fooprovider.jar: $(FOOSERVICES) $(FOOFILES_JAVA)
- rm -rf $(FOODIR)
- mkdir -p $(FOODIR)
- mkdir -p $(FOODIR)/META-INF
- mkdir -p $(FOODIR)/META-INF/services
- $(BINDIR)/javac -d $(FOODIR) $(FOOFILES_JAVA)
- cp $(FOOSERVICES) $(FOODIR)/META-INF/services
- rm -f $(DESTDIR)/fooprovider.jar
- $(BINDIR)/jar cvf $(DESTDIR)/fooprovider.jar -C $(FOODIR) .
-
-$(DESTDIR)/barprovider.jar: $(BARSERVICES) $(BARFILES_JAVA) $(BARFILES_PROPERTIES)
- rm -rf $(BARDIR)
- mkdir -p $(BARDIR)
- mkdir -p $(BARDIR)/META-INF
- mkdir -p $(BARDIR)/META-INF/services
- $(BINDIR)/javac -d $(BARDIR) $(BARFILES_JAVA)
- cp $(BARSERVICES) $(BARDIR)/META-INF/services
- cp $(BARFILES_PROPERTIES) $(BARDIR)/com/bar
- rm -f $(DESTDIR)/barprovider.jar
- $(BINDIR)/jar cvf $(DESTDIR)/barprovider.jar -C $(BARDIR) .
-
-clean:
- rm -rf $(BARDIR) $(FOODIR)
-
-.PHONY: all clean
--- a/test/jdk/java/util/PluggableLocale/providersrc/NumberFormatProviderImpl.java Thu Oct 18 18:02:17 2018 -0400
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,156 +0,0 @@
-/*
- * Copyright (c) 2007, 2010, 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.
- */
-/*
- *
- */
-
-package com.foo;
-
-import java.text.*;
-import java.text.spi.*;
-import java.util.*;
-
-import com.foobar.Utils;
-
-public class NumberFormatProviderImpl extends NumberFormatProvider {
-
- static Locale[] avail = {
- Locale.JAPAN,
- new Locale("ja", "JP", "osaka"),
- new Locale("ja", "JP", "kyoto"),
- new Locale("zz")};
-
- static String[] dialect = {
- "\u3067\u3059\u3002",
- "\u3084\u3002",
- "\u3069\u3059\u3002",
- "-zz"
- };
-
- static String[] patterns = {
- "#,##0.###{0};-#,##0.###{1}", // decimal pattern
- "#{0};(#){1}", // integer pattern
- "\u00A4#,##0{0};-\u00A4#,##0{1}", // currency pattern
- "#,##0%{0}" // percent pattern
- };
- // Constants used by factory methods to specify a style of format.
- static final int NUMBERSTYLE = 0;
- static final int INTEGERSTYLE = 1;
- static final int CURRENCYSTYLE = 2;
- static final int PERCENTSTYLE = 3;
-
- public Locale[] getAvailableLocales() {
- return avail;
- }
-
- public NumberFormat getCurrencyInstance(Locale locale) {
- for (int i = 0; i < avail.length; i ++) {
- if (Utils.supportsLocale(avail[i], locale)) {
- String pattern =
- MessageFormat.format(patterns[CURRENCYSTYLE],
- dialect[i],
- dialect[i]);
- FooNumberFormat nf = new FooNumberFormat(pattern,
- DecimalFormatSymbols.getInstance(locale));
- adjustForCurrencyDefaultFractionDigits(nf);
- return nf;
- }
- }
- throw new IllegalArgumentException("locale is not supported: "+locale);
- }
-
- public NumberFormat getIntegerInstance(Locale locale) {
- for (int i = 0; i < avail.length; i ++) {
- if (Utils.supportsLocale(avail[i], locale)) {
- String pattern =
- MessageFormat.format(patterns[INTEGERSTYLE],
- dialect[i],
- dialect[i]);
- FooNumberFormat nf = new FooNumberFormat(pattern,
- DecimalFormatSymbols.getInstance(locale));
- nf.setMaximumFractionDigits(0);
- nf.setDecimalSeparatorAlwaysShown(false);
- nf.setParseIntegerOnly(true);
- return nf;
- }
- }
- throw new IllegalArgumentException("locale is not supported: "+locale);
- }
-
- public NumberFormat getNumberInstance(Locale locale) {
- for (int i = 0; i < avail.length; i ++) {
- if (Utils.supportsLocale(avail[i], locale)) {
- String pattern =
- MessageFormat.format(patterns[NUMBERSTYLE],
- dialect[i],
- dialect[i]);
- return new FooNumberFormat(pattern,
- DecimalFormatSymbols.getInstance(locale));
- }
- }
- throw new IllegalArgumentException("locale is not supported: "+locale);
- }
-
- public NumberFormat getPercentInstance(Locale locale) {
- for (int i = 0; i < avail.length; i ++) {
- if (Utils.supportsLocale(avail[i], locale)) {
- String pattern =
- MessageFormat.format(patterns[PERCENTSTYLE],
- dialect[i]);
- return new FooNumberFormat(pattern,
- DecimalFormatSymbols.getInstance(locale));
- }
- }
- throw new IllegalArgumentException("locale is not supported: "+locale);
- }
-
- /**
- * Adjusts the minimum and maximum fraction digits to values that
- * are reasonable for the currency's default fraction digits.
- */
- void adjustForCurrencyDefaultFractionDigits(FooNumberFormat nf) {
- DecimalFormatSymbols dfs = nf.getDecimalFormatSymbols();
- Currency currency = dfs.getCurrency();
- if (currency == null) {
- try {
- currency = Currency.getInstance(dfs.getInternationalCurrencySymbol());
- } catch (IllegalArgumentException e) {
- }
- }
- if (currency != null) {
- int digits = currency.getDefaultFractionDigits();
- if (digits != -1) {
- int oldMinDigits = nf.getMinimumFractionDigits();
- // Common patterns are "#.##", "#.00", "#".
- // Try to adjust all of them in a reasonable way.
- if (oldMinDigits == nf.getMaximumFractionDigits()) {
- nf.setMinimumFractionDigits(digits);
- nf.setMaximumFractionDigits(digits);
- } else {
- nf.setMinimumFractionDigits(Math.min(digits, oldMinDigits));
- nf.setMaximumFractionDigits(digits);
- }
- }
- }
- }
-}
--- a/test/jdk/java/util/PluggableLocale/providersrc/TimeZoneNameProviderImpl.java Thu Oct 18 18:02:17 2018 -0400
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,150 +0,0 @@
-/*
- * Copyright (c) 2007, 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.
- */
-/*
- *
- */
-
-package com.bar;
-
-import java.util.*;
-import java.util.spi.*;
-
-import com.foobar.Utils;
-
-public class TimeZoneNameProviderImpl extends TimeZoneNameProvider {
- static Locale[] avail = {new Locale("ja", "JP", "osaka"),
- new Locale("ja", "JP", "kyoto"),
- new Locale("xx"),
- Locale.JAPAN};
-
- static String[][] zoneOsaka = {
- {"GMT",
- "\u30b0_\u30ea_\u30cb_\u30c3_\u30b8_\u6a19_\u6e96_\u6642_\u3084_\u3002",
- "G_M_T_\u3084_\u3002",
- "\u30b0_\u30ea_\u30cb_\u30c3_\u30b8_\u6a19_\u6e96_\u6642_\u3084_\u3002",
- "G_M_T_\u3084_\u3002"},
- {"JST",
- "\u3084_\u307e_\u3068_\u6a19_\u6e96_\u6642_\u3084_\u3002",
- "J_S_T_\u3084_\u3002",
- "\u3084_\u307e_\u3068_\u6a19_\u6e96_\u6642_\u3084_\u3002",
- "J_S_T_\u3084_\u3002"},
- {"America/Los_Angeles",
- "\u592a_\u5e73_\u6d0b_\u6a19_\u6e96_\u6642_\u3084_\u3002",
- "P_S_T_\u3084_\u3002",
- "\u592a_\u5e73_\u6d0b_\u590f_\u6642_\u9593_\u3084_\u3002",
- "P_D_T_\u3084_\u3002"},
- {"SystemV/PST8",
- "\u592a_\u5e73_\u6d0b_\u6a19_\u6e96_\u6642_\u3084_\u3002",
- "P_S_T_\u3084_\u3002",
- "\u592a_\u5e73_\u6d0b_\u590f_\u6642_\u9593_\u3084_\u3002",
- "P_D_T_\u3084_\u3002"},
- {"SystemV/PST8PDT",
- "\u592a_\u5e73_\u6d0b_\u6a19_\u6e96_\u6642_\u3084_\u3002",
- "P_S_T_\u3084_\u3002",
- "\u592a_\u5e73_\u6d0b_\u590f_\u6642_\u9593_\u3084_\u3002",
- "P_D_T_\u3084_\u3002"},
- {"PST8PDT",
- "\u592a_\u5e73_\u6d0b_\u6a19_\u6e96_\u6642_\u3084_\u3002",
- "P_S_T_\u3084_\u3002",
- "\u592a_\u5e73_\u6d0b_\u590f_\u6642_\u9593_\u3084_\u3002",
- "P_D_T_\u3084_\u3002"},
- };
-
- static String[][] zoneKyoto = {
- {"GMT",
- "\u30b0_\u30ea_\u30cb_\u30c3_\u30b8_\u6a19_\u6e96_\u6642_\u3069_\u3059_\u3002",
- "G_M_T_\u3069_\u3059_\u3002",
- "\u30b0_\u30ea_\u30cb_\u30c3_\u30b8_\u6a19_\u6e96_\u6642_\u3069_\u3059_\u3002",
- "G_M_T_\u3069_\u3059_\u3002"},
- {"America/Los_Angeles",
- "\u592a_\u5e73_\u6d0b_\u6a19_\u6e96_\u6642_\u3069_\u3059_\u3002",
- "P_S_T_\u3069_\u3059_\u3002",
- "\u592a_\u5e73_\u6d0b_\u590f_\u6642_\u9593_\u3069_\u3059_\u3002",
- "P_D_T_\u3069_\u3059_\u3002"},
- {"SystemV/PST8",
- "\u592a_\u5e73_\u6d0b_\u6a19_\u6e96_\u6642_\u3069_\u3059_\u3002",
- "P_S_T_\u3069_\u3059_\u3002",
- "\u592a_\u5e73_\u6d0b_\u590f_\u6642_\u9593_\u3069_\u3059_\u3002",
- "P_D_T_\u3069_\u3059_\u3002"},
- {"SystemV/PST8PDT",
- "\u592a_\u5e73_\u6d0b_\u6a19_\u6e96_\u6642_\u3069_\u3059_\u3002",
- "P_S_T_\u3069_\u3059_\u3002",
- "\u592a_\u5e73_\u6d0b_\u590f_\u6642_\u9593_\u3069_\u3059_\u3002",
- "P_D_T_\u3069_\u3059_\u3002"},
- {"PST8PDT",
- "\u592a_\u5e73_\u6d0b_\u6a19_\u6e96_\u6642_\u3069_\u3059_\u3002",
- "P_S_T_\u3069_\u3059_\u3002",
- "\u592a_\u5e73_\u6d0b_\u590f_\u6642_\u9593_\u3069_\u3059_\u3002",
- "P_D_T_\u3069_\u3059_\u3002"},
- };
-
- static String[][] zoneXX = {
- {"GMT",
- "\u30b0_\u30ea_\u30cb_\u30c3_\u30b8_\u6a19_\u6e96_\u6642\u3070\u3064\u3070\u3064\u3002",
- "G_M_T_\u3070\u3064\u3070\u3064\u3002",
- "\u30b0_\u30ea_\u30cb_\u30c3_\u30b8_\u6a19_\u6e96_\u6642\u3070\u3064\u3070\u3064\u3002",
- "G_M_T_\u3070\u3064\u3070\u3064\u3002"},
- {"America/Los_Angeles",
- "\u592a_\u5e73_\u6d0b_\u6a19_\u6e96_\u6642_\u3070\u3064\u3070\u3064\u3002",
- "P_S_T_\u3070\u3064\u3070\u3064\u3002",
- "\u592a_\u5e73_\u6d0b_\u590f_\u6642_\u9593_\u3070\u3064\u3070\u3064\u3002",
- "P_D_T_\u3070\u3064\u3070\u3064\u3002"}};
-
- static String[][] zoneJaJP = {
- {"GMT",
- "\u30b0_\u30ea_\u30cb_\u30c3_\u30b8_\u6a19_\u6e96_\u6642_\u3067_\u3059_\u3002",
- "G_M_T_\u3067_\u3059_\u3002",
- "\u30b0_\u30ea_\u30cb_\u30c3_\u30b8_\u6a19_\u6e96_\u6642_\u3067_\u3059_\u3002",
- "G_M_T_\u3067_\u3059_\u3002"},
- {"America/Los_Angeles",
- "\u30b0_\u30ea_\u30cb_\u30c3_\u30b8_\u6a19_\u6e96_\u6642_\u3067_\u3059_\u3002",
- "P_S_T_\u3067_\u3059_\u3002",
- "\u592a_\u5e73_\u6d0b_\u590f_\u6642_\u9593_\u3067_\u3059_\u3002",
- "P_D_T_\u3067_\u3059_\u3002"}};
-
- static String[][][] names = {zoneOsaka, zoneKyoto, zoneXX, zoneJaJP};
-
- public Locale[] getAvailableLocales() {
- return avail;
- }
-
- public String getDisplayName(String id, boolean dst, int style, Locale language) {
- if (!Utils.supportsLocale(Arrays.asList(avail), language)) {
- throw new IllegalArgumentException("locale is not one of available locales: "+language);
- }
-
- for (int i = 0; i < avail.length; i ++) {
- if (Utils.supportsLocale(avail[i], language)) {
- String[][] namesForALocale = names[i];
- for (int j = 0; j < namesForALocale.length; j++) {
- String[] array = namesForALocale[j];
- if (id.equals(array[0])) {
- String ret = array[(style==TimeZone.LONG?0:1)+(dst?2:0)+1];
- return ret;
- }
- }
- }
- }
- return null;
- }
-}
--- a/test/jdk/java/util/PluggableLocale/providersrc/Utils.java Thu Oct 18 18:02:17 2018 -0400
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,68 +0,0 @@
-/*
- * Copyright (c) 2007, 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.
- */
-/*
- *
- */
-package com.foobar;
-import java.util.*;
-
-public class Utils {
- public static boolean supportsLocale(Locale supported, Locale requested) {
- if (supported.getLanguage() == "") {
- return true;
- } else if (supported.getLanguage() != requested.getLanguage()) {
- return false;
- }
-
- if (supported.getCountry() == "") {
- return true;
- } else if (supported.getCountry() != requested.getCountry()) {
- return false;
- }
-
- String supVar = supported.getVariant();
- String reqVar = requested.getVariant();
-
- if (supVar == "") {
- return true;
- } else {
- int underIndex;
- while ((underIndex = reqVar.lastIndexOf('_')) != (-1)) {
- reqVar = reqVar.substring(0, underIndex);
- if (supVar.equals(reqVar)) {
- return true;
- }
- }
- return supVar.equals(reqVar);
- }
- }
-
- public static boolean supportsLocale(List<Locale> supported, Locale requested) {
- for (Locale l : supported) {
- if (supportsLocale(l, requested)) {
- return true;
- }
- }
- return false;
- }
-}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test/jdk/java/util/PluggableLocale/providersrc/barprovider/META-INF/services/java.util.spi.CalendarDataProvider Thu Oct 18 18:04:05 2018 -0400
@@ -0,0 +1,7 @@
+#
+#
+#
+# fully-qualified name of the java.util.spi.CalendarDataProvider
+# implementation class
+#
+com.bar.CalendarDataProviderImpl
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test/jdk/java/util/PluggableLocale/providersrc/barprovider/META-INF/services/java.util.spi.CalendarNameProvider Thu Oct 18 18:04:05 2018 -0400
@@ -0,0 +1,7 @@
+#
+#
+#
+# fully-qualified name of the java.util.spi.CalendarNameProvider
+# implementation class
+#
+com.bar.CalendarNameProviderImpl
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test/jdk/java/util/PluggableLocale/providersrc/barprovider/META-INF/services/java.util.spi.CurrencyNameProvider Thu Oct 18 18:04:05 2018 -0400
@@ -0,0 +1,8 @@
+#
+#
+#
+# fully-qualified name of the java.util.spi.LocaleNameProvider
+# implementation class
+#
+com.bar.CurrencyNameProviderImpl
+com.bar.CurrencyNameProviderImpl2
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test/jdk/java/util/PluggableLocale/providersrc/barprovider/META-INF/services/java.util.spi.LocaleNameProvider Thu Oct 18 18:04:05 2018 -0400
@@ -0,0 +1,7 @@
+#
+#
+#
+# fully-qualified name of the java.util.spi.LocaleNameProvider
+# implementation class
+#
+com.bar.LocaleNameProviderImpl
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test/jdk/java/util/PluggableLocale/providersrc/barprovider/META-INF/services/java.util.spi.TimeZoneNameProvider Thu Oct 18 18:04:05 2018 -0400
@@ -0,0 +1,8 @@
+#
+#
+#
+# fully-qualified name of the java.util.spi.TimeZoneNameProvider
+# implementation class
+#
+com.bar.TimeZoneNameProviderImpl
+com.bar.GenericTimeZoneNameProviderImpl
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test/jdk/java/util/PluggableLocale/providersrc/barprovider/com/bar/CalendarDataProviderImpl.java Thu Oct 18 18:04:05 2018 -0400
@@ -0,0 +1,54 @@
+/*
+ * Copyright (c) 2012, 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.
+ */
+
+package com.bar;
+
+import com.foobar.Utils;
+import java.util.Arrays;
+import static java.util.Calendar.*;
+import java.util.HashMap;
+import java.util.Locale;
+import java.util.Map;
+import java.util.spi.CalendarDataProvider;
+
+public class CalendarDataProviderImpl extends CalendarDataProvider {
+ static final char FULLWIDTH_ZERO = '\uff10';
+ static final Locale[] avail = {
+ new Locale("ja", "JP", "kids"),
+ };
+
+ @Override
+ public int getFirstDayOfWeek(Locale locale) {
+ return WEDNESDAY;
+ }
+
+ @Override
+ public int getMinimalDaysInFirstWeek(Locale locale) {
+ return 7;
+ }
+
+ @Override
+ public Locale[] getAvailableLocales() {
+ return avail.clone();
+ }
+}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test/jdk/java/util/PluggableLocale/providersrc/barprovider/com/bar/CalendarNameProviderImpl.java Thu Oct 18 18:04:05 2018 -0400
@@ -0,0 +1,102 @@
+/*
+ * Copyright (c) 2012, 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.
+ */
+
+package com.bar;
+
+import com.foobar.Utils;
+import java.util.Arrays;
+import static java.util.Calendar.*;
+import java.util.HashMap;
+import java.util.Locale;
+import java.util.Map;
+import java.util.spi.CalendarNameProvider;
+
+public class CalendarNameProviderImpl extends CalendarNameProvider {
+ static final char FULLWIDTH_ZERO = '\uff10';
+ static final Locale[] avail = {
+ new Locale("ja", "JP", "kids"),
+ };
+
+ @Override
+ public String getDisplayName(String calendarType, int field, int value, int style, Locale locale) {
+ if (calendarType == null || locale == null) {
+ throw new NullPointerException();
+ }
+ if (!Utils.supportsLocale(Arrays.asList(avail), locale)) {
+ throw new IllegalArgumentException("locale is not one of available locales: "+ locale);
+ }
+ if (field != MONTH) {
+ return null;
+ }
+ return toMonthName(value + 1, style);
+ }
+
+ @Override
+ public Map<String, Integer> getDisplayNames(String calendarType, int field, int style, Locale locale) {
+ if (calendarType == null || locale == null) {
+ throw new NullPointerException();
+ }
+ if (!Utils.supportsLocale(Arrays.asList(avail), locale)) {
+ throw new IllegalArgumentException("locale is not one of available locales: " + locale);
+ }
+ if (field != MONTH) {
+ return null;
+ }
+ Map<String, Integer> map = new HashMap<>();
+ if (style == LONG_STANDALONE) {
+ style = LONG;
+ } else if (style == SHORT_STANDALONE) {
+ style = SHORT;
+ }
+ for (int month = JANUARY; month <= DECEMBER; month++) {
+ if (style == ALL_STYLES || style == LONG) {
+ map.put(toMonthName(month + 1, LONG), month);
+ }
+ if (style == ALL_STYLES || style == SHORT) {
+ map.put(toMonthName(month + 1, SHORT), month);
+ }
+ }
+ return map;
+ }
+
+ @Override
+ public Locale[] getAvailableLocales() {
+ return avail.clone();
+ }
+
+ // month is 1-based.
+ public static String toMonthName(int month, int style) {
+ StringBuilder sb = new StringBuilder();
+ if (month >= 10) {
+ sb.append((char)(FULLWIDTH_ZERO + 1));
+ sb.appendCodePoint((char)(FULLWIDTH_ZERO + (month % 10)));
+ } else {
+ sb.appendCodePoint((char)(FULLWIDTH_ZERO + month));
+ }
+ if (style == SHORT || style == SHORT_STANDALONE) {
+ return sb.toString(); // full-width digit(s)
+ }
+ sb.append("\u304c\u3064"); // + "gatsu" in Hiragana
+ return sb.toString();
+ }
+}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test/jdk/java/util/PluggableLocale/providersrc/barprovider/com/bar/CurrencyNameProviderImpl.java Thu Oct 18 18:04:05 2018 -0400
@@ -0,0 +1,82 @@
+/*
+ * Copyright (c) 2007, 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.
+ */
+/*
+ *
+ */
+
+package com.bar;
+
+import java.util.*;
+import java.util.spi.*;
+
+import com.foobar.Utils;
+
+public class CurrencyNameProviderImpl extends CurrencyNameProvider {
+ static Locale[] avail = {new Locale("ja", "JP", "osaka"),
+ new Locale("ja", "JP", "kyoto"),
+ Locale.JAPAN,
+ new Locale("xx")};
+
+ public Locale[] getAvailableLocales() {
+ return avail;
+ }
+
+ public String getSymbol(String c, Locale locale) {
+ if (!Utils.supportsLocale(Arrays.asList(avail), locale)) {
+ throw new IllegalArgumentException("locale is not supported: "+locale);
+ }
+
+ if (c.equals("JPY")) {
+ if (Utils.supportsLocale(avail[0], locale)) {
+ return "\u5186\u3084\u3002";
+ } else if (Utils.supportsLocale(avail[1], locale)) {
+ return "\u5186\u3069\u3059\u3002";
+ } else if (Utils.supportsLocale(avail[2], locale)) {
+ return "\u5186\u3067\u3059\u3002";
+ } else if (Utils.supportsLocale(avail[3], locale)) {
+ return "\u5186\u3070\u3064\u3070\u3064\u3002";
+ }
+ }
+ return null;
+ }
+
+ @Override
+ public String getDisplayName(String c, Locale locale) {
+ if (!Utils.supportsLocale(Arrays.asList(avail), locale)) {
+ throw new IllegalArgumentException("locale is not supported: "+locale);
+ }
+
+ if (c.equals("JPY")) {
+ if (Utils.supportsLocale(avail[0], locale)) {
+ return "\u65e5\u672c\u5186\u3084\u3002";
+ } else if (Utils.supportsLocale(avail[1], locale)) {
+ return "\u65e5\u672c\u5186\u3069\u3059\u3002";
+ } else if (Utils.supportsLocale(avail[2], locale)) {
+ return "\u65e5\u672c\u5186\u3067\u3059\u3002";
+ } else if (Utils.supportsLocale(avail[3], locale)) {
+ return "\u65e5\u672c\u5186\u3070\u3064\u3070\u3064\u3002";
+ }
+ }
+ return null;
+ }
+}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test/jdk/java/util/PluggableLocale/providersrc/barprovider/com/bar/CurrencyNameProviderImpl2.java Thu Oct 18 18:04:05 2018 -0400
@@ -0,0 +1,72 @@
+/*
+ * Copyright (c) 2012, 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.
+ */
+/*
+ *
+ */
+
+package com.bar;
+
+import java.util.*;
+import java.util.spi.*;
+
+import com.foobar.Utils;
+
+public class CurrencyNameProviderImpl2 extends CurrencyNameProvider {
+ static Locale[] avail = {new Locale("ja", "JP", "tokyo"),
+ new Locale("ja", "JP", "osaka"), };
+ public Locale[] getAvailableLocales() {
+ return avail;
+ }
+
+ @Override
+ public String getSymbol(String c, Locale locale) {
+ if (!Utils.supportsLocale(Arrays.asList(avail), locale)) {
+ throw new IllegalArgumentException("locale is not supported: "+locale);
+ }
+
+ if (c.equals("JPY")) {
+ if (Utils.supportsLocale(avail[0], locale)) {
+ return "JPY-tokyo";
+ } else if (Utils.supportsLocale(avail[1], locale)) {
+ return "JPY-osaka";
+ }
+ }
+ return null;
+ }
+
+ @Override
+ public String getDisplayName(String c, Locale locale) {
+ if (!Utils.supportsLocale(Arrays.asList(avail), locale)) {
+ throw new IllegalArgumentException("locale is not supported: "+locale);
+ }
+
+ if (c.equals("JPY")) {
+ if (Utils.supportsLocale(avail[0], locale)) {
+ return "JPY-tokyo";
+ } else if (Utils.supportsLocale(avail[1], locale)) {
+ return "JPY-osaka";
+ }
+ }
+ return null;
+ }
+}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test/jdk/java/util/PluggableLocale/providersrc/barprovider/com/bar/GenericTimeZoneNameProviderImpl.java Thu Oct 18 18:04:05 2018 -0400
@@ -0,0 +1,58 @@
+/*
+ * Copyright (c) 2012, 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.
+ */
+/*
+ *
+ */
+
+package com.bar;
+
+import java.util.*;
+import java.util.spi.*;
+
+import com.foobar.Utils;
+
+/**
+ * Implementation class for getGenericTimeZoneName which returns "Generic "+<standard name in OSAKA>.
+ */
+public class GenericTimeZoneNameProviderImpl extends TimeZoneNameProviderImpl {
+ static final Locale jaJPGeneric = new Locale("ja", "JP", "generic");
+ static final Locale OSAKA = new Locale("ja", "JP", "osaka");
+
+ static Locale[] avail = {
+ jaJPGeneric
+ };
+
+ @Override
+ public Locale[] getAvailableLocales() {
+ return avail;
+ }
+
+ @Override
+ public String getGenericDisplayName(String id, int style, Locale locale) {
+ if (!jaJPGeneric.equals(locale)) {
+ return null;
+ }
+ String std = super.getDisplayName(id, false, style, OSAKA);
+ return (std != null) ? "Generic " + std : null;
+ }
+}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test/jdk/java/util/PluggableLocale/providersrc/barprovider/com/bar/LocaleNameProviderImpl.java Thu Oct 18 18:04:05 2018 -0400
@@ -0,0 +1,100 @@
+/*
+ * Copyright (c) 2007, 2012, 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.
+ */
+/*
+ *
+ */
+
+package com.bar;
+
+import java.text.*;
+import java.util.*;
+import java.util.spi.*;
+
+import com.foobar.Utils;
+
+public class LocaleNameProviderImpl extends LocaleNameProvider {
+ static Locale[] avail = {Locale.JAPANESE,
+ Locale.JAPAN,
+ new Locale("ja", "JP", "osaka"),
+ new Locale("ja", "JP", "kyoto"),
+ new Locale("xx"),
+ new Locale("yy", "YY", "YYYY")};
+ static List<Locale> availList = Arrays.asList(avail);
+ public Locale[] getAvailableLocales() {
+ return avail;
+ }
+
+ @Override
+ public String getDisplayLanguage(String lang, Locale target) {
+ return getDisplayString(lang, target);
+ }
+
+ @Override
+ public String getDisplayCountry(String ctry, Locale target) {
+ return getDisplayString(ctry, target);
+ }
+
+ @Override
+ public String getDisplayVariant(String vrnt, Locale target) {
+ return getDisplayString(vrnt, target);
+ }
+
+ private String getDisplayString(String key, Locale target) {
+ if (!Utils.supportsLocale(availList, target)) {
+ throw new IllegalArgumentException("locale is not supported: "+target);
+ }
+
+ String ret = null;
+
+ if (target.getLanguage().equals("yy") &&
+ target.getCountry().equals("YY")) {
+ String vrnt = target.getVariant();
+ if (vrnt.startsWith("YYYY")) {
+ switch (key) {
+ case "yy":
+ case "YY":
+ ret = "waiwai";
+ break;
+
+ case "YYYY":
+ if (vrnt.equals("YYYY_suffix")) {
+ // for LocaleNameProviderTest.variantFallbackTest()
+ throw new RuntimeException(vrnt);
+ } else {
+ ret = "waiwai";
+ }
+ break;
+ }
+ }
+ } else {
+ // resource bundle based (allows fallback)
+ try {
+ ResourceBundle rb = ResourceBundle.getBundle("com.bar.LocaleNames", target);
+ ret = rb.getString(key);
+ } catch (MissingResourceException mre) {
+ }
+ }
+
+ return ret;
+ }
+ }
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test/jdk/java/util/PluggableLocale/providersrc/barprovider/com/bar/LocaleNames.properties Thu Oct 18 18:04:05 2018 -0400
@@ -0,0 +1,25 @@
+#
+# Copyright (c) 2007, 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.
+#
+osaka=Osaka
+kyoto=Kyoto
+xx=batsubatsu
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test/jdk/java/util/PluggableLocale/providersrc/barprovider/com/bar/LocaleNames_ja.properties Thu Oct 18 18:04:05 2018 -0400
@@ -0,0 +1,30 @@
+#
+# Copyright (c) 2007, 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.
+#
+ja=\u65e5\u672c\u8a9e\u3067\u3059\u3002
+JP=\u65e5\u672c\u3067\u3059\u3002
+#
+# added ones
+#
+osaka=\u5927\u962a\u3067\u3059\u3002
+kyoto=\u4eac\u90fd\u3067\u3059\u3002
+xx=\u3070\u3064\u3070\u3064\u3067\u3059\u3002
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test/jdk/java/util/PluggableLocale/providersrc/barprovider/com/bar/LocaleNames_ja_JP_kyoto.properties Thu Oct 18 18:04:05 2018 -0400
@@ -0,0 +1,28 @@
+#
+# Copyright (c) 2007, 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.
+#
+ja=\u65e5\u672c\u8a9e\u3069\u3059\u3002
+JP=\u65e5\u672c\u3069\u3059\u3002
+#
+osaka=\u5927\u962a\u3069\u3059\u3002
+kyoto=\u4eac\u90fd\u3069\u3059\u3002
+xx=\u307a\u3051\u307a\u3051\u3069\u3059\u3002
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test/jdk/java/util/PluggableLocale/providersrc/barprovider/com/bar/LocaleNames_ja_JP_osaka.properties Thu Oct 18 18:04:05 2018 -0400
@@ -0,0 +1,28 @@
+#
+# Copyright (c) 2007, 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.
+#
+ja=\u7956\u56fd\u8a9e\u3084\u3002
+JP=\u3084\u307e\u3068\u3084\u3002
+#
+osaka=\u5927\u962a\u3084\u3002
+kyoto=\u4eac\u90fd\u3084\u3002
+xx=\u307a\u3051\u307a\u3051\u3084\u3002
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test/jdk/java/util/PluggableLocale/providersrc/barprovider/com/bar/LocaleNames_xx.properties Thu Oct 18 18:04:05 2018 -0400
@@ -0,0 +1,23 @@
+#
+# Copyright (c) 2007, 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.
+#
+xx=batsubatsu
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test/jdk/java/util/PluggableLocale/providersrc/barprovider/com/bar/TimeZoneNameProviderImpl.java Thu Oct 18 18:04:05 2018 -0400
@@ -0,0 +1,150 @@
+/*
+ * Copyright (c) 2007, 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.
+ */
+/*
+ *
+ */
+
+package com.bar;
+
+import java.util.*;
+import java.util.spi.*;
+
+import com.foobar.Utils;
+
+public class TimeZoneNameProviderImpl extends TimeZoneNameProvider {
+ static Locale[] avail = {new Locale("ja", "JP", "osaka"),
+ new Locale("ja", "JP", "kyoto"),
+ new Locale("xx"),
+ Locale.JAPAN};
+
+ static String[][] zoneOsaka = {
+ {"GMT",
+ "\u30b0_\u30ea_\u30cb_\u30c3_\u30b8_\u6a19_\u6e96_\u6642_\u3084_\u3002",
+ "G_M_T_\u3084_\u3002",
+ "\u30b0_\u30ea_\u30cb_\u30c3_\u30b8_\u6a19_\u6e96_\u6642_\u3084_\u3002",
+ "G_M_T_\u3084_\u3002"},
+ {"JST",
+ "\u3084_\u307e_\u3068_\u6a19_\u6e96_\u6642_\u3084_\u3002",
+ "J_S_T_\u3084_\u3002",
+ "\u3084_\u307e_\u3068_\u6a19_\u6e96_\u6642_\u3084_\u3002",
+ "J_S_T_\u3084_\u3002"},
+ {"America/Los_Angeles",
+ "\u592a_\u5e73_\u6d0b_\u6a19_\u6e96_\u6642_\u3084_\u3002",
+ "P_S_T_\u3084_\u3002",
+ "\u592a_\u5e73_\u6d0b_\u590f_\u6642_\u9593_\u3084_\u3002",
+ "P_D_T_\u3084_\u3002"},
+ {"SystemV/PST8",
+ "\u592a_\u5e73_\u6d0b_\u6a19_\u6e96_\u6642_\u3084_\u3002",
+ "P_S_T_\u3084_\u3002",
+ "\u592a_\u5e73_\u6d0b_\u590f_\u6642_\u9593_\u3084_\u3002",
+ "P_D_T_\u3084_\u3002"},
+ {"SystemV/PST8PDT",
+ "\u592a_\u5e73_\u6d0b_\u6a19_\u6e96_\u6642_\u3084_\u3002",
+ "P_S_T_\u3084_\u3002",
+ "\u592a_\u5e73_\u6d0b_\u590f_\u6642_\u9593_\u3084_\u3002",
+ "P_D_T_\u3084_\u3002"},
+ {"PST8PDT",
+ "\u592a_\u5e73_\u6d0b_\u6a19_\u6e96_\u6642_\u3084_\u3002",
+ "P_S_T_\u3084_\u3002",
+ "\u592a_\u5e73_\u6d0b_\u590f_\u6642_\u9593_\u3084_\u3002",
+ "P_D_T_\u3084_\u3002"},
+ };
+
+ static String[][] zoneKyoto = {
+ {"GMT",
+ "\u30b0_\u30ea_\u30cb_\u30c3_\u30b8_\u6a19_\u6e96_\u6642_\u3069_\u3059_\u3002",
+ "G_M_T_\u3069_\u3059_\u3002",
+ "\u30b0_\u30ea_\u30cb_\u30c3_\u30b8_\u6a19_\u6e96_\u6642_\u3069_\u3059_\u3002",
+ "G_M_T_\u3069_\u3059_\u3002"},
+ {"America/Los_Angeles",
+ "\u592a_\u5e73_\u6d0b_\u6a19_\u6e96_\u6642_\u3069_\u3059_\u3002",
+ "P_S_T_\u3069_\u3059_\u3002",
+ "\u592a_\u5e73_\u6d0b_\u590f_\u6642_\u9593_\u3069_\u3059_\u3002",
+ "P_D_T_\u3069_\u3059_\u3002"},
+ {"SystemV/PST8",
+ "\u592a_\u5e73_\u6d0b_\u6a19_\u6e96_\u6642_\u3069_\u3059_\u3002",
+ "P_S_T_\u3069_\u3059_\u3002",
+ "\u592a_\u5e73_\u6d0b_\u590f_\u6642_\u9593_\u3069_\u3059_\u3002",
+ "P_D_T_\u3069_\u3059_\u3002"},
+ {"SystemV/PST8PDT",
+ "\u592a_\u5e73_\u6d0b_\u6a19_\u6e96_\u6642_\u3069_\u3059_\u3002",
+ "P_S_T_\u3069_\u3059_\u3002",
+ "\u592a_\u5e73_\u6d0b_\u590f_\u6642_\u9593_\u3069_\u3059_\u3002",
+ "P_D_T_\u3069_\u3059_\u3002"},
+ {"PST8PDT",
+ "\u592a_\u5e73_\u6d0b_\u6a19_\u6e96_\u6642_\u3069_\u3059_\u3002",
+ "P_S_T_\u3069_\u3059_\u3002",
+ "\u592a_\u5e73_\u6d0b_\u590f_\u6642_\u9593_\u3069_\u3059_\u3002",
+ "P_D_T_\u3069_\u3059_\u3002"},
+ };
+
+ static String[][] zoneXX = {
+ {"GMT",
+ "\u30b0_\u30ea_\u30cb_\u30c3_\u30b8_\u6a19_\u6e96_\u6642\u3070\u3064\u3070\u3064\u3002",
+ "G_M_T_\u3070\u3064\u3070\u3064\u3002",
+ "\u30b0_\u30ea_\u30cb_\u30c3_\u30b8_\u6a19_\u6e96_\u6642\u3070\u3064\u3070\u3064\u3002",
+ "G_M_T_\u3070\u3064\u3070\u3064\u3002"},
+ {"America/Los_Angeles",
+ "\u592a_\u5e73_\u6d0b_\u6a19_\u6e96_\u6642_\u3070\u3064\u3070\u3064\u3002",
+ "P_S_T_\u3070\u3064\u3070\u3064\u3002",
+ "\u592a_\u5e73_\u6d0b_\u590f_\u6642_\u9593_\u3070\u3064\u3070\u3064\u3002",
+ "P_D_T_\u3070\u3064\u3070\u3064\u3002"}};
+
+ static String[][] zoneJaJP = {
+ {"GMT",
+ "\u30b0_\u30ea_\u30cb_\u30c3_\u30b8_\u6a19_\u6e96_\u6642_\u3067_\u3059_\u3002",
+ "G_M_T_\u3067_\u3059_\u3002",
+ "\u30b0_\u30ea_\u30cb_\u30c3_\u30b8_\u6a19_\u6e96_\u6642_\u3067_\u3059_\u3002",
+ "G_M_T_\u3067_\u3059_\u3002"},
+ {"America/Los_Angeles",
+ "\u30b0_\u30ea_\u30cb_\u30c3_\u30b8_\u6a19_\u6e96_\u6642_\u3067_\u3059_\u3002",
+ "P_S_T_\u3067_\u3059_\u3002",
+ "\u592a_\u5e73_\u6d0b_\u590f_\u6642_\u9593_\u3067_\u3059_\u3002",
+ "P_D_T_\u3067_\u3059_\u3002"}};
+
+ static String[][][] names = {zoneOsaka, zoneKyoto, zoneXX, zoneJaJP};
+
+ public Locale[] getAvailableLocales() {
+ return avail;
+ }
+
+ public String getDisplayName(String id, boolean dst, int style, Locale language) {
+ if (!Utils.supportsLocale(Arrays.asList(avail), language)) {
+ throw new IllegalArgumentException("locale is not one of available locales: "+language);
+ }
+
+ for (int i = 0; i < avail.length; i ++) {
+ if (Utils.supportsLocale(avail[i], language)) {
+ String[][] namesForALocale = names[i];
+ for (int j = 0; j < namesForALocale.length; j++) {
+ String[] array = namesForALocale[j];
+ if (id.equals(array[0])) {
+ String ret = array[(style==TimeZone.LONG?0:1)+(dst?2:0)+1];
+ return ret;
+ }
+ }
+ }
+ }
+ return null;
+ }
+}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test/jdk/java/util/PluggableLocale/providersrc/foobarutils/com/foobar/Utils.java Thu Oct 18 18:04:05 2018 -0400
@@ -0,0 +1,68 @@
+/*
+ * Copyright (c) 2007, 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.
+ */
+/*
+ *
+ */
+package com.foobar;
+import java.util.*;
+
+public class Utils {
+ public static boolean supportsLocale(Locale supported, Locale requested) {
+ if (supported.getLanguage() == "") {
+ return true;
+ } else if (supported.getLanguage() != requested.getLanguage()) {
+ return false;
+ }
+
+ if (supported.getCountry() == "") {
+ return true;
+ } else if (supported.getCountry() != requested.getCountry()) {
+ return false;
+ }
+
+ String supVar = supported.getVariant();
+ String reqVar = requested.getVariant();
+
+ if (supVar == "") {
+ return true;
+ } else {
+ int underIndex;
+ while ((underIndex = reqVar.lastIndexOf('_')) != (-1)) {
+ reqVar = reqVar.substring(0, underIndex);
+ if (supVar.equals(reqVar)) {
+ return true;
+ }
+ }
+ return supVar.equals(reqVar);
+ }
+ }
+
+ public static boolean supportsLocale(List<Locale> supported, Locale requested) {
+ for (Locale l : supported) {
+ if (supportsLocale(l, requested)) {
+ return true;
+ }
+ }
+ return false;
+ }
+}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test/jdk/java/util/PluggableLocale/providersrc/fooprovider/META-INF/services/java.text.spi.BreakIteratorProvider Thu Oct 18 18:04:05 2018 -0400
@@ -0,0 +1,7 @@
+#
+#
+#
+# fully-qualified name of the java.text.spi.BreakIteratorProvider
+# implementation class
+#
+com.foo.BreakIteratorProviderImpl
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test/jdk/java/util/PluggableLocale/providersrc/fooprovider/META-INF/services/java.text.spi.CollatorProvider Thu Oct 18 18:04:05 2018 -0400
@@ -0,0 +1,7 @@
+#
+#
+#
+# fully-qualified name of the java.text.spi.CollatorProvider
+# implementation class
+#
+com.foo.CollatorProviderImpl
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test/jdk/java/util/PluggableLocale/providersrc/fooprovider/META-INF/services/java.text.spi.DateFormatProvider Thu Oct 18 18:04:05 2018 -0400
@@ -0,0 +1,7 @@
+#
+#
+#
+# fully-qualified name of the java.text.spi.DateFormatProvider
+# implementation class
+#
+com.foo.DateFormatProviderImpl
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test/jdk/java/util/PluggableLocale/providersrc/fooprovider/META-INF/services/java.text.spi.DateFormatSymbolsProvider Thu Oct 18 18:04:05 2018 -0400
@@ -0,0 +1,7 @@
+#
+#
+#
+# fully-qualified name of the java.text.spi.DateFormatProvider
+# implementation class
+#
+com.foo.DateFormatSymbolsProviderImpl
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test/jdk/java/util/PluggableLocale/providersrc/fooprovider/META-INF/services/java.text.spi.DecimalFormatSymbolsProvider Thu Oct 18 18:04:05 2018 -0400
@@ -0,0 +1,7 @@
+#
+#
+#
+# fully-qualified name of the java.text.spi.DecimalFormatProvider
+# implementation class
+#
+com.foo.DecimalFormatSymbolsProviderImpl
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test/jdk/java/util/PluggableLocale/providersrc/fooprovider/META-INF/services/java.text.spi.NumberFormatProvider Thu Oct 18 18:04:05 2018 -0400
@@ -0,0 +1,7 @@
+#
+#
+#
+# fully-qualified name of the java.text.spi.NumberFormatProvider
+# implementation class
+#
+com.foo.NumberFormatProviderImpl
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test/jdk/java/util/PluggableLocale/providersrc/fooprovider/com/foo/BreakIteratorProviderImpl.java Thu Oct 18 18:04:05 2018 -0400
@@ -0,0 +1,140 @@
+/*
+ * Copyright (c) 2007, 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.
+ */
+/*
+ *
+ */
+
+package com.foo;
+
+import java.text.*;
+import java.text.spi.*;
+import java.util.*;
+import com.foobar.Utils;
+
+public class BreakIteratorProviderImpl extends BreakIteratorProvider {
+
+ static Locale[] avail = {
+ Locale.JAPAN,
+ new Locale("ja", "JP", "osaka"),
+ new Locale("ja", "JP", "kyoto"),
+ new Locale("xx", "YY")};
+
+ static String[] dialect = {
+ "\u3067\u3059\u3002",
+ "\u3084\u3002",
+ "\u3069\u3059\u3002",
+ "-xx-YY"
+ };
+
+ static enum Type {CHARACTER, LINE, SENTENCE, WORD};
+
+ public Locale[] getAvailableLocales() {
+ return avail;
+ }
+
+ public BreakIterator getCharacterInstance(Locale locale) {
+ for (int i = 0; i < avail.length; i ++) {
+ if (Utils.supportsLocale(avail[i], locale)) {
+ return new FooBreakIterator(Type.CHARACTER, i);
+ }
+ }
+ throw new IllegalArgumentException("locale is not supported: "+locale);
+ }
+
+ public BreakIterator getLineInstance(Locale locale) {
+ for (int i = 0; i < avail.length; i ++) {
+ if (Utils.supportsLocale(avail[i], locale)) {
+ return new FooBreakIterator(Type.LINE, i);
+ }
+ }
+ throw new IllegalArgumentException("locale is not supported: "+locale);
+ }
+
+ public BreakIterator getSentenceInstance(Locale locale) {
+ for (int i = 0; i < avail.length; i ++) {
+ if (Utils.supportsLocale(avail[i], locale)) {
+ return new FooBreakIterator(Type.SENTENCE, i);
+ }
+ }
+ throw new IllegalArgumentException("locale is not supported: "+locale);
+ }
+
+ public BreakIterator getWordInstance(Locale locale) {
+ for (int i = 0; i < avail.length; i ++) {
+ if (Utils.supportsLocale(avail[i], locale)) {
+ return new FooBreakIterator(Type.WORD, i);
+ }
+ }
+ throw new IllegalArgumentException("locale is not supported: "+locale);
+ }
+
+ // dummy implementation
+ class FooBreakIterator extends BreakIterator {
+ public FooBreakIterator(Type t, int index) {
+ super();
+ }
+
+ public int current() {
+ return 0;
+ }
+
+ public int first() {
+ return 0;
+ }
+
+ public int following(int offset) {
+ return 0;
+ }
+
+ public CharacterIterator getText() {
+ return null;
+ }
+
+ public boolean isBoundary(int offset) {
+ return true;
+ }
+
+ public int last() {
+ return 0;
+ }
+
+ public int next() {
+ return 0;
+ }
+
+ public int next(int n) {
+ return 0;
+ }
+
+ public int preceding(int offset) {
+ return 0;
+ }
+
+ public int previous() {
+ return 0;
+ }
+
+ public void setText(CharacterIterator ci) {
+ }
+ }
+}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test/jdk/java/util/PluggableLocale/providersrc/fooprovider/com/foo/CollatorProviderImpl.java Thu Oct 18 18:04:05 2018 -0400
@@ -0,0 +1,68 @@
+/*
+ * Copyright (c) 2007, 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.
+ */
+/*
+ *
+ */
+
+package com.foo;
+
+import java.text.*;
+import java.text.spi.*;
+import java.util.*;
+
+import com.foobar.Utils;
+
+public class CollatorProviderImpl extends CollatorProvider {
+
+ static Locale[] avail = {
+ Locale.JAPAN,
+ new Locale("ja", "JP", "osaka"),
+ new Locale("ja", "JP", "kyoto"),
+ new Locale("xx", "YY", "ZZZZ")};
+
+ static String[] dialect = {
+ "\u3067\u3059\u3002",
+ "\u3084\u3002",
+ "\u3069\u3059\u3002",
+ "-xx-YY-ZZZZ"
+ };
+
+ public Locale[] getAvailableLocales() {
+ return avail;
+ }
+
+ public Collator getInstance(Locale locale) {
+ for (int i = 0; i < avail.length; i ++) {
+ if (Utils.supportsLocale(avail[i], locale)) {
+ RuleBasedCollator ja = (RuleBasedCollator)Collator.getInstance(Locale.JAPANESE);
+ try {
+ return new RuleBasedCollator(ja.getRules()+"& Z < "+dialect[i]);
+ } catch (ParseException pe) {
+System.err.println(pe+ja.getRules()+"& Z < "+dialect[i]);
+ return ja;
+ }
+ }
+ }
+ throw new IllegalArgumentException("locale is not supported: "+locale);
+ }
+}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test/jdk/java/util/PluggableLocale/providersrc/fooprovider/com/foo/DateFormatProviderImpl.java Thu Oct 18 18:04:05 2018 -0400
@@ -0,0 +1,95 @@
+/*
+ * Copyright (c) 2007, 2010, 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.
+ */
+/*
+ *
+ */
+
+package com.foo;
+
+import java.text.*;
+import java.text.spi.*;
+import java.util.*;
+
+import com.foobar.Utils;
+
+public class DateFormatProviderImpl extends DateFormatProvider {
+
+ static Locale[] avail = {
+ Locale.JAPAN,
+ new Locale("ja", "JP", "osaka"),
+ new Locale("ja", "JP", "kyoto"),
+ new Locale("yy")};
+
+ static String[] datePattern = {
+ "yyyy'\u5e74'M'\u6708'd'\u65e5'", // full date pattern
+ "yyyy/MMM/dd", // long date pattern
+ "yyyy/MM/dd", // medium date pattern
+ "yy/MM/dd" // short date pattern
+ };
+
+ static String[] timePattern = {
+ "H'\u6642'mm'\u5206'ss'\u79d2' z", // full time pattern
+ "H:mm:ss z", // long time pattern
+ "H:mm:ss", // medium time pattern
+ "H:mm" // short time pattern
+ };
+
+ static String[] dialect = {
+ "\u3067\u3059\u3002",
+ "\u3084\u3002",
+ "\u3069\u3059\u3002",
+ "\u308f\u3044\u308f\u3044"
+ };
+
+ public Locale[] getAvailableLocales() {
+ return avail;
+ }
+
+ public DateFormat getDateInstance(int style, Locale locale) {
+ for (int i = 0; i < avail.length; i ++) {
+ if (Utils.supportsLocale(avail[i], locale)) {
+ return new FooDateFormat(datePattern[style]+dialect[i], locale);
+ }
+ }
+ throw new IllegalArgumentException("locale is not supported: "+locale);
+ }
+
+ public DateFormat getTimeInstance(int style, Locale locale) {
+ for (int i = 0; i < avail.length; i ++) {
+ if (Utils.supportsLocale(avail[i], locale)) {
+ return new FooDateFormat(timePattern[style]+dialect[i], locale);
+ }
+ }
+ throw new IllegalArgumentException("locale is not supported: "+locale);
+ }
+
+ public DateFormat getDateTimeInstance(int dateStyle, int timeStyle, Locale locale) {
+ for (int i = 0; i < avail.length; i ++) {
+ if (Utils.supportsLocale(avail[i], locale)) {
+ return new FooDateFormat(
+ datePattern[dateStyle]+" "+timePattern[timeStyle]+dialect[i], locale);
+ }
+ }
+ throw new IllegalArgumentException("locale is not supported: "+locale);
+ }
+}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test/jdk/java/util/PluggableLocale/providersrc/fooprovider/com/foo/DateFormatSymbolsProviderImpl.java Thu Oct 18 18:04:05 2018 -0400
@@ -0,0 +1,230 @@
+/*
+ * Copyright (c) 2007, 2012, 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.
+ */
+/*
+ *
+ */
+
+package com.foo;
+
+import java.text.*;
+import java.text.spi.*;
+import java.util.*;
+
+import com.foobar.Utils;
+
+public class DateFormatSymbolsProviderImpl extends DateFormatSymbolsProvider {
+
+ static Locale[] avail = {
+ new Locale("ja", "JP", "osaka"),
+ new Locale("ja", "JP", "kyoto"),
+ Locale.JAPAN,
+ new Locale("yy", "ZZ")
+ };
+ static List<Locale> availList = Arrays.asList(avail);
+
+ static String[] dialect = {
+ "\u3084\u3002",
+ "\u3069\u3059\u3002",
+ "\u3067\u3059\u3002",
+ "-yy-ZZ"
+ };
+
+ static Map<Locale, FooDateFormatSymbols> symbols = new HashMap<Locale, FooDateFormatSymbols>(4);
+
+ public Locale[] getAvailableLocales() {
+ return avail;
+ }
+
+ public DateFormatSymbols getInstance(Locale locale) {
+ if (!Utils.supportsLocale(availList, locale)) {
+ throw new IllegalArgumentException("locale is not supported: "+locale);
+ }
+
+ FooDateFormatSymbols fdfs = symbols.get(locale);
+ if (fdfs == null) {
+ for (int index = 0; index < avail.length; index ++) {
+ if (Utils.supportsLocale(avail[index], locale)) {
+ fdfs = new FooDateFormatSymbols(index);
+ symbols.put(locale, fdfs);
+ break;
+ }
+ }
+ }
+ return fdfs;
+ }
+
+ class FooDateFormatSymbols extends DateFormatSymbols {
+ String dialect = "";
+
+ String[] eras = null;
+ String[] months = null;
+ String[] shortMonths = null;
+ String[] weekdays = null;
+ String[] shortWeekdays = null;
+ String[] ampms = null;
+
+ public FooDateFormatSymbols(int index) {
+ super(DateFormatSymbolsProviderImpl.this.avail[index]);
+ dialect = DateFormatSymbolsProviderImpl.this.dialect[index];
+ }
+
+ public String[] getEras() {
+ if (eras == null) {
+ eras = super.getEras();
+ for (int i = 0; i < eras.length; i++) {
+ eras[i] = eras[i]+dialect;
+ }
+ }
+ return eras;
+ }
+
+ /**
+ * Sets era strings. For example: "AD" and "BC".
+ * @param newEras the new era strings.
+ */
+ public void setEras(String[] newEras) {
+ eras = newEras;
+ }
+
+ /**
+ * Gets month strings. For example: "January", "February", etc.
+ * @return the month strings.
+ */
+ public String[] getMonths() {
+ if (months == null) {
+ months = super.getMonths();
+ for (int i = 0; i < months.length; i++) {
+ months[i] = months[i]+dialect;
+ }
+ }
+ return months;
+ }
+
+ /**
+ * Sets month strings. For example: "January", "February", etc.
+ * @param newMonths the new month strings.
+ */
+ public void setMonths(String[] newMonths) {
+ months = newMonths;
+ }
+
+ /**
+ * Gets short month strings. For example: "Jan", "Feb", etc.
+ * @return the short month strings.
+ */
+ public String[] getShortMonths() {
+ if (shortMonths == null) {
+ shortMonths = super.getShortMonths();
+ for (int i = 0; i < shortMonths.length; i++) {
+ shortMonths[i] = shortMonths[i]+dialect;
+ }
+ }
+ return shortMonths;
+ }
+
+ /**
+ * Sets short month strings. For example: "Jan", "Feb", etc.
+ * @param newShortMonths the new short month strings.
+ */
+ public void setShortMonths(String[] newShortMonths) {
+ shortMonths = newShortMonths;
+ }
+
+ /**
+ * Gets weekday strings. For example: "Sunday", "Monday", etc.
+ * @return the weekday strings. Use <code>Calendar.SUNDAY</code>,
+ * <code>Calendar.MONDAY</code>, etc. to index the result array.
+ */
+ public String[] getWeekdays() {
+ if (weekdays == null) {
+ weekdays = super.getWeekdays();
+ for (int i = 0; i < weekdays.length; i++) {
+ weekdays[i] = weekdays[i]+dialect;
+ }
+ }
+ return weekdays;
+ }
+
+ /**
+ * Sets weekday strings. For example: "Sunday", "Monday", etc.
+ * @param newWeekdays the new weekday strings. The array should
+ * be indexed by <code>Calendar.SUNDAY</code>,
+ * <code>Calendar.MONDAY</code>, etc.
+ */
+ public void setWeekdays(String[] newWeekdays) {
+ weekdays = newWeekdays;
+ }
+
+ /**
+ * Gets short weekday strings. For example: "Sun", "Mon", etc.
+ * @return the short weekday strings. Use <code>Calendar.SUNDAY</code>,
+ * <code>Calendar.MONDAY</code>, etc. to index the result array.
+ */
+ public String[] getShortWeekdays() {
+ if (shortWeekdays == null) {
+ shortWeekdays = super.getShortWeekdays();
+ for (int i = 0; i < shortWeekdays.length; i++) {
+ shortWeekdays[i] = shortWeekdays[i]+dialect;
+ }
+ }
+ return shortWeekdays;
+ }
+
+ /**
+ * Sets short weekday strings. For example: "Sun", "Mon", etc.
+ * @param newShortWeekdays the new short weekday strings. The array should
+ * be indexed by <code>Calendar.SUNDAY</code>,
+ * <code>Calendar.MONDAY</code>, etc.
+ */
+ public void setShortWeekdays(String[] newShortWeekdays) {
+ shortWeekdays = newShortWeekdays;
+ }
+
+ /**
+ * Gets ampm strings. For example: "AM" and "PM".
+ * @return the ampm strings.
+ */
+ public String[] getAmPmStrings() {
+ if (ampms == null) {
+ ampms = super.getAmPmStrings();
+ for (int i = 0; i < ampms.length; i++) {
+ ampms[i] = ampms[i]+dialect;
+ }
+ }
+ return ampms;
+ }
+
+ /**
+ * Sets ampm strings. For example: "AM" and "PM".
+ * @param newAmpms the new ampm strings.
+ */
+ public void setAmPmStrings(String[] newAmpms) {
+ ampms = newAmpms;
+ }
+
+ @Override
+ public String[][] getZoneStrings() {
+ return new String[0][0];
+ }
+ }
+}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test/jdk/java/util/PluggableLocale/providersrc/fooprovider/com/foo/DecimalFormatSymbolsProviderImpl.java Thu Oct 18 18:04:05 2018 -0400
@@ -0,0 +1,110 @@
+/*
+ * Copyright (c) 2007, 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.
+ */
+/*
+ *
+ */
+
+package com.foo;
+
+import java.text.*;
+import java.text.spi.*;
+import java.util.*;
+
+import com.foobar.Utils;
+
+public class DecimalFormatSymbolsProviderImpl extends DecimalFormatSymbolsProvider {
+
+ static Locale[] avail = {
+ new Locale("ja", "JP", "osaka"),
+ new Locale("ja", "JP", "kyoto"),
+ Locale.JAPAN,
+ new Locale("yy", "ZZ", "UUU")
+ };
+ static List<Locale> availList = Arrays.asList(avail);
+
+ static String[] dialect = {
+ "\u3084\u3002",
+ "\u3069\u3059\u3002",
+ "\u3067\u3059\u3002",
+ "-yy-ZZ-UUU"
+ };
+
+ static HashMap<Locale, FooDecimalFormatSymbols> symbols = new HashMap<Locale, FooDecimalFormatSymbols>(4);
+
+ public Locale[] getAvailableLocales() {
+ return avail;
+ }
+
+ public DecimalFormatSymbols getInstance(Locale locale) {
+ if (!Utils.supportsLocale(availList, locale)) {
+ throw new IllegalArgumentException("locale is not supported: "+locale);
+ }
+
+ FooDecimalFormatSymbols fdfs = symbols.get(locale);
+ if (fdfs == null) {
+ for (int index = 0; index < avail.length; index ++) {
+ if (Utils.supportsLocale(avail[index], locale)) {
+ fdfs = new FooDecimalFormatSymbols(index);
+ symbols.put(locale, fdfs);
+ break;
+ }
+ }
+ }
+ return fdfs;
+ }
+
+ class FooDecimalFormatSymbols extends DecimalFormatSymbols {
+ String dialect = "";
+
+ String infinity = null;
+ String nan = null;
+
+ public FooDecimalFormatSymbols(int index) {
+ super(DecimalFormatSymbolsProviderImpl.this.avail[index]);
+ dialect = DecimalFormatSymbolsProviderImpl.this.dialect[index];
+ }
+
+ // overrides methods only returns Strings
+ public String getInfinity() {
+ if (infinity == null) {
+ infinity = super.getInfinity() + dialect;
+ }
+ return infinity;
+ }
+
+ public void setInfinity(String infinity) {
+ this.infinity = infinity;
+ }
+
+ public String getNaN() {
+ if (nan == null) {
+ nan = super.getNaN() + dialect;
+ }
+ return nan;
+ }
+
+ public void setNaN(String nan) {
+ this.nan = nan;
+ }
+ }
+}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test/jdk/java/util/PluggableLocale/providersrc/fooprovider/com/foo/FooDateFormat.java Thu Oct 18 18:04:05 2018 -0400
@@ -0,0 +1,61 @@
+/*
+ * Copyright (c) 2010, 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.
+ */
+
+package com.foo;
+
+import java.text.*;
+import java.util.*;
+
+/**
+ * FooDateFormat provides SimpleDateFormat methods required for the SPI testing.
+ */
+public class FooDateFormat extends DateFormat {
+ private SimpleDateFormat sdf;
+
+ public FooDateFormat(String pattern, Locale loc) {
+ sdf = new SimpleDateFormat(pattern, loc);
+ }
+
+ @Override
+ public StringBuffer format(Date date,
+ StringBuffer toAppendTo,
+ FieldPosition fieldPosition) {
+ return sdf.format(date, toAppendTo, fieldPosition);
+ }
+
+ @Override
+ public Date parse(String source, ParsePosition pos) {
+ return sdf.parse(source, pos);
+ }
+
+ @Override
+ public boolean equals(Object other) {
+ return other instanceof FooDateFormat
+ && sdf.equals(((FooDateFormat)other).sdf);
+ }
+
+ @Override
+ public int hashCode() {
+ return sdf.hashCode();
+ }
+}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test/jdk/java/util/PluggableLocale/providersrc/fooprovider/com/foo/FooNumberFormat.java Thu Oct 18 18:04:05 2018 -0400
@@ -0,0 +1,81 @@
+/*
+ * Copyright (c) 2010, 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.
+ */
+
+package com.foo;
+
+import java.text.*;
+
+/**
+ * FooNumberFormat provides DecimalFormat methods required for the SPI testing.
+ */
+public class FooNumberFormat extends NumberFormat {
+ private DecimalFormat df;
+
+ public FooNumberFormat(String pattern, DecimalFormatSymbols dfs) {
+ df = new DecimalFormat(pattern, dfs);
+ }
+
+ @Override
+ public StringBuffer format(double number,
+ StringBuffer toAppendTo,
+ FieldPosition pos) {
+ return df.format(number, toAppendTo, pos);
+ }
+
+ @Override
+ public StringBuffer format(long number,
+ StringBuffer toAppendTo,
+ FieldPosition pos) {
+ return df.format(number, toAppendTo, pos);
+ }
+
+ @Override
+ public Number parse(String source, ParsePosition parsePosition) {
+ return df.parse(source, parsePosition);
+ }
+
+ @Override
+ public boolean equals(Object other) {
+ return other instanceof FooNumberFormat
+ && df.equals(((FooNumberFormat)other).df);
+ }
+
+ @Override
+ public int hashCode() {
+ return df.hashCode();
+ }
+
+ // DecimalFormat specific methods required for testing
+
+ public String toPattern() {
+ return df.toPattern();
+ }
+
+ public DecimalFormatSymbols getDecimalFormatSymbols() {
+ return df.getDecimalFormatSymbols();
+ }
+
+ public void setDecimalSeparatorAlwaysShown(boolean newValue) {
+ df.setDecimalSeparatorAlwaysShown(newValue);
+ }
+}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test/jdk/java/util/PluggableLocale/providersrc/fooprovider/com/foo/NumberFormatProviderImpl.java Thu Oct 18 18:04:05 2018 -0400
@@ -0,0 +1,156 @@
+/*
+ * Copyright (c) 2007, 2010, 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.
+ */
+/*
+ *
+ */
+
+package com.foo;
+
+import java.text.*;
+import java.text.spi.*;
+import java.util.*;
+
+import com.foobar.Utils;
+
+public class NumberFormatProviderImpl extends NumberFormatProvider {
+
+ static Locale[] avail = {
+ Locale.JAPAN,
+ new Locale("ja", "JP", "osaka"),
+ new Locale("ja", "JP", "kyoto"),
+ new Locale("zz")};
+
+ static String[] dialect = {
+ "\u3067\u3059\u3002",
+ "\u3084\u3002",
+ "\u3069\u3059\u3002",
+ "-zz"
+ };
+
+ static String[] patterns = {
+ "#,##0.###{0};-#,##0.###{1}", // decimal pattern
+ "#{0};(#){1}", // integer pattern
+ "\u00A4#,##0{0};-\u00A4#,##0{1}", // currency pattern
+ "#,##0%{0}" // percent pattern
+ };
+ // Constants used by factory methods to specify a style of format.
+ static final int NUMBERSTYLE = 0;
+ static final int INTEGERSTYLE = 1;
+ static final int CURRENCYSTYLE = 2;
+ static final int PERCENTSTYLE = 3;
+
+ public Locale[] getAvailableLocales() {
+ return avail;
+ }
+
+ public NumberFormat getCurrencyInstance(Locale locale) {
+ for (int i = 0; i < avail.length; i ++) {
+ if (Utils.supportsLocale(avail[i], locale)) {
+ String pattern =
+ MessageFormat.format(patterns[CURRENCYSTYLE],
+ dialect[i],
+ dialect[i]);
+ FooNumberFormat nf = new FooNumberFormat(pattern,
+ DecimalFormatSymbols.getInstance(locale));
+ adjustForCurrencyDefaultFractionDigits(nf);
+ return nf;
+ }
+ }
+ throw new IllegalArgumentException("locale is not supported: "+locale);
+ }
+
+ public NumberFormat getIntegerInstance(Locale locale) {
+ for (int i = 0; i < avail.length; i ++) {
+ if (Utils.supportsLocale(avail[i], locale)) {
+ String pattern =
+ MessageFormat.format(patterns[INTEGERSTYLE],
+ dialect[i],
+ dialect[i]);
+ FooNumberFormat nf = new FooNumberFormat(pattern,
+ DecimalFormatSymbols.getInstance(locale));
+ nf.setMaximumFractionDigits(0);
+ nf.setDecimalSeparatorAlwaysShown(false);
+ nf.setParseIntegerOnly(true);
+ return nf;
+ }
+ }
+ throw new IllegalArgumentException("locale is not supported: "+locale);
+ }
+
+ public NumberFormat getNumberInstance(Locale locale) {
+ for (int i = 0; i < avail.length; i ++) {
+ if (Utils.supportsLocale(avail[i], locale)) {
+ String pattern =
+ MessageFormat.format(patterns[NUMBERSTYLE],
+ dialect[i],
+ dialect[i]);
+ return new FooNumberFormat(pattern,
+ DecimalFormatSymbols.getInstance(locale));
+ }
+ }
+ throw new IllegalArgumentException("locale is not supported: "+locale);
+ }
+
+ public NumberFormat getPercentInstance(Locale locale) {
+ for (int i = 0; i < avail.length; i ++) {
+ if (Utils.supportsLocale(avail[i], locale)) {
+ String pattern =
+ MessageFormat.format(patterns[PERCENTSTYLE],
+ dialect[i]);
+ return new FooNumberFormat(pattern,
+ DecimalFormatSymbols.getInstance(locale));
+ }
+ }
+ throw new IllegalArgumentException("locale is not supported: "+locale);
+ }
+
+ /**
+ * Adjusts the minimum and maximum fraction digits to values that
+ * are reasonable for the currency's default fraction digits.
+ */
+ void adjustForCurrencyDefaultFractionDigits(FooNumberFormat nf) {
+ DecimalFormatSymbols dfs = nf.getDecimalFormatSymbols();
+ Currency currency = dfs.getCurrency();
+ if (currency == null) {
+ try {
+ currency = Currency.getInstance(dfs.getInternationalCurrencySymbol());
+ } catch (IllegalArgumentException e) {
+ }
+ }
+ if (currency != null) {
+ int digits = currency.getDefaultFractionDigits();
+ if (digits != -1) {
+ int oldMinDigits = nf.getMinimumFractionDigits();
+ // Common patterns are "#.##", "#.00", "#".
+ // Try to adjust all of them in a reasonable way.
+ if (oldMinDigits == nf.getMaximumFractionDigits()) {
+ nf.setMinimumFractionDigits(digits);
+ nf.setMaximumFractionDigits(digits);
+ } else {
+ nf.setMinimumFractionDigits(Math.min(digits, oldMinDigits));
+ nf.setMaximumFractionDigits(digits);
+ }
+ }
+ }
+ }
+}
--- a/test/jdk/java/util/PluggableLocale/providersrc/java.text.spi.BreakIteratorProvider Thu Oct 18 18:02:17 2018 -0400
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,7 +0,0 @@
-#
-#
-#
-# fully-qualified name of the java.text.spi.BreakIteratorProvider
-# implementation class
-#
-com.foo.BreakIteratorProviderImpl
--- a/test/jdk/java/util/PluggableLocale/providersrc/java.text.spi.CollatorProvider Thu Oct 18 18:02:17 2018 -0400
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,7 +0,0 @@
-#
-#
-#
-# fully-qualified name of the java.text.spi.CollatorProvider
-# implementation class
-#
-com.foo.CollatorProviderImpl
--- a/test/jdk/java/util/PluggableLocale/providersrc/java.text.spi.DateFormatProvider Thu Oct 18 18:02:17 2018 -0400
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,7 +0,0 @@
-#
-#
-#
-# fully-qualified name of the java.text.spi.DateFormatProvider
-# implementation class
-#
-com.foo.DateFormatProviderImpl
--- a/test/jdk/java/util/PluggableLocale/providersrc/java.text.spi.DateFormatSymbolsProvider Thu Oct 18 18:02:17 2018 -0400
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,7 +0,0 @@
-#
-#
-#
-# fully-qualified name of the java.text.spi.DateFormatProvider
-# implementation class
-#
-com.foo.DateFormatSymbolsProviderImpl
--- a/test/jdk/java/util/PluggableLocale/providersrc/java.text.spi.DecimalFormatSymbolsProvider Thu Oct 18 18:02:17 2018 -0400
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,7 +0,0 @@
-#
-#
-#
-# fully-qualified name of the java.text.spi.DecimalFormatProvider
-# implementation class
-#
-com.foo.DecimalFormatSymbolsProviderImpl
--- a/test/jdk/java/util/PluggableLocale/providersrc/java.text.spi.NumberFormatProvider Thu Oct 18 18:02:17 2018 -0400
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,7 +0,0 @@
-#
-#
-#
-# fully-qualified name of the java.text.spi.NumberFormatProvider
-# implementation class
-#
-com.foo.NumberFormatProviderImpl
--- a/test/jdk/java/util/PluggableLocale/providersrc/java.util.spi.CalendarDataProvider Thu Oct 18 18:02:17 2018 -0400
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,7 +0,0 @@
-#
-#
-#
-# fully-qualified name of the java.util.spi.CalendarDataProvider
-# implementation class
-#
-com.bar.CalendarDataProviderImpl
--- a/test/jdk/java/util/PluggableLocale/providersrc/java.util.spi.CalendarNameProvider Thu Oct 18 18:02:17 2018 -0400
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,7 +0,0 @@
-#
-#
-#
-# fully-qualified name of the java.util.spi.CalendarNameProvider
-# implementation class
-#
-com.bar.CalendarNameProviderImpl
--- a/test/jdk/java/util/PluggableLocale/providersrc/java.util.spi.CurrencyNameProvider Thu Oct 18 18:02:17 2018 -0400
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,8 +0,0 @@
-#
-#
-#
-# fully-qualified name of the java.util.spi.LocaleNameProvider
-# implementation class
-#
-com.bar.CurrencyNameProviderImpl
-com.bar.CurrencyNameProviderImpl2
--- a/test/jdk/java/util/PluggableLocale/providersrc/java.util.spi.LocaleNameProvider Thu Oct 18 18:02:17 2018 -0400
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,7 +0,0 @@
-#
-#
-#
-# fully-qualified name of the java.util.spi.LocaleNameProvider
-# implementation class
-#
-com.bar.LocaleNameProviderImpl
--- a/test/jdk/java/util/PluggableLocale/providersrc/java.util.spi.TimeZoneNameProvider Thu Oct 18 18:02:17 2018 -0400
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,8 +0,0 @@
-#
-#
-#
-# fully-qualified name of the java.util.spi.TimeZoneNameProvider
-# implementation class
-#
-com.bar.TimeZoneNameProviderImpl
-com.bar.GenericTimeZoneNameProviderImpl
--- a/test/jdk/javax/net/ssl/TLSCommon/CipherSuite.java Thu Oct 18 18:02:17 2018 -0400
+++ b/test/jdk/javax/net/ssl/TLSCommon/CipherSuite.java Thu Oct 18 18:04:05 2018 -0400
@@ -21,210 +21,216 @@
* questions.
*/
+/*
+ * SSL/TLS cipher suites.
+ */
public enum CipherSuite {
- TLS_AES_256_GCM_SHA384(
- 0x1302, Protocol.TLSV1_3, Protocol.TLSV1_3),
- TLS_AES_128_GCM_SHA256(
- 0x1301, Protocol.TLSV1_3, Protocol.TLSV1_3),
- TLS_CHACHA20_POLY1305_SHA256(
- 0x1303, Protocol.TLSV1_3, Protocol.TLSV1_3),
TLS_DHE_RSA_WITH_CHACHA20_POLY1305_SHA256(
- 0xCCAA, Protocol.TLSV1_2, Protocol.TLSV1_2),
+ 0xCCAA, KeyExAlgorithm.DHE_RSA, Protocol.TLSV1_2, Protocol.TLSV1_2),
TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305_SHA256(
- 0xCCA9, Protocol.TLSV1_2, Protocol.TLSV1_2),
+ 0xCCA9, KeyExAlgorithm.ECDHE_ECDSA, Protocol.TLSV1_2, Protocol.TLSV1_2),
TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256(
- 0xCCA8, Protocol.TLSV1_2, Protocol.TLSV1_2),
+ 0xCCA8, KeyExAlgorithm.ECDHE_RSA, Protocol.TLSV1_2, Protocol.TLSV1_2),
TLS_ECDH_RSA_WITH_AES_256_GCM_SHA384(
- 0xC032, Protocol.TLSV1_2, Protocol.TLSV1_2),
+ 0xC032, KeyExAlgorithm.ECDH_RSA, Protocol.TLSV1_2, Protocol.TLSV1_2),
TLS_ECDH_RSA_WITH_AES_128_GCM_SHA256(
- 0xC031, Protocol.TLSV1_2, Protocol.TLSV1_2),
+ 0xC031, KeyExAlgorithm.ECDH_RSA, Protocol.TLSV1_2, Protocol.TLSV1_2),
TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384(
- 0xC030, Protocol.TLSV1_2, Protocol.TLSV1_2),
+ 0xC030, KeyExAlgorithm.ECDHE_RSA, Protocol.TLSV1_2, Protocol.TLSV1_2),
TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256(
- 0xC02F, Protocol.TLSV1_2, Protocol.TLSV1_2),
+ 0xC02F, KeyExAlgorithm.ECDHE_RSA, Protocol.TLSV1_2, Protocol.TLSV1_2),
TLS_ECDH_ECDSA_WITH_AES_256_GCM_SHA384(
- 0xC02E, Protocol.TLSV1_2, Protocol.TLSV1_2),
+ 0xC02E, KeyExAlgorithm.ECDH_ECDSA, Protocol.TLSV1_2, Protocol.TLSV1_2),
TLS_ECDH_ECDSA_WITH_AES_128_GCM_SHA256(
- 0xC02D, Protocol.TLSV1_2, Protocol.TLSV1_2),
+ 0xC02D, KeyExAlgorithm.ECDH_ECDSA, Protocol.TLSV1_2, Protocol.TLSV1_2),
TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384(
- 0xC02C, Protocol.TLSV1_2, Protocol.TLSV1_2),
+ 0xC02C, KeyExAlgorithm.ECDHE_ECDSA, Protocol.TLSV1_2, Protocol.TLSV1_2),
TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256(
- 0xC02B, Protocol.TLSV1_2, Protocol.TLSV1_2),
+ 0xC02B, KeyExAlgorithm.ECDHE_ECDSA, Protocol.TLSV1_2, Protocol.TLSV1_2),
TLS_ECDH_RSA_WITH_AES_256_CBC_SHA384(
- 0xC02A, Protocol.TLSV1_2, Protocol.TLSV1_2),
+ 0xC02A, KeyExAlgorithm.ECDH_RSA, Protocol.TLSV1_2, Protocol.TLSV1_2),
TLS_ECDH_RSA_WITH_AES_128_CBC_SHA256(
- 0xC029, Protocol.TLSV1_2, Protocol.TLSV1_2),
+ 0xC029, KeyExAlgorithm.ECDH_RSA, Protocol.TLSV1_2, Protocol.TLSV1_2),
TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384(
- 0xC028, Protocol.TLSV1_2, Protocol.TLSV1_2),
+ 0xC028, KeyExAlgorithm.ECDHE_RSA, Protocol.TLSV1_2, Protocol.TLSV1_2),
TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256(
- 0xC027, Protocol.TLSV1_2, Protocol.TLSV1_2),
+ 0xC027, KeyExAlgorithm.ECDHE_RSA, Protocol.TLSV1_2, Protocol.TLSV1_2),
TLS_ECDH_ECDSA_WITH_AES_256_CBC_SHA384(
- 0xC026, Protocol.TLSV1_2, Protocol.TLSV1_2),
+ 0xC026, KeyExAlgorithm.ECDH_ECDSA, Protocol.TLSV1_2, Protocol.TLSV1_2),
TLS_ECDH_ECDSA_WITH_AES_128_CBC_SHA(
- 0xC025, Protocol.SSLV3, Protocol.TLSV1_2),
+ 0xC025, KeyExAlgorithm.ECDH_ECDSA, Protocol.SSLV3, Protocol.TLSV1_2),
TLS_ECDH_ECDSA_WITH_AES_128_CBC_SHA256(
- 0xC025, Protocol.TLSV1_2, Protocol.TLSV1_2),
+ 0xC025, KeyExAlgorithm.ECDH_ECDSA, Protocol.TLSV1_2, Protocol.TLSV1_2),
TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384(
- 0xC024, Protocol.TLSV1_2, Protocol.TLSV1_2),
+ 0xC024, KeyExAlgorithm.ECDHE_ECDSA, Protocol.TLSV1_2, Protocol.TLSV1_2),
TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256(
- 0xC023, Protocol.TLSV1_2, Protocol.TLSV1_2),
+ 0xC023, KeyExAlgorithm.ECDHE_ECDSA, Protocol.TLSV1_2, Protocol.TLSV1_2),
TLS_ECDH_anon_WITH_AES_256_CBC_SHA(
- 0xC019, Protocol.SSLV3, Protocol.TLSV1_2),
+ 0xC019, KeyExAlgorithm.ECDH_ANON, Protocol.SSLV3, Protocol.TLSV1_2),
TLS_ECDH_anon_WITH_AES_128_CBC_SHA(
- 0xC018, Protocol.SSLV3, Protocol.TLSV1_2),
+ 0xC018, KeyExAlgorithm.ECDH_ANON, Protocol.SSLV3, Protocol.TLSV1_2),
TLS_ECDH_anon_WITH_3DES_EDE_CBC_SHA(
- 0xC017, Protocol.SSLV3, Protocol.TLSV1_2),
+ 0xC017, KeyExAlgorithm.ECDH_ANON, Protocol.SSLV3, Protocol.TLSV1_2),
TLS_ECDH_anon_WITH_RC4_128_SHA(
- 0xC016, Protocol.SSLV3, Protocol.TLSV1_2),
+ 0xC016, KeyExAlgorithm.ECDH_ANON, Protocol.SSLV3, Protocol.TLSV1_2),
TLS_ECDH_anon_WITH_NULL_SHA(
- 0xC015, Protocol.SSLV3, Protocol.TLSV1_2),
+ 0xC015, KeyExAlgorithm.ECDH_ANON, Protocol.SSLV3, Protocol.TLSV1_2),
TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA(
- 0xC014, Protocol.SSLV3, Protocol.TLSV1_2),
+ 0xC014, KeyExAlgorithm.ECDHE_RSA, Protocol.SSLV3, Protocol.TLSV1_2),
TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA(
- 0xC013, Protocol.SSLV3, Protocol.TLSV1_2),
+ 0xC013, KeyExAlgorithm.ECDHE_RSA, Protocol.SSLV3, Protocol.TLSV1_2),
TLS_ECDHE_RSA_WITH_3DES_EDE_CBC_SHA(
- 0xC012, Protocol.SSLV3, Protocol.TLSV1_2),
+ 0xC012, KeyExAlgorithm.ECDHE_RSA, Protocol.SSLV3, Protocol.TLSV1_2),
TLS_ECDHE_RSA_WITH_RC4_128_SHA(
- 0xC011, Protocol.SSLV3, Protocol.TLSV1_2),
+ 0xC011, KeyExAlgorithm.ECDHE_RSA, Protocol.SSLV3, Protocol.TLSV1_2),
TLS_ECDHE_RSA_WITH_NULL_SHA(
- 0xC010, Protocol.SSLV3, Protocol.TLSV1_2),
+ 0xC010, KeyExAlgorithm.ECDHE_RSA, Protocol.SSLV3, Protocol.TLSV1_2),
TLS_ECDH_RSA_WITH_AES_256_CBC_SHA(
- 0xC00F, Protocol.SSLV3, Protocol.TLSV1_2),
+ 0xC00F, KeyExAlgorithm.ECDH_RSA, Protocol.SSLV3, Protocol.TLSV1_2),
TLS_ECDH_RSA_WITH_AES_128_CBC_SHA(
- 0xC00E, Protocol.SSLV3, Protocol.TLSV1_2),
+ 0xC00E, KeyExAlgorithm.ECDH_RSA, Protocol.SSLV3, Protocol.TLSV1_2),
TLS_ECDH_RSA_WITH_3DES_EDE_CBC_SHA(
- 0xC00D, Protocol.SSLV3, Protocol.TLSV1_2),
+ 0xC00D, KeyExAlgorithm.ECDH_RSA, Protocol.SSLV3, Protocol.TLSV1_2),
TLS_ECDH_RSA_WITH_RC4_128_SHA(
- 0xC00C, Protocol.SSLV3, Protocol.TLSV1_2),
+ 0xC00C, KeyExAlgorithm.ECDH_RSA, Protocol.SSLV3, Protocol.TLSV1_2),
TLS_ECDH_RSA_WITH_NULL_SHA(
- 0xC00B, Protocol.SSLV3, Protocol.TLSV1_2),
+ 0xC00B, KeyExAlgorithm.ECDH_RSA, Protocol.SSLV3, Protocol.TLSV1_2),
TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA(
- 0xC00A, Protocol.SSLV3, Protocol.TLSV1_2),
+ 0xC00A, KeyExAlgorithm.ECDHE_ECDSA, Protocol.SSLV3, Protocol.TLSV1_2),
TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA(
- 0xC009, Protocol.SSLV3, Protocol.TLSV1_2),
+ 0xC009, KeyExAlgorithm.ECDHE_ECDSA, Protocol.SSLV3, Protocol.TLSV1_2),
TLS_ECDHE_ECDSA_WITH_3DES_EDE_CBC_SHA(
- 0xC008, Protocol.SSLV3, Protocol.TLSV1_2),
+ 0xC008, KeyExAlgorithm.ECDHE_ECDSA, Protocol.SSLV3, Protocol.TLSV1_2),
TLS_ECDHE_ECDSA_WITH_RC4_128_SHA(
- 0xC007, Protocol.SSLV3, Protocol.TLSV1_2),
+ 0xC007, KeyExAlgorithm.ECDHE_ECDSA, Protocol.SSLV3, Protocol.TLSV1_2),
TLS_ECDHE_ECDSA_WITH_NULL_SHA(
- 0xC006, Protocol.SSLV3, Protocol.TLSV1_2),
+ 0xC006, KeyExAlgorithm.ECDHE_ECDSA, Protocol.SSLV3, Protocol.TLSV1_2),
TLS_ECDH_ECDSA_WITH_3DES_EDE_CBC_SHA(
- 0xC003, Protocol.SSLV3, Protocol.TLSV1_2),
+ 0xC003, KeyExAlgorithm.ECDH_ECDSA, Protocol.SSLV3, Protocol.TLSV1_2),
TLS_ECDH_ECDSA_WITH_RC4_128_SHA(
- 0xC002, Protocol.SSLV3, Protocol.TLSV1_2),
+ 0xC002, KeyExAlgorithm.ECDH_ECDSA, Protocol.SSLV3, Protocol.TLSV1_2),
TLS_ECDH_ECDSA_WITH_NULL_SHA(
- 0xC001, Protocol.SSLV3, Protocol.TLSV1_2),
+ 0xC001, KeyExAlgorithm.ECDH_ECDSA, Protocol.SSLV3, Protocol.TLSV1_2),
TLS_EMPTY_RENEGOTIATION_INFO_SCSV(
- 0x00FF, Protocol.SSLV3, Protocol.TLSV1_2),
+ 0x00FF, KeyExAlgorithm.SCSV, Protocol.SSLV3, Protocol.TLSV1_2),
+ TLS_AES_256_GCM_SHA384(
+ 0x1302, null, Protocol.TLSV1_3, Protocol.TLSV1_3),
+ TLS_AES_128_GCM_SHA256(
+ 0x1301, null, Protocol.TLSV1_3, Protocol.TLSV1_3),
+ TLS_CHACHA20_POLY1305_SHA256(
+ 0x1303, null, Protocol.TLSV1_3, Protocol.TLSV1_3),
TLS_DH_anon_WITH_AES_256_GCM_SHA384(
- 0x00A7, Protocol.TLSV1_2, Protocol.TLSV1_2),
+ 0x00A7, KeyExAlgorithm.DH_ANON, Protocol.TLSV1_2, Protocol.TLSV1_2),
TLS_DH_anon_WITH_AES_128_GCM_SHA256(
- 0x00A6, Protocol.TLSV1_2, Protocol.TLSV1_2),
+ 0x00A6, KeyExAlgorithm.DH_ANON, Protocol.TLSV1_2, Protocol.TLSV1_2),
TLS_DHE_DSS_WITH_AES_256_GCM_SHA384(
- 0x00A3, Protocol.TLSV1_2, Protocol.TLSV1_2),
+ 0x00A3, KeyExAlgorithm.DHE_DSS, Protocol.TLSV1_2, Protocol.TLSV1_2),
TLS_DHE_DSS_WITH_AES_128_GCM_SHA256(
- 0x00A2, Protocol.TLSV1_2, Protocol.TLSV1_2),
+ 0x00A2, KeyExAlgorithm.DHE_DSS, Protocol.TLSV1_2, Protocol.TLSV1_2),
TLS_DHE_RSA_WITH_AES_256_GCM_SHA384(
- 0x009F, Protocol.TLSV1_2, Protocol.TLSV1_2),
+ 0x009F, KeyExAlgorithm.DHE_RSA, Protocol.TLSV1_2, Protocol.TLSV1_2),
TLS_DHE_RSA_WITH_AES_128_GCM_SHA256(
- 0x009E, Protocol.TLSV1_2, Protocol.TLSV1_2),
+ 0x009E, KeyExAlgorithm.DHE_RSA, Protocol.TLSV1_2, Protocol.TLSV1_2),
TLS_RSA_WITH_AES_256_GCM_SHA384(
- 0x009D, Protocol.TLSV1_2, Protocol.TLSV1_2),
+ 0x009D, KeyExAlgorithm.RSA, Protocol.TLSV1_2, Protocol.TLSV1_2),
TLS_RSA_WITH_AES_128_GCM_SHA256(
- 0x009C, Protocol.TLSV1_2, Protocol.TLSV1_2),
+ 0x009C, KeyExAlgorithm.RSA, Protocol.TLSV1_2, Protocol.TLSV1_2),
TLS_DH_anon_WITH_AES_256_CBC_SHA256(
- 0x006D, Protocol.TLSV1_2, Protocol.TLSV1_2),
+ 0x006D, KeyExAlgorithm.DH_ANON, Protocol.TLSV1_2, Protocol.TLSV1_2),
TLS_DH_anon_WITH_AES_128_CBC_SHA256(
- 0x006C, Protocol.TLSV1_2, Protocol.TLSV1_2),
+ 0x006C, KeyExAlgorithm.DH_ANON, Protocol.TLSV1_2, Protocol.TLSV1_2),
TLS_DHE_RSA_WITH_AES_256_CBC_SHA256(
- 0x006B, Protocol.TLSV1_2, Protocol.TLSV1_2),
+ 0x006B, KeyExAlgorithm.DHE_RSA, Protocol.TLSV1_2, Protocol.TLSV1_2),
TLS_DHE_DSS_WITH_AES_256_CBC_SHA256(
- 0x006A, Protocol.TLSV1_2, Protocol.TLSV1_2),
+ 0x006A, KeyExAlgorithm.DHE_DSS, Protocol.TLSV1_2, Protocol.TLSV1_2),
TLS_DHE_RSA_WITH_AES_128_CBC_SHA256(
- 0x0067, Protocol.TLSV1_2, Protocol.TLSV1_2),
+ 0x0067, KeyExAlgorithm.DHE_RSA, Protocol.TLSV1_2, Protocol.TLSV1_2),
TLS_ECDH_ECDSA_WITH_AES_256_CBC_SHA(
- 0x004C, Protocol.TLSV1, Protocol.TLSV1_2),
+ 0x004C, KeyExAlgorithm.ECDH_ECDSA, Protocol.TLSV1, Protocol.TLSV1_2),
TLS_DHE_DSS_WITH_AES_128_CBC_SHA256(
- 0x0040, Protocol.TLSV1_2, Protocol.TLSV1_2),
+ 0x0040, KeyExAlgorithm.DHE_DSS, Protocol.TLSV1_2, Protocol.TLSV1_2),
TLS_RSA_WITH_AES_256_CBC_SHA256(
- 0x003D, Protocol.TLSV1_2, Protocol.TLSV1_2),
+ 0x003D, KeyExAlgorithm.RSA, Protocol.TLSV1_2, Protocol.TLSV1_2),
TLS_RSA_WITH_AES_128_CBC_SHA256(
- 0x003C, Protocol.TLSV1_2, Protocol.TLSV1_2),
+ 0x003C, KeyExAlgorithm.RSA, Protocol.TLSV1_2, Protocol.TLSV1_2),
TLS_RSA_WITH_NULL_SHA256(
- 0x003B, Protocol.TLSV1_2, Protocol.TLSV1_2),
+ 0x003B, KeyExAlgorithm.RSA, Protocol.TLSV1_2, Protocol.TLSV1_2),
TLS_DH_anon_WITH_AES_256_CBC_SHA(
- 0x003A, Protocol.SSLV3, Protocol.TLSV1_2),
+ 0x003A, KeyExAlgorithm.DH_ANON, Protocol.SSLV3, Protocol.TLSV1_2),
TLS_DHE_RSA_WITH_AES_256_CBC_SHA(
- 0x0039, Protocol.TLSV1, Protocol.TLSV1_2),
+ 0x0039, KeyExAlgorithm.DHE_RSA, Protocol.TLSV1, Protocol.TLSV1_2),
TLS_DHE_DSS_WITH_AES_256_CBC_SHA(
- 0x0038, Protocol.TLSV1_2, Protocol.TLSV1_2),
+ 0x0038, KeyExAlgorithm.DHE_DSS, Protocol.TLSV1_2, Protocol.TLSV1_2),
TLS_RSA_WITH_AES_256_CBC_SHA(
- 0x0035, Protocol.SSLV3, Protocol.TLSV1_2),
+ 0x0035, KeyExAlgorithm.RSA, Protocol.SSLV3, Protocol.TLSV1_2),
TLS_DH_anon_WITH_AES_128_CBC_SHA(
- 0x0034, Protocol.SSLV3, Protocol.TLSV1_2),
+ 0x0034, KeyExAlgorithm.DH_ANON, Protocol.SSLV3, Protocol.TLSV1_2),
TLS_DHE_RSA_WITH_AES_128_CBC_SHA(
- 0x0033, Protocol.SSLV3, Protocol.TLSV1_2),
+ 0x0033, KeyExAlgorithm.DHE_RSA, Protocol.SSLV3, Protocol.TLSV1_2),
TLS_DHE_DSS_WITH_AES_128_CBC_SHA(
- 0x0032, Protocol.TLSV1_2, Protocol.TLSV1_2),
+ 0x0032, KeyExAlgorithm.DHE_DSS, Protocol.TLSV1_2, Protocol.TLSV1_2),
TLS_RSA_WITH_AES_128_CBC_SHA(
- 0x002F, Protocol.SSLV3, Protocol.TLSV1_2),
+ 0x002F, KeyExAlgorithm.RSA, Protocol.SSLV3, Protocol.TLSV1_2),
TLS_KRB5_WITH_3DES_EDE_CBC_MD5(
- 0x0023, Protocol.SSLV3, Protocol.TLSV1_2),
+ 0x0023, KeyExAlgorithm.KRB5, Protocol.SSLV3, Protocol.TLSV1_2),
TLS_KRB5_WITH_DES_CBC_MD5(
- 0x0022, Protocol.SSLV3, Protocol.TLSV1_1),
+ 0x0022,KeyExAlgorithm.KRB5, Protocol.SSLV3, Protocol.TLSV1_1),
TLS_KRB5_WITH_3DES_EDE_CBC_SHA(
- 0x001F, Protocol.SSLV3, Protocol.TLSV1_2),
+ 0x001F, KeyExAlgorithm.KRB5, Protocol.SSLV3, Protocol.TLSV1_2),
TLS_KRB5_WITH_DES_CBC_SHA(
- 0x001E, Protocol.SSLV3, Protocol.TLSV1_2),
+ 0x001E, KeyExAlgorithm.KRB5, Protocol.SSLV3, Protocol.TLSV1_2),
SSL_DH_anon_WITH_3DES_EDE_CBC_SHA(
- 0x001B, Protocol.SSLV3, Protocol.TLSV1_2),
+ 0x001B, KeyExAlgorithm.DH_ANON, Protocol.SSLV3, Protocol.TLSV1_2),
SSL_DH_anon_WITH_DES_CBC_SHA(
- 0x001A, Protocol.SSLV3, Protocol.TLSV1_1),
+ 0x001A, KeyExAlgorithm.DH_ANON, Protocol.SSLV3, Protocol.TLSV1_1),
SSL_DH_anon_EXPORT_WITH_DES40_CBC_SHA(
- 0x0019, Protocol.SSLV3, Protocol.TLSV1),
+ 0x0019, KeyExAlgorithm.DH_ANON_EXPORT, Protocol.SSLV3, Protocol.TLSV1),
SSL_DH_anon_WITH_RC4_128_MD5(
- 0x0018, Protocol.SSLV3, Protocol.TLSV1_2),
+ 0x0018, KeyExAlgorithm.DH_ANON, Protocol.SSLV3, Protocol.TLSV1_2),
SSL_DH_anon_EXPORT_WITH_RC4_40_MD5(
- 0x0017, Protocol.SSLV3, Protocol.TLSV1),
+ 0x0017, KeyExAlgorithm.DH_ANON_EXPORT, Protocol.SSLV3, Protocol.TLSV1),
SSL_DHE_RSA_WITH_3DES_EDE_CBC_SHA(
- 0x0016, Protocol.SSLV3, Protocol.TLSV1_2),
+ 0x0016, KeyExAlgorithm.DHE_RSA, Protocol.SSLV3, Protocol.TLSV1_2),
SSL_DHE_RSA_WITH_DES_CBC_SHA(
- 0x0015, Protocol.SSLV3, Protocol.TLSV1_1),
+ 0x0015, KeyExAlgorithm.DHE_RSA, Protocol.SSLV3, Protocol.TLSV1_1),
SSL_DHE_RSA_EXPORT_WITH_DES40_CBC_SHA(
- 0x0014, Protocol.SSLV3, Protocol.TLSV1),
+ 0x0014, KeyExAlgorithm.DHE_RSA_EXPORT, Protocol.SSLV3, Protocol.TLSV1),
SSL_DHE_DSS_WITH_3DES_EDE_CBC_SHA(
- 0x0013, Protocol.SSLV3, Protocol.TLSV1_2),
+ 0x0013, KeyExAlgorithm.DHE_DSS, Protocol.SSLV3, Protocol.TLSV1_2),
SSL_DHE_DSS_WITH_DES_CBC_SHA(
- 0x0012, Protocol.SSLV3, Protocol.TLSV1_1),
+ 0x0012, KeyExAlgorithm.DHE_DSS, Protocol.SSLV3, Protocol.TLSV1_1),
SSL_DHE_DSS_EXPORT_WITH_DES40_CBC_SHA(
- 0x0011, Protocol.SSLV3, Protocol.TLSV1),
+ 0x0011, KeyExAlgorithm.DHE_DSS_EXPORT, Protocol.SSLV3, Protocol.TLSV1),
SSL_RSA_WITH_3DES_EDE_CBC_SHA(
- 0x000A, Protocol.SSLV3, Protocol.TLSV1_2),
+ 0x000A, KeyExAlgorithm.RSA, Protocol.SSLV3, Protocol.TLSV1_2),
SSL_RSA_WITH_DES_CBC_SHA(
- 0x0009, Protocol.SSLV3, Protocol.TLSV1_1),
+ 0x0009, KeyExAlgorithm.RSA, Protocol.SSLV3, Protocol.TLSV1_1),
SSL_RSA_EXPORT_WITH_DES40_CBC_SHA(
- 0x0008, Protocol.SSLV3, Protocol.TLSV1),
+ 0x0008, KeyExAlgorithm.RSA_EXPORT, Protocol.SSLV3, Protocol.TLSV1),
SSL_RSA_WITH_RC4_128_SHA(
- 0x0005, Protocol.SSLV3, Protocol.TLSV1_2),
+ 0x0005, KeyExAlgorithm.RSA, Protocol.SSLV3, Protocol.TLSV1_2),
SSL_RSA_WITH_RC4_128_MD5(
- 0x0004, Protocol.SSLV3, Protocol.TLSV1_2),
+ 0x0004, KeyExAlgorithm.RSA, Protocol.SSLV3, Protocol.TLSV1_2),
SSL_RSA_EXPORT_WITH_RC4_40_MD5(
- 0x0003, Protocol.SSLV3, Protocol.TLSV1),
+ 0x0003, KeyExAlgorithm.RSA_EXPORT, Protocol.SSLV3, Protocol.TLSV1),
SSL_RSA_WITH_NULL_SHA(
- 0x0002, Protocol.SSLV3, Protocol.TLSV1_2),
+ 0x0002, KeyExAlgorithm.RSA, Protocol.SSLV3, Protocol.TLSV1_2),
SSL_RSA_WITH_NULL_MD5(
- 0x0001, Protocol.SSLV3, Protocol.TLSV1_2);
+ 0x0001, KeyExAlgorithm.RSA, Protocol.SSLV3, Protocol.TLSV1_2);
public final int id;
+ public final KeyExAlgorithm keyExAlgorithm;
public final Protocol startProtocol;
public final Protocol endProtocol;
private CipherSuite(
int id,
+ KeyExAlgorithm keyExAlgorithm,
Protocol startProtocol,
Protocol endProtocol) {
this.id = id;
+ this.keyExAlgorithm = keyExAlgorithm;
this.startProtocol = startProtocol;
this.endProtocol = endProtocol;
}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test/jdk/javax/net/ssl/TLSCommon/KeyExAlgorithm.java Thu Oct 18 18:04:05 2018 -0400
@@ -0,0 +1,44 @@
+/*
+ * 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.
+ */
+
+/*
+ * Key exchange algorithms.
+ */
+public enum KeyExAlgorithm {
+
+ DH_ANON,
+ DH_ANON_EXPORT,
+ DHE_DSS,
+ DHE_DSS_EXPORT,
+ DHE_RSA,
+ DHE_RSA_EXPORT,
+ ECDH_ANON,
+ ECDH_ECDSA,
+ ECDH_RSA,
+ ECDHE_ECDSA,
+ ECDHE_RSA,
+ KRB5,
+ RSA,
+ RSA_EXPORT,
+ SCSV
+}
--- a/test/make/TestMakeBase.gmk Thu Oct 18 18:02:17 2018 -0400
+++ b/test/make/TestMakeBase.gmk Thu Oct 18 18:04:05 2018 -0400
@@ -1,5 +1,5 @@
#
-# Copyright (c) 2014, 2017, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 2014, 2018, Oracle and/or its affiliates. All rights reserved.
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
#
# This code is free software; you can redistribute it and/or modify it
@@ -93,6 +93,7 @@
EQUALS_VALUE1 := value1$(SPACE)
EQUALS_VALUE2 := value2
+EQUALS_EMPTY :=
ifneq ($(call equals, $(EQUALS_VALUE1), $(EQUALS_VALUE2)), )
$(error The strings >$(EQUALS_VALUE1)< and >$(EQUALS_VALUE2)< are equal)
@@ -102,6 +103,18 @@
$(error The strings >$(EQUALS_VALUE1)< and >$(EQUALS_VALUE1)< are not equal)
endif
+ifeq ($(call equals, $(EQUALS_EMPTY), $(EQUALS_EMPTY)), )
+ $(error The strings >$(EQUALS_EMPTY)< and >$(EQUALS_EMPTY)< are not equal)
+endif
+
+ifneq ($(call equals, $(EQUALS_EMPTY), $(EQUALS_VALUE2)), )
+ $(error The strings >$(EQUALS_EMPTY)< and >$(EQUALS_VALUE2)< are equal)
+endif
+
+ifneq ($(call equals, $(EQUALS_VALUE2), $(EQUALS_EMPTY)), )
+ $(error The strings >$(EQUALS_VALUE2)< and >$(EQUALS_EMPTY)< are equal)
+endif
+
################################################################################
# Test remove-prefixes