Index: src/hydrogen-dehoist.cc |
diff --git a/src/hydrogen-dehoist.cc b/src/hydrogen-dehoist.cc |
index 67e6718998319d24158e901c2683f145282eb927..bdf2cfb258409afb10c0466e389533c745fbfd42 100644 |
--- a/src/hydrogen-dehoist.cc |
+++ b/src/hydrogen-dehoist.cc |
@@ -53,7 +53,7 @@ static void DehoistArrayIndex(ArrayInstructionInterface* array_operation) { |
int32_t value = constant->Integer32Value() * sign; |
// We limit offset values to 30 bits because we want to avoid the risk of |
// overflows when the offset is added to the object header size. |
- if (value >= 1 << 30 || value < 0) return; |
+ if (value >= 1 << array_operation->MaxIndexOffsetBits() || value < 0) return; |
array_operation->SetKey(subexpression); |
if (binary_operation->HasNoUses()) { |
binary_operation->DeleteAndReplaceWith(NULL); |