Index: src/x64/lithium-x64.h |
diff --git a/src/x64/lithium-x64.h b/src/x64/lithium-x64.h |
index b30dd9714daf2ceeae298d775361175b246bb32d..c6f06f511bc052da0dc2d9f5b693c25588d594d5 100644 |
--- a/src/x64/lithium-x64.h |
+++ b/src/x64/lithium-x64.h |
@@ -261,8 +261,6 @@ class LInstruction: public ZoneObject { |
virtual bool HasResult() const = 0; |
virtual LOperand* result() = 0; |
- virtual int InputCount() = 0; |
- virtual LOperand* InputAt(int i) = 0; |
virtual int TempCount() = 0; |
virtual LOperand* TempAt(int i) = 0; |
@@ -274,6 +272,11 @@ class LInstruction: public ZoneObject { |
#endif |
private: |
+ // Iterator support. |
+ friend class InputIterator; |
+ virtual int InputCount() = 0; |
+ virtual LOperand* InputAt(int i) = 0; |
+ |
LEnvironment* environment_; |
SetOncePointer<LPointerMap> pointer_map_; |
HValue* hydrogen_value_; |
@@ -293,7 +296,6 @@ class LTemplateInstruction: public LInstruction { |
void set_result(LOperand* operand) { results_[0] = operand; } |
LOperand* result() { return results_[0]; } |
- int InputCount() { return I; } |
LOperand* InputAt(int i) { return inputs_[i]; } |
int TempCount() { return T; } |
@@ -303,6 +305,9 @@ class LTemplateInstruction: public LInstruction { |
EmbeddedContainer<LOperand*, R> results_; |
EmbeddedContainer<LOperand*, I> inputs_; |
EmbeddedContainer<LOperand*, T> temps_; |
+ |
+ private: |
+ virtual int InputCount() { return I; } |
}; |