src/share/vm/oops/methodData.cpp
Index Unified diffs Context diffs Sdiffs Wdiffs Patch New Old Previous File Next File
*** old/src/share/vm/oops/methodData.cpp	Mon Mar 24 16:31:47 2014
--- new/src/share/vm/oops/methodData.cpp	Mon Mar 24 16:31:47 2014

*** 22,31 **** --- 22,32 ---- * */ #include "precompiled.hpp" #include "classfile/systemDictionary.hpp" + #include "compiler/compilerOracle.hpp" #include "interpreter/bytecode.hpp" #include "interpreter/bytecodeStream.hpp" #include "interpreter/linkResolver.hpp" #include "memory/heapInspection.hpp" #include "oops/methodData.hpp"
*** 1146,1155 **** --- 1147,1171 ---- _num_blocks = 0; _highest_comp_level = 0; _highest_osr_comp_level = 0; _would_profile = true; + #if INCLUDE_RTM_OPT + _rtm_state = NoRTM; // No RTM lock eliding by default + if (UseRTMLocking && + !CompilerOracle::has_option_string(_method, "NoRTMLockEliding")) { + if (CompilerOracle::has_option_string(_method, "UseRTMLockEliding") || !UseRTMDeopt) { + // Generate RTM lock eliding code without abort ratio calculation code. + _rtm_state = UseRTM; + } else if (UseRTMDeopt) { + // Generate RTM lock eliding code and include abort ratio calculation + // code if UseRTMDeopt is on. + _rtm_state = ProfileRTM; + } + } + #endif + // Initialize flags and trap history. _nof_decompiles = 0; _nof_overflow_recompiles = 0; _nof_overflow_traps = 0; clear_escape_info();

src/share/vm/oops/methodData.cpp
Index Unified diffs Context diffs Sdiffs Wdiffs Patch New Old Previous File Next File