Chromium Code Reviews| Index: src/interpreter/bytecode-array-builder.cc |
| diff --git a/src/interpreter/bytecode-array-builder.cc b/src/interpreter/bytecode-array-builder.cc |
| index de57a8a9d96e59376da5c914b615faa8cfd74022..683a8882af457128ec719864b67d9766e579a1cf 100644 |
| --- a/src/interpreter/bytecode-array-builder.cc |
| +++ b/src/interpreter/bytecode-array-builder.cc |
| @@ -974,10 +974,8 @@ BytecodeArrayBuilder& BytecodeArrayBuilder::Return() { |
| } |
| -BytecodeArrayBuilder& BytecodeArrayBuilder::ForInPrepare( |
| - Register cache_type, Register cache_array, Register cache_length) { |
| - Output(Bytecode::kForInPrepare, cache_type.ToOperand(), |
| - cache_array.ToOperand(), cache_length.ToOperand()); |
| +BytecodeArrayBuilder& BytecodeArrayBuilder::ForInPrepare(Register first_reg) { |
|
oth
2016/01/13 15:28:58
Nit, argument name generic, s/first_reg/cache_info
rmcilroy
2016/01/18 09:40:49
Done.
|
| + Output(Bytecode::kForInPrepare, first_reg.ToOperand()); |
| return *this; |
| } |
| @@ -990,11 +988,10 @@ BytecodeArrayBuilder& BytecodeArrayBuilder::ForInDone(Register index, |
| BytecodeArrayBuilder& BytecodeArrayBuilder::ForInNext(Register receiver, |
| - Register cache_type, |
| - Register cache_array, |
| - Register index) { |
| - Output(Bytecode::kForInNext, receiver.ToOperand(), cache_type.ToOperand(), |
| - cache_array.ToOperand(), index.ToOperand()); |
| + Register index, |
| + Register cache_reg_pair) { |
| + Output(Bytecode::kForInNext, receiver.ToOperand(), index.ToOperand(), |
| + cache_reg_pair.ToOperand()); |
| return *this; |
| } |
| @@ -1256,6 +1253,14 @@ bool BytecodeArrayBuilder::OperandIsValid(Bytecode bytecode, int operand_index, |
| Register reg1 = Register(reg0.index() + 1); |
| return RegisterIsValid(reg0) && RegisterIsValid(reg1); |
| } |
| + case OperandType::kRegTriple8: { |
| + Register reg0 = |
| + Register::FromOperand(static_cast<uint8_t>(operand_value)); |
| + Register reg1 = Register(reg0.index() + 1); |
| + Register reg2 = Register(reg0.index() + 2); |
| + return RegisterIsValid(reg0) && RegisterIsValid(reg1) && |
| + RegisterIsValid(reg2); |
| + } |
| case OperandType::kReg16: |
| if (bytecode != Bytecode::kExchange && |
| bytecode != Bytecode::kExchangeWide) { |