summaryrefslogtreecommitdiff
path: root/deps/v8/src/codegen/register-base.h
diff options
context:
space:
mode:
Diffstat (limited to 'deps/v8/src/codegen/register-base.h')
-rw-r--r--deps/v8/src/codegen/register-base.h9
1 files changed, 6 insertions, 3 deletions
diff --git a/deps/v8/src/codegen/register-base.h b/deps/v8/src/codegen/register-base.h
index fad0684d4b..6d9432360f 100644
--- a/deps/v8/src/codegen/register-base.h
+++ b/deps/v8/src/codegen/register-base.h
@@ -34,16 +34,19 @@ class RegisterBase {
static constexpr SubType no_reg() { return SubType{kCode_no_reg}; }
static constexpr SubType from_code(int8_t code) {
- DCHECK(base::IsInRange(static_cast<int>(code), 0, kNumRegisters - 1));
+ V8_ASSUME(code >= 0 && code < kNumRegisters);
return SubType{code};
}
constexpr bool is_valid() const { return reg_code_ != kCode_no_reg; }
constexpr int8_t code() const {
- // Only assume that it's positive (not no_reg); arm64 uses
- // kSPRegInternalCode which is > kNumRegisters.
+#if V8_TARGET_ARCH_ARM64
+ // Arm64 uses kSPRegInternalCode which is > kNumRegisters.
V8_ASSUME(reg_code_ >= 0);
+#else
+ V8_ASSUME(reg_code_ >= 0 && reg_code_ < kNumRegisters);
+#endif
return reg_code_;
}