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