OLD | NEW |
1 // Copyright 2013 the V8 project authors. All rights reserved. | 1 // Copyright 2013 the V8 project authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #include "src/crankshaft/typing.h" | 5 #include "src/crankshaft/typing.h" |
6 | 6 |
7 #include "src/ast/scopes.h" | 7 #include "src/ast/scopes.h" |
8 #include "src/frames.h" | 8 #include "src/frames.h" |
9 #include "src/frames-inl.h" | 9 #include "src/frames-inl.h" |
10 #include "src/ostreams.h" | 10 #include "src/ostreams.h" |
(...skipping 286 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
297 stmt->set_for_in_type(static_cast<ForInStatement::ForInType>( | 297 stmt->set_for_in_type(static_cast<ForInStatement::ForInType>( |
298 oracle()->ForInType(stmt->ForInFeedbackSlot()))); | 298 oracle()->ForInType(stmt->ForInFeedbackSlot()))); |
299 | 299 |
300 RECURSE(Visit(stmt->enumerable())); | 300 RECURSE(Visit(stmt->enumerable())); |
301 store_.Forget(); // Control may transfer here via looping or 'continue'. | 301 store_.Forget(); // Control may transfer here via looping or 'continue'. |
302 ObserveTypesAtOsrEntry(stmt); | 302 ObserveTypesAtOsrEntry(stmt); |
303 RECURSE(Visit(stmt->body())); | 303 RECURSE(Visit(stmt->body())); |
304 store_.Forget(); // Control may transfer here via 'break'. | 304 store_.Forget(); // Control may transfer here via 'break'. |
305 } | 305 } |
306 | 306 |
307 | 307 void AstTyper::VisitForOfStatement(ForOfStatement* stmt) {} |
308 void AstTyper::VisitForOfStatement(ForOfStatement* stmt) { | |
309 RECURSE(Visit(stmt->iterable())); | |
310 store_.Forget(); // Control may transfer here via looping or 'continue'. | |
311 RECURSE(Visit(stmt->body())); | |
312 store_.Forget(); // Control may transfer here via 'break'. | |
313 } | |
314 | |
315 | 308 |
316 void AstTyper::VisitTryCatchStatement(TryCatchStatement* stmt) { | 309 void AstTyper::VisitTryCatchStatement(TryCatchStatement* stmt) { |
317 Effects try_effects = EnterEffects(); | 310 Effects try_effects = EnterEffects(); |
318 RECURSE(Visit(stmt->try_block())); | 311 RECURSE(Visit(stmt->try_block())); |
319 ExitEffects(); | 312 ExitEffects(); |
320 Effects catch_effects = EnterEffects(); | 313 Effects catch_effects = EnterEffects(); |
321 store_.Forget(); // Control may transfer here via 'throw'. | 314 store_.Forget(); // Control may transfer here via 'throw'. |
322 RECURSE(Visit(stmt->catch_block())); | 315 RECURSE(Visit(stmt->catch_block())); |
323 ExitEffects(); | 316 ExitEffects(); |
324 try_effects.Alt(catch_effects); | 317 try_effects.Alt(catch_effects); |
(...skipping 470 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
795 void AstTyper::VisitImportDeclaration(ImportDeclaration* declaration) { | 788 void AstTyper::VisitImportDeclaration(ImportDeclaration* declaration) { |
796 } | 789 } |
797 | 790 |
798 | 791 |
799 void AstTyper::VisitExportDeclaration(ExportDeclaration* declaration) { | 792 void AstTyper::VisitExportDeclaration(ExportDeclaration* declaration) { |
800 } | 793 } |
801 | 794 |
802 | 795 |
803 } // namespace internal | 796 } // namespace internal |
804 } // namespace v8 | 797 } // namespace v8 |
OLD | NEW |