< prev index next > src/hotspot/share/opto/subnode.cpp
Print this page
Node* adr1 = ldk1->in(MemNode::Address);
intptr_t con2 = 0;
Node* ldk2 = AddPNode::Ideal_base_and_offset(adr1, phase, con2);
if (ldk2 == nullptr)
return nullptr;
! if (con2 == oopDesc::klass_offset_in_bytes()) {
// We are inspecting an object's concrete class.
// Short-circuit the check if the query is abstract.
if (superklass->is_interface() ||
superklass->is_abstract()) {
// Make it come out always false:
Node* adr1 = ldk1->in(MemNode::Address);
intptr_t con2 = 0;
Node* ldk2 = AddPNode::Ideal_base_and_offset(adr1, phase, con2);
if (ldk2 == nullptr)
return nullptr;
! if (con2 == Type::klass_offset()) {
// We are inspecting an object's concrete class.
// Short-circuit the check if the query is abstract.
if (superklass->is_interface() ||
superklass->is_abstract()) {
// Make it come out always false:
< prev index next >