< prev index next >

src/hotspot/share/classfile/moduleEntry.cpp

Print this page
rev 56464 : 8231707: Improve Mutex inlining
Contributed-by: robbin.ehn@oracle.com, claes.redestad@oracle.com

*** 32,43 **** #include "memory/resourceArea.hpp" #include "memory/universe.hpp" #include "oops/oopHandle.inline.hpp" #include "oops/symbol.hpp" #include "runtime/handles.inline.hpp" #include "runtime/safepoint.hpp" ! #include "utilities/events.hpp" #include "utilities/growableArray.hpp" #include "utilities/hashtable.inline.hpp" #include "utilities/ostream.hpp" ModuleEntry* ModuleEntryTable::_javabase_module = NULL; --- 32,44 ---- #include "memory/resourceArea.hpp" #include "memory/universe.hpp" #include "oops/oopHandle.inline.hpp" #include "oops/symbol.hpp" #include "runtime/handles.inline.hpp" + #include "runtime/mutexLocker.inline.hpp" #include "runtime/safepoint.hpp" ! #include "utilities/events.inline.hpp" #include "utilities/growableArray.hpp" #include "utilities/hashtable.inline.hpp" #include "utilities/ostream.hpp" ModuleEntry* ModuleEntryTable::_javabase_module = NULL;
*** 195,204 **** --- 196,212 ---- void ModuleEntry::set_is_open(bool is_open) { assert_lock_strong(Module_lock); _is_open = is_open; } + bool ModuleEntry::set_has_default_read_edges() { + MutexLocker ml(Module_lock); + bool prev = _has_default_read_edges; + _has_default_read_edges = true; + return prev; + } + // Returns true if the module has a non-empty reads list. As such, the unnamed // module will return false. bool ModuleEntry::has_reads_list() const { assert_locked_or_safepoint(Module_lock); return ((_reads != NULL) && !_reads->is_empty());
< prev index next >