Lines Matching defs:stmt

44 void BreakableStatementChecker::Check(Statement* stmt) {
45 Visit(stmt);
88 void BreakableStatementChecker::VisitBlock(Block* stmt) {
93 ExpressionStatement* stmt) {
95 Visit(stmt->expression());
99 void BreakableStatementChecker::VisitEmptyStatement(EmptyStatement* stmt) {
103 void BreakableStatementChecker::VisitIfStatement(IfStatement* stmt) {
105 Visit(stmt->condition());
110 ContinueStatement* stmt) {
114 void BreakableStatementChecker::VisitBreakStatement(BreakStatement* stmt) {
118 void BreakableStatementChecker::VisitReturnStatement(ReturnStatement* stmt) {
120 Visit(stmt->expression());
124 void BreakableStatementChecker::VisitWithStatement(WithStatement* stmt) {
125 Visit(stmt->expression());
129 void BreakableStatementChecker::VisitSwitchStatement(SwitchStatement* stmt) {
131 Visit(stmt->tag());
135 void BreakableStatementChecker::VisitDoWhileStatement(DoWhileStatement* stmt) {
141 void BreakableStatementChecker::VisitWhileStatement(WhileStatement* stmt) {
143 Visit(stmt->cond());
147 void BreakableStatementChecker::VisitForStatement(ForStatement* stmt) {
149 if (stmt->cond() != NULL) {
150 Visit(stmt->cond());
155 void BreakableStatementChecker::VisitForInStatement(ForInStatement* stmt) {
157 Visit(stmt->enumerable());
162 TryCatchStatement* stmt) {
169 TryFinallyStatement* stmt) {
176 DebuggerStatement* stmt) {
684 void FullCodeGenerator::SetStatementPosition(Statement* stmt) {
687 CodeGenerator::RecordPositions(masm_, stmt->statement_pos());
692 checker.Check(stmt);
697 masm_, stmt->statement_pos(), !checker.is_breakable());
705 CodeGenerator::RecordPositions(masm_, stmt->statement_pos());
912 void FullCodeGenerator::VisitBlock(Block* stmt) {
914 NestedBlock nested_block(this, stmt);
915 SetStatementPosition(stmt);
919 if (stmt->block_scope() != NULL) {
921 scope_ = stmt->block_scope();
941 PrepareForBailoutForId(stmt->EntryId(), NO_REGISTERS);
942 VisitStatements(stmt->statements());
945 PrepareForBailoutForId(stmt->ExitId(), NO_REGISTERS);
948 if (stmt->block_scope() != NULL) {
957 void FullCodeGenerator::VisitExpressionStatement(ExpressionStatement* stmt) {
959 SetStatementPosition(stmt);
960 VisitForEffect(stmt->expression());
964 void FullCodeGenerator::VisitEmptyStatement(EmptyStatement* stmt) {
966 SetStatementPosition(stmt);
970 void FullCodeGenerator::VisitIfStatement(IfStatement* stmt) {
972 SetStatementPosition(stmt);
975 if (stmt->HasElseStatement()) {
976 VisitForControl(stmt->condition(), &then_part, &else_part, &then_part);
977 PrepareForBailoutForId(stmt->ThenId(), NO_REGISTERS);
979 Visit(stmt->then_statement());
982 PrepareForBailoutForId(stmt->ElseId(), NO_REGISTERS);
984 Visit(stmt->else_statement());
986 VisitForControl(stmt->condition(), &then_part, &done, &then_part);
987 PrepareForBailoutForId(stmt->ThenId(), NO_REGISTERS);
989 Visit(stmt->then_statement());
991 PrepareForBailoutForId(stmt->ElseId(), NO_REGISTERS);
994 PrepareForBailoutForId(stmt->IfId(), NO_REGISTERS);
998 void FullCodeGenerator::VisitContinueStatement(ContinueStatement* stmt) {
1000 SetStatementPosition(stmt);
1009 while (!current->IsContinueTarget(stmt->target())) {
1026 void FullCodeGenerator::VisitBreakStatement(BreakStatement* stmt) {
1028 SetStatementPosition(stmt);
1037 while (!current->IsBreakTarget(stmt->target())) {
1054 void FullCodeGenerator::VisitReturnStatement(ReturnStatement* stmt) {
1056 SetStatementPosition(stmt);
1057 Expression* expr = stmt->expression();
1073 void FullCodeGenerator::VisitWithStatement(WithStatement* stmt) {
1075 SetStatementPosition(stmt);
1077 VisitForStackValue(stmt->expression());
1083 Visit(stmt->statement());
1093 void FullCodeGenerator::VisitDoWhileStatement(DoWhileStatement* stmt) {
1095 SetStatementPosition(stmt);
1098 Iteration loop_statement(this, stmt);
1102 Visit(stmt->body());
1107 PrepareForBailoutForId(stmt->ContinueId(), NO_REGISTERS);
1108 SetExpressionPosition(stmt->cond(), stmt->condition_position());
1109 VisitForControl(stmt->cond(),
1115 PrepareForBailoutForId(stmt->BackEdgeId(), NO_REGISTERS);
1117 EmitStackCheck(stmt, &body);
1120 PrepareForBailoutForId(stmt->ExitId(), NO_REGISTERS);
1126 void FullCodeGenerator::VisitWhileStatement(WhileStatement* stmt) {
1130 Iteration loop_statement(this, stmt);
1136 PrepareForBailoutForId(stmt->BodyId(), NO_REGISTERS);
1138 Visit(stmt->body());
1143 SetStatementPosition(stmt);
1146 EmitStackCheck(stmt, &body);
1149 VisitForControl(stmt->cond(),
1154 PrepareForBailoutForId(stmt->ExitId(), NO_REGISTERS);
1160 void FullCodeGenerator::VisitForStatement(ForStatement* stmt) {
1164 Iteration loop_statement(this, stmt);
1167 SetStatementPosition(stmt);
1169 if (stmt->init() != NULL) {
1170 Visit(stmt->init());
1177 PrepareForBailoutForId(stmt->BodyId(), NO_REGISTERS);
1179 Visit(stmt->body());
1181 PrepareForBailoutForId(stmt->ContinueId(), NO_REGISTERS);
1183 if (stmt->next() != NULL) {
1184 Visit(stmt->next());
1189 SetStatementPosition(stmt);
1192 EmitStackCheck(stmt, &body);
1195 if (stmt->cond() != NULL) {
1196 VisitForControl(stmt->cond(),
1204 PrepareForBailoutForId(stmt->ExitId(), NO_REGISTERS);
1210 void FullCodeGenerator::VisitTryCatchStatement(TryCatchStatement* stmt) {
1212 SetStatementPosition(stmt);
1222 handler_table()->set(stmt->index(), Smi::FromInt(handler_entry.pos()));
1226 __ Push(stmt->variable()->name());
1235 scope_ = stmt->scope();
1238 Visit(stmt->catch_block());
1248 __ PushTryHandler(StackHandler::CATCH, stmt->index());
1250 Visit(stmt->try_block());
1257 void FullCodeGenerator::VisitTryFinallyStatement(TryFinallyStatement* stmt) {
1259 SetStatementPosition(stmt);
1286 handler_table()->set(stmt->index(), Smi::FromInt(handler_entry.pos()));
1299 Visit(stmt->finally_block());
1305 __ PushTryHandler(StackHandler::FINALLY, stmt->index());
1307 Visit(stmt->try_block());
1319 void FullCodeGenerator::VisitDebuggerStatement(DebuggerStatement* stmt) {
1322 SetStatementPosition(stmt);