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");