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