Index: src/ia32/lithium-ia32.h |
diff --git a/src/ia32/lithium-ia32.h b/src/ia32/lithium-ia32.h |
index 67bf9376c71b38e86e7d206e6d7a92c0d6b9fdd4..afc2084a55e5307191d99ee86ed9f173aeb8cc03 100644 |
--- a/src/ia32/lithium-ia32.h |
+++ b/src/ia32/lithium-ia32.h |
@@ -166,7 +166,9 @@ class LCodeGen; |
V(TypeofIsAndBranch) \ |
V(UnaryMathOperation) \ |
V(UnknownOSRValue) \ |
- V(ValueOf) |
+ V(ValueOf) \ |
+ V(DateField) \ |
+ V(SetDateField) |
#define DECLARE_CONCRETE_INSTRUCTION(type, mnemonic) \ |
@@ -996,6 +998,42 @@ class LValueOf: public LTemplateInstruction<1, 1, 1> { |
}; |
+class LDateField: public LTemplateInstruction<1, 1, 1> { |
+ public: |
+ LDateField(LOperand* date, LOperand* temp, int index) : index_(index) { |
+ inputs_[0] = date; |
+ temps_[0] = temp; |
+ } |
+ |
+ DECLARE_CONCRETE_INSTRUCTION(DateField, "date-field") |
+ DECLARE_HYDROGEN_ACCESSOR(DateField) |
+ |
+ int index() const { return index_; } |
+ |
+ private: |
+ int index_; |
+}; |
+ |
+ |
+class LSetDateField: public LTemplateInstruction<1, 2, 1> { |
+ public: |
+ LSetDateField(LOperand* date, LOperand* value, LOperand* temp, int index) |
+ : index_(index) { |
+ inputs_[0] = date; |
+ inputs_[1] = value; |
+ temps_[0] = temp; |
+ } |
+ |
+ DECLARE_CONCRETE_INSTRUCTION(DateField, "date-set-field") |
+ DECLARE_HYDROGEN_ACCESSOR(DateField) |
+ |
+ int index() const { return index_; } |
+ |
+ private: |
+ int index_; |
+}; |
+ |
+ |
class LThrow: public LTemplateInstruction<0, 2, 0> { |
public: |
LThrow(LOperand* context, LOperand* value) { |