| 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/typing.h" | 5 #include "src/typing.h" |
| 6 | 6 |
| 7 #include "src/frames.h" | 7 #include "src/frames.h" |
| 8 #include "src/frames-inl.h" | 8 #include "src/frames-inl.h" |
| 9 #include "src/parser.h" // for CompileTimeValue; TODO(rossberg): should move | 9 #include "src/parser.h" // for CompileTimeValue; TODO(rossberg): should move |
| 10 #include "src/scopes.h" | 10 #include "src/scopes.h" |
| (...skipping 357 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 368 ExitEffects(); | 368 ExitEffects(); |
| 369 then_effects.Alt(else_effects); | 369 then_effects.Alt(else_effects); |
| 370 store_.Seq(then_effects); | 370 store_.Seq(then_effects); |
| 371 | 371 |
| 372 NarrowType(expr, Bounds::Either( | 372 NarrowType(expr, Bounds::Either( |
| 373 expr->then_expression()->bounds(), | 373 expr->then_expression()->bounds(), |
| 374 expr->else_expression()->bounds(), zone())); | 374 expr->else_expression()->bounds(), zone())); |
| 375 } | 375 } |
| 376 | 376 |
| 377 | 377 |
| 378 // simulated build generates warning (fails compile) without pragma |
| 379 // when built using gcc 4.4.6 on intel linux |
| 380 #pragma GCC diagnostic ignored "-Wuninitialized" |
| 378 void AstTyper::VisitVariableProxy(VariableProxy* expr) { | 381 void AstTyper::VisitVariableProxy(VariableProxy* expr) { |
| 379 Variable* var = expr->var(); | 382 Variable* var = expr->var(); |
| 380 if (var->IsStackAllocated()) { | 383 if (var->IsStackAllocated()) { |
| 381 NarrowType(expr, store_.LookupBounds(variable_index(var))); | 384 NarrowType(expr, store_.LookupBounds(variable_index(var))); |
| 382 } | 385 } |
| 383 } | 386 } |
| 384 | 387 |
| 385 | 388 |
| 386 void AstTyper::VisitLiteral(Literal* expr) { | 389 void AstTyper::VisitLiteral(Literal* expr) { |
| 387 Type* type = Type::Constant(expr->value(), zone()); | 390 Type* type = Type::Constant(expr->value(), zone()); |
| (...skipping 382 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 770 void AstTyper::VisitModuleUrl(ModuleUrl* module) { | 773 void AstTyper::VisitModuleUrl(ModuleUrl* module) { |
| 771 } | 774 } |
| 772 | 775 |
| 773 | 776 |
| 774 void AstTyper::VisitModuleStatement(ModuleStatement* stmt) { | 777 void AstTyper::VisitModuleStatement(ModuleStatement* stmt) { |
| 775 RECURSE(Visit(stmt->body())); | 778 RECURSE(Visit(stmt->body())); |
| 776 } | 779 } |
| 777 | 780 |
| 778 | 781 |
| 779 } } // namespace v8::internal | 782 } } // namespace v8::internal |
| OLD | NEW |