< prev index next > src/hotspot/share/opto/vectorIntrinsics.cpp
Print this page
const TypeInt* vlen = gvn().type(argument(3))->isa_int();
const TypeInstPtr* vector_idx_klass = gvn().type(argument(4))->isa_instptr();
const TypeInt* idx_vlen = gvn().type(argument(5))->isa_int();
if (vector_klass == nullptr || vector_klass->const_oop() == nullptr ||
+ // mask_klass == nullptr || mask_klass->const_oop() == nullptr ||
elem_klass == nullptr || elem_klass->const_oop() == nullptr ||
vlen == nullptr || !vlen->is_con() ||
vector_idx_klass == nullptr || vector_idx_klass->const_oop() == nullptr ||
idx_vlen == nullptr || !idx_vlen->is_con()) {
log_if_needed(" ** missing constant: vclass=%s etype=%s vlen=%s viclass=%s idx_vlen=%s",
const TypeInstPtr* elem_klass = gvn().type(argument(3))->isa_instptr();
const TypeInt* vlen = gvn().type(argument(4))->isa_int();
if (opr == nullptr || !opr->is_con() ||
vector_klass == nullptr || vector_klass->const_oop() == nullptr ||
+ // mask_klass == nullptr || mask_klass->const_oop() == nullptr ||
elem_klass == nullptr || elem_klass->const_oop() == nullptr ||
vlen == nullptr || !vlen->is_con()) {
log_if_needed(" ** missing constant: opr=%s vclass=%s etype=%s vlen=%s",
NodeClassNames[argument(0)->Opcode()],
NodeClassNames[argument(1)->Opcode()],
const TypeInstPtr* vector_klass = gvn().type(argument(0))->isa_instptr();
const TypeInstPtr* elem_klass = gvn().type(argument(1))->isa_instptr();
const TypeInt* vlen = gvn().type(argument(2))->isa_int();
const TypeInt* idx = gvn().type(argument(4))->isa_int();
- if (vector_klass == nullptr || vector_klass->const_oop() == nullptr ||
- elem_klass == nullptr || elem_klass->const_oop() == nullptr ||
- vlen == nullptr || !vlen->is_con() ||
- idx == nullptr || !idx->is_con()) {
+ if (vector_klass == nullptr || elem_klass == nullptr || vlen == nullptr || idx == nullptr) {
+ return false; // dead code
+ }
+ if (vector_klass->const_oop() == nullptr || elem_klass->const_oop() == nullptr || !vlen->is_con() || !idx->is_con()) {
log_if_needed(" ** missing constant: vclass=%s etype=%s vlen=%s",
NodeClassNames[argument(0)->Opcode()],
NodeClassNames[argument(1)->Opcode()],
NodeClassNames[argument(2)->Opcode()]);
return false; // not enough info for intrinsification
< prev index next >