mirror of
https://github.com/openjdk/jdk.git
synced 2026-02-28 19:20:33 +00:00
8242502: UnexpectedDeoptimizationTest.java failed "assert(phase->type(obj)->isa_oopptr()) failed: only for oop input"
Reviewed-by: kvn, thartmann
This commit is contained in:
parent
68e53065e0
commit
3cb0f002b3
@ -134,7 +134,14 @@ Node *SubTypeCheckNode::Ideal(PhaseGVN *phase, bool can_reshape) {
|
||||
intptr_t con = 0;
|
||||
Node* obj = AddPNode::Ideal_base_and_offset(addr, phase, con);
|
||||
if (con == oopDesc::klass_offset_in_bytes() && obj != NULL) {
|
||||
assert(phase->type(obj)->isa_oopptr(), "only for oop input");
|
||||
#ifdef ASSERT
|
||||
const Type* obj_t = phase->type(obj);
|
||||
if (!obj_t->isa_oopptr() && obj_t != Type::TOP) {
|
||||
obj->dump();
|
||||
obj_t->dump(); tty->cr();
|
||||
fatal("only for oop input");
|
||||
}
|
||||
#endif
|
||||
set_req(ObjOrSubKlass, obj);
|
||||
return this;
|
||||
}
|
||||
@ -143,7 +150,14 @@ Node *SubTypeCheckNode::Ideal(PhaseGVN *phase, bool can_reshape) {
|
||||
// AllocateNode might have more accurate klass input
|
||||
Node* allocated_klass = AllocateNode::Ideal_klass(obj_or_subklass, phase);
|
||||
if (allocated_klass != NULL) {
|
||||
assert(phase->type(obj_or_subklass)->isa_oopptr(), "only for oop input");
|
||||
#ifdef ASSERT
|
||||
const Type* obj_or_subklass_t = phase->type(obj_or_subklass);
|
||||
if (!obj_or_subklass_t->isa_oopptr() && obj_or_subklass_t != Type::TOP) {
|
||||
obj_or_subklass->dump();
|
||||
obj_or_subklass_t->dump(); tty->cr();
|
||||
fatal("only for oop input");
|
||||
}
|
||||
#endif
|
||||
set_req(ObjOrSubKlass, allocated_klass);
|
||||
return this;
|
||||
}
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user