#include "src/compiler/verifier.h"
#include <algorithm>
#include <deque>
#include <queue>
#include <sstream>
#include <string>
#include "src/compiler/all-nodes.h"
#include "src/compiler/common-operator.h"
#include "src/compiler/graph.h"
#include "src/compiler/js-operator.h"
#include "src/compiler/node-properties.h"
#include "src/compiler/node.h"
#include "src/compiler/opcodes.h"
#include "src/compiler/operator-properties.h"
#include "src/compiler/operator.h"
#include "src/compiler/schedule.h"
#include "src/compiler/state-values-utils.h"
#include "src/compiler/type-cache.h"
#include "src/utils/bit-vector.h"
namespace v8 {
namespace internal {
namespace compiler {
class Verifier::Visitor { … };
void Verifier::Visitor::CheckSwitch(Node* node, const AllNodes& all) { … }
void Verifier::Visitor::Check(Node* node, const AllNodes& all) { … }
void Verifier::Run(Graph* graph, Typing typing, CheckInputs check_inputs,
CodeType code_type) { … }
static bool HasDominatingDef(Schedule* schedule, Node* node,
BasicBlock* container, BasicBlock* use_block,
int use_pos) { … }
static bool Dominates(Schedule* schedule, Node* dominator, Node* dominatee) { … }
static void CheckInputsDominate(Schedule* schedule, BasicBlock* block,
Node* node, int use_pos) { … }
void ScheduleVerifier::Run(Schedule* schedule) { … }
#ifdef DEBUG
namespace {
bool FailSoon(Node* node) { … }
}
void Verifier::VerifyNode(Node* node) { … }
void Verifier::VerifyEdgeInputReplacement(const Edge& edge,
const Node* replacement) { … }
#endif
}
}
}