59  GotoIf(SmiEqual(receiver_continuation, closed), &if_receiverisclosed);
 
   62  GotoIf(SmiLessThan(receiver_continuation, closed), &if_receiverisrunning);
 
   87  CSA_DCHECK(
this, SmiNotEqual(result_continuation, closed));
 
   90  GotoIf(SmiEqual(result_continuation, executing), &if_final_return);
 
   94  BIND(&if_final_return);
 
   98        receiver, JSGeneratorObject::kContinuationOffset, closed);
 
  101                                          context, 
result, TrueConstant()));
 
  104  BIND(&if_receiverisclosed);
 
  108    switch (resume_mode) {
 
  112                               UndefinedConstant(), TrueConstant());
 
  116                                            context, value, TrueConstant());
 
  125    args->PopAndReturn(builtin_result);
 
  128  BIND(&if_receiverisrunning);
 
  134        receiver, JSGeneratorObject::kContinuationOffset, closed);
 
  135    CallRuntime(Runtime::kReThrow, context, var_exception.value());
 
 
  152  const int kValueArg = 0;
 
  154  auto argc = UncheckedParameter<Int32T>(Descriptor::kJSActualArgumentsCount);
 
  159  auto context = Parameter<Context>(Descriptor::kContext);
 
  163  char const* 
const method_name = 
"[AsyncModule].evaluate";
 
  164  ThrowIfNotInstanceType(context, 
receiver, JS_ASYNC_FUNCTION_OBJECT_TYPE,
 
 
  221  auto generator = Parameter<JSGeneratorObject>(Descriptor::kGeneratorObject);
 
  222  auto context = LoadContextFromBaseline();
 
  223  StoreJSGeneratorObjectContext(generator, context);
 
  224  auto parameter_count = LoadParameterCountWithoutReceiverFromBaseline();
 
  225  auto suspend_id = SmiTag(UncheckedParameter<IntPtrT>(Descriptor::kSuspendId));
 
  226  StoreJSGeneratorObjectContinuation(generator, suspend_id);
 
  229  auto bytecode_offset =
 
  230      SmiTag(UncheckedParameter<IntPtrT>(Descriptor::kBytecodeOffset));
 
  232  StoreObjectFieldNoWriteBarrier(
 
  233      generator, JSGeneratorObject::kInputOrDebugPosOffset, bytecode_offset);
 
  236      LoadJSGeneratorObjectParametersAndRegisters(generator);
 
  237  auto parameters_and_registers_length =
 
  238      LoadAndUntagFixedArrayBaseLength(parameters_and_registers);
 
  241  auto parameter_base_index = IntPtrConstant(
 
  245  auto parent_frame_pointer = LoadParentFramePointer();
 
  246  BuildFastLoop<IntPtrT>(
 
  249        auto reg_index = IntPtrAdd(parameter_base_index, index);
 
  251                                             TimesSystemPointerSize(reg_index));
 
  252        UnsafeStoreFixedArrayElement(parameters_and_registers, index, value);
 
  254      1, LoopUnrollingMode::kNo, IndexAdvanceMode::kPost);
 
  259  auto register_base_index = IntPtrAdd(
 
  261  auto register_count = UncheckedParameter<IntPtrT>(Descriptor::kRegisterCount);
 
  263  CSA_CHECK(
this, UintPtrLessThan(end_index, parameters_and_registers_length));
 
  264  BuildFastLoop<IntPtrT>(
 
  267        auto reg_index = IntPtrSub(register_base_index, index);
 
  269                                             TimesSystemPointerSize(reg_index));
 
  270        UnsafeStoreFixedArrayElement(parameters_and_registers, index, value);
 
  272      1, LoopUnrollingMode::kNo, IndexAdvanceMode::kPost);
 
  275  Return(UndefinedConstant());
 
 
  280  auto generator = Parameter<JSGeneratorObject>(Descriptor::kGeneratorObject);
 
  281  auto parameter_count = LoadParameterCountWithoutReceiverFromBaseline();
 
  284      LoadJSGeneratorObjectParametersAndRegisters(generator);
 
  288  auto register_base_index = IntPtrAdd(
 
  290  auto register_count = UncheckedParameter<IntPtrT>(Descriptor::kRegisterCount);
 
  292  auto parameters_and_registers_length =
 
  293      LoadAndUntagFixedArrayBaseLength(parameters_and_registers);
 
  294  CSA_CHECK(
this, UintPtrLessThan(end_index, parameters_and_registers_length));
 
  295  auto parent_frame_pointer = LoadParentFramePointer();
 
  296  BuildFastLoop<IntPtrT>(
 
  300            UnsafeLoadFixedArrayElement(parameters_and_registers, index);
 
  301        auto reg_index = IntPtrSub(register_base_index, index);
 
  302        StoreFullTaggedNoWriteBarrier(parent_frame_pointer,
 
  303                                      TimesSystemPointerSize(reg_index), value);
 
  304        UnsafeStoreFixedArrayElement(parameters_and_registers, index,
 
  305                                     StaleRegisterConstant(),
 
  308      1, LoopUnrollingMode::kNo, IndexAdvanceMode::kPost);
 
  310  Return(LoadJSGeneratorObjectInputOrDebugPos(generator));
 
 
void InnerResume(CodeStubArguments *args, TNode< JSGeneratorObject > receiver, TNode< Object > value, TNode< Context > context, JSGeneratorObject::ResumeMode resume_mode, char const *const method_name)