comparison src/share/vm/opto/memnode.cpp @ 2317:5a41a201d08c

6812217: Base memory of MergeMem node violates assert during killing expanded AllocateArray node Summary: The assert in MergeMemNode::memory_at() misses the case when address is TOP. Reviewed-by: never
author kvn
date Thu, 24 Feb 2011 10:28:20 -0800
parents 4da76e32c0be
children 41d4973cf100
comparison
equal deleted inserted replaced
2316:d411927672ed 2317:5a41a201d08c
4075 if (is_empty_memory(n)) { 4075 if (is_empty_memory(n)) {
4076 // the array is sparse; empty slots are the "top" node 4076 // the array is sparse; empty slots are the "top" node
4077 n = base_memory(); 4077 n = base_memory();
4078 assert(Node::in_dump() 4078 assert(Node::in_dump()
4079 || n == NULL || n->bottom_type() == Type::TOP 4079 || n == NULL || n->bottom_type() == Type::TOP
4080 || n->adr_type() == NULL // address is TOP
4080 || n->adr_type() == TypePtr::BOTTOM 4081 || n->adr_type() == TypePtr::BOTTOM
4081 || n->adr_type() == TypeRawPtr::BOTTOM 4082 || n->adr_type() == TypeRawPtr::BOTTOM
4082 || Compile::current()->AliasLevel() == 0, 4083 || Compile::current()->AliasLevel() == 0,
4083 "must be a wide memory"); 4084 "must be a wide memory");
4084 // AliasLevel == 0 if we are organizing the memory states manually. 4085 // AliasLevel == 0 if we are organizing the memory states manually.