Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(234)

Side by Side Diff: src/compiler/verifier.cc

Issue 1114163005: [turbofan] Fix tail call optimization. (Closed) Base URL: https://chromium.googlesource.com/v8/v8.git@master
Patch Set: Created 5 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 // Copyright 2014 the V8 project authors. All rights reserved. 1 // Copyright 2014 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/compiler/verifier.h" 5 #include "src/compiler/verifier.h"
6 6
7 #include <algorithm> 7 #include <algorithm>
8 #include <deque> 8 #include <deque>
9 #include <queue> 9 #include <queue>
10 #include <sstream> 10 #include <sstream>
(...skipping 412 matching lines...) Expand 10 before | Expand all | Expand 10 after
423 case IrOpcode::kFrameState: 423 case IrOpcode::kFrameState:
424 // TODO(jarin): what are the constraints on these? 424 // TODO(jarin): what are the constraints on these?
425 break; 425 break;
426 case IrOpcode::kStateValues: 426 case IrOpcode::kStateValues:
427 case IrOpcode::kTypedStateValues: 427 case IrOpcode::kTypedStateValues:
428 // TODO(jarin): what are the constraints on these? 428 // TODO(jarin): what are the constraints on these?
429 break; 429 break;
430 case IrOpcode::kCall: 430 case IrOpcode::kCall:
431 // TODO(rossberg): what are the constraints on these? 431 // TODO(rossberg): what are the constraints on these?
432 break; 432 break;
433 case IrOpcode::kTailCall:
434 // TODO(bmeurer): what are the constraints on these?
435 break;
433 436
434 // JavaScript operators 437 // JavaScript operators
435 // -------------------- 438 // --------------------
436 case IrOpcode::kJSEqual: 439 case IrOpcode::kJSEqual:
437 case IrOpcode::kJSNotEqual: 440 case IrOpcode::kJSNotEqual:
438 case IrOpcode::kJSStrictEqual: 441 case IrOpcode::kJSStrictEqual:
439 case IrOpcode::kJSStrictNotEqual: 442 case IrOpcode::kJSStrictNotEqual:
440 case IrOpcode::kJSLessThan: 443 case IrOpcode::kJSLessThan:
441 case IrOpcode::kJSGreaterThan: 444 case IrOpcode::kJSGreaterThan:
442 case IrOpcode::kJSLessThanOrEqual: 445 case IrOpcode::kJSLessThanOrEqual:
(...skipping 651 matching lines...) Expand 10 before | Expand all | Expand 10 after
1094 // Check inputs for all nodes in the block. 1097 // Check inputs for all nodes in the block.
1095 for (size_t i = 0; i < block->NodeCount(); i++) { 1098 for (size_t i = 0; i < block->NodeCount(); i++) {
1096 Node* node = block->NodeAt(i); 1099 Node* node = block->NodeAt(i);
1097 CheckInputsDominate(schedule, block, node, static_cast<int>(i) - 1); 1100 CheckInputsDominate(schedule, block, node, static_cast<int>(i) - 1);
1098 } 1101 }
1099 } 1102 }
1100 } 1103 }
1101 } 1104 }
1102 } 1105 }
1103 } // namespace v8::internal::compiler 1106 } // namespace v8::internal::compiler
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698