src/share/vm/opto/compile.cpp
Index Unified diffs Context diffs Sdiffs Patch New Old Previous File Next File hs-comp-code-aging Sdiff src/share/vm/opto

src/share/vm/opto/compile.cpp

Print this page




1072   _fixed_slots = 0;
1073   set_has_split_ifs(false);
1074   set_has_loops(has_method() && method()->has_loops()); // first approximation
1075   set_has_stringbuilder(false);
1076   set_has_boxed_value(false);
1077   _trap_can_recompile = false;  // no traps emitted yet
1078   _major_progress = true; // start out assuming good things will happen
1079   set_has_unsafe_access(false);
1080   set_max_vector_size(0);
1081   Copy::zero_to_bytes(_trap_hist, sizeof(_trap_hist));
1082   set_decompile_count(0);
1083 
1084   set_do_freq_based_layout(BlockLayoutByFrequency || method_has_option("BlockLayoutByFrequency"));
1085   set_num_loop_opts(LoopOptsCount);
1086   set_do_inlining(Inline);
1087   set_max_inline_size(MaxInlineSize);
1088   set_freq_inline_size(FreqInlineSize);
1089   set_do_scheduling(OptoScheduling);
1090   set_do_count_invocations(false);
1091   set_do_method_data_update(false);

1092   set_rtm_state(NoRTM); // No RTM lock eliding by default
1093 #if INCLUDE_RTM_OPT
1094   if (UseRTMLocking && has_method() && (method()->method_data_or_null() != NULL)) {
1095     int rtm_state = method()->method_data()->rtm_state();
1096     if (method_has_option("NoRTMLockEliding") || ((rtm_state & NoRTM) != 0)) {
1097       // Don't generate RTM lock eliding code.
1098       set_rtm_state(NoRTM);
1099     } else if (method_has_option("UseRTMLockEliding") || ((rtm_state & UseRTM) != 0) || !UseRTMDeopt) {
1100       // Generate RTM lock eliding code without abort ratio calculation code.
1101       set_rtm_state(UseRTM);
1102     } else if (UseRTMDeopt) {
1103       // Generate RTM lock eliding code and include abort ratio calculation
1104       // code if UseRTMDeopt is on.
1105       set_rtm_state(ProfileRTM);
1106     }
1107   }
1108 #endif
1109   if (debug_info()->recording_non_safepoints()) {
1110     set_node_note_array(new(comp_arena()) GrowableArray<Node_Notes*>
1111                         (comp_arena(), 8, 0, NULL));




1072   _fixed_slots = 0;
1073   set_has_split_ifs(false);
1074   set_has_loops(has_method() && method()->has_loops()); // first approximation
1075   set_has_stringbuilder(false);
1076   set_has_boxed_value(false);
1077   _trap_can_recompile = false;  // no traps emitted yet
1078   _major_progress = true; // start out assuming good things will happen
1079   set_has_unsafe_access(false);
1080   set_max_vector_size(0);
1081   Copy::zero_to_bytes(_trap_hist, sizeof(_trap_hist));
1082   set_decompile_count(0);
1083 
1084   set_do_freq_based_layout(BlockLayoutByFrequency || method_has_option("BlockLayoutByFrequency"));
1085   set_num_loop_opts(LoopOptsCount);
1086   set_do_inlining(Inline);
1087   set_max_inline_size(MaxInlineSize);
1088   set_freq_inline_size(FreqInlineSize);
1089   set_do_scheduling(OptoScheduling);
1090   set_do_count_invocations(false);
1091   set_do_method_data_update(false);
1092   set_age_code(has_method() && method()->profile_aging());
1093   set_rtm_state(NoRTM); // No RTM lock eliding by default
1094 #if INCLUDE_RTM_OPT
1095   if (UseRTMLocking && has_method() && (method()->method_data_or_null() != NULL)) {
1096     int rtm_state = method()->method_data()->rtm_state();
1097     if (method_has_option("NoRTMLockEliding") || ((rtm_state & NoRTM) != 0)) {
1098       // Don't generate RTM lock eliding code.
1099       set_rtm_state(NoRTM);
1100     } else if (method_has_option("UseRTMLockEliding") || ((rtm_state & UseRTM) != 0) || !UseRTMDeopt) {
1101       // Generate RTM lock eliding code without abort ratio calculation code.
1102       set_rtm_state(UseRTM);
1103     } else if (UseRTMDeopt) {
1104       // Generate RTM lock eliding code and include abort ratio calculation
1105       // code if UseRTMDeopt is on.
1106       set_rtm_state(ProfileRTM);
1107     }
1108   }
1109 #endif
1110   if (debug_info()->recording_non_safepoints()) {
1111     set_node_note_array(new(comp_arena()) GrowableArray<Node_Notes*>
1112                         (comp_arena(), 8, 0, NULL));


src/share/vm/opto/compile.cpp
Index Unified diffs Context diffs Sdiffs Patch New Old Previous File Next File