• Home
  • Raw
  • Download

Lines Matching refs:stmt

106   void Break(Statement* stmt) { PerformCommand(CMD_BREAK, stmt); }  in Break()  argument
107 void Continue(Statement* stmt) { PerformCommand(CMD_CONTINUE, stmt); } in Continue() argument
795 void BytecodeGenerator::VisitIterationHeader(IterationStatement* stmt, in VisitIterationHeader() argument
799 if (stmt->yield_count() == 0) { in VisitIterationHeader()
806 size_t first_yield = stmt->first_yield_id(); in VisitIterationHeader()
807 DCHECK_LE(first_yield + stmt->yield_count(), in VisitIterationHeader()
809 for (size_t id = first_yield; id < first_yield + stmt->yield_count(); in VisitIterationHeader()
826 stmt->yield_count(), generator_resume_points_); in VisitIterationHeader()
862 void BytecodeGenerator::VisitBlock(Block* stmt) { in VisitBlock() argument
864 CurrentScope current_scope(this, stmt->scope()); in VisitBlock()
865 if (stmt->scope() != nullptr && stmt->scope()->NeedsContext()) { in VisitBlock()
866 BuildNewLocalBlockContext(stmt->scope()); in VisitBlock()
867 ContextScope scope(this, stmt->scope()); in VisitBlock()
868 VisitBlockDeclarationsAndStatements(stmt); in VisitBlock()
870 VisitBlockDeclarationsAndStatements(stmt); in VisitBlock()
874 void BytecodeGenerator::VisitBlockDeclarationsAndStatements(Block* stmt) { in VisitBlockDeclarationsAndStatements() argument
876 ControlScopeForBreakable execution_control(this, stmt, &block_builder); in VisitBlockDeclarationsAndStatements()
877 if (stmt->scope() != nullptr) { in VisitBlockDeclarationsAndStatements()
878 VisitDeclarations(stmt->scope()->declarations()); in VisitBlockDeclarationsAndStatements()
880 VisitStatements(stmt->statements()); in VisitBlockDeclarationsAndStatements()
881 if (stmt->labels() != nullptr) block_builder.EndBlock(); in VisitBlockDeclarationsAndStatements()
1033 Statement* stmt = statements->at(i); in VisitStatements() local
1034 Visit(stmt); in VisitStatements()
1035 if (stmt->IsJump()) break; in VisitStatements()
1039 void BytecodeGenerator::VisitExpressionStatement(ExpressionStatement* stmt) { in VisitExpressionStatement() argument
1040 builder()->SetStatementPosition(stmt); in VisitExpressionStatement()
1041 VisitForEffect(stmt->expression()); in VisitExpressionStatement()
1044 void BytecodeGenerator::VisitEmptyStatement(EmptyStatement* stmt) { in VisitEmptyStatement() argument
1047 void BytecodeGenerator::VisitIfStatement(IfStatement* stmt) { in VisitIfStatement() argument
1048 builder()->SetStatementPosition(stmt); in VisitIfStatement()
1049 if (stmt->condition()->ToBooleanIsTrue()) { in VisitIfStatement()
1051 Visit(stmt->then_statement()); in VisitIfStatement()
1052 } else if (stmt->condition()->ToBooleanIsFalse()) { in VisitIfStatement()
1054 if (stmt->HasElseStatement()) { in VisitIfStatement()
1055 Visit(stmt->else_statement()); in VisitIfStatement()
1063 VisitForTest(stmt->condition(), &then_labels, &else_labels, in VisitIfStatement()
1067 Visit(stmt->then_statement()); in VisitIfStatement()
1069 if (stmt->HasElseStatement()) { in VisitIfStatement()
1072 Visit(stmt->else_statement()); in VisitIfStatement()
1081 SloppyBlockFunctionStatement* stmt) { in VisitSloppyBlockFunctionStatement() argument
1082 Visit(stmt->statement()); in VisitSloppyBlockFunctionStatement()
1085 void BytecodeGenerator::VisitContinueStatement(ContinueStatement* stmt) { in VisitContinueStatement() argument
1086 builder()->SetStatementPosition(stmt); in VisitContinueStatement()
1087 execution_control()->Continue(stmt->target()); in VisitContinueStatement()
1090 void BytecodeGenerator::VisitBreakStatement(BreakStatement* stmt) { in VisitBreakStatement() argument
1091 builder()->SetStatementPosition(stmt); in VisitBreakStatement()
1092 execution_control()->Break(stmt->target()); in VisitBreakStatement()
1095 void BytecodeGenerator::VisitReturnStatement(ReturnStatement* stmt) { in VisitReturnStatement() argument
1096 builder()->SetStatementPosition(stmt); in VisitReturnStatement()
1097 VisitForAccumulatorValue(stmt->expression()); in VisitReturnStatement()
1099 if (stmt->is_async_return()) { in VisitReturnStatement()
1106 void BytecodeGenerator::VisitWithStatement(WithStatement* stmt) { in VisitWithStatement() argument
1107 builder()->SetStatementPosition(stmt); in VisitWithStatement()
1108 VisitForAccumulatorValue(stmt->expression()); in VisitWithStatement()
1109 BuildNewLocalWithContext(stmt->scope()); in VisitWithStatement()
1110 VisitInScope(stmt->statement(), stmt->scope()); in VisitWithStatement()
1113 void BytecodeGenerator::VisitSwitchStatement(SwitchStatement* stmt) { in VisitSwitchStatement() argument
1116 ZoneList<CaseClause*>* clauses = stmt->cases(); in VisitSwitchStatement()
1118 ControlScopeForBreakable scope(this, stmt, &switch_builder); in VisitSwitchStatement()
1121 builder()->SetStatementPosition(stmt); in VisitSwitchStatement()
1124 Register tag = VisitForRegisterValue(stmt->tag()); in VisitSwitchStatement()
1167 void BytecodeGenerator::VisitIterationBody(IterationStatement* stmt, in VisitIterationBody() argument
1169 ControlScopeForIteration execution_control(this, stmt, loop_builder); in VisitIterationBody()
1170 builder()->StackCheck(stmt->position()); in VisitIterationBody()
1171 Visit(stmt->body()); in VisitIterationBody()
1175 void BytecodeGenerator::VisitDoWhileStatement(DoWhileStatement* stmt) { in VisitDoWhileStatement() argument
1177 if (stmt->cond()->ToBooleanIsFalse()) { in VisitDoWhileStatement()
1178 VisitIterationBody(stmt, &loop_builder); in VisitDoWhileStatement()
1179 } else if (stmt->cond()->ToBooleanIsTrue()) { in VisitDoWhileStatement()
1180 VisitIterationHeader(stmt, &loop_builder); in VisitDoWhileStatement()
1181 VisitIterationBody(stmt, &loop_builder); in VisitDoWhileStatement()
1184 VisitIterationHeader(stmt, &loop_builder); in VisitDoWhileStatement()
1185 VisitIterationBody(stmt, &loop_builder); in VisitDoWhileStatement()
1186 builder()->SetExpressionAsStatementPosition(stmt->cond()); in VisitDoWhileStatement()
1188 VisitForTest(stmt->cond(), &loop_backbranch, loop_builder.break_labels(), in VisitDoWhileStatement()
1196 void BytecodeGenerator::VisitWhileStatement(WhileStatement* stmt) { in VisitWhileStatement() argument
1197 if (stmt->cond()->ToBooleanIsFalse()) { in VisitWhileStatement()
1203 VisitIterationHeader(stmt, &loop_builder); in VisitWhileStatement()
1204 if (!stmt->cond()->ToBooleanIsTrue()) { in VisitWhileStatement()
1205 builder()->SetExpressionAsStatementPosition(stmt->cond()); in VisitWhileStatement()
1207 VisitForTest(stmt->cond(), &loop_body, loop_builder.break_labels(), in VisitWhileStatement()
1211 VisitIterationBody(stmt, &loop_builder); in VisitWhileStatement()
1216 void BytecodeGenerator::VisitForStatement(ForStatement* stmt) { in VisitForStatement() argument
1217 if (stmt->init() != nullptr) { in VisitForStatement()
1218 Visit(stmt->init()); in VisitForStatement()
1220 if (stmt->cond() && stmt->cond()->ToBooleanIsFalse()) { in VisitForStatement()
1227 VisitIterationHeader(stmt, &loop_builder); in VisitForStatement()
1228 if (stmt->cond() && !stmt->cond()->ToBooleanIsTrue()) { in VisitForStatement()
1229 builder()->SetExpressionAsStatementPosition(stmt->cond()); in VisitForStatement()
1231 VisitForTest(stmt->cond(), &loop_body, loop_builder.break_labels(), in VisitForStatement()
1235 VisitIterationBody(stmt, &loop_builder); in VisitForStatement()
1236 if (stmt->next() != nullptr) { in VisitForStatement()
1237 builder()->SetStatementPosition(stmt->next()); in VisitForStatement()
1238 Visit(stmt->next()); in VisitForStatement()
1311 void BytecodeGenerator::VisitForInStatement(ForInStatement* stmt) { in VisitForInStatement() argument
1312 if (stmt->subject()->IsNullLiteral() || in VisitForInStatement()
1313 stmt->subject()->IsUndefinedLiteral()) { in VisitForInStatement()
1322 builder()->SetExpressionAsStatementPosition(stmt->subject()); in VisitForInStatement()
1323 VisitForAccumulatorValue(stmt->subject()); in VisitForInStatement()
1340 VisitIterationHeader(stmt, &loop_builder); in VisitForInStatement()
1341 builder()->SetExpressionAsStatementPosition(stmt->each()); in VisitForInStatement()
1344 FeedbackSlot slot = stmt->ForInFeedbackSlot(); in VisitForInStatement()
1348 VisitForInAssignment(stmt->each(), stmt->EachFeedbackSlot()); in VisitForInStatement()
1349 VisitIterationBody(stmt, &loop_builder); in VisitForInStatement()
1358 void BytecodeGenerator::VisitForOfStatement(ForOfStatement* stmt) { in VisitForOfStatement() argument
1361 builder()->SetExpressionAsStatementPosition(stmt->assign_iterator()); in VisitForOfStatement()
1362 VisitForEffect(stmt->assign_iterator()); in VisitForOfStatement()
1364 VisitIterationHeader(stmt, &loop_builder); in VisitForOfStatement()
1365 builder()->SetExpressionAsStatementPosition(stmt->next_result()); in VisitForOfStatement()
1366 VisitForEffect(stmt->next_result()); in VisitForOfStatement()
1367 VisitForAccumulatorValue(stmt->result_done()); in VisitForOfStatement()
1370 VisitForEffect(stmt->assign_each()); in VisitForOfStatement()
1371 VisitIterationBody(stmt, &loop_builder); in VisitForOfStatement()
1376 void BytecodeGenerator::VisitTryCatchStatement(TryCatchStatement* stmt) { in VisitTryCatchStatement() argument
1377 TryCatchBuilder try_control_builder(builder(), stmt->catch_prediction()); in VisitTryCatchStatement()
1390 Visit(stmt->try_block()); in VisitTryCatchStatement()
1395 BuildNewLocalCatchContext(stmt->variable(), stmt->scope()); in VisitTryCatchStatement()
1399 if (stmt->clear_pending_message()) { in VisitTryCatchStatement()
1407 VisitInScope(stmt->catch_block(), stmt->scope()); in VisitTryCatchStatement()
1411 void BytecodeGenerator::VisitTryFinallyStatement(TryFinallyStatement* stmt) { in VisitTryFinallyStatement() argument
1412 TryFinallyBuilder try_control_builder(builder(), stmt->catch_prediction()); in VisitTryFinallyStatement()
1444 Visit(stmt->try_block()); in VisitTryFinallyStatement()
1463 Visit(stmt->finally_block()); in VisitTryFinallyStatement()
1473 void BytecodeGenerator::VisitDebuggerStatement(DebuggerStatement* stmt) { in VisitDebuggerStatement() argument
1474 builder()->SetStatementPosition(stmt); in VisitDebuggerStatement()
3453 void BytecodeGenerator::VisitInScope(Statement* stmt, Scope* scope) { in VisitInScope() argument
3457 Visit(stmt); in VisitInScope()