| Index: src/interpreter/bytecode-array-builder.cc
|
| diff --git a/src/interpreter/bytecode-array-builder.cc b/src/interpreter/bytecode-array-builder.cc
|
| index 281eb14d16f52f0b8b3b68772991f59d3661b207..dfa395095abaf72da5407a415b7af5edb58b1410 100644
|
| --- a/src/interpreter/bytecode-array-builder.cc
|
| +++ b/src/interpreter/bytecode-array-builder.cc
|
| @@ -652,9 +652,10 @@ BytecodeArrayBuilder& BytecodeArrayBuilder::Debugger() {
|
| }
|
|
|
| BytecodeArrayBuilder& BytecodeArrayBuilder::ForInPrepare(
|
| - Register receiver, Register cache_info_triple) {
|
| + Register receiver, RegisterList cache_info_triple) {
|
| + DCHECK_EQ(3, cache_info_triple.register_count());
|
| Output(Bytecode::kForInPrepare, RegisterOperand(receiver),
|
| - RegisterOperand(cache_info_triple));
|
| + RegisterOperand(cache_info_triple.first_register()));
|
| return *this;
|
| }
|
|
|
| @@ -666,10 +667,12 @@ BytecodeArrayBuilder& BytecodeArrayBuilder::ForInContinue(
|
| }
|
|
|
| BytecodeArrayBuilder& BytecodeArrayBuilder::ForInNext(
|
| - Register receiver, Register index, Register cache_type_array_pair,
|
| + Register receiver, Register index, RegisterList cache_type_array_pair,
|
| int feedback_slot) {
|
| + DCHECK_EQ(2, cache_type_array_pair.register_count());
|
| Output(Bytecode::kForInNext, RegisterOperand(receiver),
|
| - RegisterOperand(index), RegisterOperand(cache_type_array_pair),
|
| + RegisterOperand(index),
|
| + RegisterOperand(cache_type_array_pair.first_register()),
|
| UnsignedOperand(feedback_slot));
|
| return *this;
|
| }
|
| @@ -774,19 +777,22 @@ BytecodeArrayBuilder& BytecodeArrayBuilder::CallRuntime(
|
| }
|
|
|
| BytecodeArrayBuilder& BytecodeArrayBuilder::CallRuntimeForPair(
|
| - Runtime::FunctionId function_id, RegisterList args, Register first_return) {
|
| + Runtime::FunctionId function_id, RegisterList args,
|
| + RegisterList return_pair) {
|
| DCHECK_EQ(2, Runtime::FunctionForId(function_id)->result_size);
|
| DCHECK(Bytecodes::SizeForUnsignedOperand(function_id) <= OperandSize::kShort);
|
| + DCHECK_EQ(2, return_pair.register_count());
|
| Output(Bytecode::kCallRuntimeForPair, static_cast<uint16_t>(function_id),
|
| RegisterOperand(args.first_register()),
|
| - UnsignedOperand(args.register_count()), RegisterOperand(first_return));
|
| + UnsignedOperand(args.register_count()),
|
| + RegisterOperand(return_pair.first_register()));
|
| return *this;
|
| }
|
|
|
| BytecodeArrayBuilder& BytecodeArrayBuilder::CallRuntimeForPair(
|
| - Runtime::FunctionId function_id, Register arg, Register first_return) {
|
| + Runtime::FunctionId function_id, Register arg, RegisterList return_pair) {
|
| return CallRuntimeForPair(function_id, RegisterList(arg.index(), 1),
|
| - first_return);
|
| + return_pair);
|
| }
|
|
|
| BytecodeArrayBuilder& BytecodeArrayBuilder::CallJSRuntime(int context_index,
|
|
|