Lines Matching refs:stmt
647 Statement* stmt, FullCodeGenerator::InsertBreak insert_break) {
648 if (stmt->position() == RelocInfo::kNoPosition) return;
649 RecordStatementPosition(masm_, stmt->position());
651 !stmt->IsDebuggerStatement()) {
877 void FullCodeGenerator::VisitBlock(Block* stmt) {
879 NestedBlock nested_block(this, stmt);
883 this, stmt->scope(), stmt->EntryId(), stmt->DeclsId(), stmt->ExitId());
884 VisitStatements(stmt->statements());
898 void FullCodeGenerator::VisitExpressionStatement(ExpressionStatement* stmt) {
900 SetStatementPosition(stmt);
901 VisitForEffect(stmt->expression());
905 void FullCodeGenerator::VisitEmptyStatement(EmptyStatement* stmt) {
910 void FullCodeGenerator::VisitIfStatement(IfStatement* stmt) {
912 SetStatementPosition(stmt);
915 if (stmt->HasElseStatement()) {
916 VisitForControl(stmt->condition(), &then_part, &else_part, &then_part);
917 PrepareForBailoutForId(stmt->ThenId(), BailoutState::NO_REGISTERS);
919 Visit(stmt->then_statement());
922 PrepareForBailoutForId(stmt->ElseId(), BailoutState::NO_REGISTERS);
924 Visit(stmt->else_statement());
926 VisitForControl(stmt->condition(), &then_part, &done, &then_part);
927 PrepareForBailoutForId(stmt->ThenId(), BailoutState::NO_REGISTERS);
929 Visit(stmt->then_statement());
931 PrepareForBailoutForId(stmt->ElseId(), BailoutState::NO_REGISTERS);
934 PrepareForBailoutForId(stmt->IfId(), BailoutState::NO_REGISTERS);
971 void FullCodeGenerator::VisitContinueStatement(ContinueStatement* stmt) {
973 SetStatementPosition(stmt);
974 EmitContinue(stmt->target());
1011 void FullCodeGenerator::VisitBreakStatement(BreakStatement* stmt) {
1013 SetStatementPosition(stmt);
1014 EmitBreak(stmt->target());
1102 void FullCodeGenerator::VisitReturnStatement(ReturnStatement* stmt) {
1104 SetStatementPosition(stmt);
1105 Expression* expr = stmt->expression();
1111 void FullCodeGenerator::VisitWithStatement(WithStatement* stmt) {
1113 SetStatementPosition(stmt);
1115 VisitForAccumulatorValue(stmt->expression());
1119 PrepareForBailoutForId(stmt->ToObjectId(), BailoutState::NO_REGISTERS);
1124 PrepareForBailoutForId(stmt->EntryId(), BailoutState::NO_REGISTERS);
1127 scope_ = stmt->scope();
1129 Visit(stmt->statement());
1140 void FullCodeGenerator::VisitDoWhileStatement(DoWhileStatement* stmt) {
1143 SetStatementPosition(stmt, SKIP_BREAK);
1147 Iteration loop_statement(this, stmt);
1151 Visit(stmt->body());
1156 PrepareForBailoutForId(stmt->ContinueId(), BailoutState::NO_REGISTERS);
1159 SetExpressionAsStatementPosition(stmt->cond());
1160 VisitForControl(stmt->cond(),
1166 PrepareForBailoutForId(stmt->BackEdgeId(), BailoutState::NO_REGISTERS);
1168 EmitBackEdgeBookkeeping(stmt, &body);
1171 PrepareForBailoutForId(stmt->ExitId(), BailoutState::NO_REGISTERS);
1177 void FullCodeGenerator::VisitWhileStatement(WhileStatement* stmt) {
1181 Iteration loop_statement(this, stmt);
1186 SetExpressionAsStatementPosition(stmt->cond());
1187 VisitForControl(stmt->cond(),
1192 PrepareForBailoutForId(stmt->BodyId(), BailoutState::NO_REGISTERS);
1194 Visit(stmt->body());
1199 EmitBackEdgeBookkeeping(stmt, &loop);
1202 PrepareForBailoutForId(stmt->ExitId(), BailoutState::NO_REGISTERS);
1208 void FullCodeGenerator::VisitForStatement(ForStatement* stmt) {
1211 SetStatementPosition(stmt, SKIP_BREAK);
1215 Iteration loop_statement(this, stmt);
1217 if (stmt->init() != NULL) {
1218 Visit(stmt->init());
1225 PrepareForBailoutForId(stmt->BodyId(), BailoutState::NO_REGISTERS);
1227 Visit(stmt->body());
1229 PrepareForBailoutForId(stmt->ContinueId(), BailoutState::NO_REGISTERS);
1231 if (stmt->next() != NULL) {
1232 SetStatementPosition(stmt->next());
1233 Visit(stmt->next());
1237 EmitBackEdgeBookkeeping(stmt, &body);
1240 if (stmt->cond() != NULL) {
1241 SetExpressionAsStatementPosition(stmt->cond());
1242 VisitForControl(stmt->cond(),
1250 PrepareForBailoutForId(stmt->ExitId(), BailoutState::NO_REGISTERS);
1256 void FullCodeGenerator::VisitForOfStatement(ForOfStatement* stmt) {
1259 Iteration loop_statement(this, stmt);
1263 SetExpressionAsStatementPosition(stmt->assign_iterator());
1264 VisitForEffect(stmt->assign_iterator());
1270 SetExpressionAsStatementPosition(stmt->next_result());
1271 VisitForEffect(stmt->next_result());
1275 VisitForControl(stmt->result_done(), loop_statement.break_label(),
1280 VisitForEffect(stmt->assign_each());
1283 Visit(stmt->body());
1286 PrepareForBailoutForId(stmt->BackEdgeId(), BailoutState::NO_REGISTERS);
1287 EmitBackEdgeBookkeeping(stmt, loop_statement.continue_label());
1291 PrepareForBailoutForId(stmt->ExitId(), BailoutState::NO_REGISTERS);
1302 void FullCodeGenerator::VisitTryCatchStatement(TryCatchStatement* stmt) {
1304 SetStatementPosition(stmt, SKIP_BREAK);
1315 if (stmt->clear_pending_message()) ClearPendingMessage();
1320 PushOperand(stmt->variable()->name());
1329 scope_ = stmt->scope();
1332 Visit(stmt->catch_block());
1348 Visit(stmt->try_block());
1356 void FullCodeGenerator::VisitTryFinallyStatement(TryFinallyStatement* stmt) {
1358 SetStatementPosition(stmt, SKIP_BREAK);
1399 Visit(stmt->try_block());
1416 Visit(stmt->finally_block());
1428 void FullCodeGenerator::VisitDebuggerStatement(DebuggerStatement* stmt) {
1430 SetStatementPosition(stmt);
1435 PrepareForBailoutForId(stmt->DebugBreakId(), BailoutState::NO_REGISTERS);