Reviewers: fschneider,

Message:
Context for this change: I'm trying to get rid of class HSubgraph, the extra
indirection doesn't seem to be buying us anything and it's used inconsistently.

It's mostly used as an indirect container for the graph builder's current basic block, which would be better stored as state in the graph builder. It's also sometimes used to "bookmark" a basic block as a subgraph's entry block, but we
could also do that directly by saving the basic block in a variable.

This change is part of a work in progress because it gets too big to review all
at once.  Next I will (1) change function signatures that take a subgraph as
argument to take one or both of the subgraph's basic blocks instead, (2) move all the helpers in class HSubgraph into HGraphBuilder, HGraph, or HBasicBlock
depending on where they really belong, (3) remove the CreateGotoSubgraph,
CreateBranchSubgraph, etc. functions, and (4) get rid of subgraph scopes.

At that point, we should be able to delete class HSubgraph and replace
current_subgraph_ with current_block_.

Description:
Partial refactoring of subgraphs.

Change the interface to the Hydrogen graph builder to appear like it
directly holds a current basic block and a current environment.
Remove some direct accesses to the current subgraph, and remove
subgraph accessors that simply forwarded to the exit block.

Please review this at http://codereview.chromium.org/6532088/

SVN Base: https://v8.googlecode.com/svn/branches/bleeding_edge/build/ia32

Affected files:
  M src/hydrogen.h
  M src/hydrogen.cc


--
v8-dev mailing list
[email protected]
http://groups.google.com/group/v8-dev

Reply via email to