src/share/vm/oops/methodData.cpp
Index
Unified diffs
Context diffs
Sdiffs
Wdiffs
Patch
New
Old
Previous File
Next File
8031320_9 Cdiff src/share/vm/oops/methodData.cpp
src/share/vm/oops/methodData.cpp
Print this page
*** 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"
*** 1151,1160 ****
--- 1152,1176 ----
_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