Merge
authorstefank
Wed, 27 Jan 2016 20:45:30 +0100
changeset 35863 7c77f04c578c
parent 35861 fefce85f3923 (diff)
parent 35862 411842d0c882 (current diff)
child 35865 d8e935332e13
Merge
--- a/hotspot/src/share/vm/classfile/verifier.cpp	Mon Jan 18 10:25:41 2016 +0100
+++ b/hotspot/src/share/vm/classfile/verifier.cpp	Wed Jan 27 20:45:30 2016 +0100
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1998, 2015, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1998, 2016, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -651,6 +651,7 @@
   int ex_max = -1;
   // Look through each item on the exception table. Each of the fields must refer
   // to a legal instruction.
+  if (was_recursively_verified()) return;
   verify_exception_handler_table(
     code_length, code_data, ex_min, ex_max, CHECK_VERIFY(this));
 
@@ -737,11 +738,14 @@
       // should be used for this check.  So, do the check here before a possible
       // local is added to the type state.
       if (Bytecodes::is_store_into_local(opcode) && bci >= ex_min && bci < ex_max) {
+        if (was_recursively_verified()) return;
         verify_exception_handler_targets(
           bci, this_uninit, &current_frame, &stackmap_table, CHECK_VERIFY(this));
         verified_exc_handlers = true;
       }
 
+      if (was_recursively_verified()) return;
+
       switch (opcode) {
         case Bytecodes::_nop :
           no_control_flow = false; break;
@@ -1730,6 +1734,7 @@
     assert(!(verified_exc_handlers && this_uninit),
       "Exception handler targets got verified before this_uninit got set");
     if (!verified_exc_handlers && bci >= ex_min && bci < ex_max) {
+      if (was_recursively_verified()) return;
       verify_exception_handler_targets(
         bci, this_uninit, &current_frame, &stackmap_table, CHECK_VERIFY(this));
     }
@@ -1767,6 +1772,9 @@
   return code_data;
 }
 
+// Since this method references the constant pool, call was_recursively_verified()
+// before calling this method to make sure a prior class load did not cause the
+// current class to get verified.
 void ClassVerifier::verify_exception_handler_table(u4 code_length, char* code_data, int& min, int& max, TRAPS) {
   ExceptionTable exhandlers(_method());
   int exlength = exhandlers.length();
@@ -1874,7 +1882,11 @@
   return stackmap_index;
 }
 
-void ClassVerifier::verify_exception_handler_targets(u2 bci, bool this_uninit, StackMapFrame* current_frame,
+// Since this method references the constant pool, call was_recursively_verified()
+// before calling this method to make sure a prior class load did not cause the
+// current class to get verified.
+void ClassVerifier::verify_exception_handler_targets(u2 bci, bool this_uninit,
+                                                     StackMapFrame* current_frame,
                                                      StackMapTable* stackmap_table, TRAPS) {
   constantPoolHandle cp (THREAD, _method->constants());
   ExceptionTable exhandlers(_method());
@@ -1889,6 +1901,7 @@
       if (this_uninit) {  flags |= FLAG_THIS_UNINIT; }
       StackMapFrame* new_frame = current_frame->frame_in_exception_handler(flags);
       if (catch_type_index != 0) {
+        if (was_recursively_verified()) return;
         // We know that this index refers to a subclass of Throwable
         VerificationType catch_type = cp_index_to_type(
           catch_type_index, cp, CHECK_VERIFY(this));
@@ -2269,6 +2282,7 @@
     check_protected: {
       if (_this_type == stack_object_type)
         break; // stack_object_type must be assignable to _current_class_type
+      if (was_recursively_verified()) return;
       Symbol* ref_class_name =
         cp->klass_name_at(cp->klass_ref_index_at(index));
       if (!name_in_supers(ref_class_name, current_class()))
@@ -2531,6 +2545,7 @@
       // Check the exception handler target stackmaps with the locals from the
       // incoming stackmap (before initialize_object() changes them to outgoing
       // state).
+      if (was_recursively_verified()) return;
       verify_exception_handler_targets(bci, true, current_frame,
                                        stackmap_table, CHECK_VERIFY(this));
     } // in_try_block
@@ -2548,6 +2563,7 @@
       return;
     }
     u2 new_class_index = Bytes::get_Java_u2(new_bcp + 1);
+    if (was_recursively_verified()) return;
     verify_cp_class_type(bci, new_class_index, cp, CHECK_VERIFY(this));
 
     // The method must be an <init> method of the indicated class
@@ -2567,6 +2583,7 @@
     VerificationType objectref_type = new_class_type;
     if (name_in_supers(ref_class_type.name(), current_class())) {
       Klass* ref_klass = load_class(ref_class_type.name(), CHECK);
+      if (was_recursively_verified()) return;
       Method* m = InstanceKlass::cast(ref_klass)->uncached_lookup_method(
         vmSymbols::object_initializer_name(),
         cp->signature_ref_at(bcs->get_index_u2()),
@@ -2591,6 +2608,7 @@
     // incoming stackmap (before initialize_object() changes them to outgoing
     // state).
     if (in_try_block) {
+      if (was_recursively_verified()) return;
       verify_exception_handler_targets(bci, *this_uninit, current_frame,
                                        stackmap_table, CHECK_VERIFY(this));
     }
@@ -2791,6 +2809,7 @@
       verify_invoke_init(bcs, index, ref_class_type, current_frame,
         code_length, in_try_block, this_uninit, cp, stackmap_table,
         CHECK_VERIFY(this));
+      if (was_recursively_verified()) return;
     } else {   // other methods
       // Ensures that target class is assignable to method class.
       if (opcode == Bytecodes::_invokespecial) {
@@ -2816,6 +2835,7 @@
         VerificationType stack_object_type =
           current_frame->pop_stack(ref_class_type, CHECK_VERIFY(this));
         if (current_type() != stack_object_type) {
+          if (was_recursively_verified()) return;
           assert(cp->cache() == NULL, "not rewritten yet");
           Symbol* ref_class_name =
             cp->klass_name_at(cp->klass_ref_index_at(index));
@@ -2894,6 +2914,7 @@
   current_frame->pop_stack(
     VerificationType::integer_type(), CHECK_VERIFY(this));
 
+  if (was_recursively_verified()) return;
   VerificationType component_type =
     cp_index_to_type(index, cp, CHECK_VERIFY(this));
   int length;
--- a/hotspot/test/runtime/logging/ClassB.java	Mon Jan 18 10:25:41 2016 +0100
+++ b/hotspot/test/runtime/logging/ClassB.java	Wed Jan 27 20:45:30 2016 +0100
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2015, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2016, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
--- a/hotspot/test/runtime/logging/ClassInitializationTest.java	Mon Jan 18 10:25:41 2016 +0100
+++ b/hotspot/test/runtime/logging/ClassInitializationTest.java	Wed Jan 27 20:45:30 2016 +0100
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2015, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2015, 2016, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -40,7 +40,10 @@
     public static void main(String... args) throws Exception {
 
         // (1)
-        ProcessBuilder pb = ProcessTools.createJavaProcessBuilder("-Xlog:classinit=info", "-Xverify:all", "-Xmx64m", "BadMap50");
+        ProcessBuilder pb = ProcessTools.createJavaProcessBuilder("-Xlog:classinit=info",
+                                                                  "-Xverify:all",
+                                                                  "-Xmx64m",
+                                                                  "BadMap50");
         OutputAnalyzer out = new OutputAnalyzer(pb.start());
         out.shouldContain("Start class verification for:");
         out.shouldContain("End class verification for:");
@@ -50,16 +53,29 @@
 
         // (2)
         if (Platform.isDebugBuild()) {
-          pb = ProcessTools.createJavaProcessBuilder("-Xlog:classinit=info", "-Xverify:all", "-XX:+EagerInitialization", "-Xmx64m", "-version");
-          out = new OutputAnalyzer(pb.start());
-          out.shouldContain("[Initialized").shouldContain("without side effects]");
-          out.shouldHaveExitValue(0);
+            pb = ProcessTools.createJavaProcessBuilder("-Xlog:classinit=info",
+                                                       "-Xverify:all",
+                                                       "-XX:+EagerInitialization",
+                                                       "-Xmx64m",
+                                                       InnerClass.class.getName());
+            out = new OutputAnalyzer(pb.start());
+            out.shouldContain("[Initialized").shouldContain("without side effects]");
+            out.shouldHaveExitValue(0);
         }
         // (3) Ensure that VerboseVerification still triggers appropriate messages.
-        pb = ProcessTools.createJavaProcessBuilder("-XX:+UnlockDiagnosticVMOptions", "-XX:+VerboseVerification", "-Xverify:all", "-Xmx64m", "BadMap50");
+        pb = ProcessTools.createJavaProcessBuilder("-XX:+UnlockDiagnosticVMOptions",
+                                                   "-XX:+VerboseVerification",
+                                                   "-Xverify:all",
+                                                   "-Xmx64m",
+                                                   "BadMap50");
         out = new OutputAnalyzer(pb.start());
         out.shouldContain("End class verification for:");
         out.shouldContain("Verification for BadMap50 failed");
         out.shouldContain("Fail over class verification to old verifier for: BadMap50");
     }
+    public static class InnerClass {
+        public static void main(String[] args) throws Exception {
+            System.out.println("Inner Class");
+        }
+    }
 }
--- a/hotspot/test/runtime/logging/ClassResolutionTest.java	Mon Jan 18 10:25:41 2016 +0100
+++ b/hotspot/test/runtime/logging/ClassResolutionTest.java	Wed Jan 27 20:45:30 2016 +0100
@@ -58,26 +58,28 @@
     public static void main(String... args) throws Exception {
 
         // (1) classresolve should turn on.
-        ProcessBuilder pb = ProcessTools.createJavaProcessBuilder(
-            "-Xlog:classresolve=info", ClassResolutionTestMain.class.getName());
+        ProcessBuilder pb = ProcessTools.createJavaProcessBuilder("-Xlog:classresolve=info",
+                                                                  ClassResolutionTestMain.class.getName());
         OutputAnalyzer o = new OutputAnalyzer(pb.start());
         o.shouldContain("[classresolve] ClassResolutionTest$ClassResolutionTestMain$Thing1Handler ClassResolutionTest$ClassResolutionTestMain$Thing1");
 
         // (2) classresolve should turn off.
-        pb = ProcessTools.createJavaProcessBuilder(
-            "-Xlog", "-Xlog:classresolve=off",  ClassResolutionTestMain.class.getName());
+        pb = ProcessTools.createJavaProcessBuilder("-Xlog",
+                                                   "-Xlog:classresolve=off",
+                                                   ClassResolutionTestMain.class.getName());
         o = new OutputAnalyzer(pb.start());
         o.shouldNotContain("[classresolve]");
 
         // (3) TraceClassResolution should turn on.
-        pb = ProcessTools.createJavaProcessBuilder(
-            "-XX:+TraceClassResolution", ClassResolutionTestMain.class.getName());
+        pb = ProcessTools.createJavaProcessBuilder("-XX:+TraceClassResolution",
+                                                   ClassResolutionTestMain.class.getName());
         o = new OutputAnalyzer(pb.start());
         o.shouldContain("[classresolve] ClassResolutionTest$ClassResolutionTestMain$Thing1Handler ClassResolutionTest$ClassResolutionTestMain$Thing1");
 
         // (4) TraceClassResolution should turn off.
-        pb = ProcessTools.createJavaProcessBuilder(
-            "-Xlog", "-XX:-TraceClassResolution",  ClassResolutionTestMain.class.getName());
+        pb = ProcessTools.createJavaProcessBuilder("-Xlog",
+                                                   "-XX:-TraceClassResolution",
+                                                   ClassResolutionTestMain.class.getName());
         o = new OutputAnalyzer(pb.start());
         o.shouldNotContain("[classresolve]");
 
--- a/hotspot/test/runtime/logging/DefaultMethodsTest.java	Mon Jan 18 10:25:41 2016 +0100
+++ b/hotspot/test/runtime/logging/DefaultMethodsTest.java	Wed Jan 27 20:45:30 2016 +0100
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2015, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2015, 2016, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -26,7 +26,6 @@
  * @bug 8139564
  * @summary defaultmethods=debug should have logging from each of the statements in the code
  * @library /testlibrary
- * @ignore 8146435
  * @modules java.base/sun.misc
  *          java.management
  * @build jdk.test.lib.OutputAnalyzer jdk.test.lib.ProcessTools
@@ -38,8 +37,8 @@
 
 public class DefaultMethodsTest {
     public static void main(String[] args) throws Exception {
-        ProcessBuilder pb = ProcessTools.createJavaProcessBuilder(
-            "-Xlog:defaultmethods=debug", "-version");
+        ProcessBuilder pb = ProcessTools.createJavaProcessBuilder("-Xlog:defaultmethods=debug",
+                                                                  InnerClass.class.getName());
         OutputAnalyzer output = new OutputAnalyzer(pb.start());
         output.shouldContain("Slots that need filling:");
         output.shouldContain("requires default method processing");
@@ -51,5 +50,11 @@
         output.shouldContain("default methods");
         output.shouldHaveExitValue(0);
     }
+
+    public static class InnerClass {
+        public static void main(String[] args) throws Exception {
+            System.out.println("Inner Class");
+        }
+    }
 }
 
--- a/hotspot/test/runtime/logging/ExceptionsTest.java	Mon Jan 18 10:25:41 2016 +0100
+++ b/hotspot/test/runtime/logging/ExceptionsTest.java	Wed Jan 27 20:45:30 2016 +0100
@@ -24,7 +24,7 @@
 /*
  * @test
  * @bug 8141211
- * @summary exceptions=info output should have an exception message for both interpreter and compiled methods
+ * @summary exceptions=info output should have an exception message for interpreter methods
  * @library /testlibrary
  * @modules java.base/sun.misc
  *          java.management
@@ -40,8 +40,6 @@
         OutputAnalyzer output = new OutputAnalyzer(pb.start());
         output.shouldContain("<a 'java/lang/RuntimeException': Test exception 1 for logging>");
         output.shouldContain(" thrown in interpreter method ");
-        output.shouldContain(" thrown in compiled method ");
-        output.shouldContain("Exception 2 caught.");
         output.shouldHaveExitValue(0);
     }
 
@@ -52,47 +50,30 @@
     }
 
     public static void main(String[] args) throws Exception {
-        ProcessBuilder pb = ProcessTools.createJavaProcessBuilder(
-            "-Xlog:exceptions=info", "-Xcomp",
-            "-XX:CompileCommand=compileonly,ExceptionsTest$InternalClass::compileMe",
-            InternalClass.class.getName());
+        ProcessBuilder pb = ProcessTools.createJavaProcessBuilder("-Xlog:exceptions=info",
+                                                                  InternalClass.class.getName());
         analyzeOutputOn(pb);
 
-        pb = ProcessTools.createJavaProcessBuilder(
-            "-XX:+TraceExceptions", "-Xcomp",
-            "-XX:CompileCommand=compileonly,ExceptionsTest$InternalClass::compileMe",
-            InternalClass.class.getName());
+        pb = ProcessTools.createJavaProcessBuilder("-XX:+TraceExceptions",
+                                                   InternalClass.class.getName());
         analyzeOutputOn(pb);
 
-        pb = ProcessTools.createJavaProcessBuilder(
-            "-Xlog:exceptions=off", "-Xcomp",
-            "-XX:CompileCommand=compileonly,ExceptionsTest$InternalClass::compileMe",
-            InternalClass.class.getName());
+        pb = ProcessTools.createJavaProcessBuilder("-Xlog:exceptions=off",
+                                                   InternalClass.class.getName());
         analyzeOutputOff(pb);
 
-        pb = ProcessTools.createJavaProcessBuilder(
-            "-XX:-TraceExceptions", "-Xcomp",
-            "-XX:CompileCommand=compileonly,ExceptionsTest$InternalClass::compileMe",
-            InternalClass.class.getName());
+        pb = ProcessTools.createJavaProcessBuilder("-XX:-TraceExceptions",
+                                                   InternalClass.class.getName());
         analyzeOutputOff(pb);
     }
 
     public static class InternalClass {
-        public static void compileMe() throws Exception {
-            try {
-                throw new RuntimeException("Test exception 2 for logging");
-            } catch (Exception e) {
-                System.out.println("Exception 2 caught.");
-            }
-        }
-
         public static void main(String[] args) throws Exception {
             try {
                 throw new RuntimeException("Test exception 1 for logging");
             } catch (Exception e) {
                 System.out.println("Exception 1 caught.");
             }
-            compileMe();
         }
     }
 }
--- a/hotspot/test/runtime/logging/ItablesTest.java	Mon Jan 18 10:25:41 2016 +0100
+++ b/hotspot/test/runtime/logging/ItablesTest.java	Wed Jan 27 20:45:30 2016 +0100
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2015, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2016, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -27,8 +27,8 @@
  * @summary itables=trace should have logging from each of the statements
  *          in the code
  * @library /testlibrary
- * @ignore 8146435
  * @compile ClassB.java
+ *          ItablesVtableTest.java
  * @modules java.base/sun.misc
  *          java.management
  * @run driver ItablesTest
@@ -39,12 +39,10 @@
 public class ItablesTest {
     public static void main(String[] args) throws Exception {
         if (Platform.isDebugBuild()) {
-            ProcessBuilder pb = ProcessTools.createJavaProcessBuilder(
-                "-Xlog:itables=trace", "ClassB");
+            ProcessBuilder pb = ProcessTools.createJavaProcessBuilder("-Xlog:itables=trace", "ClassB");
             OutputAnalyzer output = new OutputAnalyzer(pb.start());
             output.shouldContain(": Initializing itables for ClassB");
             output.shouldContain(": Initializing itable indices for interface ");
-            output.shouldContain("vtable index ");
             output.shouldContain("itable index ");
             output.shouldContain("target: ClassB.Method1()V, method_holder: ClassB target_method flags: public");
             output.shouldContain("invokeinterface resolved method: caller-class");
@@ -53,6 +51,11 @@
             output.shouldContain("invokeinterface selected method: receiver-class");
             output.shouldContain("Resolving: klass: ");
             output.shouldHaveExitValue(0);
+
+            pb = ProcessTools.createJavaProcessBuilder("-Xlog:itables=trace", "ItablesVtableTest");
+            output = new OutputAnalyzer(pb.start());
+            output.shouldContain("vtable index ");
+            output.shouldHaveExitValue(0);
         }
     }
 }
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/hotspot/test/runtime/logging/ItablesVtableTest.java	Wed Jan 27 20:45:30 2016 +0100
@@ -0,0 +1,42 @@
+/*
+ * Copyright (c) 2016, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+interface Interface1 {
+    public void foo();
+    public int hashCode();
+}
+
+public class ItablesVtableTest implements Interface1 {
+    public void foo() {
+        System.out.println("ItablesVtableTest foo");
+    }
+    public int hashCode() {
+        return 55;
+    }
+
+    public static void main(String[] unused) {
+        ItablesVtableTest c = new ItablesVtableTest();
+        c.foo();
+        System.out.println("Interface1 hashCode " + c.hashCode());
+    }
+}
--- a/hotspot/test/runtime/logging/MonitorInflationTest.java	Mon Jan 18 10:25:41 2016 +0100
+++ b/hotspot/test/runtime/logging/MonitorInflationTest.java	Wed Jan 27 20:45:30 2016 +0100
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2015, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2015, 2016, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -51,20 +51,20 @@
     }
 
     public static void main(String[] args) throws Exception {
-        ProcessBuilder pb = ProcessTools.createJavaProcessBuilder(
-            "-Xlog:monitorinflation=debug", InnerClass.class.getName());
+        ProcessBuilder pb = ProcessTools.createJavaProcessBuilder("-Xlog:monitorinflation=debug",
+                                                                  InnerClass.class.getName());
         analyzeOutputOn(pb);
 
-        pb = ProcessTools.createJavaProcessBuilder(
-            "-XX:+TraceMonitorInflation", InnerClass.class.getName());
+        pb = ProcessTools.createJavaProcessBuilder("-XX:+TraceMonitorInflation",
+                                                   InnerClass.class.getName());
         analyzeOutputOn(pb);
 
-        pb = ProcessTools.createJavaProcessBuilder(
-            "-Xlog:monitorinflation=off", InnerClass.class.getName());
+        pb = ProcessTools.createJavaProcessBuilder("-Xlog:monitorinflation=off",
+                                                   InnerClass.class.getName());
         analyzeOutputOff(pb);
 
-        pb = ProcessTools.createJavaProcessBuilder(
-            "-XX:-TraceMonitorInflation", InnerClass.class.getName());
+        pb = ProcessTools.createJavaProcessBuilder("-XX:-TraceMonitorInflation",
+                                                   InnerClass.class.getName());
         analyzeOutputOff(pb);
     }
 
--- a/hotspot/test/runtime/logging/SafepointTest.java	Mon Jan 18 10:25:41 2016 +0100
+++ b/hotspot/test/runtime/logging/SafepointTest.java	Wed Jan 27 20:45:30 2016 +0100
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2015, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2015, 2016, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -38,8 +38,8 @@
 
 public class SafepointTest {
     public static void main(String[] args) throws Exception {
-        ProcessBuilder pb = ProcessTools.createJavaProcessBuilder(
-            "-Xlog:safepoint=trace", InnerClass.class.getName());
+        ProcessBuilder pb = ProcessTools.createJavaProcessBuilder("-Xlog:safepoint=trace",
+                                                                  InnerClass.class.getName());
         OutputAnalyzer output = new OutputAnalyzer(pb.start());
         output.shouldContain("Safepoint synchronization initiated. (");
         output.shouldContain("Entering safepoint region: ");
--- a/hotspot/test/runtime/logging/VMOperationTest.java	Mon Jan 18 10:25:41 2016 +0100
+++ b/hotspot/test/runtime/logging/VMOperationTest.java	Wed Jan 27 20:45:30 2016 +0100
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2015, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2015, 2016, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -38,9 +38,10 @@
 
 public class VMOperationTest {
     public static void main(String[] args) throws Exception {
-        ProcessBuilder pb = ProcessTools.createJavaProcessBuilder(
-            "-Xlog:vmoperation=debug", "-Xmx64m", "-Xms64m",
-            InternalClass.class.getName());
+        ProcessBuilder pb = ProcessTools.createJavaProcessBuilder("-Xlog:vmoperation=debug",
+                                                                  "-Xmx64m",
+                                                                  "-Xms64m",
+                                                                  InternalClass.class.getName());
         OutputAnalyzer output = new OutputAnalyzer(pb.start());
         output.shouldContain("VM_Operation (");
         output.shouldHaveExitValue(0);
--- a/hotspot/test/runtime/logging/VtablesTest.java	Mon Jan 18 10:25:41 2016 +0100
+++ b/hotspot/test/runtime/logging/VtablesTest.java	Wed Jan 27 20:45:30 2016 +0100
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2015, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2016, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -41,8 +41,7 @@
 public class VtablesTest {
     public static void main(String[] args) throws Exception {
         if (Platform.isDebugBuild()) {
-            ProcessBuilder pb = ProcessTools.createJavaProcessBuilder(
-                "-Xlog:vtables=trace", "ClassB");
+            ProcessBuilder pb = ProcessTools.createJavaProcessBuilder("-Xlog:vtables=trace", "ClassB");
             OutputAnalyzer output = new OutputAnalyzer(pb.start());
             output.shouldContain("copy vtable from ClassA to ClassB");
             output.shouldContain("Initializing: ClassB");
--- a/hotspot/test/serviceability/dcmd/gc/HeapDumpAllTest.java	Mon Jan 18 10:25:41 2016 +0100
+++ b/hotspot/test/serviceability/dcmd/gc/HeapDumpAllTest.java	Wed Jan 27 20:45:30 2016 +0100
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2015, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2015, 2016, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -33,7 +33,7 @@
  * @build jdk.test.lib.*
  * @build jdk.test.lib.dcmd.*
  * @build jdk.test.lib.hprof.*
- * @build jdk.test.lib.hprof.module.*
+ * @build jdk.test.lib.hprof.model.*
  * @build jdk.test.lib.hprof.parser.*
  * @build jdk.test.lib.hprof.utils.*
  * @build HeapDumpTest
--- a/hotspot/test/serviceability/dcmd/gc/HeapDumpTest.java	Mon Jan 18 10:25:41 2016 +0100
+++ b/hotspot/test/serviceability/dcmd/gc/HeapDumpTest.java	Wed Jan 27 20:45:30 2016 +0100
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2015, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2015, 2016, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -49,7 +49,7 @@
  * @build jdk.test.lib.*
  * @build jdk.test.lib.dcmd.*
  * @build jdk.test.lib.hprof.*
- * @build jdk.test.lib.hprof.module.*
+ * @build jdk.test.lib.hprof.model.*
  * @build jdk.test.lib.hprof.parser.*
  * @build jdk.test.lib.hprof.utils.*
  * @run testng HeapDumpTest