mirror of
https://github.com/openjdk/jdk.git
synced 2025-09-20 19:14:38 +02:00
6982537: Crash in Node*step_through_mergemem
Reviewed-by: kvn
This commit is contained in:
parent
0f31511718
commit
f4b4eae617
2 changed files with 19 additions and 17 deletions
|
@ -193,14 +193,15 @@ static Node *step_through_mergemem(PhaseGVN *phase, MergeMemNode *mmem, const T
|
|||
}
|
||||
}
|
||||
#endif
|
||||
// TypeInstPtr::NOTNULL+any is an OOP with unknown offset - generally
|
||||
// TypeOopPtr::NOTNULL+any is an OOP with unknown offset - generally
|
||||
// means an array I have not precisely typed yet. Do not do any
|
||||
// alias stuff with it any time soon.
|
||||
const TypeOopPtr *tinst = tp->isa_oopptr();
|
||||
const TypeOopPtr *toop = tp->isa_oopptr();
|
||||
if( tp->base() != Type::AnyPtr &&
|
||||
!(tinst &&
|
||||
tinst->klass()->is_java_lang_Object() &&
|
||||
tinst->offset() == Type::OffsetBot) ) {
|
||||
!(toop &&
|
||||
toop->klass() != NULL &&
|
||||
toop->klass()->is_java_lang_Object() &&
|
||||
toop->offset() == Type::OffsetBot) ) {
|
||||
// compress paths and change unreachable cycles to TOP
|
||||
// If not, we can update the input infinitely along a MergeMem cycle
|
||||
// Equivalent code in PhiNode::Ideal
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue