Implement control reducer, which reduces branches and phis together in a single fixpoint.

R=bmeurer@chromium.org
BUG=

Review URL: https://codereview.chromium.org/665223006

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24891 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
[turbofan] add absolute peak to stats

R=danno@chromium.org

BUG=

Review URL: https://codereview.chromium.org/676693002

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24892 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
pass isolate to Value::To* functions

BUG=
R=svenpanne@chromium.org

Review URL: https://codereview.chromium.org/669373002

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24893 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
[turbofan] delete graph and schedule before register allocation.

R=mstarzinger@chromium.org, titzer@chromium.org

BUG=

Review URL: https://codereview.chromium.org/662513005

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24894 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
[turbofan] Reduce memory consumption of graph building

Allow reservation of additional input capacity when creating nodes to prevent switching to deque representation when adding well-known additional inputs.

Also ensure that only a single temporary buffer is used to create temporary input arrays before allocating nodes.

R=mstarzinger@chromium.org

Review URL: https://codereview.chromium.org/644083003

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24896 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
Fix non-TF targets after r24874.

Fix mips64 and presumably x87.

BUG=
R=mstarzinger@chromium.org, sigurds@chromium.org

Review URL: https://codereview.chromium.org/679433004

Patch from Paul Lind <paul.lind@imgtec.com>.

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24897 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
Fix Win64 build after r24896

TBR=mstarzinger@chromium.org

Review URL: https://codereview.chromium.org/646943007

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24898 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
Introduce phantom weak handles in the API and use them internally for debug info

R=jochen@chromium.org, ulan@chromium.org
BUG=

Review URL: https://codereview.chromium.org/649563006

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24899 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
Revert "Limit the number of transitions allowed per hidden class." Due to crashes in ClearMapTransitions

BUG=
R=ishell@chromium.org

Review URL: https://codereview.chromium.org/661583004

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24900 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
Revert 'Introduce phantom weak handles in the API and use them internally for debug info'

Revert of https://codereview.chromium.org/649563006/ due to layout test
failures.
BUG=
R=mstarzinger@chromium.org

Review URL: https://codereview.chromium.org/677403002

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24901 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
Make all references from root shortcuts (except one to GC roots)

Eventually we are going to nuke this shortcuts from root entry altogether. This fix makes (GC roots) retained size equal to the snapshot's total size.

BUG=chromium:414190
LOG=N
R=loislo@chromium.org, yangguo@chromium.org

Review URL: https://codereview.chromium.org/681743002

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24902 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
Revert "Make all references from root shortcuts (except one to GC roots)"

This reverts commit 940418d2e1150499a28cca60b5dd138d351ec652. It resulted in orphan (Document DOM trees) and (Detached DOM trees) nodes.

BUG=chromium:414190
LOG=N
TBR=loislo@chromium.org, yangguo@chromium.org

Review URL: https://codereview.chromium.org/639753007

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24903 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
[turbofan] reduce allocations outside of pipeline

BUG=
R=bmeurer@chromium.org

Review URL: https://codereview.chromium.org/679793003

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24904 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
Enable turbofan deoptimization by default.

BUG=
R=bmeurer@chromium.org

Review URL: https://codereview.chromium.org/638833004

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24905 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
Remove unused return values from PreEdge visitor.

R=bmeurer@chromium.org

Review URL: https://codereview.chromium.org/679093002

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24906 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
SimpleMove now calls [[Has]] before [[Get]] when moving elements

BUG=v8:3643
LOG=n
R=mstarzinger@chromium.org

Review URL: https://codereview.chromium.org/678753002

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24907 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
Revert "Enable turbofan deoptimization by default."

This reverts commit 866032692ff59ac4282e6d1a483cbb52870cc784 for breaking
tests.

TBR=mstarzinger@chromium.org
BUG=

Review URL: https://codereview.chromium.org/681713004

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24908 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
Move AST node counting to post-pass

R=mstarzinger@chromium.org, svenpanne@chromium.org
BUG=

Review URL: https://codereview.chromium.org/675493002

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24909 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
Revert "Move AST node counting to post-pass"

This reverts commit 698356720824559a6bd81c24be707b44ac277526 for
breaking regress-96526-002 among other things.

TBR=mstarzinger@chromium.org
BUG=

Review URL: https://codereview.chromium.org/678033002

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24910 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
A type vector with multiple IC types needs metadata.

This CL adds a bitset to describe the type of IC in each IC slot.
This is necessary for clearing ICs of different types.

With FLAG_vector_ics off (the current state), it's not required because
CALL_IC is the only type of IC in the vector.

R=ishell@chromium.org

Review URL: https://codereview.chromium.org/679073002

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24911 ce2b1a6d-e550-0410-aec6-3dcde31c8c00