MIPS: Implement yield* (delegating yield)

Port r14669 (b64ce42a)

Original commit message:
Ideally this would have been implemented via desugaring at parse-time,
but yield* is an expression, and its desugaring includes statements like
while and try/catch.  We'd have to have BlockExpression in the AST to
support that, and it's not worth it for this feature.

So instead we implement all of the logic in
FullCodeGenerator::VisitYield.  Delegating yield AST nodes now have a
try handler index, for the try/catch.  Otherwise the implementation is
straightforward.

BUG=

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@14712 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
Fix bugs in rewriting combined with attributes and accessors

R=danno@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@14713 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
Fill in one-word-fillers for the unused property fields.

BUG=chromium:240056

Review URL: https://chromiumcodereview.appspot.com/15247003
Patch from Toon Verwaest <verwaest@chromium.org>.

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@14714 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
Unify deoptimizer for JavaScript frames.

This unifies the translation of an optimized frame to a full JavaScript
frame. Only the frame's context and fp register as well as alignment
padding are different on each architecture and can be factored out.

R=svenpanne@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@14715 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
Fix transition test to support allocation site info.

BUG=

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@14716 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
MIPS: Unify deoptimizer for JavaScript frames.

Port r14715 (84633474)

Original commit message:
This unifies the translation of an optimized frame to a full JavaScript
frame. Only the frame's context and fp register as well as alignment
padding are different on each architecture and can be factored out.

BUG=

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@14717 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
Turning off optimize-constructed-arrays to investigate a WebKit/bindings issue.

BUG=
R=mstarzinger@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@14718 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
Prepare push to trunk.  Now working on version 3.19.3.

R=danno@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@14719 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
Reduce register pressure in some runtime functions

Hoped to cure the spurious 3% regression we saw on beloved chromium-rel-win7-dual/sunspider after http://code.google.com/p/v8/source/detail?r=14236

R=mstarzinger@chromium.org
BUG=chromium:233441

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@14722 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
Allow for no samples in test-cpu-profiler/SampleWhenFrameIsNotSetup

The test should only check that there are no sample stacks that never possible in the JS code being profiled.

BUG=v8:2628
R=svenpanne@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@14723 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
ARM: Smi refactoring and improvements.

Refactoring:
 * consistent use of SmiTag/Untag
 * added a few Smi macros and helpers
Improvements
 * small optimisations (e.g. merging untag and cmp #0)
 * added fixed point to double conversion instructions for simpler conversions

More on the last point: a Smi can be seen as a fixed point number with the
a one bit fractional part. Fixed to double instructions allow us to convert
a Smi to a double without untagging.

BUG=none
TEST=none

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@14724 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
new style of property/function callbacks

R=svenpanne@chromium.org
BUG=

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@14725 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
Make Runtime_Abort print to stderr instead of stdout.

R=mvstanton@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@14726 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
Remove unneeded argument from Parser::GetSymbol

Parser::GetSymbol can't actually fail, so no need for the bool* ok
argument or the CHECK_OK in callers.

BUG=
R=mstarzinger@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@14727 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
Don't create new maps in CurrentMapForDeprecated.

R=yangguo@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@14728 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
Disable flaky test after r14723.

R=svenpanne@chromium.org
BUG=v8:2628
TEST=cctest/test-cpu-profiler/SampleWhenFrameIsNotSetup

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@14729 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
Make sure we register extensions only once. Removed unused member variable.

V8::Initialize() can be called from various threads simultaneously, so
everything should be done only once per process or within the Isolate. For
registering extensions, we do the former now.

R=dslomov@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@14730 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
fix arm simulator after 14725

BUG=

R=svenpanne@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@14731 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
Zap map value in the stub-cache on clear.
The empty_string is a valid key for keyed loads and stores.

BUG=
R=mstarzinger@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@14732 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
a tiny bug in DehoistArrayIndex

R=mmassi@chromium.org

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

Patch from Weiliang Lin <weiliang.lin2@gmail.com>.

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