# HG changeset patch # User asaha # Date 1428644352 25200 # Node ID 792c18127b81fb93700bba44afef19c7b5eea2f0 # Parent 28d6ce332e53b0f60310fd7f9918b82e057844fc# Parent a3b23dd50c89258567ff87a6b65130edc8116991 Merge diff -r 28d6ce332e53 -r 792c18127b81 .hgtags --- a/.hgtags Wed Apr 01 11:31:42 2015 -0700 +++ b/.hgtags Thu Apr 09 22:39:12 2015 -0700 @@ -628,3 +628,5 @@ bf68e15dc8fe73eeb1eb3c656df51fdb1f707a97 jdk8u60-b08 d937e6a0674841d670232ecf1611f52e1ae998e7 hs25.60-b09 f1058b5c6294235d8ad032dcc72c8f8bc202cb5a jdk8u60-b09 +57a14c3927eba6372d909ae164fa90bb9b6a6ce4 hs25.60-b10 +8e4518dc2b38957072704ffe4cbf29f046dc9325 jdk8u60-b10 diff -r 28d6ce332e53 -r 792c18127b81 agent/src/share/classes/com/sun/java/swing/action/ActionManager.java --- a/agent/src/share/classes/com/sun/java/swing/action/ActionManager.java Wed Apr 01 11:31:42 2015 -0700 +++ b/agent/src/share/classes/com/sun/java/swing/action/ActionManager.java Thu Apr 09 22:39:12 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; } diff -r 28d6ce332e53 -r 792c18127b81 agent/src/share/classes/sun/jvm/hotspot/ui/action/HSDBActionManager.java --- a/agent/src/share/classes/sun/jvm/hotspot/ui/action/HSDBActionManager.java Wed Apr 01 11:31:42 2015 -0700 +++ b/agent/src/share/classes/sun/jvm/hotspot/ui/action/HSDBActionManager.java Thu Apr 09 22:39:12 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() { diff -r 28d6ce332e53 -r 792c18127b81 make/hotspot_version --- a/make/hotspot_version Wed Apr 01 11:31:42 2015 -0700 +++ b/make/hotspot_version Thu Apr 09 22:39:12 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 diff -r 28d6ce332e53 -r 792c18127b81 src/cpu/zero/vm/cppInterpreter_zero.cpp --- a/src/cpu/zero/vm/cppInterpreter_zero.cpp Wed Apr 01 11:31:42 2015 -0700 +++ b/src/cpu/zero/vm/cppInterpreter_zero.cpp Thu Apr 09 22:39:12 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); } diff -r 28d6ce332e53 -r 792c18127b81 src/cpu/zero/vm/frame_zero.inline.hpp --- a/src/cpu/zero/vm/frame_zero.inline.hpp Wed Apr 01 11:31:42 2015 -0700 +++ b/src/cpu/zero/vm/frame_zero.inline.hpp Thu Apr 09 22:39:12 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() { diff -r 28d6ce332e53 -r 792c18127b81 src/share/vm/gc_implementation/g1/g1CollectedHeap.cpp --- a/src/share/vm/gc_implementation/g1/g1CollectedHeap.cpp Wed Apr 01 11:31:42 2015 -0700 +++ b/src/share/vm/gc_implementation/g1/g1CollectedHeap.cpp Thu Apr 09 22:39:12 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 diff -r 28d6ce332e53 -r 792c18127b81 src/share/vm/gc_implementation/g1/g1CollectedHeap.hpp --- a/src/share/vm/gc_implementation/g1/g1CollectedHeap.hpp Wed Apr 01 11:31:42 2015 -0700 +++ b/src/share/vm/gc_implementation/g1/g1CollectedHeap.hpp Thu Apr 09 22:39:12 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; diff -r 28d6ce332e53 -r 792c18127b81 src/share/vm/interpreter/bytecodeInterpreter.cpp --- a/src/share/vm/interpreter/bytecodeInterpreter.cpp Wed Apr 01 11:31:42 2015 -0700 +++ b/src/share/vm/interpreter/bytecodeInterpreter.cpp Thu Apr 09 22:39:12 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);