Index: src/x64/lithium-x64.h |
diff --git a/src/x64/lithium-x64.h b/src/x64/lithium-x64.h |
index 7255c8d340fcf2652c8334007b416ec9094adf1c..4bceb152b577bd564be388eb92a99d764192e5aa 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) { |
danno
2012/11/07 22:34:38
You can move this to the .cc file. It's only used
mvstanton
2012/11/09 09:43:13
Shucks, it is actually used in both lithium-x64.cc
|
+ 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) { |