Index: src/x64/lithium-x64.h |
diff --git a/src/x64/lithium-x64.h b/src/x64/lithium-x64.h |
index 79ce9689994f76b463284623f89137d9cfba0560..5439028904f429da28083e5c324707da256d5a9b 100644 |
--- a/src/x64/lithium-x64.h |
+++ b/src/x64/lithium-x64.h |
@@ -1371,6 +1371,14 @@ class LLoadKeyed: public LTemplateInstruction<1, 2, 0> { |
}; |
+template <class T> |
+inline static bool ArrayOpClobbersKey(T *value) { |
+ CHECK(value->IsLoadKeyed() || value->IsStoreKeyed()); |
+ return !value->IsConstant() && (value->key()->representation().IsTagged() |
+ || value->IsDehoisted()); |
+} |
+ |
+ |
class LLoadKeyedGeneric: public LTemplateInstruction<1, 2, 0> { |
public: |
LLoadKeyedGeneric(LOperand* obj, LOperand* key) { |