Index: src/interpreter/interpreter.cc |
diff --git a/src/interpreter/interpreter.cc b/src/interpreter/interpreter.cc |
index 4eb4253de03e9e40b4cf5bc2e0c0b71fc7b1ed7e..38d534f43faf505d2626a2678c0f507068ad8ebd 100644 |
--- a/src/interpreter/interpreter.cc |
+++ b/src/interpreter/interpreter.cc |
@@ -1833,11 +1833,10 @@ void Interpreter::DoForInDone(InterpreterAssembler* assembler) { |
// Increments the loop counter in register |index| and stores the result |
// in the accumulator. |
void Interpreter::DoForInStep(InterpreterAssembler* assembler) { |
- // TODO(oth): Implement directly rather than making a runtime call. |
Node* index_reg = __ BytecodeOperandReg(0); |
Node* index = __ LoadRegister(index_reg); |
- Node* context = __ GetContext(); |
- Node* result = __ CallRuntime(Runtime::kForInStep, context, index); |
+ Node* one = __ SmiConstant(Smi::FromInt(1)); |
+ Node* result = __ SmiAdd(index, one); |
__ SetAccumulator(result); |
__ Dispatch(); |
} |