Index: src/hydrogen-instructions.h |
diff --git a/src/hydrogen-instructions.h b/src/hydrogen-instructions.h |
index e336c49d1df195653fc75aca87d4fb6eaf3b4b0c..6b92d5baa987abc7c47c76c88a6e2b88a14f24d6 100644 |
--- a/src/hydrogen-instructions.h |
+++ b/src/hydrogen-instructions.h |
@@ -6141,6 +6141,7 @@ class ArrayInstructionInterface { |
virtual HValue* GetKey() = 0; |
virtual void SetKey(HValue* key) = 0; |
virtual void SetIndexOffset(uint32_t index_offset) = 0; |
+ virtual int MaxIndexOffsetBits() = 0; |
virtual bool IsDehoisted() = 0; |
virtual void SetDehoisted(bool is_dehoisted) = 0; |
virtual ~ArrayInstructionInterface() { }; |
@@ -6180,6 +6181,9 @@ class HLoadKeyed V8_FINAL |
void SetIndexOffset(uint32_t index_offset) { |
bit_field_ = IndexOffsetField::update(bit_field_, index_offset); |
} |
+ virtual int MaxIndexOffsetBits() { |
+ return kBitsForIndexOffset; |
+ } |
HValue* GetKey() { return key(); } |
void SetKey(HValue* key) { SetOperandAt(1, key); } |
bool IsDehoisted() { return IsDehoistedField::decode(bit_field_); } |
@@ -6566,6 +6570,9 @@ class HStoreKeyed V8_FINAL |
ElementsKind elements_kind() const { return elements_kind_; } |
uint32_t index_offset() { return index_offset_; } |
void SetIndexOffset(uint32_t index_offset) { index_offset_ = index_offset; } |
+ virtual int MaxIndexOffsetBits() { |
+ return 31 - ElementsKindToShiftSize(elements_kind_); |
+ } |
HValue* GetKey() { return key(); } |
void SetKey(HValue* key) { SetOperandAt(1, key); } |
bool IsDehoisted() { return is_dehoisted_; } |