< prev index next >

src/hotspot/share/opto/parse1.cpp

Print this page

 406   _replaced_nodes_for_exceptions = false;
 407   _new_idx = C->unique();
 408   debug_only(_block_count = -1);
 409   debug_only(_blocks = (Block*)-1);
 410 #ifndef PRODUCT
 411   if (PrintCompilation || PrintOpto) {
 412     // Make sure I have an inline tree, so I can print messages about it.
 413     JVMState* ilt_caller = is_osr_parse() ? caller->caller() : caller;
 414     InlineTree::find_subtree_from_root(C->ilt(), ilt_caller, parse_method);
 415   }
 416   _max_switch_depth = 0;
 417   _est_switch_depth = 0;
 418 #endif
 419 
 420   if (parse_method->has_reserved_stack_access()) {
 421     C->set_has_reserved_stack_access(true);
 422   }
 423 
 424   if (parse_method->is_synchronized()) {
 425     C->set_has_monitors(true);

 426   }
 427 
 428   _tf = TypeFunc::make(method());
 429   _iter.reset_to_method(method());
 430   _flow = method()->get_flow_analysis();
 431   if (_flow->failing()) {
 432     C->record_method_not_compilable(_flow->failure_reason());
 433   }
 434 
 435 #ifndef PRODUCT
 436   if (_flow->has_irreducible_entry()) {
 437     C->set_parsed_irreducible_loop(true);
 438   }
 439 #endif
 440   C->set_has_loops(C->has_loops() || method()->has_loops());
 441 
 442   if (_expected_uses <= 0) {
 443     _prof_factor = 1;
 444   } else {
 445     float prof_total = parse_method->interpreter_invocation_count();

 406   _replaced_nodes_for_exceptions = false;
 407   _new_idx = C->unique();
 408   debug_only(_block_count = -1);
 409   debug_only(_blocks = (Block*)-1);
 410 #ifndef PRODUCT
 411   if (PrintCompilation || PrintOpto) {
 412     // Make sure I have an inline tree, so I can print messages about it.
 413     JVMState* ilt_caller = is_osr_parse() ? caller->caller() : caller;
 414     InlineTree::find_subtree_from_root(C->ilt(), ilt_caller, parse_method);
 415   }
 416   _max_switch_depth = 0;
 417   _est_switch_depth = 0;
 418 #endif
 419 
 420   if (parse_method->has_reserved_stack_access()) {
 421     C->set_has_reserved_stack_access(true);
 422   }
 423 
 424   if (parse_method->is_synchronized()) {
 425     C->set_has_monitors(true);
 426     C->push_monitor();
 427   }
 428 
 429   _tf = TypeFunc::make(method());
 430   _iter.reset_to_method(method());
 431   _flow = method()->get_flow_analysis();
 432   if (_flow->failing()) {
 433     C->record_method_not_compilable(_flow->failure_reason());
 434   }
 435 
 436 #ifndef PRODUCT
 437   if (_flow->has_irreducible_entry()) {
 438     C->set_parsed_irreducible_loop(true);
 439   }
 440 #endif
 441   C->set_has_loops(C->has_loops() || method()->has_loops());
 442 
 443   if (_expected_uses <= 0) {
 444     _prof_factor = 1;
 445   } else {
 446     float prof_total = parse_method->interpreter_invocation_count();
< prev index next >