changeset 7201:57a14c3927eb hs25.60-b10

Merge
author amurillo
date Fri, 03 Apr 2015 09:58:31 -0700
parents e7420fd43e50 db9fdbb055c4
children 8e4518dc2b38
files
diffstat 8 files changed, 52 insertions(+), 28 deletions(-) [+]
line wrap: on
line diff
--- a/agent/src/share/classes/com/sun/java/swing/action/ActionManager.java	Wed Apr 01 11:00:08 2015 -0700
+++ b/agent/src/share/classes/com/sun/java/swing/action/ActionManager.java	Fri Apr 03 09:58:31 2015 -0700
@@ -46,6 +46,11 @@
         return manager;
     }
 
+    protected static void setInstance(ActionManager m)
+    {
+        manager = m;
+    }
+
     protected abstract void addActions();
 
     protected void addAction(String cmdname, Action action)
@@ -90,6 +95,6 @@
 
     private HashMap actions;
     private static ActionUtilities utilities = new ActionUtilities();
-    protected static ActionManager manager;
+    private static ActionManager manager;
 
 }
--- a/agent/src/share/classes/sun/jvm/hotspot/ui/action/HSDBActionManager.java	Wed Apr 01 11:00:08 2015 -0700
+++ b/agent/src/share/classes/sun/jvm/hotspot/ui/action/HSDBActionManager.java	Fri Apr 03 09:58:31 2015 -0700
@@ -32,10 +32,12 @@
 public class HSDBActionManager extends ActionManager {
 
     public static ActionManager getInstance() {
-        if (manager == null) {
-            manager = new HSDBActionManager();
+        ActionManager m = ActionManager.getInstance();
+        if (m == null) {
+            m = new HSDBActionManager();
+            ActionManager.setInstance(m);
         }
-        return manager;
+        return m;
     }
 
     protected void addActions() {
--- a/make/hotspot_version	Wed Apr 01 11:00:08 2015 -0700
+++ b/make/hotspot_version	Fri Apr 03 09:58:31 2015 -0700
@@ -35,7 +35,7 @@
 
 HS_MAJOR_VER=25
 HS_MINOR_VER=60
-HS_BUILD_NUMBER=09
+HS_BUILD_NUMBER=10
 
 JDK_MAJOR_VER=1
 JDK_MINOR_VER=8
--- a/src/cpu/zero/vm/cppInterpreter_zero.cpp	Wed Apr 01 11:00:08 2015 -0700
+++ b/src/cpu/zero/vm/cppInterpreter_zero.cpp	Fri Apr 03 09:58:31 2015 -0700
@@ -730,7 +730,7 @@
     if (method->is_static())
       object = method->constants()->pool_holder()->java_mirror();
     else
-      object = (oop) locals[0];
+      object = (oop) (void*)locals[0];
     monitor->set_obj(object);
   }
 
--- a/src/cpu/zero/vm/frame_zero.inline.hpp	Wed Apr 01 11:00:08 2015 -0700
+++ b/src/cpu/zero/vm/frame_zero.inline.hpp	Fri Apr 03 09:58:31 2015 -0700
@@ -26,6 +26,8 @@
 #ifndef CPU_ZERO_VM_FRAME_ZERO_INLINE_HPP
 #define CPU_ZERO_VM_FRAME_ZERO_INLINE_HPP
 
+#include "code/codeCache.hpp"
+
 // Constructors
 
 inline frame::frame() {
--- a/src/share/vm/gc_implementation/g1/g1CollectedHeap.cpp	Wed Apr 01 11:00:08 2015 -0700
+++ b/src/share/vm/gc_implementation/g1/g1CollectedHeap.cpp	Fri Apr 03 09:58:31 2015 -0700
@@ -6017,56 +6017,68 @@
   guarantee(!cl.failures(), "bitmap verification");
 }
 
-bool G1CollectedHeap::check_cset_fast_test() {
-  bool failures = false;
-  for (uint i = 0; i < _hrm.length(); i += 1) {
-    HeapRegion* hr = _hrm.at(i);
-    InCSetState cset_state = (InCSetState) _in_cset_fast_test.get_by_index((uint) i);
+class G1CheckCSetFastTableClosure : public HeapRegionClosure {
+ private:
+  bool _failures;
+ public:
+  G1CheckCSetFastTableClosure() : HeapRegionClosure(), _failures(false) { }
+
+  virtual bool doHeapRegion(HeapRegion* hr) {
+    uint i = hr->hrm_index();
+    InCSetState cset_state = (InCSetState) G1CollectedHeap::heap()->_in_cset_fast_test.get_by_index(i);
     if (hr->isHumongous()) {
       if (hr->in_collection_set()) {
         gclog_or_tty->print_cr("\n## humongous region %u in CSet", i);
-        failures = true;
-        break;
+        _failures = true;
+        return true;
       }
       if (cset_state.is_in_cset()) {
         gclog_or_tty->print_cr("\n## inconsistent cset state %d for humongous region %u", cset_state.value(), i);
-        failures = true;
-        break;
+        _failures = true;
+        return true;
       }
       if (hr->continuesHumongous() && cset_state.is_humongous()) {
         gclog_or_tty->print_cr("\n## inconsistent cset state %d for continues humongous region %u", cset_state.value(), i);
-        failures = true;
-        break;
+        _failures = true;
+        return true;
       }
     } else {
       if (cset_state.is_humongous()) {
         gclog_or_tty->print_cr("\n## inconsistent cset state %d for non-humongous region %u", cset_state.value(), i);
-        failures = true;
-        break;
+        _failures = true;
+        return true;
       }
       if (hr->in_collection_set() != cset_state.is_in_cset()) {
         gclog_or_tty->print_cr("\n## in CSet %d / cset state %d inconsistency for region %u",
                                hr->in_collection_set(), cset_state.value(), i);
-        failures = true;
-        break;
+       _failures = true;
+       return true;
       }
       if (cset_state.is_in_cset()) {
         if (hr->is_young() != (cset_state.is_young())) {
           gclog_or_tty->print_cr("\n## is_young %d / cset state %d inconsistency for region %u",
                                  hr->is_young(), cset_state.value(), i);
-          failures = true;
-          break;
+          _failures = true;
+          return true;
         }
         if (hr->is_old() != (cset_state.is_old())) {
           gclog_or_tty->print_cr("\n## is_old %d / cset state %d inconsistency for region %u",
                                  hr->is_old(), cset_state.value(), i);
-          failures = true;
-          break;
+          _failures = true;
+          return true;
         }
       }
     }
-  }
-  return !failures;
+    return false;
+  }
+
+  bool failures() const { return _failures; }
+};
+
+bool G1CollectedHeap::check_cset_fast_test() {
+  G1CheckCSetFastTableClosure cl;
+  _hrm.iterate(&cl);
+  return !cl.failures();
 }
 #endif // PRODUCT
 
--- a/src/share/vm/gc_implementation/g1/g1CollectedHeap.hpp	Wed Apr 01 11:00:08 2015 -0700
+++ b/src/share/vm/gc_implementation/g1/g1CollectedHeap.hpp	Fri Apr 03 09:58:31 2015 -0700
@@ -213,6 +213,9 @@
   // Other related classes.
   friend class G1MarkSweep;
 
+  // Testing classes.
+  friend class G1CheckCSetFastTableClosure;
+
 private:
   // The one and only G1CollectedHeap, so static functions can find it.
   static G1CollectedHeap* _g1h;
--- a/src/share/vm/interpreter/bytecodeInterpreter.cpp	Wed Apr 01 11:00:08 2015 -0700
+++ b/src/share/vm/interpreter/bytecodeInterpreter.cpp	Fri Apr 03 09:58:31 2015 -0700
@@ -3432,7 +3432,7 @@
   tty->print_cr("osr._osr_buf: " INTPTR_FORMAT, (uintptr_t) this->_result._osr._osr_buf);
   tty->print_cr("osr._osr_entry: " INTPTR_FORMAT, (uintptr_t) this->_result._osr._osr_entry);
   tty->print_cr("prev_link: " INTPTR_FORMAT, (uintptr_t) this->_prev_link);
-  tty->print_cr("native_mirror: " INTPTR_FORMAT, (uintptr_t) this->_oop_temp);
+  tty->print_cr("native_mirror: " INTPTR_FORMAT, (uintptr_t) p2i(this->_oop_temp));
   tty->print_cr("stack_base: " INTPTR_FORMAT, (uintptr_t) this->_stack_base);
   tty->print_cr("stack_limit: " INTPTR_FORMAT, (uintptr_t) this->_stack_limit);
   tty->print_cr("monitor_base: " INTPTR_FORMAT, (uintptr_t) this->_monitor_base);