code: private void checkMallocedChunk(int mem, int s) {
      if (VALIDATING) {
        int p = memToChunk(mem);
        int sz = head(p) & ~INUSE_BITS;
        checkInUseChunk(p);
        if (sz < MIN_CHUNK_SIZE) 
          throw new AssertionError("Allocated chunk " + p + " is too small");
        if ((sz & CHUNK_ALIGN_MASK) != 0)
          throw new AssertionError("Chunk size " + sz + " of " + p + " is not correctly aligned");
        if (sz < s)
          throw new AssertionError("Allocated chunk " + p + " is smaller than requested [" + sz + "<" + s + "]");
        if (sz > (s + MIN_CHUNK_SIZE)) {
          throw new AssertionError("Allocated chunk " + p + " is too large (should have been split off) [" + sz + ">>" + s + "]");
        }
      }
    }
docs: /* Check properties of malloced chunks at the point they are malloced