Mercurial > hg > truffle
comparison src/share/vm/opto/escape.cpp @ 584:49a36a80b0c7
6802499: EA: assert(false,"unknown node on this path")
Summary: Add missing checks for SCMemProj node in Escape analysis code.
Reviewed-by: never
author | kvn |
---|---|
date | Thu, 19 Feb 2009 17:38:53 -0800 |
parents | 424f9bfe6b96 |
children | 98cb887364d3 |
comparison
equal
deleted
inserted
replaced
583:5d75ab5f6698 | 584:49a36a80b0c7 |
---|---|
754 if (un != NULL) { | 754 if (un != NULL) { |
755 result = un; | 755 result = un; |
756 } else { | 756 } else { |
757 break; | 757 break; |
758 } | 758 } |
759 } else if (result->Opcode() == Op_SCMemProj) { | |
760 assert(result->in(0)->is_LoadStore(), "sanity"); | |
761 const Type *at = phase->type(result->in(0)->in(MemNode::Address)); | |
762 if (at != Type::TOP) { | |
763 assert (at->isa_ptr() != NULL, "pointer type required."); | |
764 int idx = C->get_alias_index(at->is_ptr()); | |
765 assert(idx != alias_idx, "Object is not scalar replaceable if a LoadStore node access its field"); | |
766 break; | |
767 } | |
768 result = result->in(0)->in(MemNode::Memory); | |
759 } | 769 } |
760 } | 770 } |
761 if (result->is_Phi()) { | 771 if (result->is_Phi()) { |
762 PhiNode *mphi = result->as_Phi(); | 772 PhiNode *mphi = result->as_Phi(); |
763 assert(mphi->bottom_type() == Type::MEMORY, "memory phi required"); | 773 assert(mphi->bottom_type() == Type::MEMORY, "memory phi required"); |