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/hydrogen.h" | 5 #include "src/hydrogen.h" |
6 | 6 |
7 #include <algorithm> | 7 #include <algorithm> |
8 | 8 |
9 #include "src/v8.h" | 9 #include "src/v8.h" |
10 | 10 |
(...skipping 5224 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
5235 Compiler::BuildFunctionInfo(expr, current_info()->script(), top_info()); | 5235 Compiler::BuildFunctionInfo(expr, current_info()->script(), top_info()); |
5236 } | 5236 } |
5237 // We also have a stack overflow if the recursive compilation did. | 5237 // We also have a stack overflow if the recursive compilation did. |
5238 if (HasStackOverflow()) return; | 5238 if (HasStackOverflow()) return; |
5239 HFunctionLiteral* instr = | 5239 HFunctionLiteral* instr = |
5240 New<HFunctionLiteral>(shared_info, expr->pretenure()); | 5240 New<HFunctionLiteral>(shared_info, expr->pretenure()); |
5241 return ast_context()->ReturnInstruction(instr, expr->id()); | 5241 return ast_context()->ReturnInstruction(instr, expr->id()); |
5242 } | 5242 } |
5243 | 5243 |
5244 | 5244 |
| 5245 void HOptimizedGraphBuilder::VisitClassLiteral(ClassLiteral* lit) { |
| 5246 UNREACHABLE(); |
| 5247 } |
| 5248 |
| 5249 |
5245 void HOptimizedGraphBuilder::VisitNativeFunctionLiteral( | 5250 void HOptimizedGraphBuilder::VisitNativeFunctionLiteral( |
5246 NativeFunctionLiteral* expr) { | 5251 NativeFunctionLiteral* expr) { |
5247 DCHECK(!HasStackOverflow()); | 5252 DCHECK(!HasStackOverflow()); |
5248 DCHECK(current_block() != NULL); | 5253 DCHECK(current_block() != NULL); |
5249 DCHECK(current_block()->HasPredecessor()); | 5254 DCHECK(current_block()->HasPredecessor()); |
5250 return Bailout(kNativeFunctionLiteral); | 5255 return Bailout(kNativeFunctionLiteral); |
5251 } | 5256 } |
5252 | 5257 |
5253 | 5258 |
5254 void HOptimizedGraphBuilder::VisitConditional(Conditional* expr) { | 5259 void HOptimizedGraphBuilder::VisitConditional(Conditional* expr) { |
(...skipping 6025 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
11280 Add<HSimulate>(proxy->id(), REMOVABLE_SIMULATE); | 11285 Add<HSimulate>(proxy->id(), REMOVABLE_SIMULATE); |
11281 } | 11286 } |
11282 break; | 11287 break; |
11283 } | 11288 } |
11284 case Variable::LOOKUP: | 11289 case Variable::LOOKUP: |
11285 return Bailout(kUnsupportedLookupSlotInDeclaration); | 11290 return Bailout(kUnsupportedLookupSlotInDeclaration); |
11286 } | 11291 } |
11287 } | 11292 } |
11288 | 11293 |
11289 | 11294 |
| 11295 void HOptimizedGraphBuilder::VisitClassDeclaration( |
| 11296 ClassDeclaration* declaration) { |
| 11297 UNREACHABLE(); |
| 11298 } |
| 11299 |
| 11300 |
11290 void HOptimizedGraphBuilder::VisitModuleDeclaration( | 11301 void HOptimizedGraphBuilder::VisitModuleDeclaration( |
11291 ModuleDeclaration* declaration) { | 11302 ModuleDeclaration* declaration) { |
11292 UNREACHABLE(); | 11303 UNREACHABLE(); |
11293 } | 11304 } |
11294 | 11305 |
11295 | 11306 |
11296 void HOptimizedGraphBuilder::VisitImportDeclaration( | 11307 void HOptimizedGraphBuilder::VisitImportDeclaration( |
11297 ImportDeclaration* declaration) { | 11308 ImportDeclaration* declaration) { |
11298 UNREACHABLE(); | 11309 UNREACHABLE(); |
11299 } | 11310 } |
(...skipping 1193 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
12493 if (ShouldProduceTraceOutput()) { | 12504 if (ShouldProduceTraceOutput()) { |
12494 isolate()->GetHTracer()->TraceHydrogen(name(), graph_); | 12505 isolate()->GetHTracer()->TraceHydrogen(name(), graph_); |
12495 } | 12506 } |
12496 | 12507 |
12497 #ifdef DEBUG | 12508 #ifdef DEBUG |
12498 graph_->Verify(false); // No full verify. | 12509 graph_->Verify(false); // No full verify. |
12499 #endif | 12510 #endif |
12500 } | 12511 } |
12501 | 12512 |
12502 } } // namespace v8::internal | 12513 } } // namespace v8::internal |
OLD | NEW |