< prev index next > src/hotspot/share/opto/subtypenode.cpp
Print this page
}
if (addr != nullptr) {
intptr_t con = 0;
Node* obj = AddPNode::Ideal_base_and_offset(addr, phase, con);
- if (con == oopDesc::klass_offset_in_bytes() && obj != nullptr) {
+ if (con == Type::klass_offset() && obj != nullptr) {
assert(is_oop(phase, obj), "only for oop input");
set_req_X(ObjOrSubKlass, obj, phase);
return this;
}
}
Node* SubTypeCheckNode::load_klass(PhaseGVN* phase) const {
Node* obj_or_subklass = in(ObjOrSubKlass);
const Type* sub_t = phase->type(obj_or_subklass);
Node* subklass = nullptr;
if (sub_t->isa_oopptr()) {
- Node* adr = phase->transform(new AddPNode(obj_or_subklass, obj_or_subklass, phase->MakeConX(oopDesc::klass_offset_in_bytes())));
+ Node* adr = phase->transform(new AddPNode(obj_or_subklass, obj_or_subklass, phase->MakeConX(Type::klass_offset())));
subklass = phase->transform(LoadKlassNode::make(*phase, nullptr, phase->C->immutable_memory(), adr, TypeInstPtr::KLASS));
record_for_cleanup(subklass, phase);
} else {
subklass = obj_or_subklass;
}
st->print(" profiled at:");
_method->print_short_name(st);
st->print(":%d", _bci);
}
}
- #endif
+ #endif
< prev index next >