Mercurial > hg > truffle
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 |