< prev index next >

src/hotspot/share/opto/compile.cpp

Print this page

 969   set_has_split_ifs(false);
 970   set_has_loops(false); // first approximation
 971   set_has_stringbuilder(false);
 972   set_has_boxed_value(false);
 973   _trap_can_recompile = false;  // no traps emitted yet
 974   _major_progress = true; // start out assuming good things will happen
 975   set_has_unsafe_access(false);
 976   set_max_vector_size(0);
 977   set_clear_upper_avx(false);  //false as default for clear upper bits of ymm registers
 978   Copy::zero_to_bytes(_trap_hist, sizeof(_trap_hist));
 979   set_decompile_count(0);
 980 
 981   set_do_freq_based_layout(_directive->BlockLayoutByFrequencyOption);
 982   _loop_opts_cnt = LoopOptsCount;
 983   set_do_inlining(Inline);
 984   set_max_inline_size(MaxInlineSize);
 985   set_freq_inline_size(FreqInlineSize);
 986   set_do_scheduling(OptoScheduling);
 987 
 988   set_do_vector_loop(false);

 989 
 990   if (AllowVectorizeOnDemand) {
 991     if (has_method() && (_directive->VectorizeOption || _directive->VectorizeDebugOption)) {
 992       set_do_vector_loop(true);
 993       NOT_PRODUCT(if (do_vector_loop() && Verbose) {tty->print("Compile::Init: do vectorized loops (SIMD like) for method %s\n",  method()->name()->as_quoted_ascii());})
 994     } else if (has_method() && method()->name() != 0 &&
 995                method()->intrinsic_id() == vmIntrinsics::_forEachRemaining) {
 996       set_do_vector_loop(true);
 997     }
 998   }
 999   set_use_cmove(UseCMoveUnconditionally /* || do_vector_loop()*/); //TODO: consider do_vector_loop() mandate use_cmove unconditionally
1000   NOT_PRODUCT(if (use_cmove() && Verbose && has_method()) {tty->print("Compile::Init: use CMove without profitability tests for method %s\n",  method()->name()->as_quoted_ascii());})
1001 
1002   set_age_code(has_method() && method()->profile_aging());
1003   set_rtm_state(NoRTM); // No RTM lock eliding by default
1004   _max_node_limit = _directive->MaxNodeLimitOption;
1005 
1006 #if INCLUDE_RTM_OPT
1007   if (UseRTMLocking && has_method() && (method()->method_data_or_null() != NULL)) {
1008     int rtm_state = method()->method_data()->rtm_state();

 969   set_has_split_ifs(false);
 970   set_has_loops(false); // first approximation
 971   set_has_stringbuilder(false);
 972   set_has_boxed_value(false);
 973   _trap_can_recompile = false;  // no traps emitted yet
 974   _major_progress = true; // start out assuming good things will happen
 975   set_has_unsafe_access(false);
 976   set_max_vector_size(0);
 977   set_clear_upper_avx(false);  //false as default for clear upper bits of ymm registers
 978   Copy::zero_to_bytes(_trap_hist, sizeof(_trap_hist));
 979   set_decompile_count(0);
 980 
 981   set_do_freq_based_layout(_directive->BlockLayoutByFrequencyOption);
 982   _loop_opts_cnt = LoopOptsCount;
 983   set_do_inlining(Inline);
 984   set_max_inline_size(MaxInlineSize);
 985   set_freq_inline_size(FreqInlineSize);
 986   set_do_scheduling(OptoScheduling);
 987 
 988   set_do_vector_loop(false);
 989   set_has_monitors(false);
 990 
 991   if (AllowVectorizeOnDemand) {
 992     if (has_method() && (_directive->VectorizeOption || _directive->VectorizeDebugOption)) {
 993       set_do_vector_loop(true);
 994       NOT_PRODUCT(if (do_vector_loop() && Verbose) {tty->print("Compile::Init: do vectorized loops (SIMD like) for method %s\n",  method()->name()->as_quoted_ascii());})
 995     } else if (has_method() && method()->name() != 0 &&
 996                method()->intrinsic_id() == vmIntrinsics::_forEachRemaining) {
 997       set_do_vector_loop(true);
 998     }
 999   }
1000   set_use_cmove(UseCMoveUnconditionally /* || do_vector_loop()*/); //TODO: consider do_vector_loop() mandate use_cmove unconditionally
1001   NOT_PRODUCT(if (use_cmove() && Verbose && has_method()) {tty->print("Compile::Init: use CMove without profitability tests for method %s\n",  method()->name()->as_quoted_ascii());})
1002 
1003   set_age_code(has_method() && method()->profile_aging());
1004   set_rtm_state(NoRTM); // No RTM lock eliding by default
1005   _max_node_limit = _directive->MaxNodeLimitOption;
1006 
1007 #if INCLUDE_RTM_OPT
1008   if (UseRTMLocking && has_method() && (method()->method_data_or_null() != NULL)) {
1009     int rtm_state = method()->method_data()->rtm_state();
< prev index next >