< prev index next >

src/hotspot/share/opto/parse1.cpp

Print this page




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




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




 405   _block = NULL;
 406   _first_return = true;
 407   _replaced_nodes_for_exceptions = false;
 408   _new_idx = C->unique();
 409   debug_only(_block_count = -1);
 410   debug_only(_blocks = (Block*)-1);
 411 #ifndef PRODUCT
 412   if (PrintCompilation || PrintOpto) {
 413     // Make sure I have an inline tree, so I can print messages about it.
 414     JVMState* ilt_caller = is_osr_parse() ? caller->caller() : caller;
 415     InlineTree::find_subtree_from_root(C->ilt(), ilt_caller, parse_method);
 416   }
 417   _max_switch_depth = 0;
 418   _est_switch_depth = 0;
 419 #endif
 420 
 421   if (parse_method->has_reserved_stack_access()) {
 422     C->set_has_reserved_stack_access(true);
 423   }
 424 
 425   if (parse_method->is_synchronized()) {
 426     C->set_has_monitors(true);
 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 
 442   if (_expected_uses <= 0) {
 443     _prof_factor = 1;
 444   } else {
 445     float prof_total = parse_method->interpreter_invocation_count();
 446     if (prof_total <= _expected_uses) {
 447       _prof_factor = 1;
 448     } else {


< prev index next >