38 bytecode_->incoming_new_target_or_generator_register();
41 RootIndex::kUndefinedValue);
42 __ masm()->Assert(
eq, AbortReason::kUnexpectedValue);
44 int register_count =
bytecode_->register_count();
46 const int kLoopUnrollSize = 8;
47 const int new_target_index = new_target_or_generator_register.
index();
48 const bool has_new_target = new_target_index !=
kMaxInt;
50 DCHECK_LE(new_target_index, register_count);
51 for (
int i = 0;
i < new_target_index;
i++) {
56 register_count -= new_target_index + 1;
58 if (register_count < 2 * kLoopUnrollSize) {
60 for (
int i = 0;
i < register_count; ++
i) {
66 int first_registers = register_count % kLoopUnrollSize;
67 for (
int i = 0;
i < first_registers; ++
i) {
73 __ Move(scratch, register_count / kLoopUnrollSize);
76 DCHECK_GT(register_count / kLoopUnrollSize, 0);
79 for (
int i = 0;
i < kLoopUnrollSize; ++
i) {
83 __ masm()->b(
gt, &loop);