diff options
author | kvn <none@none> | 2008-07-16 16:04:39 -0700 |
---|---|---|
committer | kvn <none@none> | 2008-07-16 16:04:39 -0700 |
commit | 52e5443b66f3a0ce4886b9c2b14b046cd6d7695a (patch) | |
tree | 4e2d81c1fa05385346aa1c821afaa711a81bd87a /src/share/vm/opto/cfgnode.cpp | |
parent | 151de99c8fb11bb859a497e1197af9cc5aec9a63 (diff) | |
download | jdk8u_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.cpp | 6 |
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 |