comparison src/share/vm/opto/cfgnode.cpp @ 400:cc80376deb0c

6667595: Set probability FAIR for pre-, post- loops and ALWAYS for main loop Summary: Fix loop's probability. Add optimizations to avoid spilling. Change InlineSmallCode to product flag. Reviewed-by: never
author kvn
date Thu, 02 Oct 2008 08:37:44 -0700
parents 36ccc817fca4
children 35ae4dd6c27c
comparison
equal deleted inserted replaced
372:be41fa651400 400:cc80376deb0c
1815 #endif 1815 #endif
1816 1816
1817 return progress; // Return any progress 1817 return progress; // Return any progress
1818 } 1818 }
1819 1819
1820 //------------------------------is_tripcount-----------------------------------
1821 bool PhiNode::is_tripcount() const {
1822 return (in(0) != NULL && in(0)->is_CountedLoop() &&
1823 in(0)->as_CountedLoop()->phi() == this);
1824 }
1825
1820 //------------------------------out_RegMask------------------------------------ 1826 //------------------------------out_RegMask------------------------------------
1821 const RegMask &PhiNode::in_RegMask(uint i) const { 1827 const RegMask &PhiNode::in_RegMask(uint i) const {
1822 return i ? out_RegMask() : RegMask::Empty; 1828 return i ? out_RegMask() : RegMask::Empty;
1823 } 1829 }
1824 1830
1830 } 1836 }
1831 1837
1832 #ifndef PRODUCT 1838 #ifndef PRODUCT
1833 void PhiNode::dump_spec(outputStream *st) const { 1839 void PhiNode::dump_spec(outputStream *st) const {
1834 TypeNode::dump_spec(st); 1840 TypeNode::dump_spec(st);
1835 if (in(0) != NULL && 1841 if (is_tripcount()) {
1836 in(0)->is_CountedLoop() &&
1837 in(0)->as_CountedLoop()->phi() == this) {
1838 st->print(" #tripcount"); 1842 st->print(" #tripcount");
1839 } 1843 }
1840 } 1844 }
1841 #endif 1845 #endif
1842 1846