equal
deleted
inserted
replaced
387 // x is supposed to fit in a field "nbits" wide |
387 // x is supposed to fit in a field "nbits" wide |
388 // and be sign-extended. Check the range. |
388 // and be sign-extended. Check the range. |
389 |
389 |
390 static void assert_signed_range(intptr_t x, int nbits) { |
390 static void assert_signed_range(intptr_t x, int nbits) { |
391 assert(nbits == 32 || (-(1 << nbits-1) <= x && x < ( 1 << nbits-1)), |
391 assert(nbits == 32 || (-(1 << nbits-1) <= x && x < ( 1 << nbits-1)), |
392 err_msg("value out of range: x=" INTPTR_FORMAT ", nbits=%d", x, nbits)); |
392 "value out of range: x=" INTPTR_FORMAT ", nbits=%d", x, nbits); |
393 } |
393 } |
394 |
394 |
395 static void assert_signed_word_disp_range(intptr_t x, int nbits) { |
395 static void assert_signed_word_disp_range(intptr_t x, int nbits) { |
396 assert( (x & 3) == 0, "not word aligned"); |
396 assert( (x & 3) == 0, "not word aligned"); |
397 assert_signed_range(x, nbits + 2); |
397 assert_signed_range(x, nbits + 2); |