Mercurial > hg > truffle
comparison src/share/vm/opto/compile.cpp @ 7605:5b8548391bf3
8005821: C2: -XX:+PrintIntrinsics is broken
Summary: Check all print inlining flags when processing inlining list.
Reviewed-by: kvn, twisti
Contributed-by: david.r.chase@oracle.com
author | kvn |
---|---|
date | Tue, 15 Jan 2013 14:45:12 -0800 |
parents | d092d1b31229 |
children | 8b3da8d14c93 |
comparison
equal
deleted
inserted
replaced
7604:f1de9dbc914e | 7605:5b8548391bf3 |
---|---|
690 uint estimated_size = method()->code_size()*4+64; | 690 uint estimated_size = method()->code_size()*4+64; |
691 estimated_size = (estimated_size < MINIMUM_NODE_HASH ? MINIMUM_NODE_HASH : estimated_size); | 691 estimated_size = (estimated_size < MINIMUM_NODE_HASH ? MINIMUM_NODE_HASH : estimated_size); |
692 PhaseGVN gvn(node_arena(), estimated_size); | 692 PhaseGVN gvn(node_arena(), estimated_size); |
693 set_initial_gvn(&gvn); | 693 set_initial_gvn(&gvn); |
694 | 694 |
695 if (PrintInlining) { | 695 if (PrintInlining || PrintIntrinsics NOT_PRODUCT( || PrintOptoInlining)) { |
696 _print_inlining_list = new (comp_arena())GrowableArray<PrintInliningBuffer>(comp_arena(), 1, 1, PrintInliningBuffer()); | 696 _print_inlining_list = new (comp_arena())GrowableArray<PrintInliningBuffer>(comp_arena(), 1, 1, PrintInliningBuffer()); |
697 } | 697 } |
698 { // Scope for timing the parser | 698 { // Scope for timing the parser |
699 TracePhase t3("parse", &_t_parser, true); | 699 TracePhase t3("parse", &_t_parser, true); |
700 | 700 |
2047 } | 2047 } |
2048 } | 2048 } |
2049 | 2049 |
2050 } // (End scope of igvn; run destructor if necessary for asserts.) | 2050 } // (End scope of igvn; run destructor if necessary for asserts.) |
2051 | 2051 |
2052 dump_inlining(); | 2052 dump_inlining(); |
2053 // A method with only infinite loops has no edges entering loops from root | 2053 // A method with only infinite loops has no edges entering loops from root |
2054 { | 2054 { |
2055 NOT_PRODUCT( TracePhase t2("graphReshape", &_t_graphReshaping, TimeCompiler); ) | 2055 NOT_PRODUCT( TracePhase t2("graphReshape", &_t_graphReshaping, TimeCompiler); ) |
2056 if (final_graph_reshaping()) { | 2056 if (final_graph_reshaping()) { |
2057 assert(failing(), "must bail out w/ explicit message"); | 2057 assert(failing(), "must bail out w/ explicit message"); |
3495 cb.consts()->relocate((address) constant_addr, relocInfo::internal_word_type); | 3495 cb.consts()->relocate((address) constant_addr, relocInfo::internal_word_type); |
3496 } | 3496 } |
3497 } | 3497 } |
3498 | 3498 |
3499 void Compile::dump_inlining() { | 3499 void Compile::dump_inlining() { |
3500 if (PrintInlining) { | 3500 if (PrintInlining || PrintIntrinsics NOT_PRODUCT( || PrintOptoInlining)) { |
3501 // Print inlining message for candidates that we couldn't inline | 3501 // Print inlining message for candidates that we couldn't inline |
3502 // for lack of space or non constant receiver | 3502 // for lack of space or non constant receiver |
3503 for (int i = 0; i < _late_inlines.length(); i++) { | 3503 for (int i = 0; i < _late_inlines.length(); i++) { |
3504 CallGenerator* cg = _late_inlines.at(i); | 3504 CallGenerator* cg = _late_inlines.at(i); |
3505 cg->print_inlining_late("live nodes > LiveNodeCountInliningCutoff"); | 3505 cg->print_inlining_late("live nodes > LiveNodeCountInliningCutoff"); |