comparison src/share/vm/opto/loopnode.cpp @ 4403:bb74dc5ddf07

8005849: JEP 167: Event-Based JVM Tracing Reviewed-by: acorn, coleenp Contributed-by: Karen Kinnear <karen.kinnear@oracle.com>, Bengt Rutisson <bengt.rutisson@oracle.com>, Calvin Cheung <calvin.cheung@oracle.com>, Erik Gahlin <erik.gahlin@oracle.com>, Erik Helin <erik.helin@oracle.com>, Jesper Wilhelmsson <jesper.wilhelmsson@oracle.com>, Keith McGuigan <keith.mcguigan@oracle.com>, Mattias Tobiasson <mattias.tobiasson@oracle.com>, Markus Gronlund <markus.gronlund@oracle.com>, Mikael Auno <mikael.auno@oracle.com>, Nils Eliasson <nils.eliasson@oracle.com>, Nils Loodin <nils.loodin@oracle.com>, Rickard Backman <rickard.backman@oracle.com>, Staffan Larsen <staffan.larsen@oracle.com>, Stefan Karlsson <stefan.karlsson@oracle.com>, Yekaterina Kantserova <yekaterina.kantserova@oracle.com>
author sla
date Tue, 15 Jan 2013 09:07:30 +0100
parents 42337887af88
children 36b32e7ee4f7
comparison
equal deleted inserted replaced
44:9b3b5705b716 45:83302327d27e
339 339
340 // ================================================= 340 // =================================================
341 // ---- SUCCESS! Found A Trip-Counted Loop! ----- 341 // ---- SUCCESS! Found A Trip-Counted Loop! -----
342 // 342 //
343 assert(x->Opcode() == Op_Loop, "regular loops only"); 343 assert(x->Opcode() == Op_Loop, "regular loops only");
344 C->print_method("Before CountedLoop", 3); 344 C->print_method(PHASE_BEFORE_CLOOPS, 3);
345 345
346 Node *hook = new (C) Node(6); 346 Node *hook = new (C) Node(6);
347 347
348 if (LoopLimitCheck) { 348 if (LoopLimitCheck) {
349 349
690 tty->print("Counted "); 690 tty->print("Counted ");
691 loop->dump_head(); 691 loop->dump_head();
692 } 692 }
693 #endif 693 #endif
694 694
695 C->print_method("After CountedLoop", 3); 695 C->print_method(PHASE_AFTER_CLOOPS, 3);
696 696
697 return true; 697 return true;
698 } 698 }
699 699
700 //----------------------exact_limit------------------------------------------- 700 //----------------------exact_limit-------------------------------------------
1969 _ltree_root->set_nest( 0 ); 1969 _ltree_root->set_nest( 0 );
1970 1970
1971 // Split shared headers and insert loop landing pads. 1971 // Split shared headers and insert loop landing pads.
1972 // Do not bother doing this on the Root loop of course. 1972 // Do not bother doing this on the Root loop of course.
1973 if( !_verify_me && !_verify_only && _ltree_root->_child ) { 1973 if( !_verify_me && !_verify_only && _ltree_root->_child ) {
1974 C->print_method("Before beautify loops", 3); 1974 C->print_method(PHASE_BEFORE_BEAUTIFY_LOOPS, 3);
1975 if( _ltree_root->_child->beautify_loops( this ) ) { 1975 if( _ltree_root->_child->beautify_loops( this ) ) {
1976 // Re-build loop tree! 1976 // Re-build loop tree!
1977 _ltree_root->_child = NULL; 1977 _ltree_root->_child = NULL;
1978 _nodes.clear(); 1978 _nodes.clear();
1979 reallocate_preorders(); 1979 reallocate_preorders();
1983 return; 1983 return;
1984 } 1984 }
1985 // Reset loop nesting depth 1985 // Reset loop nesting depth
1986 _ltree_root->set_nest( 0 ); 1986 _ltree_root->set_nest( 0 );
1987 1987
1988 C->print_method("After beautify loops", 3); 1988 C->print_method(PHASE_AFTER_BEAUTIFY_LOOPS, 3);
1989 } 1989 }
1990 } 1990 }
1991 1991
1992 // Build Dominators for elision of NULL checks & loop finding. 1992 // Build Dominators for elision of NULL checks & loop finding.
1993 // Since nodes do not have a slot for immediate dominator, make 1993 // Since nodes do not have a slot for immediate dominator, make