changeset 51016:3d658c910e83

Merge
author aph
date Tue, 05 Jun 2018 17:14:49 +0100
parents 0191ac1da300 01e4ddc3c23f
children 1234ff7199c7 4e47a0f6d688
files
diffstat 106 files changed, 267 insertions(+), 196 deletions(-) [+]
line wrap: on
line diff
--- a/src/hotspot/share/jvmci/jvmciJavaClasses.cpp	Tue Jun 05 16:12:57 2018 +0100
+++ b/src/hotspot/share/jvmci/jvmciJavaClasses.cpp	Tue Jun 05 17:14:49 2018 +0100
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2011, 2015, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2011, 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
@@ -22,10 +22,90 @@
  */
 
 #include "precompiled.hpp"
+#include "classfile/symbolTable.hpp"
 #include "jvmci/jvmciJavaClasses.hpp"
-#include "runtime/jniHandles.hpp"
-#include "classfile/symbolTable.hpp"
 #include "memory/resourceArea.hpp"
+#include "oops/oop.inline.hpp"
+#include "runtime/jniHandles.inline.hpp"
+
+
+// This macro expands for non-inline functions, in class declarations.
+
+#define START_CLASS(name)                                                                                                                                \
+    void name::check(oop obj, const char* field_name, int offset) {                                                                                          \
+      assert(obj != NULL, "NULL field access of %s.%s", #name, field_name);                                                                                  \
+      assert(obj->is_a(SystemDictionary::name##_klass()), "wrong class, " #name " expected, found %s", obj->klass()->external_name());                       \
+      assert(offset != 0, "must be valid offset");                                                                                                           \
+    }
+
+#define END_CLASS
+
+#define FIELD(klass, name, type, accessor, cast)                                                                                                                                \
+    type klass::name(jobject obj)               { check(JNIHandles::resolve(obj), #name, _##name##_offset); return cast JNIHandles::resolve(obj)->accessor(_##name##_offset); }     \
+    void klass::set_##name(jobject obj, type x) { check(JNIHandles::resolve(obj), #name, _##name##_offset); JNIHandles::resolve(obj)->accessor##_put(_##name##_offset, x); }
+
+#define EMPTY_CAST
+#define CHAR_FIELD(klass, name) FIELD(klass, name, jchar, char_field, EMPTY_CAST)
+#define INT_FIELD(klass, name) FIELD(klass, name, jint, int_field, EMPTY_CAST)
+#define BOOLEAN_FIELD(klass, name) FIELD(klass, name, jboolean, bool_field, EMPTY_CAST)
+#define LONG_FIELD(klass, name) FIELD(klass, name, jlong, long_field, EMPTY_CAST)
+#define FLOAT_FIELD(klass, name) FIELD(klass, name, jfloat, float_field, EMPTY_CAST)
+#define OOP_FIELD(klass, name, signature) FIELD(klass, name, oop, obj_field, EMPTY_CAST)
+#define OBJARRAYOOP_FIELD(klass, name, signature) FIELD(klass, name, objArrayOop, obj_field, (objArrayOop))
+#define TYPEARRAYOOP_FIELD(klass, name, signature) FIELD(klass, name, typeArrayOop, obj_field, (typeArrayOop))
+#define STATIC_OOP_FIELD(klassName, name, signature) STATIC_OOPISH_FIELD(klassName, name, oop, signature)
+#define STATIC_OBJARRAYOOP_FIELD(klassName, name, signature) STATIC_OOPISH_FIELD(klassName, name, objArrayOop, signature)
+#define STATIC_OOPISH_FIELD(klassName, name, type, signature)                                                  \
+    type klassName::name() {                                                                                   \
+      assert(klassName::klass() != NULL && klassName::klass()->is_linked(), "Class not yet linked: " #klassName); \
+      InstanceKlass* ik = klassName::klass();                                                                  \
+      oop base = ik->static_field_base_raw();                                                                  \
+      oop result = HeapAccess<>::oop_load_at(base, _##name##_offset);                                          \
+      return type(result);                                                                                     \
+    }                                                                                                          \
+    void klassName::set_##name(type x) {                                                                       \
+      assert(klassName::klass() != NULL && klassName::klass()->is_linked(), "Class not yet linked: " #klassName); \
+      assert(klassName::klass() != NULL, "Class not yet loaded: " #klassName);                                 \
+      InstanceKlass* ik = klassName::klass();                                                                  \
+      oop base = ik->static_field_base_raw();                                                                  \
+      HeapAccess<>::oop_store_at(base, _##name##_offset, x);                                                   \
+    }
+#define STATIC_PRIMITIVE_FIELD(klassName, name, jtypename)                                                     \
+    jtypename klassName::name() {                                                                              \
+      assert(klassName::klass() != NULL && klassName::klass()->is_linked(), "Class not yet linked: " #klassName); \
+      InstanceKlass* ik = klassName::klass();                                                                  \
+      oop base = ik->static_field_base_raw();                                                                  \
+      return HeapAccess<>::load_at(base, _##name##_offset);                                                    \
+    }                                                                                                          \
+    void klassName::set_##name(jtypename x) {                                                                  \
+      assert(klassName::klass() != NULL && klassName::klass()->is_linked(), "Class not yet linked: " #klassName); \
+      InstanceKlass* ik = klassName::klass();                                                                  \
+      oop base = ik->static_field_base_raw();                                                                  \
+      HeapAccess<>::store_at(base, _##name##_offset, x);                                                       \
+    }
+
+#define STATIC_INT_FIELD(klassName, name) STATIC_PRIMITIVE_FIELD(klassName, name, jint)
+#define STATIC_BOOLEAN_FIELD(klassName, name) STATIC_PRIMITIVE_FIELD(klassName, name, jboolean)
+
+COMPILER_CLASSES_DO(START_CLASS, END_CLASS, CHAR_FIELD, INT_FIELD, BOOLEAN_FIELD, LONG_FIELD, FLOAT_FIELD, OOP_FIELD, TYPEARRAYOOP_FIELD, OBJARRAYOOP_FIELD, STATIC_OOP_FIELD, STATIC_OBJARRAYOOP_FIELD, STATIC_INT_FIELD, STATIC_BOOLEAN_FIELD)
+#undef START_CLASS
+#undef END_CLASS
+#undef FIELD
+#undef CHAR_FIELD
+#undef INT_FIELD
+#undef BOOLEAN_FIELD
+#undef LONG_FIELD
+#undef FLOAT_FIELD
+#undef OOP_FIELD
+#undef TYPEARRAYOOP_FIELD
+#undef OBJARRAYOOP_FIELD
+#undef STATIC_OOPISH_FIELD
+#undef STATIC_OOP_FIELD
+#undef STATIC_OBJARRAYOOP_FIELD
+#undef STATIC_INT_FIELD
+#undef STATIC_BOOLEAN_FIELD
+#undef STATIC_PRIMITIVE_FIELD
+#undef EMPTY_CAST
 
 // This function is similar to javaClasses.cpp, it computes the field offset of a (static or instance) field.
 // It looks up the name and signature symbols without creating new ones, all the symbols of these classes need to be already loaded.
@@ -86,7 +166,3 @@
 
 COMPILER_CLASSES_DO(EMPTY1, EMPTY0, FIELD2, FIELD2, FIELD2, FIELD2, FIELD2, FIELD3, FIELD3, FIELD3, FIELD3, FIELD3, FIELD2, FIELD2)
 
-
-
-
-
--- a/src/hotspot/share/jvmci/jvmciJavaClasses.hpp	Tue Jun 05 16:12:57 2018 +0100
+++ b/src/hotspot/share/jvmci/jvmciJavaClasses.hpp	Tue Jun 05 17:14:49 2018 +0100
@@ -25,10 +25,9 @@
 #define SHARE_VM_JVMCI_JVMCIJAVACLASSES_HPP
 
 #include "classfile/systemDictionary.hpp"
-#include "oops/access.inline.hpp"
+#include "oops/access.hpp"
 #include "oops/instanceMirrorKlass.hpp"
-#include "oops/oop.inline.hpp"
-#include "runtime/jniHandles.inline.hpp"
+#include "oops/oop.hpp"
 
 class JVMCIJavaClasses : AllStatic {
  public:
@@ -243,19 +242,19 @@
   end_class                                                                                                                                                    \
   start_class(JavaKind)                                                                                                                                        \
     char_field(JavaKind, typeChar)                                                                                                                             \
-    static_oop_field(JavaKind, Boolean, "Ljdk/vm/ci/meta/JavaKind;");                                                                                          \
-    static_oop_field(JavaKind, Byte, "Ljdk/vm/ci/meta/JavaKind;");                                                                                             \
-    static_oop_field(JavaKind, Char, "Ljdk/vm/ci/meta/JavaKind;");                                                                                             \
-    static_oop_field(JavaKind, Short, "Ljdk/vm/ci/meta/JavaKind;");                                                                                            \
-    static_oop_field(JavaKind, Int, "Ljdk/vm/ci/meta/JavaKind;");                                                                                              \
-    static_oop_field(JavaKind, Long, "Ljdk/vm/ci/meta/JavaKind;");                                                                                             \
+    static_oop_field(JavaKind, Boolean, "Ljdk/vm/ci/meta/JavaKind;")                                                                                           \
+    static_oop_field(JavaKind, Byte, "Ljdk/vm/ci/meta/JavaKind;")                                                                                              \
+    static_oop_field(JavaKind, Char, "Ljdk/vm/ci/meta/JavaKind;")                                                                                              \
+    static_oop_field(JavaKind, Short, "Ljdk/vm/ci/meta/JavaKind;")                                                                                             \
+    static_oop_field(JavaKind, Int, "Ljdk/vm/ci/meta/JavaKind;")                                                                                               \
+    static_oop_field(JavaKind, Long, "Ljdk/vm/ci/meta/JavaKind;")                                                                                              \
   end_class                                                                                                                                                    \
   start_class(ValueKind)                                                                                                                                       \
     oop_field(ValueKind, platformKind, "Ljdk/vm/ci/meta/PlatformKind;")                                                                                        \
   end_class                                                                                                                                                    \
   start_class(Value)                                                                                                                                           \
     oop_field(Value, valueKind, "Ljdk/vm/ci/meta/ValueKind;")                                                                                                  \
-    static_oop_field(Value, ILLEGAL, "Ljdk/vm/ci/meta/AllocatableValue;");                                                                                     \
+    static_oop_field(Value, ILLEGAL, "Ljdk/vm/ci/meta/AllocatableValue;")                                                                                      \
   end_class                                                                                                                                                    \
   start_class(RegisterValue)                                                                                                                                   \
     oop_field(RegisterValue, reg, "Ljdk/vm/ci/code/Register;")                                                                                                 \
@@ -317,11 +316,7 @@
 class name : AllStatic {                                                                                                                                       \
   private:                                                                                                                                                     \
     friend class JVMCICompiler;                                                                                                                                \
-    static void check(oop obj, const char* field_name, int offset) {                                                                                           \
-        assert(obj != NULL, "NULL field access of %s.%s", #name, field_name);                                                                                  \
-        assert(obj->is_a(SystemDictionary::name##_klass()), "wrong class, " #name " expected, found %s", obj->klass()->external_name());                       \
-        assert(offset != 0, "must be valid offset");                                                                                                           \
-    }                                                                                                                                                          \
+    static void check(oop obj, const char* field_name, int offset);                                                                                            \
     static void compute_offsets(TRAPS);                                                                                                                        \
   public:                                                                                                                                                      \
     static InstanceKlass* klass() { return SystemDictionary::name##_klass(); }
@@ -330,12 +325,12 @@
 
 #define FIELD(name, type, accessor, cast)                                                                                                                         \
     static int _##name##_offset;                                                                                                                                  \
-    static type name(oop obj)                   { check(obj, #name, _##name##_offset); return cast obj->accessor(_##name##_offset); }                                               \
-    static type name(Handle obj)                { check(obj(), #name, _##name##_offset); return cast obj->accessor(_##name##_offset); }                                             \
-    static type name(jobject obj)               { check(JNIHandles::resolve(obj), #name, _##name##_offset); return cast JNIHandles::resolve(obj)->accessor(_##name##_offset); }     \
-    static void set_##name(oop obj, type x)     { check(obj, #name, _##name##_offset); obj->accessor##_put(_##name##_offset, x); }                                                  \
-    static void set_##name(Handle obj, type x)  { check(obj(), #name, _##name##_offset); obj->accessor##_put(_##name##_offset, x); }                                                \
-    static void set_##name(jobject obj, type x) { check(JNIHandles::resolve(obj), #name, _##name##_offset); JNIHandles::resolve(obj)->accessor##_put(_##name##_offset, x); }
+    static type name(oop obj)                   { check(obj, #name, _##name##_offset); return cast obj->accessor(_##name##_offset); }                             \
+    static type name(Handle obj)                { check(obj(), #name, _##name##_offset); return cast obj->accessor(_##name##_offset); }                           \
+    static type name(jobject obj);                                                                                                                                \
+    static void set_##name(oop obj, type x)     { check(obj, #name, _##name##_offset); obj->accessor##_put(_##name##_offset, x); }                                \
+    static void set_##name(Handle obj, type x)  { check(obj(), #name, _##name##_offset); obj->accessor##_put(_##name##_offset, x); }                              \
+    static void set_##name(jobject obj, type x);                                                                                                                  \
 
 #define EMPTY_CAST
 #define CHAR_FIELD(klass, name) FIELD(name, jchar, char_field, EMPTY_CAST)
@@ -350,34 +345,12 @@
 #define STATIC_OBJARRAYOOP_FIELD(klassName, name, signature) STATIC_OOPISH_FIELD(klassName, name, objArrayOop, signature)
 #define STATIC_OOPISH_FIELD(klassName, name, type, signature)                                                  \
     static int _##name##_offset;                                                                               \
-    static type name() {                                                                                       \
-      assert(klassName::klass() != NULL && klassName::klass()->is_linked(), "Class not yet linked: " #klassName); \
-      InstanceKlass* ik = klassName::klass();                                                                  \
-      oop base = ik->static_field_base_raw();                                                                  \
-      oop result = HeapAccess<>::oop_load_at(base, _##name##_offset);                                          \
-      return type(result);                                                                                     \
-    }                                                                                                          \
-    static void set_##name(type x) {                                                                           \
-      assert(klassName::klass() != NULL && klassName::klass()->is_linked(), "Class not yet linked: " #klassName); \
-      assert(klassName::klass() != NULL, "Class not yet loaded: " #klassName);                                 \
-      InstanceKlass* ik = klassName::klass();                                                                  \
-      oop base = ik->static_field_base_raw();                                                                  \
-      HeapAccess<>::oop_store_at(base, _##name##_offset, x);                                                   \
-    }
+    static type name();                                                                                        \
+    static void set_##name(type x);
 #define STATIC_PRIMITIVE_FIELD(klassName, name, jtypename)                                                     \
     static int _##name##_offset;                                                                               \
-    static jtypename name() {                                                                                  \
-      assert(klassName::klass() != NULL && klassName::klass()->is_linked(), "Class not yet linked: " #klassName); \
-      InstanceKlass* ik = klassName::klass();                                                                  \
-      oop base = ik->static_field_base_raw();                                                                  \
-      return HeapAccess<>::load_at(base, _##name##_offset);                                                    \
-    }                                                                                                          \
-    static void set_##name(jtypename x) {                                                                      \
-      assert(klassName::klass() != NULL && klassName::klass()->is_linked(), "Class not yet linked: " #klassName); \
-      InstanceKlass* ik = klassName::klass();                                                                  \
-      oop base = ik->static_field_base_raw();                                                                  \
-      HeapAccess<>::store_at(base, _##name##_offset, x);                                                       \
-    }
+    static jtypename name();                                                                                   \
+    static void set_##name(jtypename x);
 
 #define STATIC_INT_FIELD(klassName, name) STATIC_PRIMITIVE_FIELD(klassName, name, jint)
 #define STATIC_BOOLEAN_FIELD(klassName, name) STATIC_PRIMITIVE_FIELD(klassName, name, jboolean)
@@ -399,6 +372,7 @@
 #undef STATIC_OBJARRAYOOP_FIELD
 #undef STATIC_INT_FIELD
 #undef STATIC_BOOLEAN_FIELD
+#undef STATIC_PRIMITIVE_FIELD
 #undef EMPTY_CAST
 
 void compute_offset(int &dest_offset, Klass* klass, const char* name, const char* signature, bool static_field, TRAPS);
--- a/src/hotspot/share/jvmci/vmStructs_jvmci.cpp	Tue Jun 05 16:12:57 2018 +0100
+++ b/src/hotspot/share/jvmci/vmStructs_jvmci.cpp	Tue Jun 05 17:14:49 2018 +0100
@@ -26,6 +26,7 @@
 #include "code/codeBlob.hpp"
 #include "compiler/abstractCompiler.hpp"
 #include "compiler/compileBroker.hpp"
+#include "gc/shared/collectedHeap.hpp"
 #include "jvmci/jvmciCodeInstaller.hpp"
 #include "jvmci/jvmciCompilerToVM.hpp"
 #include "jvmci/jvmciEnv.hpp"
--- a/src/java.base/macosx/native/libjava/java_props_macosx.c	Tue Jun 05 16:12:57 2018 +0100
+++ b/src/java.base/macosx/native/libjava/java_props_macosx.c	Tue Jun 05 17:14:49 2018 +0100
@@ -47,6 +47,7 @@
 #define LOCALEIDLENGTH  128
 char *getMacOSXLocale(int cat) {
     const char* retVal = NULL;
+    char languageString[LOCALEIDLENGTH];
     char localeString[LOCALEIDLENGTH];
 
     switch (cat) {
@@ -67,7 +68,6 @@
                 CFRelease(languages);
                 return NULL;
             }
-            char languageString[LOCALEIDLENGTH];
             if (CFStringGetCString(primaryLanguage, languageString,
                                    LOCALEIDLENGTH, CFStringGetSystemEncoding()) == false) {
                 CFRelease(languages);
--- a/test/hotspot/jtreg/compiler/c2/Test6910605_2.java	Tue Jun 05 16:12:57 2018 +0100
+++ b/test/hotspot/jtreg/compiler/c2/Test6910605_2.java	Tue Jun 05 17:14:49 2018 +0100
@@ -26,7 +26,7 @@
  * @bug 6910605
  * @summary C2: NullPointerException/ClassCaseException is thrown when C2 with DeoptimizeALot is used
  *
- * @run main/othervm -Xmx64m -XX:+IgnoreUnrecognizedVMOptions -XX:+DeoptimizeALot
+ * @run main/othervm -Xmx128m -XX:+IgnoreUnrecognizedVMOptions -XX:+DeoptimizeALot
  *      -XX:+DoEscapeAnalysis -Xbatch -XX:InlineSmallCode=2000
  *      compiler.c2.Test6910605_2
  */
--- a/test/hotspot/jtreg/compiler/c2/Test7199742.java	Tue Jun 05 16:12:57 2018 +0100
+++ b/test/hotspot/jtreg/compiler/c2/Test7199742.java	Tue Jun 05 17:14:49 2018 +0100
@@ -26,7 +26,7 @@
  * @bug 7199742
  * @summary A lot of C2 OSR compilations of the same method's bci
  *
- * @run main/othervm -Xmx32m -Xbatch compiler.c2.Test7199742
+ * @run main/othervm -Xmx128m -Xbatch compiler.c2.Test7199742
  */
 
 package compiler.c2;
@@ -54,4 +54,3 @@
         return v;
     }
 }
-
--- a/test/hotspot/jtreg/compiler/c2/Test8002069.java	Tue Jun 05 16:12:57 2018 +0100
+++ b/test/hotspot/jtreg/compiler/c2/Test8002069.java	Tue Jun 05 17:14:49 2018 +0100
@@ -26,7 +26,7 @@
  * @bug 8002069
  * @summary Assert failed in C2: assert(field->edge_count() > 0) failed: sanity
  *
- * @run main/othervm -Xmx32m -XX:+IgnoreUnrecognizedVMOptions -Xbatch
+ * @run main/othervm -Xmx128m -XX:+IgnoreUnrecognizedVMOptions -Xbatch
  *      -XX:CompileCommand=exclude,compiler.c2.Test8002069::dummy
  *      compiler.c2.Test8002069
  */
@@ -109,4 +109,3 @@
         return i * 2;
     }
 }
-
--- a/test/hotspot/jtreg/compiler/c2/Test8004741.java	Tue Jun 05 16:12:57 2018 +0100
+++ b/test/hotspot/jtreg/compiler/c2/Test8004741.java	Tue Jun 05 17:14:49 2018 +0100
@@ -27,11 +27,11 @@
  * @summary Missing compiled exception handle table entry for multidimensional array allocation
  *
  * @requires !vm.graal.enabled
- * @run main/othervm -Xmx64m -Xbatch -XX:+IgnoreUnrecognizedVMOptions -XX:+UnlockDiagnosticVMOptions
+ * @run main/othervm -Xmx128m -Xbatch -XX:+IgnoreUnrecognizedVMOptions -XX:+UnlockDiagnosticVMOptions
  *    -XX:-TieredCompilation -XX:+StressCompiledExceptionHandlers
  *    -XX:+SafepointALot -XX:GuaranteedSafepointInterval=100
  *    compiler.c2.Test8004741
- * @run main/othervm -Xmx64m -Xbatch -XX:+IgnoreUnrecognizedVMOptions -XX:+UnlockDiagnosticVMOptions
+ * @run main/othervm -Xmx128m -Xbatch -XX:+IgnoreUnrecognizedVMOptions -XX:+UnlockDiagnosticVMOptions
  *    -XX:-TieredCompilation -XX:+StressCompiledExceptionHandlers
  *    compiler.c2.Test8004741
  */
--- a/test/hotspot/jtreg/compiler/c2/cr6340864/TestByteVect.java	Tue Jun 05 16:12:57 2018 +0100
+++ b/test/hotspot/jtreg/compiler/c2/cr6340864/TestByteVect.java	Tue Jun 05 17:14:49 2018 +0100
@@ -26,7 +26,7 @@
  * @bug 6340864
  * @summary Implement vectorization optimizations in hotspot-server
  *
- * @run main/othervm/timeout=400 -Xbatch -Xmx64m compiler.c2.cr6340864.TestByteVect
+ * @run main/othervm/timeout=400 -Xbatch -Xmx128m compiler.c2.cr6340864.TestByteVect
  */
 
 package compiler.c2.cr6340864;
--- a/test/hotspot/jtreg/compiler/c2/cr6340864/TestDoubleVect.java	Tue Jun 05 16:12:57 2018 +0100
+++ b/test/hotspot/jtreg/compiler/c2/cr6340864/TestDoubleVect.java	Tue Jun 05 17:14:49 2018 +0100
@@ -26,7 +26,7 @@
  * @bug 6340864
  * @summary Implement vectorization optimizations in hotspot-server
  *
- * @run main/othervm/timeout=400 -Xbatch -Xmx64m compiler.c2.cr6340864.TestDoubleVect
+ * @run main/othervm/timeout=400 -Xbatch -Xmx128m compiler.c2.cr6340864.TestDoubleVect
  */
 
 package compiler.c2.cr6340864;
--- a/test/hotspot/jtreg/compiler/c2/cr6340864/TestFloatVect.java	Tue Jun 05 16:12:57 2018 +0100
+++ b/test/hotspot/jtreg/compiler/c2/cr6340864/TestFloatVect.java	Tue Jun 05 17:14:49 2018 +0100
@@ -26,7 +26,7 @@
  * @bug 6340864
  * @summary Implement vectorization optimizations in hotspot-server
  *
- * @run main/othervm/timeout=400 -Xbatch -Xmx64m compiler.c2.cr6340864.TestFloatVect
+ * @run main/othervm/timeout=400 -Xbatch -Xmx128m compiler.c2.cr6340864.TestFloatVect
  */
 
 package compiler.c2.cr6340864;
--- a/test/hotspot/jtreg/compiler/c2/cr6340864/TestIntVect.java	Tue Jun 05 16:12:57 2018 +0100
+++ b/test/hotspot/jtreg/compiler/c2/cr6340864/TestIntVect.java	Tue Jun 05 17:14:49 2018 +0100
@@ -26,7 +26,7 @@
  * @bug 6340864
  * @summary Implement vectorization optimizations in hotspot-server
  *
- * @run main/othervm/timeout=400 -Xbatch -Xmx64m compiler.c2.cr6340864.TestIntVect
+ * @run main/othervm/timeout=400 -Xbatch -Xmx128m compiler.c2.cr6340864.TestIntVect
  */
 
 package compiler.c2.cr6340864;
--- a/test/hotspot/jtreg/compiler/c2/cr6340864/TestLongVect.java	Tue Jun 05 16:12:57 2018 +0100
+++ b/test/hotspot/jtreg/compiler/c2/cr6340864/TestLongVect.java	Tue Jun 05 17:14:49 2018 +0100
@@ -26,7 +26,7 @@
  * @bug 6340864
  * @summary Implement vectorization optimizations in hotspot-server
  *
- * @run main/othervm/timeout=400 -Xbatch -Xmx64m compiler.c2.cr6340864.TestLongVect
+ * @run main/othervm/timeout=400 -Xbatch -Xmx128m compiler.c2.cr6340864.TestLongVect
  */
 
 package compiler.c2.cr6340864;
--- a/test/hotspot/jtreg/compiler/c2/cr6340864/TestShortVect.java	Tue Jun 05 16:12:57 2018 +0100
+++ b/test/hotspot/jtreg/compiler/c2/cr6340864/TestShortVect.java	Tue Jun 05 17:14:49 2018 +0100
@@ -26,7 +26,7 @@
  * @bug 6340864
  * @summary Implement vectorization optimizations in hotspot-server
  *
- * @run main/othervm/timeout=400 -Xbatch -Xmx64m compiler.c2.cr6340864.TestShortVect
+ * @run main/othervm/timeout=400 -Xbatch -Xmx128m compiler.c2.cr6340864.TestShortVect
  */
 
 package compiler.c2.cr6340864;
--- a/test/hotspot/jtreg/compiler/c2/cr7192963/TestByteVect.java	Tue Jun 05 16:12:57 2018 +0100
+++ b/test/hotspot/jtreg/compiler/c2/cr7192963/TestByteVect.java	Tue Jun 05 17:14:49 2018 +0100
@@ -26,7 +26,7 @@
  * @bug 7192963
  * @summary assert(_in[req-1] == this) failed: Must pass arg count to 'new'
  *
- * @run main/othervm/timeout=400 -Xbatch -Xmx64m compiler.c2.cr7192963.TestByteVect
+ * @run main/othervm/timeout=400 -Xbatch -Xmx128m compiler.c2.cr7192963.TestByteVect
  */
 
 package compiler.c2.cr7192963;
@@ -201,4 +201,3 @@
     return 0;
   }
 }
-
--- a/test/hotspot/jtreg/compiler/c2/cr7192963/TestDoubleVect.java	Tue Jun 05 16:12:57 2018 +0100
+++ b/test/hotspot/jtreg/compiler/c2/cr7192963/TestDoubleVect.java	Tue Jun 05 17:14:49 2018 +0100
@@ -26,7 +26,7 @@
  * @bug 7192963
  * @summary assert(_in[req-1] == this) failed: Must pass arg count to 'new'
  *
- * @run main/othervm/timeout=400 -Xbatch -Xmx64m compiler.c2.cr7192963.TestDoubleVect
+ * @run main/othervm/timeout=400 -Xbatch -Xmx128m compiler.c2.cr7192963.TestDoubleVect
  */
 
 package compiler.c2.cr7192963;
@@ -201,4 +201,3 @@
     return 0;
   }
 }
-
--- a/test/hotspot/jtreg/compiler/c2/cr7192963/TestFloatVect.java	Tue Jun 05 16:12:57 2018 +0100
+++ b/test/hotspot/jtreg/compiler/c2/cr7192963/TestFloatVect.java	Tue Jun 05 17:14:49 2018 +0100
@@ -26,7 +26,7 @@
  * @bug 7192963
  * @summary assert(_in[req-1] == this) failed: Must pass arg count to 'new'
  *
- * @run main/othervm/timeout=400 -Xbatch -Xmx64m compiler.c2.cr7192963.TestFloatVect
+ * @run main/othervm/timeout=400 -Xbatch -Xmx128m compiler.c2.cr7192963.TestFloatVect
  */
 
 package compiler.c2.cr7192963;
@@ -201,4 +201,3 @@
     return 0;
   }
 }
-
--- a/test/hotspot/jtreg/compiler/c2/cr7192963/TestIntVect.java	Tue Jun 05 16:12:57 2018 +0100
+++ b/test/hotspot/jtreg/compiler/c2/cr7192963/TestIntVect.java	Tue Jun 05 17:14:49 2018 +0100
@@ -26,7 +26,7 @@
  * @bug 7192963
  * @summary assert(_in[req-1] == this) failed: Must pass arg count to 'new'
  *
- * @run main/othervm/timeout=400 -Xbatch -Xmx64m compiler.c2.cr7192963.TestIntVect
+ * @run main/othervm/timeout=400 -Xbatch -Xmx128m compiler.c2.cr7192963.TestIntVect
  */
 
 package compiler.c2.cr7192963;
@@ -201,4 +201,3 @@
     return 0;
   }
 }
-
--- a/test/hotspot/jtreg/compiler/c2/cr7192963/TestLongVect.java	Tue Jun 05 16:12:57 2018 +0100
+++ b/test/hotspot/jtreg/compiler/c2/cr7192963/TestLongVect.java	Tue Jun 05 17:14:49 2018 +0100
@@ -26,7 +26,7 @@
  * @bug 7192963
  * @summary assert(_in[req-1] == this) failed: Must pass arg count to 'new'
  *
- * @run main/othervm/timeout=400 -Xbatch -Xmx64m compiler.c2.cr7192963.TestLongVect
+ * @run main/othervm/timeout=400 -Xbatch -Xmx128m compiler.c2.cr7192963.TestLongVect
  */
 
 package compiler.c2.cr7192963;
@@ -201,4 +201,3 @@
     return 0;
   }
 }
-
--- a/test/hotspot/jtreg/compiler/c2/cr7192963/TestShortVect.java	Tue Jun 05 16:12:57 2018 +0100
+++ b/test/hotspot/jtreg/compiler/c2/cr7192963/TestShortVect.java	Tue Jun 05 17:14:49 2018 +0100
@@ -26,7 +26,7 @@
  * @bug 7192963
  * @summary assert(_in[req-1] == this) failed: Must pass arg count to 'new'
  *
- * @run main/othervm/timeout=400 -Xbatch -Xmx64m compiler.c2.cr7192963.TestShortVect
+ * @run main/othervm/timeout=400 -Xbatch -Xmx128m compiler.c2.cr7192963.TestShortVect
  */
 
 package compiler.c2.cr7192963;
@@ -201,4 +201,3 @@
     return 0;
   }
 }
-
--- a/test/hotspot/jtreg/compiler/ciReplay/CiReplayBase.java	Tue Jun 05 16:12:57 2018 +0100
+++ b/test/hotspot/jtreg/compiler/ciReplay/CiReplayBase.java	Tue Jun 05 17:14:49 2018 +0100
@@ -61,7 +61,7 @@
     private static final String HS_ERR_NAME = "hs_err_pid";
     private static final String RUN_SHELL_ZERO_LIMIT = "ulimit -S -c 0 && ";
     private static final String VERSION_OPTION = "-version";
-    private static final String[] REPLAY_GENERATION_OPTIONS = new String[]{"-Xms8m", "-Xmx32m",
+    private static final String[] REPLAY_GENERATION_OPTIONS = new String[]{"-Xms128m", "-Xmx128m",
         "-XX:MetaspaceSize=4m", "-XX:MaxMetaspaceSize=16m", "-XX:InitialCodeCacheSize=512k",
         "-XX:ReservedCodeCacheSize=4m", "-XX:ThreadStackSize=512", "-XX:VMThreadStackSize=512",
         "-XX:CompilerThreadStackSize=512", "-XX:ParallelGCThreads=1", "-XX:CICompilerCount=2",
--- a/test/hotspot/jtreg/compiler/codegen/Test6942326.java	Tue Jun 05 16:12:57 2018 +0100
+++ b/test/hotspot/jtreg/compiler/codegen/Test6942326.java	Tue Jun 05 17:14:49 2018 +0100
@@ -26,7 +26,7 @@
  * @bug 6942326
  * @summary x86 code in string_indexof() could read beyond reserved heap space
  *
- * @run main/othervm/timeout=300 -Xmx32m -Xbatch -XX:+IgnoreUnrecognizedVMOptions
+ * @run main/othervm/timeout=300 -Xmx128m -Xbatch -XX:+IgnoreUnrecognizedVMOptions
  *      -XX:CompileCommand=exclude,compiler.codegen.Test6942326::main
  *      -XX:CompileCommand=exclude,compiler.codegen.Test6942326::test_varsub_indexof
  *      -XX:CompileCommand=exclude,compiler.codegen.Test6942326::test_varstr_indexof
@@ -414,4 +414,3 @@
         public int indexOf(String str) { return str.indexOf(constr); }
     }
 }
-
--- a/test/hotspot/jtreg/compiler/codegen/TestCharVect2.java	Tue Jun 05 16:12:57 2018 +0100
+++ b/test/hotspot/jtreg/compiler/codegen/TestCharVect2.java	Tue Jun 05 17:14:49 2018 +0100
@@ -26,7 +26,7 @@
  * @bug 8001183
  * @summary incorrect results of char vectors right shift operaiton
  *
- * @run main/othervm/timeout=400 -Xbatch -Xmx64m compiler.codegen.TestCharVect2
+ * @run main/othervm/timeout=400 -Xbatch -Xmx128m compiler.codegen.TestCharVect2
  */
 
 package compiler.codegen;
--- a/test/hotspot/jtreg/compiler/intrinsics/Test8005419.java	Tue Jun 05 16:12:57 2018 +0100
+++ b/test/hotspot/jtreg/compiler/intrinsics/Test8005419.java	Tue Jun 05 17:14:49 2018 +0100
@@ -26,7 +26,7 @@
  * @bug 8005419
  * @summary Improve intrinsics code performance on x86 by using AVX2
  *
- * @run main/othervm -Xbatch -Xmx64m compiler.intrinsics.Test8005419
+ * @run main/othervm -Xbatch -Xmx128m compiler.intrinsics.Test8005419
  */
 
 package compiler.intrinsics;
--- a/test/hotspot/jtreg/compiler/jsr292/CallSiteDepContextTest.java	Tue Jun 05 16:12:57 2018 +0100
+++ b/test/hotspot/jtreg/compiler/jsr292/CallSiteDepContextTest.java	Tue Jun 05 17:14:49 2018 +0100
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2015, 2016, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2015, 2018, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -24,6 +24,7 @@
 /**
  * @test
  * @bug 8057967
+ * @requires vm.opt.final.ClassUnloading
  * @modules java.base/jdk.internal.misc
  *          java.base/jdk.internal.org.objectweb.asm
  * @library patches /
@@ -220,4 +221,3 @@
         System.out.println("TEST PASSED");
     }
 }
-
--- a/test/hotspot/jtreg/compiler/jsr292/NonInlinedCall/GCTest.java	Tue Jun 05 16:12:57 2018 +0100
+++ b/test/hotspot/jtreg/compiler/jsr292/NonInlinedCall/GCTest.java	Tue Jun 05 17:14:49 2018 +0100
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2015, 2016, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2015, 2018, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -24,6 +24,7 @@
 /*
  * @test
  * @bug 8072008
+ * @requires vm.opt.final.ClassUnloading
  * @library /test/lib ../patches
  * @modules java.base/jdk.internal.misc
  *          java.base/jdk.internal.vm.annotation
--- a/test/hotspot/jtreg/compiler/runtime/Test7196199.java	Tue Jun 05 16:12:57 2018 +0100
+++ b/test/hotspot/jtreg/compiler/runtime/Test7196199.java	Tue Jun 05 17:14:49 2018 +0100
@@ -26,7 +26,7 @@
  * @bug 7196199
  * @summary java/text/Bidi/Bug6665028.java failed: Bidi run count incorrect
  *
- * @run main/othervm/timeout=400 -Xmx32m -Xbatch -XX:+IgnoreUnrecognizedVMOptions
+ * @run main/othervm/timeout=400 -Xmx128m -Xbatch -XX:+IgnoreUnrecognizedVMOptions
  *      -XX:+UnlockDiagnosticVMOptions -XX:-TieredCompilation
  *      -XX:+SafepointALot -XX:GuaranteedSafepointInterval=100
  *      -XX:CompileCommand=exclude,compiler.runtime.Test7196199::test
@@ -194,4 +194,3 @@
         return 0;
     }
 }
-
--- a/test/hotspot/jtreg/compiler/runtime/Test8010927.java	Tue Jun 05 16:12:57 2018 +0100
+++ b/test/hotspot/jtreg/compiler/runtime/Test8010927.java	Tue Jun 05 17:14:49 2018 +0100
@@ -31,7 +31,7 @@
  * @run driver ClassFileInstaller sun.hotspot.WhiteBox
  *                                sun.hotspot.WhiteBox$WhiteBoxPermission
  * @run main/othervm -XX:+UnlockDiagnosticVMOptions -XX:+IgnoreUnrecognizedVMOptions
- *                   -XX:+WhiteBoxAPI -Xbootclasspath/a:. -Xmx64m -XX:NewSize=20971520
+ *                   -XX:+WhiteBoxAPI -Xbootclasspath/a:. -Xmx128m -XX:NewSize=20971520
  *                   -XX:MaxNewSize=32m -XX:-UseTLAB -XX:-UseAdaptiveSizePolicy
  *                   compiler.runtime.Test8010927
  */
--- a/test/hotspot/jtreg/gc/TestBigObj.java	Tue Jun 05 16:12:57 2018 +0100
+++ b/test/hotspot/jtreg/gc/TestBigObj.java	Tue Jun 05 17:14:49 2018 +0100
@@ -25,7 +25,7 @@
  * @test TestBigObj
  * @bug 6845368
  * @summary ensure gc updates references > 64K bytes from the start of the obj
- * @run main/othervm/timeout=720 -Xmx64m -verbose:gc TestBigObj
+ * @run main/othervm/timeout=720 -Xmx256m -verbose:gc TestBigObj
  */
 
 // Allocate an object with a block of reference fields that starts more
--- a/test/hotspot/jtreg/gc/TestNUMAPageSize.java	Tue Jun 05 16:12:57 2018 +0100
+++ b/test/hotspot/jtreg/gc/TestNUMAPageSize.java	Tue Jun 05 17:14:49 2018 +0100
@@ -27,7 +27,7 @@
  * @summary Make sure that start up with NUMA support does not cause problems.
  * @bug 8061467
  * @requires (vm.opt.AggressiveOpts == null) | (vm.opt.AggressiveOpts == false)
- * @run main/othervm -Xmx8M -XX:+UseNUMA TestNUMAPageSize
+ * @run main/othervm -Xmx128m -XX:+UseNUMA TestNUMAPageSize
  */
 
 public class TestNUMAPageSize {
--- a/test/hotspot/jtreg/gc/metaspace/CompressedClassSpaceSizeInJmapHeap.java	Tue Jun 05 16:12:57 2018 +0100
+++ b/test/hotspot/jtreg/gc/metaspace/CompressedClassSpaceSizeInJmapHeap.java	Tue Jun 05 17:14:49 2018 +0100
@@ -25,6 +25,7 @@
  * @test CompressedClassSpaceSizeInJmapHeap
  * @bug 8004924
  * @summary Checks that jmap -heap contains the flag CompressedClassSpaceSize
+ * @requires vm.opt.final.UseCompressedOops
  * @library /test/lib
  * @modules java.base/jdk.internal.misc
  *          java.management
--- a/test/hotspot/jtreg/gc/metaspace/TestMetaspaceMemoryPool.java	Tue Jun 05 16:12:57 2018 +0100
+++ b/test/hotspot/jtreg/gc/metaspace/TestMetaspaceMemoryPool.java	Tue Jun 05 17:14:49 2018 +0100
@@ -32,6 +32,7 @@
  * @bug 8000754
  * @summary Tests that a MemoryPoolMXBeans is created for metaspace and that a
  *          MemoryManagerMXBean is created.
+ * @requires vm.opt.final.UseCompressedOops
  * @library /test/lib
  * @modules java.base/jdk.internal.misc
  *          java.management
--- a/test/hotspot/jtreg/runtime/ClassUnload/KeepAliveClass.java	Tue Jun 05 16:12:57 2018 +0100
+++ b/test/hotspot/jtreg/runtime/ClassUnload/KeepAliveClass.java	Tue Jun 05 17:14:49 2018 +0100
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2013, 2016, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2013, 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
@@ -24,6 +24,7 @@
 /*
  * @test KeepAliveClass
  * @summary This test case uses a java.lang.Class instance to keep a class alive.
+ * @requires vm.opt.final.ClassUnloading
  * @modules java.base/jdk.internal.misc
  * @library /test/lib /runtime/testlibrary
  * @library classes
--- a/test/hotspot/jtreg/runtime/ClassUnload/KeepAliveClassLoader.java	Tue Jun 05 16:12:57 2018 +0100
+++ b/test/hotspot/jtreg/runtime/ClassUnload/KeepAliveClassLoader.java	Tue Jun 05 17:14:49 2018 +0100
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2013, 2016, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2013, 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
@@ -24,6 +24,7 @@
 /*
  * @test KeepAliveClassLoader
  * @summary This test case uses a java.lang.ClassLoader instance to keep a class alive.
+ * @requires vm.opt.final.ClassUnloading
  * @modules java.base/jdk.internal.misc
  * @library /test/lib /runtime/testlibrary
  * @library classes
--- a/test/hotspot/jtreg/runtime/ClassUnload/KeepAliveObject.java	Tue Jun 05 16:12:57 2018 +0100
+++ b/test/hotspot/jtreg/runtime/ClassUnload/KeepAliveObject.java	Tue Jun 05 17:14:49 2018 +0100
@@ -24,6 +24,7 @@
 /*
  * @test KeepAliveObject
  * @summary This test case uses a class instance to keep the class alive.
+ * @requires vm.opt.final.ClassUnloading
  * @modules java.base/jdk.internal.misc
  * @library /test/lib /runtime/testlibrary
  * @library classes
--- a/test/hotspot/jtreg/runtime/ClassUnload/KeepAliveSoftReference.java	Tue Jun 05 16:12:57 2018 +0100
+++ b/test/hotspot/jtreg/runtime/ClassUnload/KeepAliveSoftReference.java	Tue Jun 05 17:14:49 2018 +0100
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2013, 2016, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2013, 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
@@ -24,6 +24,7 @@
 /*
  * @test KeepAliveSoftReference
  * @summary This test case uses a java.lang.ref.SoftReference referencing a class instance to keep a class alive.
+ * @requires vm.opt.final.ClassUnloading
  * @modules java.base/jdk.internal.misc
  * @library /test/lib /runtime/testlibrary
  * @library classes
--- a/test/hotspot/jtreg/runtime/ClassUnload/UnloadTest.java	Tue Jun 05 16:12:57 2018 +0100
+++ b/test/hotspot/jtreg/runtime/ClassUnload/UnloadTest.java	Tue Jun 05 17:14:49 2018 +0100
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2013, 2016, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2013, 2018, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -23,6 +23,7 @@
 
 /*
  * @test UnloadTest
+ * @requires vm.opt.final.ClassUnloading
  * @modules java.base/jdk.internal.misc
  * @library /runtime/testlibrary /test/lib
  * @library classes
@@ -64,4 +65,3 @@
         ClassUnloadCommon.failIf(wb.isClassAlive(className), "should have been unloaded");
     }
 }
-
--- a/test/hotspot/jtreg/runtime/CompressedOops/CompressedClassPointers.java	Tue Jun 05 16:12:57 2018 +0100
+++ b/test/hotspot/jtreg/runtime/CompressedOops/CompressedClassPointers.java	Tue Jun 05 17:14:49 2018 +0100
@@ -25,6 +25,7 @@
  * @test
  * @bug 8024927
  * @summary Testing address of compressed class pointer space as best as possible.
+ * @requires vm.opt.final.UseCompressedOops
  * @library /test/lib
  * @modules java.base/jdk.internal.misc
  *          java.management
--- a/test/hotspot/jtreg/runtime/CompressedOops/CompressedClassSpaceSize.java	Tue Jun 05 16:12:57 2018 +0100
+++ b/test/hotspot/jtreg/runtime/CompressedOops/CompressedClassSpaceSize.java	Tue Jun 05 17:14:49 2018 +0100
@@ -25,6 +25,7 @@
  * @test
  * @bug 8022865
  * @summary Tests for the -XX:CompressedClassSpaceSize command line option
+ * @requires vm.opt.final.UseCompressedOops
  * @library /test/lib
  * @modules java.base/jdk.internal.misc
  *          java.management
--- a/test/hotspot/jtreg/runtime/ErrorHandling/CreateCoredumpOnCrash.java	Tue Jun 05 16:12:57 2018 +0100
+++ b/test/hotspot/jtreg/runtime/ErrorHandling/CreateCoredumpOnCrash.java	Tue Jun 05 17:14:49 2018 +0100
@@ -57,7 +57,7 @@
     public static OutputAnalyzer runTest(String option) throws Exception {
         return new OutputAnalyzer(
             ProcessTools.createJavaProcessBuilder(
-            "-Xmx64m", "-XX:-TransmitErrorReport", "--add-exports=java.base/jdk.internal.misc=ALL-UNNAMED", option, Crasher.class.getName())
+            "-Xmx128m", "-XX:-TransmitErrorReport", "--add-exports=java.base/jdk.internal.misc=ALL-UNNAMED", option, Crasher.class.getName())
             .start());
     }
 }
--- a/test/hotspot/jtreg/runtime/ErrorHandling/TestCrashOnOutOfMemoryError.java	Tue Jun 05 16:12:57 2018 +0100
+++ b/test/hotspot/jtreg/runtime/ErrorHandling/TestCrashOnOutOfMemoryError.java	Tue Jun 05 17:14:49 2018 +0100
@@ -53,7 +53,7 @@
         }
         // else this is the main test
         ProcessBuilder pb = ProcessTools.createJavaProcessBuilder("-XX:+CrashOnOutOfMemoryError",
-                 "-XX:-CreateCoredumpOnCrash", "-Xmx64m", TestCrashOnOutOfMemoryError.class.getName(),"throwOOME");
+                 "-XX:-CreateCoredumpOnCrash", "-Xmx128m", TestCrashOnOutOfMemoryError.class.getName(),"throwOOME");
         OutputAnalyzer output = new OutputAnalyzer(pb.start());
         int exitValue = output.getExitValue();
         if (0 == exitValue) {
--- a/test/hotspot/jtreg/runtime/ErrorHandling/TestExitOnOutOfMemoryError.java	Tue Jun 05 16:12:57 2018 +0100
+++ b/test/hotspot/jtreg/runtime/ErrorHandling/TestExitOnOutOfMemoryError.java	Tue Jun 05 17:14:49 2018 +0100
@@ -49,7 +49,7 @@
 
         // else this is the main test
         ProcessBuilder pb = ProcessTools.createJavaProcessBuilder("-XX:+ExitOnOutOfMemoryError",
-                "-Xmx64m", TestExitOnOutOfMemoryError.class.getName(), "throwOOME");
+                "-Xmx128m", TestExitOnOutOfMemoryError.class.getName(), "throwOOME");
         OutputAnalyzer output = new OutputAnalyzer(pb.start());
 
         /*
--- a/test/hotspot/jtreg/runtime/InternalApi/ThreadCpuTimesDeadlock.java	Tue Jun 05 16:12:57 2018 +0100
+++ b/test/hotspot/jtreg/runtime/InternalApi/ThreadCpuTimesDeadlock.java	Tue Jun 05 17:14:49 2018 +0100
@@ -27,7 +27,7 @@
  * @bug 8014294
  * @summary Possible JVM deadlock in ThreadTimesClosure when using HotspotInternal non-public API.
  * @modules java.management/sun.management
- * @run main/othervm -XX:+UsePerfData -Xmx32m ThreadCpuTimesDeadlock
+ * @run main/othervm -XX:+UsePerfData -Xmx128m ThreadCpuTimesDeadlock
  */
 
 import java.lang.management.ManagementFactory;
--- a/test/hotspot/jtreg/runtime/Metaspace/DefineClass.java	Tue Jun 05 16:12:57 2018 +0100
+++ b/test/hotspot/jtreg/runtime/Metaspace/DefineClass.java	Tue Jun 05 17:14:49 2018 +0100
@@ -27,6 +27,7 @@
  * @bug 8173743
  * @requires vm.compMode != "Xcomp"
  * @summary Failures during class definition can lead to memory leaks in metaspace
+ * @requires vm.opt.final.ClassUnloading
  * @library /test/lib
  * @run main/othervm test.DefineClass defineClass
  * @run main/othervm test.DefineClass defineSystemClass
--- a/test/hotspot/jtreg/runtime/Metaspace/MaxMetaspaceSizeTest.java	Tue Jun 05 16:12:57 2018 +0100
+++ b/test/hotspot/jtreg/runtime/Metaspace/MaxMetaspaceSizeTest.java	Tue Jun 05 17:14:49 2018 +0100
@@ -27,6 +27,7 @@
 /*
  * @test MaxMetaspaceSizeTest
  * @requires vm.bits == "64"
+ * @requires vm.opt.final.UseCompressedOops
  * @bug 8087291
  * @library /test/lib
  * @run main/othervm MaxMetaspaceSizeTest
--- a/test/hotspot/jtreg/runtime/RedefineTests/RedefinePreviousVersions.java	Tue Jun 05 16:12:57 2018 +0100
+++ b/test/hotspot/jtreg/runtime/RedefineTests/RedefinePreviousVersions.java	Tue Jun 05 17:14:49 2018 +0100
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2016, 2017, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2016, 2018, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -25,6 +25,7 @@
  * @test
  * @bug 8165246
  * @summary Test has_previous_versions flag and processing during class unloading.
+ * @requires vm.opt.final.ClassUnloading
  * @library /test/lib
  * @modules java.base/jdk.internal.misc
  * @modules java.compiler
--- a/test/hotspot/jtreg/runtime/Safepoint/AssertSafepointCheckConsistency1.java	Tue Jun 05 16:12:57 2018 +0100
+++ b/test/hotspot/jtreg/runtime/Safepoint/AssertSafepointCheckConsistency1.java	Tue Jun 05 17:14:49 2018 +0100
@@ -52,7 +52,7 @@
                   "-XX:+WhiteBoxAPI",
                   "-XX:-TransmitErrorReport",
                   "-XX:-CreateCoredumpOnCrash",
-                  "-Xmx32m",
+                  "-Xmx128m",
                   "AssertSafepointCheckConsistency1",
                   "test");
             OutputAnalyzer output = new OutputAnalyzer(pb.start());
--- a/test/hotspot/jtreg/runtime/Safepoint/AssertSafepointCheckConsistency2.java	Tue Jun 05 16:12:57 2018 +0100
+++ b/test/hotspot/jtreg/runtime/Safepoint/AssertSafepointCheckConsistency2.java	Tue Jun 05 17:14:49 2018 +0100
@@ -52,7 +52,7 @@
                   "-XX:+WhiteBoxAPI",
                   "-XX:-TransmitErrorReport",
                   "-XX:-CreateCoredumpOnCrash",
-                  "-Xmx32m",
+                  "-Xmx128m",
                   "AssertSafepointCheckConsistency2",
                   "test");
 
--- a/test/hotspot/jtreg/runtime/SelectionResolution/AbstractMethodErrorTest.java	Tue Jun 05 16:12:57 2018 +0100
+++ b/test/hotspot/jtreg/runtime/SelectionResolution/AbstractMethodErrorTest.java	Tue Jun 05 17:14:49 2018 +0100
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2016, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2016, 2018, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -25,6 +25,7 @@
  * @test
  * @summary Test of method selection and resolution cases that
  * generate AbstractMethodErrorTest
+ * @requires vm.opt.final.ClassUnloading
  * @modules java.base/jdk.internal.org.objectweb.asm
  * @library /runtime/SelectionResolution/classes
  * @run main/othervm/timeout=300 -XX:+IgnoreUnrecognizedVMOptions -XX:-VerifyDependencies AbstractMethodErrorTest
--- a/test/hotspot/jtreg/runtime/SelectionResolution/InvokeInterfaceICCE.java	Tue Jun 05 16:12:57 2018 +0100
+++ b/test/hotspot/jtreg/runtime/SelectionResolution/InvokeInterfaceICCE.java	Tue Jun 05 17:14:49 2018 +0100
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2016, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2016, 2018, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -25,6 +25,7 @@
  * @test
  * @summary Test of method selection and resolution cases that
  * generate IncompatibleClassChangeError
+ * @requires vm.opt.final.ClassUnloading
  * @modules java.base/jdk.internal.org.objectweb.asm
  * @library /runtime/SelectionResolution/classes
  * @run main/othervm/timeout=500 -XX:+IgnoreUnrecognizedVMOptions -XX:-VerifyDependencies InvokeInterfaceICCE
--- a/test/hotspot/jtreg/runtime/SelectionResolution/InvokeInterfaceSuccessTest.java	Tue Jun 05 16:12:57 2018 +0100
+++ b/test/hotspot/jtreg/runtime/SelectionResolution/InvokeInterfaceSuccessTest.java	Tue Jun 05 17:14:49 2018 +0100
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2016, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2016, 2018, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -25,6 +25,7 @@
  * @test
  * @summary Test of method selection and resolution cases that
  * generate InvokeInterfaceSuccessTest
+ * @requires vm.opt.final.ClassUnloading
  * @modules java.base/jdk.internal.org.objectweb.asm
  * @library /runtime/SelectionResolution/classes
  * @run main/othervm/timeout=300 -XX:+IgnoreUnrecognizedVMOptions -XX:-VerifyDependencies InvokeInterfaceSuccessTest
--- a/test/hotspot/jtreg/runtime/SelectionResolution/InvokeVirtualICCE.java	Tue Jun 05 16:12:57 2018 +0100
+++ b/test/hotspot/jtreg/runtime/SelectionResolution/InvokeVirtualICCE.java	Tue Jun 05 17:14:49 2018 +0100
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2016, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2016, 2018, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -25,6 +25,7 @@
  * @test
  * @summary Test of method selection and resolution cases that
  * generate IncompatibleClassChangeError
+ * @requires vm.opt.final.ClassUnloading
  * @modules java.base/jdk.internal.org.objectweb.asm
  * @library /runtime/SelectionResolution/classes
  * @run main/othervm/timeout=1200 -XX:+IgnoreUnrecognizedVMOptions -XX:-VerifyDependencies InvokeVirtualICCE
--- a/test/hotspot/jtreg/runtime/SelectionResolution/InvokeVirtualSuccessTest.java	Tue Jun 05 16:12:57 2018 +0100
+++ b/test/hotspot/jtreg/runtime/SelectionResolution/InvokeVirtualSuccessTest.java	Tue Jun 05 17:14:49 2018 +0100
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2016, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2016, 2018, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -25,6 +25,7 @@
  * @test
  * @summary Test of method selection and resolution cases that
  * generate InvokeVirtualSuccessTest
+ * @requires vm.opt.final.ClassUnloading
  * @modules java.base/jdk.internal.org.objectweb.asm
  * @library /runtime/SelectionResolution/classes
  * @run main/othervm/timeout=400 -XX:+IgnoreUnrecognizedVMOptions -XX:-VerifyDependencies InvokeVirtualSuccessTest
--- a/test/hotspot/jtreg/runtime/Unsafe/RangeCheck.java	Tue Jun 05 16:12:57 2018 +0100
+++ b/test/hotspot/jtreg/runtime/Unsafe/RangeCheck.java	Tue Jun 05 17:14:49 2018 +0100
@@ -46,7 +46,7 @@
 
         ProcessBuilder pb = ProcessTools.createJavaProcessBuilder(
                 true,
-                "-Xmx32m",
+                "-Xmx128m",
                 "--add-exports=java.base/jdk.internal.misc=ALL-UNNAMED",
                 "-XX:-TransmitErrorReport",
                 "-XX:-CreateCoredumpOnCrash",
--- a/test/hotspot/jtreg/runtime/appcds/customLoader/UnloadUnregisteredLoaderTest.java	Tue Jun 05 16:12:57 2018 +0100
+++ b/test/hotspot/jtreg/runtime/appcds/customLoader/UnloadUnregisteredLoaderTest.java	Tue Jun 05 17:14:49 2018 +0100
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2015, 2017, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2015, 2018, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -28,6 +28,7 @@
  *          unloaded.
  * @requires vm.cds
  * @requires vm.cds.custom.loaders
+ * @requires vm.opt.final.ClassUnloading
  * @library /test/lib /test/hotspot/jtreg/runtime/appcds /test/hotspot/jtreg/runtime/testlibrary
  * @modules java.base/jdk.internal.misc
  *          java.management
--- a/test/hotspot/jtreg/runtime/logging/BiasedLockingTest.java	Tue Jun 05 16:12:57 2018 +0100
+++ b/test/hotspot/jtreg/runtime/logging/BiasedLockingTest.java	Tue Jun 05 17:14:49 2018 +0100
@@ -48,22 +48,26 @@
     }
 
     public static void main(String[] args) throws Exception {
-        ProcessBuilder pb = ProcessTools.createJavaProcessBuilder("-Xlog:biasedlocking",
+        ProcessBuilder pb = ProcessTools.createJavaProcessBuilder("-XX:+UseBiasedLocking",
+                                                                  "-Xlog:biasedlocking",
                                                                   "-XX:BiasedLockingStartupDelay=0",
                                                                   InnerClass.class.getName());
         analyzeOutputOn(pb);
 
-        pb = ProcessTools.createJavaProcessBuilder("-XX:+TraceBiasedLocking",
+        pb = ProcessTools.createJavaProcessBuilder("-XX:+UseBiasedLocking",
+                                                   "-XX:+TraceBiasedLocking",
                                                    "-XX:BiasedLockingStartupDelay=0",
                                                    InnerClass.class.getName());
         analyzeOutputOn(pb);
 
-        pb = ProcessTools.createJavaProcessBuilder("-Xlog:biasedlocking=off",
+        pb = ProcessTools.createJavaProcessBuilder("-XX:+UseBiasedLocking",
+                                                   "-Xlog:biasedlocking=off",
                                                    "-XX:BiasedLockingStartupDelay=0",
                                                    InnerClass.class.getName());
         analyzeOutputOff(pb);
 
-        pb = ProcessTools.createJavaProcessBuilder("-XX:-TraceBiasedLocking",
+        pb = ProcessTools.createJavaProcessBuilder("-XX:+UseBiasedLocking",
+                                                   "-XX:-TraceBiasedLocking",
                                                    "-XX:BiasedLockingStartupDelay=0",
                                                    InnerClass.class.getName());
         analyzeOutputOff(pb);
--- a/test/hotspot/jtreg/runtime/logging/ClassInitializationTest.java	Tue Jun 05 16:12:57 2018 +0100
+++ b/test/hotspot/jtreg/runtime/logging/ClassInitializationTest.java	Tue Jun 05 17:14:49 2018 +0100
@@ -42,7 +42,7 @@
         // (1)
         ProcessBuilder pb = ProcessTools.createJavaProcessBuilder("-Xlog:class+init=info",
                                                                   "-Xverify:all",
-                                                                  "-Xmx64m",
+                                                                  "-Xmx128m",
                                                                   "BadMap50");
         OutputAnalyzer out = new OutputAnalyzer(pb.start());
         out.shouldContain("Start class verification for:");
@@ -56,7 +56,7 @@
             pb = ProcessTools.createJavaProcessBuilder("-Xlog:class+init=info",
                                                        "-Xverify:all",
                                                        "-XX:+EagerInitialization",
-                                                       "-Xmx64m",
+                                                       "-Xmx128m",
                                                        InnerClass.class.getName());
             out = new OutputAnalyzer(pb.start());
             out.shouldContain("[Initialized").shouldContain("without side effects]");
@@ -66,7 +66,7 @@
         // (3) class+init should turn off.
         pb = ProcessTools.createJavaProcessBuilder("-Xlog:class+init=off",
                                                    "-Xverify:all",
-                                                   "-Xmx64m",
+                                                   "-Xmx128m",
                                                    "BadMap50");
         out = new OutputAnalyzer(pb.start());
         out.shouldNotContain("[class,init]");
--- a/test/hotspot/jtreg/runtime/logging/ClassLoadUnloadTest.java	Tue Jun 05 16:12:57 2018 +0100
+++ b/test/hotspot/jtreg/runtime/logging/ClassLoadUnloadTest.java	Tue Jun 05 17:14:49 2018 +0100
@@ -25,6 +25,7 @@
 /*
  * @test ClassLoadUnloadTest
  * @bug 8142506
+ * @requires vm.opt.final.ClassUnloading
  * @modules java.base/jdk.internal.misc
  * @library /test/lib /runtime/testlibrary
  * @library classes
--- a/test/hotspot/jtreg/runtime/logging/CompressedOopsTest.java	Tue Jun 05 16:12:57 2018 +0100
+++ b/test/hotspot/jtreg/runtime/logging/CompressedOopsTest.java	Tue Jun 05 17:14:49 2018 +0100
@@ -25,6 +25,7 @@
  * @test
  * @bug 8149991
  * @requires (sun.arch.data.model == "64")
+ * @requires vm.opt.final.UseCompressedOops
  * @summary -Xlog:gc+heap+coops=info should have output from the code
  * @library /test/lib
  * @modules java.base/jdk.internal.misc
--- a/test/hotspot/jtreg/runtime/logging/ProtectionDomainVerificationTest.java	Tue Jun 05 16:12:57 2018 +0100
+++ b/test/hotspot/jtreg/runtime/logging/ProtectionDomainVerificationTest.java	Tue Jun 05 17:14:49 2018 +0100
@@ -39,7 +39,7 @@
 
         // -Xlog:protectiondomain=trace
         ProcessBuilder pb = ProcessTools.createJavaProcessBuilder("-Xlog:protectiondomain=trace",
-                                                                  "-Xmx64m",
+                                                                  "-Xmx128m",
                                                                   Hello.class.getName());
         OutputAnalyzer out = new OutputAnalyzer(pb.start());
         out.shouldContain("[protectiondomain] Checking package access");
@@ -47,7 +47,7 @@
 
         // -Xlog:protectiondomain=debug
         pb = ProcessTools.createJavaProcessBuilder("-Xlog:protectiondomain=debug",
-                                                                  "-Xmx64m",
+                                                                  "-Xmx128m",
                                                                   Hello.class.getName());
         out = new OutputAnalyzer(pb.start());
         out.shouldContain("[protectiondomain] Checking package access");
--- a/test/hotspot/jtreg/runtime/logging/VMOperationTest.java	Tue Jun 05 16:12:57 2018 +0100
+++ b/test/hotspot/jtreg/runtime/logging/VMOperationTest.java	Tue Jun 05 17:14:49 2018 +0100
@@ -38,8 +38,8 @@
 public class VMOperationTest {
     public static void main(String[] args) throws Exception {
         ProcessBuilder pb = ProcessTools.createJavaProcessBuilder("-Xlog:vmoperation=debug",
-                                                                  "-Xmx64m",
-                                                                  "-Xms64m",
+                                                                  "-Xmx128m",
+                                                                  "-Xms128m",
                                                                   InternalClass.class.getName());
         OutputAnalyzer output = new OutputAnalyzer(pb.start());
         output.shouldContain("VM_Operation (");
@@ -65,4 +65,3 @@
         }
     }
 }
-
--- a/test/hotspot/jtreg/runtime/memory/MultiAllocateNullCheck.java	Tue Jun 05 16:12:57 2018 +0100
+++ b/test/hotspot/jtreg/runtime/memory/MultiAllocateNullCheck.java	Tue Jun 05 17:14:49 2018 +0100
@@ -25,7 +25,7 @@
  * @test MultiAllocateNullCheck
  * @bug 6726963
  * @summary multi_allocate() call does not CHECK_NULL and causes crash in fastdebug bits
- * @run main/othervm -Xmx32m MultiAllocateNullCheck
+ * @run main/othervm -Xmx128m MultiAllocateNullCheck
  */
 
 import java.lang.reflect.Array;
--- a/test/hotspot/jtreg/runtime/memory/ReadFromNoaccessArea.java	Tue Jun 05 16:12:57 2018 +0100
+++ b/test/hotspot/jtreg/runtime/memory/ReadFromNoaccessArea.java	Tue Jun 05 17:14:49 2018 +0100
@@ -53,7 +53,7 @@
           "-XX:+UseCompressedOops",
           "-XX:HeapBaseMinAddress=33G",
           "-XX:-CreateCoredumpOnCrash",
-          "-Xmx32m",
+          "-Xmx128m",
           DummyClassWithMainTryingToReadFromNoaccessArea.class.getName());
 
     OutputAnalyzer output = new OutputAnalyzer(pb.start());
--- a/test/hotspot/jtreg/runtime/memory/ReserveMemory.java	Tue Jun 05 16:12:57 2018 +0100
+++ b/test/hotspot/jtreg/runtime/memory/ReserveMemory.java	Tue Jun 05 17:14:49 2018 +0100
@@ -57,7 +57,7 @@
           "-XX:+WhiteBoxAPI",
           "-XX:-TransmitErrorReport",
           "-XX:-CreateCoredumpOnCrash",
-          "-Xmx32m",
+          "-Xmx128m",
           "ReserveMemory",
           "test");
 
--- a/test/hotspot/jtreg/runtime/modules/LoadUnloadModuleStress.java	Tue Jun 05 16:12:57 2018 +0100
+++ b/test/hotspot/jtreg/runtime/modules/LoadUnloadModuleStress.java	Tue Jun 05 17:14:49 2018 +0100
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2016, 2017, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2016, 2018, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -24,6 +24,7 @@
 /*
  * @test
  * @summary Ensure module information is cleaned when owning class loader unloads
+ * @requires vm.opt.final.ClassUnloading
  * @modules java.base/jdk.internal.misc
  * @library /test/lib ..
  * @build sun.hotspot.WhiteBox
--- a/test/hotspot/jtreg/serviceability/sa/TestG1HeapRegion.java	Tue Jun 05 16:12:57 2018 +0100
+++ b/test/hotspot/jtreg/serviceability/sa/TestG1HeapRegion.java	Tue Jun 05 17:14:49 2018 +0100
@@ -40,6 +40,7 @@
  * @test
  * @library /test/lib
  * @requires os.family != "mac"
+ * @requires vm.gc.G1
  * @modules jdk.hotspot.agent/sun.jvm.hotspot
  *          jdk.hotspot.agent/sun.jvm.hotspot.gc.g1
  *          jdk.hotspot.agent/sun.jvm.hotspot.memory
--- a/test/hotspot/jtreg/vmTestbase/gc/gctests/LoadUnloadGC/LoadUnloadGC.java	Tue Jun 05 16:12:57 2018 +0100
+++ b/test/hotspot/jtreg/vmTestbase/gc/gctests/LoadUnloadGC/LoadUnloadGC.java	Tue Jun 05 17:14:49 2018 +0100
@@ -34,6 +34,7 @@
  * garbage collection takes place because their classloader is made unreachable
  * at the end of the each loop iteration. The loop is repeated 1000 times.
  *
+ * @requires vm.opt.final.ClassUnloading
  * @library /vmTestbase
  *          /test/lib
  * @run driver jdk.test.lib.FileInstaller . .
--- a/test/hotspot/jtreg/vmTestbase/heapdump/JMapMetaspace/TestDescription.java	Tue Jun 05 16:12:57 2018 +0100
+++ b/test/hotspot/jtreg/vmTestbase/heapdump/JMapMetaspace/TestDescription.java	Tue Jun 05 17:14:49 2018 +0100
@@ -33,6 +33,7 @@
  *     parsed by HprofParser. It fills metaspace with classes till OutOfMemoryError,
  *     then uses JMap to create heap dump and then verifies created heap dump with HprofParser.
  *
+ * @requires vm.opt.final.ClassUnloading
  * @library /vmTestbase
  *          /test/lib
  * @run driver jdk.test.lib.FileInstaller . .
@@ -40,4 +41,3 @@
  *        heapdump.share.EatMemory
  * @run shell/timeout=300 run.sh
  */
-
--- a/test/hotspot/jtreg/vmTestbase/metaspace/gc/HighWaterMarkTest.java	Tue Jun 05 16:12:57 2018 +0100
+++ b/test/hotspot/jtreg/vmTestbase/metaspace/gc/HighWaterMarkTest.java	Tue Jun 05 17:14:49 2018 +0100
@@ -187,30 +187,22 @@
         }
         System.out.println("% GC has been invoked: " + gcCount + " times");
 
-        if (VMRuntimeEnvUtils.isVMOptionEnabled("UseG1GC") &&
-              VMRuntimeEnvUtils.isVMOptionEnabled("ClassUnloadingWithConcurrentMark")) {
-            System.out.println("% isG1ClassUnloading: true");
-            if (gcCount != 0) {
-                throw new Fault ("G1 should unload classes, full GC is not expected");
-            }
+        if (maxMetaspaceFreeRatio <= 1) {
+            // min/max = 0/1  boundary value
+            // GC should happen very often
+            checkGCCount(gcCount, 20, -1);
+        } else if (minMetaspaceFreeRatio >= 99) {
+            // min/max = 99/100  boundary value
+            // GC should happen very rare
+            checkGCCount(gcCount, -1, 2);
+        } else if (minMetaspaceFreeRatio >= 10  && maxMetaspaceFreeRatio <= 20) {
+            // GC should happen quite often
+            checkGCCount(gcCount, 3, 30);
+        } else if (minMetaspaceFreeRatio >= 70  && maxMetaspaceFreeRatio <= 80) {
+            // GC should happen quite often
+            checkGCCount(gcCount, 1, 3);
         } else {
-            if (maxMetaspaceFreeRatio <= 1) {
-                // min/max = 0/1  boundary value
-                // GC should happen very often
-                checkGCCount(gcCount, 20, -1);
-            } else if (minMetaspaceFreeRatio >= 99) {
-                // min/max = 99/100  boundary value
-                // GC should happen very rare
-                checkGCCount(gcCount, -1, 2);
-            } else if (minMetaspaceFreeRatio >= 10  && maxMetaspaceFreeRatio <= 20) {
-                // GC should happen quite often
-                checkGCCount(gcCount, 3, 30);
-            } else if (minMetaspaceFreeRatio >= 70  && maxMetaspaceFreeRatio <= 80) {
-                // GC should happen quite often
-                checkGCCount(gcCount, 1, 3);
-            } else {
-                // hard to estimate
-            }
+            // hard to estimate
         }
 
     }
--- a/test/hotspot/jtreg/vmTestbase/metaspace/gc/MetaspaceBaseGC.java	Tue Jun 05 16:12:57 2018 +0100
+++ b/test/hotspot/jtreg/vmTestbase/metaspace/gc/MetaspaceBaseGC.java	Tue Jun 05 17:14:49 2018 +0100
@@ -180,14 +180,13 @@
 
     /**
      * Reads gc.log file and counts GC induced by metaspace.
-     * Note: this method doesn't work for ConcMarkSweep...
      * @return how many times GC induced by metaspace has occurred.
      */
     protected int getMetaspaceGCCount() {
         int count = 0;
         try {
             for (String line: readGCLog()) {
-                if (line.indexOf("Pause Full") > 0 && line.indexOf("Meta") > 0) {
+                if (line.indexOf("Metadata GC ") > 0) {
                     count++;
                 }
             }
--- a/test/hotspot/jtreg/vmTestbase/metaspace/shrink_grow/ShrinkGrowMultiJVM/ShrinkGrowMultiJVM.java	Tue Jun 05 16:12:57 2018 +0100
+++ b/test/hotspot/jtreg/vmTestbase/metaspace/shrink_grow/ShrinkGrowMultiJVM/ShrinkGrowMultiJVM.java	Tue Jun 05 17:14:49 2018 +0100
@@ -28,6 +28,7 @@
  * @summary converted from VM Testbase metaspace/shrink_grow/ShrinkGrowMultiJVM.
  * VM Testbase keywords: [nonconcurrent]
  *
+ * @requires vm.opt.final.ClassUnloading
  * @library /vmTestbase /test/lib
  * @run driver jdk.test.lib.FileInstaller . .
  * @build metaspace.shrink_grow.ShrinkGrowMultiJVM.ShrinkGrowMultiJVM
--- a/test/hotspot/jtreg/vmTestbase/metaspace/staticReferences/StaticReferences.java	Tue Jun 05 16:12:57 2018 +0100
+++ b/test/hotspot/jtreg/vmTestbase/metaspace/staticReferences/StaticReferences.java	Tue Jun 05 17:14:49 2018 +0100
@@ -28,6 +28,7 @@
  * @summary converted from VM Testbase metaspace/staticReferences.
  * VM Testbase keywords: [nonconcurrent, javac, no_cds]
  *
+ * @requires vm.opt.final.ClassUnloading
  * @library /vmTestbase /test/lib
  * @run driver jdk.test.lib.FileInstaller . .
  * @build sun.hotspot.WhiteBox
--- a/test/hotspot/jtreg/vmTestbase/metaspace/stressHierarchy/stressHierarchy001/TestDescription.java	Tue Jun 05 16:12:57 2018 +0100
+++ b/test/hotspot/jtreg/vmTestbase/metaspace/stressHierarchy/stressHierarchy001/TestDescription.java	Tue Jun 05 17:14:49 2018 +0100
@@ -28,6 +28,7 @@
  * @summary converted from VM Testbase metaspace/stressHierarchy/stressHierarchy001.
  * VM Testbase keywords: [nonconcurrent, javac, no_cds]
  *
+ * @requires vm.opt.final.ClassUnloading
  * @library /vmTestbase /test/lib
  * @run driver jdk.test.lib.FileInstaller . .
  * @build sun.hotspot.WhiteBox
@@ -44,4 +45,3 @@
  *      -maxLevelSize 100
  *      -hierarchyType CLASSES
  */
-
--- a/test/hotspot/jtreg/vmTestbase/metaspace/stressHierarchy/stressHierarchy002/TestDescription.java	Tue Jun 05 16:12:57 2018 +0100
+++ b/test/hotspot/jtreg/vmTestbase/metaspace/stressHierarchy/stressHierarchy002/TestDescription.java	Tue Jun 05 17:14:49 2018 +0100
@@ -28,6 +28,7 @@
  * @summary converted from VM Testbase metaspace/stressHierarchy/stressHierarchy002.
  * VM Testbase keywords: [nonconcurrent, javac, no_cds]
  *
+ * @requires vm.opt.final.ClassUnloading
  * @library /vmTestbase /test/lib
  * @run driver jdk.test.lib.FileInstaller . .
  * @build sun.hotspot.WhiteBox
@@ -44,4 +45,3 @@
  *      -maxLevelSize 100
  *      -hierarchyType CLASSES
  */
-
--- a/test/hotspot/jtreg/vmTestbase/metaspace/stressHierarchy/stressHierarchy003/TestDescription.java	Tue Jun 05 16:12:57 2018 +0100
+++ b/test/hotspot/jtreg/vmTestbase/metaspace/stressHierarchy/stressHierarchy003/TestDescription.java	Tue Jun 05 17:14:49 2018 +0100
@@ -28,6 +28,7 @@
  * @summary converted from VM Testbase metaspace/stressHierarchy/stressHierarchy003.
  * VM Testbase keywords: [nonconcurrent, javac, no_cds]
  *
+ * @requires vm.opt.final.ClassUnloading
  * @library /vmTestbase /test/lib
  * @run driver jdk.test.lib.FileInstaller . .
  * @build sun.hotspot.WhiteBox
@@ -44,4 +45,3 @@
  *      -maxLevelSize 100
  *      -hierarchyType INTERFACES
  */
-
--- a/test/hotspot/jtreg/vmTestbase/metaspace/stressHierarchy/stressHierarchy004/TestDescription.java	Tue Jun 05 16:12:57 2018 +0100
+++ b/test/hotspot/jtreg/vmTestbase/metaspace/stressHierarchy/stressHierarchy004/TestDescription.java	Tue Jun 05 17:14:49 2018 +0100
@@ -28,6 +28,7 @@
  * @summary converted from VM Testbase metaspace/stressHierarchy/stressHierarchy004.
  * VM Testbase keywords: [nonconcurrent, javac, no_cds]
  *
+ * @requires vm.opt.final.ClassUnloading
  * @library /vmTestbase /test/lib
  * @run driver jdk.test.lib.FileInstaller . .
  * @build sun.hotspot.WhiteBox
@@ -44,4 +45,3 @@
  *      -maxLevelSize 100
  *      -hierarchyType INTERFACES
  */
-
--- a/test/hotspot/jtreg/vmTestbase/metaspace/stressHierarchy/stressHierarchy005/TestDescription.java	Tue Jun 05 16:12:57 2018 +0100
+++ b/test/hotspot/jtreg/vmTestbase/metaspace/stressHierarchy/stressHierarchy005/TestDescription.java	Tue Jun 05 17:14:49 2018 +0100
@@ -28,6 +28,7 @@
  * @summary converted from VM Testbase metaspace/stressHierarchy/stressHierarchy005.
  * VM Testbase keywords: [nonconcurrent, javac, no_cds]
  *
+ * @requires vm.opt.final.ClassUnloading
  * @library /vmTestbase /test/lib
  * @run driver jdk.test.lib.FileInstaller . .
  * @build sun.hotspot.WhiteBox
@@ -44,4 +45,3 @@
  *      -maxLevelSize 100
  *      -hierarchyType MIXED
  */
-
--- a/test/hotspot/jtreg/vmTestbase/metaspace/stressHierarchy/stressHierarchy006/TestDescription.java	Tue Jun 05 16:12:57 2018 +0100
+++ b/test/hotspot/jtreg/vmTestbase/metaspace/stressHierarchy/stressHierarchy006/TestDescription.java	Tue Jun 05 17:14:49 2018 +0100
@@ -28,6 +28,7 @@
  * @summary converted from VM Testbase metaspace/stressHierarchy/stressHierarchy006.
  * VM Testbase keywords: [nonconcurrent, javac, no_cds]
  *
+ * @requires vm.opt.final.ClassUnloading
  * @library /vmTestbase /test/lib
  * @run driver jdk.test.lib.FileInstaller . .
  * @build sun.hotspot.WhiteBox
@@ -44,4 +45,3 @@
  *      -maxLevelSize 100
  *      -hierarchyType MIXED
  */
-
--- a/test/hotspot/jtreg/vmTestbase/metaspace/stressHierarchy/stressHierarchy007/TestDescription.java	Tue Jun 05 16:12:57 2018 +0100
+++ b/test/hotspot/jtreg/vmTestbase/metaspace/stressHierarchy/stressHierarchy007/TestDescription.java	Tue Jun 05 17:14:49 2018 +0100
@@ -28,6 +28,7 @@
  * @summary converted from VM Testbase metaspace/stressHierarchy/stressHierarchy007.
  * VM Testbase keywords: [nonconcurrent, javac, no_cds]
  *
+ * @requires vm.opt.final.ClassUnloading
  * @library /vmTestbase /test/lib
  * @run driver jdk.test.lib.FileInstaller . .
  * @build sun.hotspot.WhiteBox
@@ -48,4 +49,3 @@
  *      -hierarchyType CLASSES
  *      -triggerUnloadingByFillingMetaspace
  */
-
--- a/test/hotspot/jtreg/vmTestbase/metaspace/stressHierarchy/stressHierarchy008/TestDescription.java	Tue Jun 05 16:12:57 2018 +0100
+++ b/test/hotspot/jtreg/vmTestbase/metaspace/stressHierarchy/stressHierarchy008/TestDescription.java	Tue Jun 05 17:14:49 2018 +0100
@@ -28,6 +28,7 @@
  * @summary converted from VM Testbase metaspace/stressHierarchy/stressHierarchy008.
  * VM Testbase keywords: [nonconcurrent, javac, no_cds]
  *
+ * @requires vm.opt.final.ClassUnloading
  * @library /vmTestbase /test/lib
  * @run driver jdk.test.lib.FileInstaller . .
  * @build sun.hotspot.WhiteBox
@@ -48,4 +49,3 @@
  *      -hierarchyType CLASSES
  *      -triggerUnloadingByFillingMetaspace
  */
-
--- a/test/hotspot/jtreg/vmTestbase/metaspace/stressHierarchy/stressHierarchy009/TestDescription.java	Tue Jun 05 16:12:57 2018 +0100
+++ b/test/hotspot/jtreg/vmTestbase/metaspace/stressHierarchy/stressHierarchy009/TestDescription.java	Tue Jun 05 17:14:49 2018 +0100
@@ -28,6 +28,7 @@
  * @summary converted from VM Testbase metaspace/stressHierarchy/stressHierarchy009.
  * VM Testbase keywords: [nonconcurrent, javac, no_cds]
  *
+ * @requires vm.opt.final.ClassUnloading
  * @library /vmTestbase /test/lib
  * @run driver jdk.test.lib.FileInstaller . .
  * @build sun.hotspot.WhiteBox
@@ -48,4 +49,3 @@
  *      -hierarchyType INTERFACES
  *      -triggerUnloadingByFillingMetaspace
  */
-
--- a/test/hotspot/jtreg/vmTestbase/metaspace/stressHierarchy/stressHierarchy010/TestDescription.java	Tue Jun 05 16:12:57 2018 +0100
+++ b/test/hotspot/jtreg/vmTestbase/metaspace/stressHierarchy/stressHierarchy010/TestDescription.java	Tue Jun 05 17:14:49 2018 +0100
@@ -28,6 +28,7 @@
  * @summary converted from VM Testbase metaspace/stressHierarchy/stressHierarchy010.
  * VM Testbase keywords: [nonconcurrent, javac, no_cds]
  *
+ * @requires vm.opt.final.ClassUnloading
  * @library /vmTestbase /test/lib
  * @run driver jdk.test.lib.FileInstaller . .
  * @build sun.hotspot.WhiteBox
@@ -48,4 +49,3 @@
  *      -hierarchyType INTERFACES
  *      -triggerUnloadingByFillingMetaspace
  */
-
--- a/test/hotspot/jtreg/vmTestbase/metaspace/stressHierarchy/stressHierarchy011/TestDescription.java	Tue Jun 05 16:12:57 2018 +0100
+++ b/test/hotspot/jtreg/vmTestbase/metaspace/stressHierarchy/stressHierarchy011/TestDescription.java	Tue Jun 05 17:14:49 2018 +0100
@@ -28,6 +28,7 @@
  * @summary converted from VM Testbase metaspace/stressHierarchy/stressHierarchy011.
  * VM Testbase keywords: [nonconcurrent, javac, no_cds]
  *
+ * @requires vm.opt.final.ClassUnloading
  * @library /vmTestbase /test/lib
  * @run driver jdk.test.lib.FileInstaller . .
  * @build sun.hotspot.WhiteBox
@@ -48,4 +49,3 @@
  *      -hierarchyType MIXED
  *      -triggerUnloadingByFillingMetaspace
  */
-
--- a/test/hotspot/jtreg/vmTestbase/metaspace/stressHierarchy/stressHierarchy012/TestDescription.java	Tue Jun 05 16:12:57 2018 +0100
+++ b/test/hotspot/jtreg/vmTestbase/metaspace/stressHierarchy/stressHierarchy012/TestDescription.java	Tue Jun 05 17:14:49 2018 +0100
@@ -28,6 +28,7 @@
  * @summary converted from VM Testbase metaspace/stressHierarchy/stressHierarchy012.
  * VM Testbase keywords: [nonconcurrent, javac, no_cds]
  *
+ * @requires vm.opt.final.ClassUnloading
  * @library /vmTestbase /test/lib
  * @run driver jdk.test.lib.FileInstaller . .
  * @build sun.hotspot.WhiteBox
@@ -48,4 +49,3 @@
  *      -hierarchyType MIXED
  *      -triggerUnloadingByFillingMetaspace
  */
-
--- a/test/hotspot/jtreg/vmTestbase/metaspace/stressHierarchy/stressHierarchy013/TestDescription.java	Tue Jun 05 16:12:57 2018 +0100
+++ b/test/hotspot/jtreg/vmTestbase/metaspace/stressHierarchy/stressHierarchy013/TestDescription.java	Tue Jun 05 17:14:49 2018 +0100
@@ -28,6 +28,7 @@
  * @summary converted from VM Testbase metaspace/stressHierarchy/stressHierarchy013.
  * VM Testbase keywords: [nonconcurrent, javac, no_cds]
  *
+ * @requires vm.opt.final.ClassUnloading
  * @library /vmTestbase /test/lib
  * @run driver jdk.test.lib.FileInstaller . .
  * @build sun.hotspot.WhiteBox
@@ -44,4 +45,3 @@
  *      -maxLevelSize 100
  *      -hierarchyType CLASSES
  */
-
--- a/test/hotspot/jtreg/vmTestbase/metaspace/stressHierarchy/stressHierarchy014/TestDescription.java	Tue Jun 05 16:12:57 2018 +0100
+++ b/test/hotspot/jtreg/vmTestbase/metaspace/stressHierarchy/stressHierarchy014/TestDescription.java	Tue Jun 05 17:14:49 2018 +0100
@@ -28,6 +28,7 @@
  * @summary converted from VM Testbase metaspace/stressHierarchy/stressHierarchy014.
  * VM Testbase keywords: [nonconcurrent, javac, no_cds]
  *
+ * @requires vm.opt.final.ClassUnloading
  * @library /vmTestbase /test/lib
  * @run driver jdk.test.lib.FileInstaller . .
  * @build sun.hotspot.WhiteBox
@@ -44,4 +45,3 @@
  *      -maxLevelSize 100
  *      -hierarchyType INTERFACES
  */
-
--- a/test/hotspot/jtreg/vmTestbase/metaspace/stressHierarchy/stressHierarchy015/TestDescription.java	Tue Jun 05 16:12:57 2018 +0100
+++ b/test/hotspot/jtreg/vmTestbase/metaspace/stressHierarchy/stressHierarchy015/TestDescription.java	Tue Jun 05 17:14:49 2018 +0100
@@ -28,6 +28,7 @@
  * @summary converted from VM Testbase metaspace/stressHierarchy/stressHierarchy015.
  * VM Testbase keywords: [nonconcurrent, javac, no_cds]
  *
+ * @requires vm.opt.final.ClassUnloading
  * @library /vmTestbase /test/lib
  * @run driver jdk.test.lib.FileInstaller . .
  * @build sun.hotspot.WhiteBox
@@ -44,4 +45,3 @@
  *      -maxLevelSize 100
  *      -hierarchyType MIXED
  */
-
--- a/test/hotspot/jtreg/vmTestbase/nsk/jdi/ObjectReference/disableCollection/disablecollection002/TestDescription.java	Tue Jun 05 16:12:57 2018 +0100
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jdi/ObjectReference/disableCollection/disablecollection002/TestDescription.java	Tue Jun 05 17:14:49 2018 +0100
@@ -83,6 +83,6 @@
  *      -waittime=5
  *      -debugee.vmkind=java
  *      -transport.address=dynamic
- *      "-debugee.vmkeys=-Xmx128M ${test.vm.opts} ${test.java.opts}"
+ *      "-debugee.vmkeys=-Xmx256M ${test.vm.opts} ${test.java.opts}"
  */
 
--- a/test/hotspot/jtreg/vmTestbase/nsk/jdi/ObjectReference/referringObjects/referringObjects002/referringObjects002.java	Tue Jun 05 16:12:57 2018 +0100
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jdi/ObjectReference/referringObjects/referringObjects002/referringObjects002.java	Tue Jun 05 17:14:49 2018 +0100
@@ -49,6 +49,7 @@
  *                 - enable collection of class object using ObjectReference.enableCollection
  *                 - check class object was collected
  *
+ * @requires vm.opt.final.ClassUnloading
  * @library /vmTestbase
  *          /test/lib
  * @run driver jdk.test.lib.FileInstaller . .
@@ -62,7 +63,7 @@
  *      -waittime=5
  *      -debugee.vmkind=java
  *      -transport.address=dynamic
- *      "-debugee.vmkeys=-Xmx128M ${test.vm.opts} ${test.java.opts}"
+ *      "-debugee.vmkeys=-Xmx256M ${test.vm.opts} ${test.java.opts}"
  *      -testClassPath ${test.class.path}
  */
 
--- a/test/hotspot/jtreg/vmTestbase/nsk/jdi/ObjectReference/referringObjects/referringObjects003/referringObjects003.java	Tue Jun 05 16:12:57 2018 +0100
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jdi/ObjectReference/referringObjects/referringObjects003/referringObjects003.java	Tue Jun 05 17:14:49 2018 +0100
@@ -64,7 +64,7 @@
  *      -waittime=5
  *      -debugee.vmkind=java
  *      -transport.address=dynamic
- *      "-debugee.vmkeys=-Xmx128M ${test.vm.opts} ${test.java.opts}"
+ *      "-debugee.vmkeys=-Xmx256M ${test.vm.opts} ${test.java.opts}"
  */
 
 package nsk.jdi.ObjectReference.referringObjects.referringObjects003;
--- a/test/hotspot/jtreg/vmTestbase/nsk/jdi/ReferenceType/instances/instances001/instances001.java	Tue Jun 05 16:12:57 2018 +0100
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jdi/ReferenceType/instances/instances001/instances001.java	Tue Jun 05 17:14:49 2018 +0100
@@ -66,7 +66,7 @@
  *      -waittime=5
  *      -debugee.vmkind=java
  *      -transport.address=dynamic
- *      "-debugee.vmkeys=-Xmx128M ${test.vm.opts} ${test.java.opts}"
+ *      "-debugee.vmkeys=-Xmx256M ${test.vm.opts} ${test.java.opts}"
  */
 
 package nsk.jdi.ReferenceType.instances.instances001;
--- a/test/hotspot/jtreg/vmTestbase/nsk/jdi/VMOutOfMemoryException/VMOutOfMemoryException001/VMOutOfMemoryException001.java	Tue Jun 05 16:12:57 2018 +0100
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jdi/VMOutOfMemoryException/VMOutOfMemoryException001/VMOutOfMemoryException001.java	Tue Jun 05 17:14:49 2018 +0100
@@ -46,7 +46,7 @@
  *      -waittime=5
  *      -debugee.vmkind=java
  *      -transport.address=dynamic
- *      "-debugee.vmkeys=-Xmx128M ${test.vm.opts} ${test.java.opts}"
+ *      "-debugee.vmkeys=-Xmx256M ${test.vm.opts} ${test.java.opts}"
  */
 
 package nsk.jdi.VMOutOfMemoryException.VMOutOfMemoryException001;
--- a/test/hotspot/jtreg/vmTestbase/nsk/jdi/VirtualMachine/instanceCounts/instancecounts002/TestDescription.java	Tue Jun 05 16:12:57 2018 +0100
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jdi/VirtualMachine/instanceCounts/instancecounts002/TestDescription.java	Tue Jun 05 17:14:49 2018 +0100
@@ -56,7 +56,7 @@
  *      -waittime=5
  *      -debugee.vmkind=java
  *      -transport.address=dynamic
- *      "-debugee.vmkeys=-Xmx128M ${test.vm.opts} ${test.java.opts}"
+ *      "-debugee.vmkeys=-Xmx256M ${test.vm.opts} ${test.java.opts}"
  *      -forceGC
  */
 
--- a/test/hotspot/jtreg/vmTestbase/nsk/jdi/VirtualMachine/instanceCounts/instancecounts003/instancecounts003.java	Tue Jun 05 16:12:57 2018 +0100
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jdi/VirtualMachine/instanceCounts/instancecounts003/instancecounts003.java	Tue Jun 05 17:14:49 2018 +0100
@@ -41,6 +41,7 @@
  *         com.sun.jdi.ObjectCollectedException or com.sun.jdi.ClassNotLoadedException
  *         exception is thrown.
  *
+ * @requires vm.opt.final.ClassUnloading
  * @library /vmTestbase
  *          /test/lib
  * @run driver jdk.test.lib.FileInstaller . .
@@ -54,7 +55,7 @@
  *      -waittime=5
  *      -debugee.vmkind=java
  *      -transport.address=dynamic
- *      "-debugee.vmkeys=${test.vm.opts} ${test.java.opts}"
+ *      "-debugee.vmkeys=-Xmx256M ${test.vm.opts} ${test.java.opts}"
  *      -testClassPath ${test.class.path}
  */
 
--- a/test/hotspot/jtreg/vmTestbase/nsk/jdi/VirtualMachine/instanceCounts/instancecounts004/instancecounts004.java	Tue Jun 05 16:12:57 2018 +0100
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jdi/VirtualMachine/instanceCounts/instancecounts004/instancecounts004.java	Tue Jun 05 17:14:49 2018 +0100
@@ -49,7 +49,7 @@
  *      -waittime=5
  *      -debugee.vmkind=java
  *      -transport.address=dynamic
- *      "-debugee.vmkeys=-Xmx128M ${test.vm.opts} ${test.java.opts}"
+ *      "-debugee.vmkeys=-Xmx256M ${test.vm.opts} ${test.java.opts}"
  */
 
 package nsk.jdi.VirtualMachine.instanceCounts.instancecounts004;
--- a/test/hotspot/jtreg/vmTestbase/nsk/jdi/stress/serial/heapwalking001/TestDescription.java	Tue Jun 05 16:12:57 2018 +0100
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jdi/stress/serial/heapwalking001/TestDescription.java	Tue Jun 05 17:14:49 2018 +0100
@@ -58,7 +58,7 @@
  *      -waittime=5
  *      -debugee.vmkind=java
  *      -transport.address=dynamic
- *      "-debugee.vmkeys=-Xmx128M ${test.vm.opts} ${test.java.opts}"
+ *      "-debugee.vmkeys=-Xmx256M ${test.vm.opts} ${test.java.opts}"
  *      -testClassPath ${test.class.path}
  *      -configFile ./heapwalking001.tests
  */
--- a/test/hotspot/jtreg/vmTestbase/nsk/jdi/stress/serial/heapwalking002/TestDescription.java	Tue Jun 05 16:12:57 2018 +0100
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jdi/stress/serial/heapwalking002/TestDescription.java	Tue Jun 05 17:14:49 2018 +0100
@@ -60,7 +60,7 @@
  *      -waittime=5
  *      -debugee.vmkind=java
  *      -transport.address=dynamic
- *      "-debugee.vmkeys=-Xmx128M ${test.vm.opts} ${test.java.opts}"
+ *      "-debugee.vmkeys=-Xmx256M ${test.vm.opts} ${test.java.opts}"
  *      -testClassPath ${test.class.path}
  *      -configFile ./heapwalking002.tests
  *      -testWorkDir .
--- a/test/hotspot/jtreg/vmTestbase/nsk/jdi/stress/serial/mixed001/TestDescription.java	Tue Jun 05 16:12:57 2018 +0100
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jdi/stress/serial/mixed001/TestDescription.java	Tue Jun 05 17:14:49 2018 +0100
@@ -68,7 +68,7 @@
  *      -waittime=5
  *      -debugee.vmkind=java
  *      -transport.address=dynamic
- *      "-debugee.vmkeys=-Xmx128M ${test.vm.opts} ${test.java.opts}"
+ *      "-debugee.vmkeys=-Xmx256M ${test.vm.opts} ${test.java.opts}"
  *      -testClassPath ${test.class.path}
  *      -configFile ./mixed001.tests
  */
--- a/test/hotspot/jtreg/vmTestbase/nsk/jdi/stress/serial/mixed002/TestDescription.java	Tue Jun 05 16:12:57 2018 +0100
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jdi/stress/serial/mixed002/TestDescription.java	Tue Jun 05 17:14:49 2018 +0100
@@ -66,7 +66,7 @@
  *      -waittime=5
  *      -debugee.vmkind=java
  *      -transport.address=dynamic
- *      "-debugee.vmkeys=-Xmx128M ${test.vm.opts} ${test.java.opts}"
+ *      "-debugee.vmkeys=-Xmx256M ${test.vm.opts} ${test.java.opts}"
  *      -testClassPath ${test.class.path}
  *      -configFile ./mixed002.tests
  *      -testWorkDir .
--- a/test/hotspot/jtreg/vmTestbase/nsk/jdwp/ObjectReference/ReferringObjects/referringObjects001/referringObjects001.java	Tue Jun 05 16:12:57 2018 +0100
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jdwp/ObjectReference/ReferringObjects/referringObjects001/referringObjects001.java	Tue Jun 05 17:14:49 2018 +0100
@@ -77,7 +77,7 @@
  *      -waittime=5
  *      -debugee.vmkind=java
  *      -transport.address=dynamic
- *      -debugee.vmkeys="-Xmx128M ${test.vm.opts} ${test.java.opts}"
+ *      -debugee.vmkeys="-Xmx256M ${test.vm.opts} ${test.java.opts}"
  */
 
 package nsk.jdwp.ObjectReference.ReferringObjects.referringObjects001;
--- a/test/hotspot/jtreg/vmTestbase/vm/mlvm/meth/func/regression/b7127687/TestDescription.java	Tue Jun 05 16:12:57 2018 +0100
+++ b/test/hotspot/jtreg/vmTestbase/vm/mlvm/meth/func/regression/b7127687/TestDescription.java	Tue Jun 05 17:14:49 2018 +0100
@@ -45,6 +45,5 @@
  * @build vm.mlvm.mixed.func.regression.b7127687.Test
  * @run driver vm.mlvm.share.IndifiedClassesBuilder
  *
- * @run main/othervm -Xmx64m vm.mlvm.mixed.func.regression.b7127687.Test
+ * @run main/othervm -Xmx128m vm.mlvm.mixed.func.regression.b7127687.Test
  */
-
--- a/test/jdk/java/lang/management/MemoryMXBean/MemoryTest.java	Tue Jun 05 16:12:57 2018 +0100
+++ b/test/jdk/java/lang/management/MemoryMXBean/MemoryTest.java	Tue Jun 05 17:14:49 2018 +0100
@@ -29,7 +29,7 @@
  * @author  Mandy Chung
  *
  * @modules jdk.management
- * @run main MemoryTest 2
+ * @run main MemoryTest 2 3
  */
 
 /*
@@ -65,17 +65,24 @@
     // - Code cache (between one and three depending on the -XX:SegmentedCodeCache option)
     // - Metaspace
     // - Compressed Class Space (if compressed class pointers are used)
-    private static int[] expectedMinNumPools = {3, 2};
-    private static int[] expectedMaxNumPools = {3, 5};
-    private static int expectedNumGCMgrs = 2;
-    private static int expectedNumMgrs = expectedNumGCMgrs + 2;
+
+    private static int[] expectedMinNumPools = new int[2];
+    private static int[] expectedMaxNumPools = new int[2];
+    private static int expectedNumGCMgrs;
+    private static int expectedNumMgrs;
     private static String[] types = { "heap", "non-heap" };
 
     public static void main(String args[]) throws Exception {
-        Integer value = new Integer(args[0]);
-        expectedNumGCMgrs = value.intValue();
+        expectedNumGCMgrs = Integer.valueOf(args[0]);
         expectedNumMgrs = expectedNumGCMgrs + 2;
 
+        int expectedNumPools = Integer.valueOf(args[1]);
+        expectedMinNumPools[HEAP] = expectedNumPools;
+        expectedMaxNumPools[HEAP] = expectedNumPools;
+
+        expectedMinNumPools[NONHEAP] = 2;
+        expectedMaxNumPools[NONHEAP] = 5;
+
         checkMemoryPools();
         checkMemoryManagers();
         if (testFailed)
--- a/test/jdk/java/lang/management/MemoryMXBean/MemoryTestAllGC.sh	Tue Jun 05 16:12:57 2018 +0100
+++ b/test/jdk/java/lang/management/MemoryMXBean/MemoryTestAllGC.sh	Tue Jun 05 17:14:49 2018 +0100
@@ -49,10 +49,10 @@
 }
 
 # Test MemoryTest with default collector
-runOne MemoryTest 2
+runOne MemoryTest 2 3
 
 # Test MemoryTest with parallel scavenger collector
-runOne -XX:+UseParallelGC MemoryTest 2
+runOne -XX:+UseParallelGC MemoryTest 2 3
 
 
 exit 0
--- a/test/jdk/javax/management/Introspector/ClassLeakTest.java	Tue Jun 05 16:12:57 2018 +0100
+++ b/test/jdk/javax/management/Introspector/ClassLeakTest.java	Tue Jun 05 17:14:49 2018 +0100
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2003, 2015, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2003, 2018, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -25,6 +25,7 @@
  * @test
  * @bug 4909536
  * @summary Ensure that the Introspector does not retain refs to classes
+ * @requires vm.opt.final.ClassUnloading
  * @author Eamonn McManus
  *
  * @run clean ClassLeakTest
--- a/test/jdk/javax/management/mxbean/LeakTest.java	Tue Jun 05 16:12:57 2018 +0100
+++ b/test/jdk/javax/management/mxbean/LeakTest.java	Tue Jun 05 17:14:49 2018 +0100
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2006, 2015, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2006, 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
@@ -24,6 +24,7 @@
 /* @test
  * @bug 6482247
  * @summary Test that creating MXBeans does not introduce memory leaks.
+ * @requires vm.opt.final.ClassUnloading
  * @author Eamonn McManus
  *
  * @run build LeakTest RandomMXBeanTest MerlinMXBean TigerMXBean
--- a/test/jdk/javax/management/mxbean/MXBeanLoadingTest1.java	Tue Jun 05 16:12:57 2018 +0100
+++ b/test/jdk/javax/management/mxbean/MXBeanLoadingTest1.java	Tue Jun 05 17:14:49 2018 +0100
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2005, 2016, 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
@@ -25,6 +25,7 @@
  * @test
  * @bug 8058865
  * @summary Checks correct collection of MXBean's class after unregistration
+ * @requires vm.opt.final.ClassUnloading
  * @author Olivier Lagneau
  *
  * @library /lib/testlibrary