Refactor ChangeLowering class to avoid template specialization.

Also refactor the unit tests and add support to easily
match DAGs using CaptureEq() matcher.

TEST=compiler-unittests
BUG=v8:3489
LOG=n
R=jarin@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23140 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
Purge unused internalized string accessors.

R=marja@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23141 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
[arm] Shorter test names for parameterized tests.

See https://codereview.chromium.org/475823002 for the discussion.

TEST=compiler-unittests
R=jarin@chromium.org
BUG=v8:3489
LOG=n

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

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

The odd-numbered items in the queue are deferred objects, not promises.

R=aandrey@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23143 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
Correctly handle holes when concat()ing double arrays

BUG=chromium:403409
LOG=y
R=verwaest@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23144 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
Remove dead data structure in Scheduler.

R=jarin@chromium.org
BUG=

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23145 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
Work-around weird GCC 4.6 linker issue with SmiTagging template.

TBR=rossberg@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23146 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
[Auto-roll] Bump up version to 3.29.4.0

TBR=machenbach@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23147 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
[arm] Recognize comparisons of shifts with zero.

For example, recognize

  0 == r1 << r2

and generate a single

  MOVS rt, r1, lsl r2

instruction.

TEST=cctest,compiler-unittests
R=jarin@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23148 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
[turbofan] Add new ControlEffect and Finish operators.

Fix the ChangeLowering to properly use ControlEffect nodes
to turn the control output of IfTrue nodes into an effect
input for the Load nodes, and to properly use Finish nodes
to ensure that allocation and store were both performed
prior to actually using the allocated heap number.

TEST=compiler-unittests
R=jarin@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23149 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
Parse 'super' keyword.

BUG=v8:3330
LOG=N
R=arv@chromium.org, marja@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23157 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
Move some methods from OperatorProperties into Scheduler that are only related to scheduling. Now these methods take a Node* parameter, as decisions relating floating control need distinguish not just operators but nodes.

R=bmeurer@chromium.org
BUG=

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23160 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
Finish TODO in Schedule. s/entry/start/g and s/exit/end/g to be more regular.

R=jarin@chromium.org
BUG=

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23161 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
[Auto-roll] Bump up version to 3.29.5.0

TBR=machenbach@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23162 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
Rewriting SetOwnPropertyIgnoreAttributes using the LookupIterator

BUG=
R=jkummerow@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23163 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
Remove the extensibility flag. Instead just rely on hidden_string as indication.

BUG=
R=jkummerow@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23164 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
Always assume SetOwnPropertyIgnoreAttributes to be CERTAINLY_NOT_FROM_KEYED

BUG=
R=jkummerow@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23165 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
Rewrite DeleteProperty using the LookupIterator

BUG=
R=jkummerow@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23166 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
Rename the configuration flags of the LookupIterator

BUG=
R=jkummerow@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23167 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
Use LookupIterator for CompileLoadInterceptor and delete Object::Lookup

BUG=
R=jkummerow@chromium.org

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

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