MIPS: Generalize calling to C++ on stub deopt

Port r13320 (916d70a6)

Original commit message:
Remove code specific to KeyedLoadICs in DoCompiledStubFrame on all platforms, driving stub frame translation by the register parameter information found in a stub's CodeStubInterfaceDescriptor.

BUG=
TEST=

Review URL: https://codereview.chromium.org/11783046
Patch from Akos Palfi <palfia@homejinni.com>.

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@13336 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
Added %FlattenString and use it to speed up a regression test.

Flattening strings is relatively costly and by doing it after every duplication
we avoid combinatorial explosion.

Note that flattening could have been done by e.g. using a regular expression,
too, but this is just another implementation detail and %FlattenString seems
general enough to be useful in other tests, too.

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@13337 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
MIPS: Fix typo in commit r13326 (f8c9bf84).

BUG=
TEST=

Review URL: https://chromiumcodereview.appspot.com/11824015
Patch from Akos Palfi <palfia@homejinni.com>.

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@13338 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
MIPS: Adapt Danno's Track Allocation Info idea to fast literals.

Port r13330 (6d9ce8a8)

Original commit message:
Adapt Danno's Track Allocation Info idea to fast literals. When allocating a literal array, we store an AllocationSiteInfo object right after the JSArray, with a pointer to the boilerplate object. Later, if the array transitions we check for the continued existence of the temporary AllocationSiteInfo object (has no roots). If found, we'll use it to transition the boilerplate array as well.

Danno's original changeset: https://codereview.chromium.org/10615002/

BUG=
TEST=

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@13339 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
Introduce ENABLE_LATIN_1 compile flag

Mostly a bunch of renaming when flag is disabled.

R=yangguo@chromium.org
BUG=

Review URL: https://chromiumcodereview.appspot.com/11759008
Patch from Dan Carney <dcarney@google.com>.

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@13340 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
Some more instrumentation to narrow down Failure leaks.

The basic idea is to tag OOM-Failure objects with an ID indicating where they were created. This requires changes to equality comparisons.

Note to MIPS folks: I'm planning to revert this CL in a couple of days, so feel free to skip porting the platform-specific changes.

BUG=chromium:156010

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@13341 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
MIPS: Emit madd.d for multiply-add on MIPS.

Based on commit r12958 (04586adf).

BUG=
TEST=

Review URL: https://chromiumcodereview.appspot.com/11783049
Patch from Akos Palfi <palfia@homejinni.com>.

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@13342 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
Filter old space and large object space to new space references when moving parts of a FixedArray.

BUG=v8:2452

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@13343 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
Continues Latin-1 support. All tests pass with ENABLE_LATIN_1 flag.

R=yangguo@chromium.org
BUG=

Review URL: https://chromiumcodereview.appspot.com/11818025
Patch from Dan Carney <dcarney@google.com>.

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

R=yangguo@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@13345 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
Fix objectprint=on build.

R=dcarney@chromium.org
BUG=

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@13348 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
Fix missing exception check in typed array constructor (2).

This fixes another crash when the the typed array constructor accesses
an array that has a throwing accessor defined on one of it's elements.

R=verwaest@chromium.org
BUG=chromium:168545
TEST=mjsunit/regress/regress-crbug-168545.js

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@13351 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
Combine DEBUG_BREAK and DEBUG_PREPARE_STEP_IN into one IC stub kind DEBUG_STUB, encoding DEBUG_BREAK and DEBUG_PREPARE_STEP_IN as extra ic state.

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@13352 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
Make recent regression test resilient against GC stress.

R=danno@chromium.org
TEST=mjsunit/regress/regress-165637

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@13353 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
Add non-ASCII support to d8's read() function

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@13354 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
Better --trace-ic output for UnaryOpICs, matching other IC types

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@13355 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
Make v8 handle OOM during Heap construction more gracefully.

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@13356 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
Fix shared function info code replacement.

This fixes a corner case when the unoptimized code for a shared function
info is replaced while the function is enqueued as a flushing candidate.
Since the link field is stored within the code object, the candidates
list got destroyed.

R=hpayer@chromium.org
BUG=v8:169209
TEST=cctest/test-heap/Regress169209

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

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

R=ulan@chromium.org
BUG=

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@13362 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
Consistently use V8EXPORT on all classes and not on individual methods.

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

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