< prev index next >

src/hotspot/cpu/aarch64/assembler_aarch64.hpp

Print this page
*** 227,11 ***
    }
  
    static void spatch(address a, int msb, int lsb, int64_t val) {
      int nbits = msb - lsb + 1;
      int64_t chk = val >> (nbits - 1);
!     guarantee (chk == -1 || chk == 0, "Field too big for insn at " INTPTR_FORMAT, p2i(a));
      uint64_t uval = val;
      unsigned mask = checked_cast<unsigned>(right_n_bits(nbits));
      uval &= mask;
      uval <<= lsb;
      mask <<= lsb;
--- 227,11 ---
    }
  
    static void spatch(address a, int msb, int lsb, int64_t val) {
      int nbits = msb - lsb + 1;
      int64_t chk = val >> (nbits - 1);
!     guarantee (chk == -1 || chk == 0, "Field " INT64_FORMAT_X_0 " too big (nbits: %d) for insn at " INTPTR_FORMAT, val, nbits, p2i(a));
      uint64_t uval = val;
      unsigned mask = checked_cast<unsigned>(right_n_bits(nbits));
      uval &= mask;
      uval <<= lsb;
      mask <<= lsb;

*** 260,11 ***
    }
  
    void sf(int64_t val, int msb, int lsb) {
      int nbits = msb - lsb + 1;
      int64_t chk = val >> (nbits - 1);
!     guarantee (chk == -1 || chk == 0, "Field too big for insn");
      uint64_t uval = val;
      unsigned mask = checked_cast<unsigned>(right_n_bits(nbits));
      uval &= mask;
      f((unsigned)uval, lsb + nbits - 1, lsb);
    }
--- 260,11 ---
    }
  
    void sf(int64_t val, int msb, int lsb) {
      int nbits = msb - lsb + 1;
      int64_t chk = val >> (nbits - 1);
!     guarantee (chk == -1 || chk == 0, "Field " INT64_FORMAT_X_0 " too big (nbits: %d) for insn", val, nbits);
      uint64_t uval = val;
      unsigned mask = checked_cast<unsigned>(right_n_bits(nbits));
      uval &= mask;
      f((unsigned)uval, lsb + nbits - 1, lsb);
    }
< prev index next >