Lines Matching refs:node
23 void GeneratorFunctionBuilder::Prepare(const ir::ScriptFunction *node) const in Prepare()
25 VReg callee = FunctionReg(node); in Prepare()
27 pg_->CreateGeneratorObj(node, callee); in Prepare()
28 pg_->StoreAccumulator(node, funcObj_); in Prepare()
29 pg_->SuspendGenerator(node, funcObj_); in Prepare()
30 pg_->SetLabel(node, catchTable_->LabelSet().TryBegin()); in Prepare()
33 void GeneratorFunctionBuilder::CleanUp(const ir::ScriptFunction *node) const in CleanUp()
37 pg_->SetLabel(node, labelSet.TryEnd()); in CleanUp()
38 pg_->SetLabel(node, labelSet.CatchBegin()); in CleanUp()
39 pg_->GeneratorComplete(node, funcObj_); in CleanUp()
40 pg_->EmitThrow(node); in CleanUp()
41 pg_->SetLabel(node, labelSet.CatchEnd()); in CleanUp()
44 void GeneratorFunctionBuilder::DirectReturn(const ir::AstNode *node) const in DirectReturn()
46 pg_->GeneratorComplete(node, funcObj_); in DirectReturn()
47 pg_->CreateIterResultObject(node, true); in DirectReturn()
48 pg_->EmitReturn(node); in DirectReturn()
51 void GeneratorFunctionBuilder::ImplicitReturn(const ir::AstNode *node) const in ImplicitReturn()
53 pg_->LoadConst(node, Constant::JS_UNDEFINED); in ImplicitReturn()
54 DirectReturn(node); in ImplicitReturn()
57 void GeneratorFunctionBuilder::Yield(const ir::AstNode *node) in Yield() argument
63 pg_->CreateIterResultObject(node, false); in Yield()
64 pg_->GeneratorYield(node, funcObj_); in Yield()
65 SuspendResumeExecution(node, completionType, completionValue); in Yield()
67 HandleCompletion(node, completionType, completionValue); in Yield()