10 if (v8_flags.trace_turbo_ceq) PrintF(__VA_ARGS__); \
30 TRACE(
"CEQ: Pre-visit of #%d:%s\n", node->id(), node->op()->mnemonic());
35 TRACE(
"CEQ: Mid-visit of #%d:%s\n", node->id(), node->op()->mnemonic());
49 Bracket* recent = &blist.back();
63 TRACE(
"CEQ: Post-visit of #%d:%s\n", node->id(), node->op()->mnemonic());
70 if (parent_node !=
nullptr) {
72 parent_blist.splice(parent_blist.end(), blist);
79 TRACE(
"CEQ: Backedge from #%d:%s to #%d:%s\n", from->id(),
80 from->op()->mnemonic(), to->id(), to->op()->mnemonic());
93 while (!stack.empty()) {
98 if (entry.
input != node->input_edges().end()) {
105 if (
GetData(input)->visited)
continue;
106 if (
GetData(input)->on_stack) {
119 if (entry.
use != node->use_edges().end()) {
128 if (entry.
use != node->use_edges().end()) {
135 if (
GetData(use)->visited)
continue;
149 if (entry.
input != node->input_edges().end()) {
159 DCHECK(entry.
use == node->use_edges().end());
177 while (!queue.empty()) {
178 Node* node = queue.front();
195 stack.push({dir, input,
use,
from, node});
210 for (BracketList::iterator
i = blist.begin();
i != blist.end(); ) {
212 TRACE(
" BList erased: {%d->%d}\n",
i->
from->id(),
i->
to->id());
224 for (
Bracket bracket : blist) {
225 TRACE(
"{%d->%d} ", bracket.from->id(), bracket.to->id());
void DFSPop(DFSStack &stack, Node *node)
void DetermineParticipationEnqueue(ZoneQueue< Node * > &queue, Node *node)
void DetermineParticipation(Node *exit)
void AllocateData(Node *node)
void DFSPush(DFSStack &stack, Node *node, Node *from, DFSDirection dir)
NodeData * GetData(Node *node)
void BracketListDelete(BracketList &blist, Node *to, DFSDirection direction)
void RunUndirectedDFS(Node *exit)
void VisitPost(Node *node, Node *parent_node, DFSDirection direction)
size_t GetClass(Node *node)
void VisitMid(Node *node, DFSDirection direction)
void VisitPre(Node *node)
BracketList & GetBracketList(Node *node)
void VisitBackedge(Node *from, Node *to, DFSDirection direction)
static const size_t kInvalidClass
void SetClass(Node *node, size_t number)
void BracketListTRACE(BracketList &blist)
bool Participates(Node *node)
static bool IsControlEdge(Edge edge)
static int PastControlIndex(Node *node)
static int FirstControlIndex(Node *node)
ArrayReduceDirection direction
ZoneStack< RpoNumber > & stack
V8_EXPORT_PRIVATE FlagValues v8_flags
other heap size generate builtins concurrently on separate threads in mksnapshot track concurrent recompilation artificial compilation delay in ms max number of threads that concurrent Turbofan can use(0 for unbounded)") DEFINE_BOOL( stress_concurrent_inlining
#define STATIC_CONST_MEMBER_DEFINITION
#define DCHECK(condition)
#define DCHECK_EQ(v1, v2)
Node::InputEdges::iterator input
Node::UseEdges::iterator use