Mercurial > hg > graal-compiler
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. |