Merge
authortschatzl
Wed, 24 Jun 2015 11:55:18 +0200
changeset 31393 3c910fd51238
parent 31391 dbef845a80ba (diff)
parent 31392 863f78743771 (current diff)
child 31396 c8e4926f1d2c
child 31399 167037a29ab4
Merge
--- a/hotspot/agent/src/share/classes/sun/jvm/hotspot/runtime/Frame.java	Wed Jun 24 09:42:45 2015 +0200
+++ b/hotspot/agent/src/share/classes/sun/jvm/hotspot/runtime/Frame.java	Wed Jun 24 11:55:18 2015 +0200
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2000, 2012, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -357,12 +357,6 @@
   // FIXME: avoiding implementing this for now if possible
   //  public void interpreter_frame_set_monitor_end(BasicObjectLock* value);
   //  public void interpreter_frame_verify_monitor(BasicObjectLock* value) const;
-  //
-  // Tells whether the current interpreter_frame frame pointer
-  // corresponds to the old compiled/deoptimized fp
-  // The receiver used to be a top level frame
-  // public boolean interpreter_frame_equals_unpacked_fp(intptr_t* fp);
-
   //--------------------------------------------------------------------------------
   // Method and constant pool cache:
   //
--- a/hotspot/src/cpu/aarch64/vm/frame_aarch64.cpp	Wed Jun 24 09:42:45 2015 +0200
+++ b/hotspot/src/cpu/aarch64/vm/frame_aarch64.cpp	Wed Jun 24 11:55:18 2015 +0200
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1997, 2012, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2015, Oracle and/or its affiliates. All rights reserved.
  * Copyright (c) 2014, Red Hat Inc. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
@@ -526,16 +526,6 @@
   return frame(sender_sp(), link(), sender_pc());
 }
 
-bool frame::interpreter_frame_equals_unpacked_fp(intptr_t* fp) {
-  assert(is_interpreted_frame(), "must be interpreter frame");
-  Method* method = interpreter_frame_method();
-  // When unpacking an optimized frame the frame pointer is
-  // adjusted with:
-  int diff = (method->max_locals() - method->size_of_parameters()) *
-             Interpreter::stackElementWords;
-  return _fp == (fp - diff);
-}
-
 bool frame::is_interpreted_frame_valid(JavaThread* thread) const {
 // QQQ
 #ifdef CC_INTERP
--- a/hotspot/src/cpu/sparc/vm/frame_sparc.cpp	Wed Jun 24 09:42:45 2015 +0200
+++ b/hotspot/src/cpu/sparc/vm/frame_sparc.cpp	Wed Jun 24 11:55:18 2015 +0200
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1997, 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -599,12 +599,6 @@
   return next_younger_sp_or_null(valid_sp, sp) != NULL;
 }
 
-
-bool frame::interpreter_frame_equals_unpacked_fp(intptr_t* fp) {
-  assert(is_interpreted_frame(), "must be interpreter frame");
-  return this->fp() == fp;
-}
-
 bool frame::is_interpreted_frame_valid(JavaThread* thread) const {
 #ifdef CC_INTERP
   // Is there anything to do?
--- a/hotspot/src/cpu/x86/vm/frame_x86.cpp	Wed Jun 24 09:42:45 2015 +0200
+++ b/hotspot/src/cpu/x86/vm/frame_x86.cpp	Wed Jun 24 11:55:18 2015 +0200
@@ -524,17 +524,6 @@
   return frame(sender_sp(), link(), sender_pc());
 }
 
-
-bool frame::interpreter_frame_equals_unpacked_fp(intptr_t* fp) {
-  assert(is_interpreted_frame(), "must be interpreter frame");
-  Method* method = interpreter_frame_method();
-  // When unpacking an optimized frame the frame pointer is
-  // adjusted with:
-  int diff = (method->max_locals() - method->size_of_parameters()) *
-             Interpreter::stackElementWords;
-  return _fp == (fp - diff);
-}
-
 bool frame::is_interpreted_frame_valid(JavaThread* thread) const {
 // QQQ
 #ifdef CC_INTERP
--- a/hotspot/src/share/vm/interpreter/templateInterpreter.hpp	Wed Jun 24 09:42:45 2015 +0200
+++ b/hotspot/src/share/vm/interpreter/templateInterpreter.hpp	Wed Jun 24 11:55:18 2015 +0200
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1997, 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -102,7 +102,6 @@
   static address    _throw_ArrayStoreException_entry;
   static address    _throw_ArithmeticException_entry;
   static address    _throw_ClassCastException_entry;
-  static address    _throw_WrongMethodType_entry;
   static address    _throw_NullPointerException_entry;
   static address    _throw_exception_entry;
 
@@ -148,7 +147,6 @@
   static address    remove_activation_entry()                   { return _remove_activation_entry; }
   static address    throw_exception_entry()                     { return _throw_exception_entry; }
   static address    throw_ArithmeticException_entry()           { return _throw_ArithmeticException_entry; }
-  static address    throw_WrongMethodType_entry()               { return _throw_WrongMethodType_entry; }
   static address    throw_NullPointerException_entry()          { return _throw_NullPointerException_entry; }
   static address    throw_StackOverflowError_entry()            { return _throw_StackOverflowError_entry; }
 
--- a/hotspot/src/share/vm/runtime/arguments.cpp	Wed Jun 24 09:42:45 2015 +0200
+++ b/hotspot/src/share/vm/runtime/arguments.cpp	Wed Jun 24 11:55:18 2015 +0200
@@ -1535,7 +1535,11 @@
     if (should_auto_select_low_pause_collector()) {
       FLAG_SET_ERGO(bool, UseConcMarkSweepGC, true);
     } else {
+#if defined(JAVASE_EMBEDDED)
       FLAG_SET_ERGO(bool, UseParallelGC, true);
+#else
+      FLAG_SET_ERGO(bool, UseG1GC, true);
+#endif
     }
   } else {
     FLAG_SET_ERGO(bool, UseSerialGC, true);
--- a/hotspot/src/share/vm/runtime/frame.hpp	Wed Jun 24 09:42:45 2015 +0200
+++ b/hotspot/src/share/vm/runtime/frame.hpp	Wed Jun 24 11:55:18 2015 +0200
@@ -307,11 +307,6 @@
 
   void interpreter_frame_verify_monitor(BasicObjectLock* value) const;
 
-  // Tells whether the current interpreter_frame frame pointer
-  // corresponds to the old compiled/deoptimized fp
-  // The receiver used to be a top level frame
-  bool interpreter_frame_equals_unpacked_fp(intptr_t* fp);
-
   // Return/result value from this interpreter frame
   // If the method return type is T_OBJECT or T_ARRAY populates oop_result
   // For other (non-T_VOID) the appropriate field in the jvalue is populated
--- a/hotspot/src/share/vm/runtime/sharedRuntime.cpp	Wed Jun 24 09:42:45 2015 +0200
+++ b/hotspot/src/share/vm/runtime/sharedRuntime.cpp	Wed Jun 24 11:55:18 2015 +0200
@@ -2335,15 +2335,6 @@
   // and a single writer: this could be fixed if it becomes a
   // problem).
 
-  // Get the address of the ic_miss handlers before we grab the
-  // AdapterHandlerLibrary_lock. This fixes bug 6236259 which
-  // was caused by the initialization of the stubs happening
-  // while we held the lock and then notifying jvmti while
-  // holding it. This just forces the initialization to be a little
-  // earlier.
-  address ic_miss = SharedRuntime::get_ic_miss_stub();
-  assert(ic_miss != NULL, "must have handler");
-
   ResourceMark rm;
 
   NOT_PRODUCT(int insts_size);
--- a/hotspot/test/gc/arguments/TestSelectDefaultGC.java	Wed Jun 24 09:42:45 2015 +0200
+++ b/hotspot/test/gc/arguments/TestSelectDefaultGC.java	Wed Jun 24 11:55:18 2015 +0200
@@ -36,11 +36,6 @@
 import java.util.regex.*;
 
 public class TestSelectDefaultGC {
-    public static boolean versionStringContains(OutputAnalyzer output, String pattern) {
-        Matcher matcher = Pattern.compile(pattern, Pattern.MULTILINE).matcher(output.getStderr());
-        return matcher.find();
-    }
-
     public static void assertVMOption(OutputAnalyzer output, String option, boolean value) {
         output.shouldMatch(" " + option + " .*=.* " + value + " ");
     }
@@ -51,14 +46,18 @@
         OutputAnalyzer output = new OutputAnalyzer(pb.start());
         output.shouldHaveExitValue(0);
 
-        boolean isServerVM = versionStringContains(output, "Server VM");
+        boolean isServerVM = Platform.isServer();
+        boolean isEmbeddedVM = Platform.isEmbedded();
 
         // Verify GC selection
-        assertVMOption(output, "UseParallelGC",      isServerVM);
-        assertVMOption(output, "UseParallelOldGC",   isServerVM);
+        // G1 is default for non-embedded server VMs
+        assertVMOption(output, "UseG1GC",            isServerVM && !isEmbeddedVM);
+        // Parallel is default for embedded server VMs
+        assertVMOption(output, "UseParallelGC",      isServerVM && isEmbeddedVM);
+        assertVMOption(output, "UseParallelOldGC",   isServerVM && isEmbeddedVM);
+        // Serial is default for non-server VMs
         assertVMOption(output, "UseSerialGC",        !isServerVM);
         assertVMOption(output, "UseConcMarkSweepGC", false);
-        assertVMOption(output, "UseG1GC",            false);
         assertVMOption(output, "UseParNewGC",        false);
     }
 }