aboutsummaryrefslogtreecommitdiff
path: root/src/share/vm/opto/cfgnode.cpp
diff options
context:
space:
mode:
authorkvn <none@none>2008-07-16 16:04:39 -0700
committerkvn <none@none>2008-07-16 16:04:39 -0700
commit52e5443b66f3a0ce4886b9c2b14b046cd6d7695a (patch)
tree4e2d81c1fa05385346aa1c821afaa711a81bd87a /src/share/vm/opto/cfgnode.cpp
parent151de99c8fb11bb859a497e1197af9cc5aec9a63 (diff)
downloadjdk8u_hotspot-52e5443b66f3a0ce4886b9c2b14b046cd6d7695a.tar.gz
6723160: Nightly failure: Error: meet not symmetric
Summary: Add missing _instance_id settings and other EA fixes. Reviewed-by: rasbold
Diffstat (limited to 'src/share/vm/opto/cfgnode.cpp')
-rw-r--r--src/share/vm/opto/cfgnode.cpp6
1 files changed, 5 insertions, 1 deletions
diff --git a/src/share/vm/opto/cfgnode.cpp b/src/share/vm/opto/cfgnode.cpp
index 6087c17e0..0e7b2845d 100644
--- a/src/share/vm/opto/cfgnode.cpp
+++ b/src/share/vm/opto/cfgnode.cpp
@@ -713,7 +713,9 @@ PhiNode* PhiNode::split_out_instance(const TypePtr* at, PhaseIterGVN *igvn) cons
assert(type() == Type::MEMORY &&
(t == TypePtr::BOTTOM || t == TypeRawPtr::BOTTOM ||
t->isa_oopptr() && !t->is_oopptr()->is_known_instance() &&
- t->is_oopptr()->cast_to_instance_id(t_oop->instance_id()) == t_oop),
+ t->is_oopptr()->cast_to_exactness(true)
+ ->is_oopptr()->cast_to_ptr_type(t_oop->ptr())
+ ->is_oopptr()->cast_to_instance_id(t_oop->instance_id()) == t_oop),
"bottom or raw memory required");
// Check if an appropriate node already exists.
@@ -1089,6 +1091,8 @@ Node* PhiNode::unique_input(PhaseTransform* phase) {
if (rc == NULL || phase->type(rc) == Type::TOP)
continue; // ignore unreachable control path
Node* n = in(i);
+ if (n == NULL)
+ continue;
Node* un = n->uncast();
if (un == NULL || un == this || phase->type(un) == Type::TOP) {
continue; // ignore if top, or in(i) and "this" are in a data cycle