comparison src/share/vm/opto/compile.cpp @ 367:194b8e3a2fc4

6384206: Phis which are later unneeded are impairing our ability to inline based on static types Reviewed-by: rasbold, jrose
author never
date Wed, 17 Sep 2008 12:59:52 -0700
parents 7484fa4b8825
children 36ccc817fca4
comparison
equal deleted inserted replaced
366:8261ee795323 367:194b8e3a2fc4
465 tty->print_cr("PrintAssembly request changed to PrintOptoAssembly"); 465 tty->print_cr("PrintAssembly request changed to PrintOptoAssembly");
466 print_opto_assembly = true; 466 print_opto_assembly = true;
467 } 467 }
468 } 468 }
469 set_print_assembly(print_opto_assembly); 469 set_print_assembly(print_opto_assembly);
470 set_parsed_irreducible_loop(false);
470 #endif 471 #endif
471 472
472 if (ProfileTraps) { 473 if (ProfileTraps) {
473 // Make sure the method being compiled gets its own MDO, 474 // Make sure the method being compiled gets its own MDO,
474 // so we can at least track the decompile_count(). 475 // so we can at least track the decompile_count().
548 // to whatever caller is dynamically above us on the stack. 549 // to whatever caller is dynamically above us on the stack.
549 // This is done by a special, unique RethrowNode bound to root. 550 // This is done by a special, unique RethrowNode bound to root.
550 rethrow_exceptions(kit.transfer_exceptions_into_jvms()); 551 rethrow_exceptions(kit.transfer_exceptions_into_jvms());
551 } 552 }
552 553
554 print_method("Before RemoveUseless");
555
553 // Remove clutter produced by parsing. 556 // Remove clutter produced by parsing.
554 if (!failing()) { 557 if (!failing()) {
555 ResourceMark rm; 558 ResourceMark rm;
556 PhaseRemoveUseless pru(initial_gvn(), &for_igvn); 559 PhaseRemoveUseless pru(initial_gvn(), &for_igvn);
557 } 560 }
612 } 615 }
613 // Now optimize 616 // Now optimize
614 Optimize(); 617 Optimize();
615 if (failing()) return; 618 if (failing()) return;
616 NOT_PRODUCT( verify_graph_edges(); ) 619 NOT_PRODUCT( verify_graph_edges(); )
617
618 print_method("Before Matching");
619 620
620 #ifndef PRODUCT 621 #ifndef PRODUCT
621 if (PrintIdeal) { 622 if (PrintIdeal) {
622 ttyLocker ttyl; // keep the following output all in one block 623 ttyLocker ttyl; // keep the following output all in one block
623 // This output goes directly to the tty, not the compiler log. 624 // This output goes directly to the tty, not the compiler log.
718 719
719 #ifndef PRODUCT 720 #ifndef PRODUCT
720 TraceTime t1(NULL, &_t_totalCompilation, TimeCompiler, false); 721 TraceTime t1(NULL, &_t_totalCompilation, TimeCompiler, false);
721 TraceTime t2(NULL, &_t_stubCompilation, TimeCompiler, false); 722 TraceTime t2(NULL, &_t_stubCompilation, TimeCompiler, false);
722 set_print_assembly(PrintFrameConverterAssembly); 723 set_print_assembly(PrintFrameConverterAssembly);
724 set_parsed_irreducible_loop(false);
723 #endif 725 #endif
724 CompileWrapper cw(this); 726 CompileWrapper cw(this);
725 Init(/*AliasLevel=*/ 0); 727 Init(/*AliasLevel=*/ 0);
726 init_tf((*generator)()); 728 init_tf((*generator)());
727 729