Lines Matching refs:stmt
230 Node* RecordCommand(Command cmd, Statement* stmt, Node* value) {
249 deferred_.push_back({cmd, stmt, token});
1026 void AstGraphBuilder::ControlScope::BreakTo(BreakableStatement* stmt) {
1027 PerformCommand(CMD_BREAK, stmt, builder()->jsgraph()->TheHoleConstant());
1031 void AstGraphBuilder::ControlScope::ContinueTo(BreakableStatement* stmt) {
1032 PerformCommand(CMD_CONTINUE, stmt, builder()->jsgraph()->TheHoleConstant());
1197 void AstGraphBuilder::VisitBlock(Block* stmt) {
1199 ControlScopeForBreakable scope(this, stmt, &block);
1200 if (stmt->labels() != nullptr) block.BeginBlock();
1201 if (stmt->scope() == nullptr) {
1203 VisitStatements(stmt->statements());
1206 if (stmt->scope()->NeedsContext()) {
1207 Node* context = BuildLocalBlockContext(stmt->scope());
1208 ContextScope scope(this, stmt->scope(), context);
1209 VisitDeclarations(stmt->scope()->declarations());
1210 VisitStatements(stmt->statements());
1212 VisitDeclarations(stmt->scope()->declarations());
1213 VisitStatements(stmt->statements());
1216 if (stmt->labels() != nullptr) block.EndBlock();
1220 void AstGraphBuilder::VisitExpressionStatement(ExpressionStatement* stmt) {
1221 VisitForEffect(stmt->expression());
1225 void AstGraphBuilder::VisitEmptyStatement(EmptyStatement* stmt) {
1231 SloppyBlockFunctionStatement* stmt) {
1232 Visit(stmt->statement());
1236 void AstGraphBuilder::VisitIfStatement(IfStatement* stmt) {
1238 VisitForTest(stmt->condition());
1242 Visit(stmt->then_statement());
1244 Visit(stmt->else_statement());
1249 void AstGraphBuilder::VisitContinueStatement(ContinueStatement* stmt) {
1250 execution_control()->ContinueTo(stmt->target());
1254 void AstGraphBuilder::VisitBreakStatement(BreakStatement* stmt) {
1255 execution_control()->BreakTo(stmt->target());
1259 void AstGraphBuilder::VisitReturnStatement(ReturnStatement* stmt) {
1260 VisitForValue(stmt->expression());
1266 void AstGraphBuilder::VisitWithStatement(WithStatement* stmt) {
1267 VisitForValue(stmt->expression());
1269 Node* object = BuildToObject(value, stmt->ToObjectId());
1272 PrepareFrameState(context, stmt->EntryId());
1273 VisitInScope(stmt->statement(), stmt->scope(), context);
1277 void AstGraphBuilder::VisitSwitchStatement(SwitchStatement* stmt) {
1278 ZoneList<CaseClause*>* clauses = stmt->cases();
1280 ControlScopeForBreakable scope(this, stmt, &compare_switch);
1285 VisitForValue(stmt->tag());
1337 void AstGraphBuilder::VisitDoWhileStatement(DoWhileStatement* stmt) {
1339 while_loop.BeginLoop(GetVariablesAssignedInLoop(stmt), CheckOsrEntry(stmt));
1340 VisitIterationBody(stmt, &while_loop);
1342 VisitForTest(stmt->cond());
1349 void AstGraphBuilder::VisitWhileStatement(WhileStatement* stmt) {
1351 while_loop.BeginLoop(GetVariablesAssignedInLoop(stmt), CheckOsrEntry(stmt));
1352 VisitForTest(stmt->cond());
1355 VisitIterationBody(stmt, &while_loop);
1361 void AstGraphBuilder::VisitForStatement(ForStatement* stmt) {
1363 VisitIfNotNull(stmt->init());
1364 for_loop.BeginLoop(GetVariablesAssignedInLoop(stmt), CheckOsrEntry(stmt));
1365 if (stmt->cond() != nullptr) {
1366 VisitForTest(stmt->cond());
1372 VisitIterationBody(stmt, &for_loop);
1374 VisitIfNotNull(stmt->next());
1379 void AstGraphBuilder::VisitForInStatement(ForInStatement* stmt) {
1380 VisitForValue(stmt->subject());
1395 object = BuildToObject(object, stmt->ToObjectId());
1400 PrepareFrameState(prepare, stmt->PrepareId(),
1414 for_loop.BeginLoop(GetVariablesAssignedInLoop(stmt), CheckOsrEntry(stmt));
1431 PrepareFrameState(value, stmt->FilterId(),
1443 CreateVectorSlotPair(stmt->EachFeedbackSlot());
1444 VisitForInAssignment(stmt->each(), value, feedback, stmt->FilterId(),
1445 stmt->AssignmentId());
1446 VisitIterationBody(stmt, &for_loop);
1463 void AstGraphBuilder::VisitForOfStatement(ForOfStatement* stmt) {
1465 VisitForEffect(stmt->assign_iterator());
1466 for_loop.BeginLoop(GetVariablesAssignedInLoop(stmt), CheckOsrEntry(stmt));
1467 VisitForEffect(stmt->next_result());
1468 VisitForTest(stmt->result_done());
1471 VisitForEffect(stmt->assign_each());
1472 VisitIterationBody(stmt, &for_loop);
1478 void AstGraphBuilder::VisitTryCatchStatement(TryCatchStatement* stmt) {
1488 Visit(stmt->try_block());
1494 if (stmt->clear_pending_message()) {
1501 Handle<String> name = stmt->variable()->name();
1506 VisitInScope(stmt->catch_block(), stmt->scope(), context);
1511 void AstGraphBuilder::VisitTryFinallyStatement(TryFinallyStatement* stmt) {
1534 Visit(stmt->try_block());
1559 Visit(stmt->finally_block());
1574 void AstGraphBuilder::VisitDebuggerStatement(DebuggerStatement* stmt) {
1577 PrepareFrameState(node, stmt->DebugBreakId());
3000 void AstGraphBuilder::VisitIfNotNull(Statement* stmt) {
3001 if (stmt == nullptr) return;
3002 Visit(stmt);
3006 void AstGraphBuilder::VisitInScope(Statement* stmt, Scope* s, Node* context) {
3009 Visit(stmt);
3013 void AstGraphBuilder::VisitIterationBody(IterationStatement* stmt,
3015 ControlScopeForIteration scope(this, stmt, loop);
3018 PrepareFrameState(node, stmt->StackCheckId());
3020 Visit(stmt->body());
4052 bool AstGraphBuilder::CheckOsrEntry(IterationStatement* stmt) {
4053 if (info()->osr_ast_id() == stmt->OsrEntryId()) {
4092 IterationStatement* stmt) {
4094 return loop_assignment_analysis_->GetVariablesAssignedInLoop(stmt);