| 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();
|
| }
|
|
|