MIPS: Generators return boxed values

Port r14563 (6d01adb8)

Original commit message:
Generators now box their return values in object literals of the form

  { value: VAL, done: DONE }

where DONE is false for yield expressions, and true for return
statements.

BUG=

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@14582 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
MIPS: Becuase of cross-context calls, hydrogen-based Array constructor needs to ensure the array constructor pointer passed in matches that of the current context.

Port r14581 (32067c11)

BUG=

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@14583 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
Do not change environment between simulate and scope with no observable side-effects in HandlePropertyAssignment.

LChunkBuilder reconstructs the environment by applying simulates. A scope with no observable side-effects has no simulates. If the scope deoptimizes, then LChunkBuilder would miss the changes to the environment between the last simulate and the scope.

R=danno@chromium.org
BUG=v8:2671
TEST=mjsunit/regress/regress-2671.js

Review URL: https://chromiumcodereview.appspot.com/14793009

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@14584 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
fix nosnapshot test failure in 14793004, do not deprecate function

BUG=
TBR=svenpanne@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@14585 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
Generators save and restore stack handlers

This CL adds machinery to unwind stack handlers from the stack and store
them into a generator's operand array.  It also includes routines to
reinstate them.  Together this allows generators to yield within
try/catch and try/finally blocks.

BUG=v8:2355
R=mstarzinger@chromium.org
TEST=mjsunit/harmony/generators-iteration

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@14586 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
Bias commutative single-use register inputs and support lea adds

This improves register allocation for many common add and multiply patterns on ia32 and x64 by reducing register pressure.

R=jkummerow@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@14587 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
Turn off optimize-constructed-arrays flag to investigate ARM perf issue

BUG=
R=danno@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@14588 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
Turn polymorphic stores monomorphic if store sequence matches.

Review URL: https://chromiumcodereview.appspot.com/14796012

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

Review URL: https://chromiumcodereview.appspot.com/14696011

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@14590 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
Refactoring only: Removed unused argument from IndentedScope constructor.

R=mvstanton@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@14591 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
Consistently start (almost) all AstPrinter::VisitFoo functions with IndentedScope.

This makes IndentedScope the single point where we can print additional info in
the future, like e.g. AST IDs (at least when the TODOs are fixed). Minor other
cleanups.

R=mvstanton@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@14592 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
Turn off tracking of fields for the roll.
Revert polymorphic stores suspect of crashes.

Revert "Turn on tracking of fields."
Revert "Turn polymorphic stores monomorphic if store sequence matches."
Revert "Fix polymorphic store."

R=danno@chromium.org

Review URL: https://chromiumcodereview.appspot.com/14812010

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@14593 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
Always generalize all representations when no transition is inserted.

R=danno@chromium.org

Review URL: https://chromiumcodereview.appspot.com/14696016

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@14594 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
Support merging with distinct attributes.

R=danno@chromium.org

Review URL: https://chromiumcodereview.appspot.com/14756012

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@14595 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
Fix environment in HOptimizedGraphBuilder::VisitCountOperation. Follow-up for r14584.

R=danno@chromium.org
BUG=v8:2671
TEST=mjsunit/regress/regress-2671-1.js

Review URL: https://chromiumcodereview.appspot.com/14972009

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@14596 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
Use mutable heapnumbers to store doubles in fields.

R=danno@chromium.org

Review URL: https://chromiumcodereview.appspot.com/14850006

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@14597 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
Fixed one spelling error.

InitilizeVtuneForV8 --> InitializeVtuneForV8

R=danno@chromium.org

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

Patch from Chunyang Dai <chunyang.dai@intel.com>.

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@14598 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
Parallel compilation bug: LCallNewArray dereferenced a handle unnecessarily.

BUG=
R=mstarzinger@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@14599 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
Merge commit '6e9d71491120e2a236a6d3c1473a172a4718821a' into hj-dev-palfia
MIPS: Use mutable heapnumbers to store doubles in fields.

Port r14597 (6e9d7149)