Index: src/ia32/lithium-ia32.h |
diff --git a/src/ia32/lithium-ia32.h b/src/ia32/lithium-ia32.h |
index 032d17e5c41422b01770bc6f02f558ec34a1b775..5e53ee1e0f66699240bba4c29954e90a87e6096e 100644 |
--- a/src/ia32/lithium-ia32.h |
+++ b/src/ia32/lithium-ia32.h |
@@ -1489,13 +1489,15 @@ class LReturn: public LTemplateInstruction<0, 3, 0> { |
}; |
-class LLoadNamedField: public LTemplateInstruction<1, 1, 0> { |
+class LLoadNamedField: public LTemplateInstruction<1, 1, 1> { |
public: |
- explicit LLoadNamedField(LOperand* object) { |
+ explicit LLoadNamedField(LOperand* object, LOperand* temp) { |
inputs_[0] = object; |
+ temps_[0] = temp; |
} |
LOperand* object() { return inputs_[0]; } |
+ LOperand* temp() { return temps_[0]; } |
DECLARE_CONCRETE_INSTRUCTION(LoadNamedField, "load-named-field") |
DECLARE_HYDROGEN_ACCESSOR(LoadNamedField) |
@@ -2186,7 +2188,9 @@ class LStoreNamedField: public LTemplateInstruction<0, 2, 2> { |
LStoreNamedField(LOperand* obj, |
LOperand* val, |
LOperand* temp, |
- LOperand* temp_map) { |
+ LOperand* temp_map, |
+ Representation representation) |
+ : representation_(representation) { |
inputs_[0] = obj; |
inputs_[1] = val; |
temps_[0] = temp; |
@@ -2207,6 +2211,10 @@ class LStoreNamedField: public LTemplateInstruction<0, 2, 2> { |
bool is_in_object() { return hydrogen()->is_in_object(); } |
int offset() { return hydrogen()->offset(); } |
Handle<Map> transition() const { return hydrogen()->transition(); } |
+ Representation representation() const { return representation_; } |
+ |
+ private: |
+ Representation representation_; |
}; |