aboutsummaryrefslogtreecommitdiff
path: root/src/share/vm/opto/cfgnode.cpp
diff options
context:
space:
mode:
authorkvn <none@none>2008-10-02 08:37:44 -0700
committerkvn <none@none>2008-10-02 08:37:44 -0700
commitdb383a0e4777dec381c05f0175770bb1c56ecfc4 (patch)
tree1a86fb6821517100731b532ab1c5a590a4398613 /src/share/vm/opto/cfgnode.cpp
parentfde510e539c0531c7646a33ce72a882bf02bd5b3 (diff)
downloadjdk8u_hotspot-db383a0e4777dec381c05f0175770bb1c56ecfc4.tar.gz
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
Diffstat (limited to 'src/share/vm/opto/cfgnode.cpp')
-rw-r--r--src/share/vm/opto/cfgnode.cpp10
1 files changed, 7 insertions, 3 deletions
diff --git a/src/share/vm/opto/cfgnode.cpp b/src/share/vm/opto/cfgnode.cpp
index 60508de55..fdee151f1 100644
--- a/src/share/vm/opto/cfgnode.cpp
+++ b/src/share/vm/opto/cfgnode.cpp
@@ -1817,6 +1817,12 @@ Node *PhiNode::Ideal(PhaseGVN *phase, bool can_reshape) {
return progress; // Return any progress
}
+//------------------------------is_tripcount-----------------------------------
+bool PhiNode::is_tripcount() const {
+ return (in(0) != NULL && in(0)->is_CountedLoop() &&
+ in(0)->as_CountedLoop()->phi() == this);
+}
+
//------------------------------out_RegMask------------------------------------
const RegMask &PhiNode::in_RegMask(uint i) const {
return i ? out_RegMask() : RegMask::Empty;
@@ -1832,9 +1838,7 @@ const RegMask &PhiNode::out_RegMask() const {
#ifndef PRODUCT
void PhiNode::dump_spec(outputStream *st) const {
TypeNode::dump_spec(st);
- if (in(0) != NULL &&
- in(0)->is_CountedLoop() &&
- in(0)->as_CountedLoop()->phi() == this) {
+ if (is_tripcount()) {
st->print(" #tripcount");
}
}