| Index: src/interpreter/bytecode-array-builder.cc
|
| diff --git a/src/interpreter/bytecode-array-builder.cc b/src/interpreter/bytecode-array-builder.cc
|
| index 11b1267172f8d6b780b52afaf19e959d3535d359..192421c1cbc3fd55b6e0d83d67054baa783d5924 100644
|
| --- a/src/interpreter/bytecode-array-builder.cc
|
| +++ b/src/interpreter/bytecode-array-builder.cc
|
| @@ -262,6 +262,15 @@ class OperandHelper<OperandType::kRegOut> {
|
| };
|
|
|
| template <>
|
| +class OperandHelper<OperandType::kRegOutList> {
|
| + public:
|
| + INLINE(static uint32_t Convert(BytecodeArrayBuilder* builder,
|
| + RegisterList reg_list)) {
|
| + return builder->GetOutputRegisterListOperand(reg_list);
|
| + }
|
| +};
|
| +
|
| +template <>
|
| class OperandHelper<OperandType::kRegOutPair> {
|
| public:
|
| INLINE(static uint32_t Convert(BytecodeArrayBuilder* builder,
|
| @@ -1235,8 +1244,8 @@ BytecodeArrayBuilder& BytecodeArrayBuilder::LoadModuleVariable(int cell_index,
|
| }
|
|
|
| BytecodeArrayBuilder& BytecodeArrayBuilder::SuspendGenerator(
|
| - Register generator, SuspendFlags flags) {
|
| - OutputSuspendGenerator(generator,
|
| + Register generator, RegisterList registers, SuspendFlags flags) {
|
| + OutputSuspendGenerator(generator, registers, registers.register_count(),
|
| SuspendGeneratorBytecodeFlags::Encode(flags));
|
| return *this;
|
| }
|
| @@ -1247,6 +1256,13 @@ BytecodeArrayBuilder& BytecodeArrayBuilder::ResumeGenerator(
|
| return *this;
|
| }
|
|
|
| +BytecodeArrayBuilder& BytecodeArrayBuilder::RestoreGeneratorRegisters(
|
| + Register generator, RegisterList registers) {
|
| + OutputRestoreGeneratorRegisters(generator, registers,
|
| + registers.register_count());
|
| + return *this;
|
| +}
|
| +
|
| BytecodeArrayBuilder& BytecodeArrayBuilder::MarkHandler(
|
| int handler_id, HandlerTable::CatchPrediction catch_prediction) {
|
| BytecodeLabel handler;
|
|
|