< prev index next >

src/hotspot/share/opto/vectorIntrinsics.cpp

Print this page
@@ -1215,10 +1215,11 @@
    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",

@@ -1399,10 +1400,11 @@
    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()],

@@ -2497,14 +2499,14 @@
    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 >