Chromium Code Reviews| Index: src/arm/lithium-arm.h |
| diff --git a/src/arm/lithium-arm.h b/src/arm/lithium-arm.h |
| index ba7c35d8db243a8251b1520554d26e65229650f9..a7227b9975fcbd871c6be8b0b967097ff9fe75a6 100644 |
| --- a/src/arm/lithium-arm.h |
| +++ b/src/arm/lithium-arm.h |
| @@ -177,8 +177,8 @@ class LCodeGen; |
| V(ForInPrepareMap) \ |
| V(ForInCacheArray) \ |
| V(CheckMapValue) \ |
| - V(LoadFieldByIndex) |
| - |
| + V(LoadFieldByIndex) \ |
| + V(DateField) |
| #define DECLARE_CONCRETE_INSTRUCTION(type, mnemonic) \ |
| @@ -990,6 +990,41 @@ class LValueOf: public LTemplateInstruction<1, 1, 1> { |
| }; |
| +class LDateField: public LTemplateInstruction<1, 1, 1> { |
| + public: |
| + LDateField(LOperand* date, LOperand* temp, Smi* index) : index_(index) { |
|
rossberg
2012/03/06 15:55:50
Again, I'm not fond of using Smi here. I don't see
ulan
2012/03/07 10:55:21
Replied above (in full-codegen-arm.cc).
|
| + inputs_[0] = date; |
| + temps_[0] = temp; |
| + } |
| + |
| + DECLARE_CONCRETE_INSTRUCTION(ValueOf, "date-field") |
| + DECLARE_HYDROGEN_ACCESSOR(ValueOf) |
| + Smi* index() const { return index_; } |
| + |
| + private: |
| + Smi* 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, 1, 0> { |
| public: |
| explicit LThrow(LOperand* value) { |