Lines Matching refs:generator
5 #include "src/interpreter/bytecode-generator.h"
25 ContextScope(BytecodeGenerator* generator, Scope* scope,
27 : generator_(generator),
94 explicit ControlScope(BytecodeGenerator* generator)
95 : generator_(generator), outer_(generator->execution_control()),
96 context_(generator->execution_context()) {
113 BytecodeGenerator* generator() const { return generator_; }
131 DeferredCommands(BytecodeGenerator* generator, Register token_register,
133 : generator_(generator),
134 deferred_(generator->zone()),
207 explicit ControlScopeForTopLevel(BytecodeGenerator* generator)
208 : ControlScope(generator) {}
217 generator()->builder()->Return();
220 generator()->builder()->ReThrow();
231 ControlScopeForBreakable(BytecodeGenerator* generator,
234 : ControlScope(generator),
263 ControlScopeForIteration(BytecodeGenerator* generator,
266 : ControlScope(generator),
296 ControlScopeForTryCatch(BytecodeGenerator* generator,
298 : ControlScope(generator) {
299 generator->try_catch_nesting_level_++;
302 generator()->try_catch_nesting_level_--;
313 generator()->builder()->ReThrow();
324 ControlScopeForTryFinally(BytecodeGenerator* generator,
327 : ControlScope(generator),
330 generator->try_finally_nesting_level_++;
333 generator()->try_finally_nesting_level_--;
358 ContextScope* context = generator()->execution_context();
361 generator()->builder()->PopContext(current->context()->reg());
371 generator()->builder()->PopContext(current->context()->reg());
379 explicit RegisterAllocationScope(BytecodeGenerator* generator)
380 : generator_(generator),
381 outer_(generator->register_allocator()),
392 RegisterAllocationScope* current_scope = generator()->register_allocator();
424 BytecodeGenerator* generator() const { return generator_; }
438 ExpressionResultScope(BytecodeGenerator* generator, Expression::Context kind)
439 : generator_(generator),
441 outer_(generator->execution_result()),
442 allocator_(generator),
461 BytecodeGenerator* generator() const { return generator_; }
486 explicit EffectResultScope(BytecodeGenerator* generator)
487 : ExpressionResultScope(generator, Expression::kEffect) {
500 explicit AccumulatorResultScope(BytecodeGenerator* generator)
501 : ExpressionResultScope(generator, Expression::kValue) {}
516 explicit RegisterResultScope(BytecodeGenerator* generator)
517 : ExpressionResultScope(generator, Expression::kValue) {}
534 if (generator()->HasStackOverflow() && !result_identified()) {
590 // In generator functions, we may not have visited every yield in the AST
650 // (i.e. non-generator) functions.
652 // Collect all labels for generator resume points within the loop (if any) so
681 // The generator resume trampoline abuses the new.target register both to
682 // indicate that this is a resume call and to pass in the generator object.
683 // In ordinary calls, new.target is always undefined because generator
704 // after which we will run into the generator object creation and other extra
2216 Register generator = VisitForRegisterValue(expr->generator_object());
2221 .SuspendGenerator(generator)
2239 ->CallRuntime(Runtime::kInlineGeneratorGetInputOrDebugPos, generator, 1)
2244 ->CallRuntime(Runtime::kInlineGeneratorGetResumeMode, generator, 1)