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) { |