< prev index next >

src/hotspot/share/opto/compile.cpp

Print this page

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

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