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

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

Issue 1912853003: [turbofan] Add the Verifier to the pipeline for code stubs. (Closed) Base URL: https://chromium.googlesource.com/v8/v8.git@master
Patch Set: Created 4 years, 8 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
« no previous file with comments | « src/compiler/raw-machine-assembler.cc ('k') | src/compiler/verifier.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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 #ifndef V8_COMPILER_VERIFIER_H_ 5 #ifndef V8_COMPILER_VERIFIER_H_
6 #define V8_COMPILER_VERIFIER_H_ 6 #define V8_COMPILER_VERIFIER_H_
7 7
8 #include "src/base/macros.h" 8 #include "src/base/macros.h"
9 9
10 namespace v8 { 10 namespace v8 {
11 namespace internal { 11 namespace internal {
12 namespace compiler { 12 namespace compiler {
13 13
14 class Graph; 14 class Graph;
15 class Edge; 15 class Edge;
16 class Node; 16 class Node;
17 class Schedule; 17 class Schedule;
18 18
19 // Verifies properties of a graph, such as the well-formedness of inputs to 19 // Verifies properties of a graph, such as the well-formedness of inputs to
20 // each node, etc. 20 // each node, etc.
21 class Verifier { 21 class Verifier {
22 public: 22 public:
23 enum Typing { TYPED, UNTYPED }; 23 enum Typing { TYPED, UNTYPED };
24 enum CheckInputs { kValuesOnly, kAll };
24 25
25 static void Run(Graph* graph, Typing typing = TYPED); 26 static void Run(Graph* graph, Typing typing = TYPED,
27 CheckInputs check_inputs = kAll);
26 28
27 #ifdef DEBUG 29 #ifdef DEBUG
28 // Verifies consistency of node inputs and uses: 30 // Verifies consistency of node inputs and uses:
29 // - node inputs should agree with the input count computed from 31 // - node inputs should agree with the input count computed from
30 // the node's operator. 32 // the node's operator.
31 // - effect inputs should have effect outputs. 33 // - effect inputs should have effect outputs.
32 // - control inputs should have control outputs. 34 // - control inputs should have control outputs.
33 // - frame state inputs should be frame states. 35 // - frame state inputs should be frame states.
34 // - if the node has control uses, it should produce control. 36 // - if the node has control uses, it should produce control.
35 // - if the node has effect uses, it should produce effect. 37 // - if the node has effect uses, it should produce effect.
(...skipping 18 matching lines...) Expand all
54 // Verifies properties of a schedule, such as dominance, phi placement, etc. 56 // Verifies properties of a schedule, such as dominance, phi placement, etc.
55 class ScheduleVerifier { 57 class ScheduleVerifier {
56 public: 58 public:
57 static void Run(Schedule* schedule); 59 static void Run(Schedule* schedule);
58 }; 60 };
59 } // namespace compiler 61 } // namespace compiler
60 } // namespace internal 62 } // namespace internal
61 } // namespace v8 63 } // namespace v8
62 64
63 #endif // V8_COMPILER_VERIFIER_H_ 65 #endif // V8_COMPILER_VERIFIER_H_
OLDNEW
« no previous file with comments | « src/compiler/raw-machine-assembler.cc ('k') | src/compiler/verifier.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698