Looks sensible from a high-level point of view. No concrete actionable
feedback
at this point. I like it. Just left a couple of random ramblings.
https://codereview.chromium.org/1291693004/diff/100001/src/compiler/bytecode-graph-builder.cc
File src/compiler/bytecode-graph-builder.cc (right):
https://codereview.chromium.org/1291693004/diff/100001/src/compiler/bytecode-graph-builder.cc#newcode151
src/compiler/bytecode-graph-builder.cc:151: bool
BytecodeGraphBuilder::CreateGraphForTest(bool stack_check) {
Would be nice to only have one entry point. Especially given the
similarity.
https://codereview.chromium.org/1291693004/diff/100001/src/compiler/bytecode-graph-builder.h
File src/compiler/bytecode-graph-builder.h (right):
https://codereview.chromium.org/1291693004/diff/100001/src/compiler/bytecode-graph-builder.h#newcode27
src/compiler/bytecode-graph-builder.h:27: bool CreateGraph(bool
stack_check = true);
The only reason for the {stack_check} flags is for inlining, where we
don't want sub-graphs to contains a stack. We could just always emit it
until we tackle inlining. Up to you.
https://codereview.chromium.org/1291693004/diff/100001/src/compiler/bytecode-graph-builder.h#newcode54
src/compiler/bytecode-graph-builder.h:54: Node* NewNode(const Operator*
op, bool incomplete = false) {
The {incomplete} flag is only needed for merge points so that we can
over-reserve space for {Phi}, {Merge} and {Loop} nodes and insert inputs
later without thrashing zone. This will totally depend on how control
flow is modeled in the byte-code. If number of control flow-inputs at
every merge point is known, we won't need it. But I assume we won't
know.
https://codereview.chromium.org/1291693004/diff/100001/src/compiler/bytecode-graph-builder.h#newcode75
src/compiler/bytecode-graph-builder.h:75: void
UpdateControlDependencyToLeaveFunction(Node* exit);
Again depends on how control flow is modeled. Only needed if there are
"return" and "throw" byte-codes that represent non-local control flow.
https://codereview.chromium.org/1291693004/
--
--
v8-dev mailing list
v8-dev@googlegroups.com
http://groups.google.com/group/v8-dev
---
You received this message because you are subscribed to the Google Groups "v8-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to v8-dev+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.