Index: src/x64/assembler-x64.h |
diff --git a/src/x64/assembler-x64.h b/src/x64/assembler-x64.h |
index f195439eba9f91866206bff06362edc2e0a28a2c..1bddea4bf65241af0d1d8c847270dac62e66e402 100644 |
--- a/src/x64/assembler-x64.h |
+++ b/src/x64/assembler-x64.h |
@@ -46,23 +46,23 @@ namespace internal { |
// Test whether a 64-bit value is in a specific range. |
static inline bool is_uint32(int64_t x) { |
- static const int64_t kUInt32Mask = V8_INT64_C(0xffffffff); |
- return x == (x & kUInt32Mask); |
+ static const uint64_t kMaxUInt32 = V8_UINT64_C(0xffffffff); |
+ return static_cast<uint64_t>(x) <= kMaxUInt32; |
} |
static inline bool is_int32(int64_t x) { |
- static const int64_t kMinIntValue = V8_INT64_C(-0x80000000); |
- return is_uint32(x - kMinIntValue); |
+ static const int64_t kMinInt32 = -V8_INT64_C(0x80000000); |
+ return is_uint32(x - kMinInt32); |
} |
static inline bool uint_is_int32(uint64_t x) { |
- static const uint64_t kMaxIntValue = V8_UINT64_C(0x80000000); |
- return x < kMaxIntValue; |
+ static const uint64_t kMaxInt32 = V8_UINT64_C(0x7fffffff); |
+ return x <= kMaxInt32; |
} |
static inline bool is_uint32(uint64_t x) { |
- static const uint64_t kMaxUIntValue = V8_UINT64_C(0x100000000); |
- return x < kMaxUIntValue; |
+ static const uint64_t kMaxUInt32 = V8_UINT64_C(0xffffffff); |
+ return x <= kMaxUInt32; |
} |
// CPU Registers. |