Fix overflow in TypedArray initialization function

BUG=chromium:319120
TEST=test/mjsunit/regress/regress-319120.js
R=jkummerow@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@17711 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
Magic fix for Math.sin/cos.

It turns out that Sunspider 1.0's 3d-morph verifies that the floating
point error must start with 6.

R=jkummerow@chromium.org
BUG=

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

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

R=jkummerow@chromium.org
BUG=

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@17729 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
Harden NumberToSize against overflows.

The callers to NumberToSize are supposed to validate the number, but
this adds a last line of defense.

R=jkummerow@chromium.org, ulan@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@17733 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
Revert "Harden NumberToSize against overflows."

This reverts commit r17733 for breaking Linux build.

TBR=jkummerow@chromium.org
BUG=

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@17734 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
Deprecate v8::Locker::{Start,Stop}Preemption

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

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@17736 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
Reland "Harden NumberToSize against overflows."

The callers to NumberToSize are supposed to validate the number, but
this adds a last line of defense.

TBR=jkummerow@chromium.org, ulan@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@17737 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
Runtime CHECK for overflow in NewTypedArray.

R=ulan@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@17739 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
Avoid integer overflow in CopyMap.

R=jkummerow@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@17740 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
Inline zero argument array constructor.
patch from issue 54583003 (dependent code).

Zero arguments - very easy

1 argument - three special cases:
  a) If length is a constant in valid array length range,
     no need to check it at runtime.
  b) respect DoNotInline feedback on the AllocationSite for
     cases that the argument is not a smi or is an integer
     with a length that should create a dictionary.
  c) if kind feedback is non-holey, and length is non-constant,
     we'd have to generate a lot of code to be correct.
     Don't inline this case.

N arguments - one special case:
  a) If a deopt ever occurs because an input argument isn't
     compatible with the elements kind, then set the
     DoNotInline flag.

BUG=
R=verwaest@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@17741 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
This is the exact copy of r17365 which was reverted in r17488 due to memory corruption. The root cause for the memory corruption - missing check for bump pointer limit before storing filler map must be addressed in r17626 where allocation hooks were removed from the generated code and left only in the runtime.

This is initial implementation of allocation profiler.

Whenever new object allocation is reported to the HeapProfiler and allocation tracking is on we will capture current stack trace, add it to the collection of the allocation traces (a tree) and attribute the allocated size to the top JS function on the stack.

Format of serialized heap snapshot is extended to include information about recorded allocation stack traces.

This patch is r17301 plus a fix for the test crash in debug mode. The test crashed because we were traversing stack trace when just allocated object wasn't completely configured, in particular the map pointer was incorrect. Invalid Map pointer broke heap iteration required to find Code object for a given pc during stack traversal. The solution is to insert free space filler in the newly allocated block just before collecting stack trace.

BUG=chromium:277984,v8:2949
R=bmeurer@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@17742 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
Add support for keyed-call on arrays of fast elements

R=danno@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@17746 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
Fix duplicate check in DependentCode::Insert.

R=ulan@chromium.org
BUG=318454

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@17747 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
Remove unused LoadNumber* from ARM macro assembler.

R=ulan@chromium.org
BUG=

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@17748 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
Add ChangeLog presubmit check.

LOG=
BUG=
R=jkummerow@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@17749 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
Fixed blocking dcommit in push-to-trunk script.

BUG=
R=jkummerow@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@17750 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
[Sheriff] Revert "Add support for keyed-call on arrays of fast elements"

This reverts commit r17746 for breaking layout tests.

TBR=verwaest@chromium.org
BUG=

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@17751 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
Add ability to disable inline bump-pointer allocation.

R=ulan@chromium.org, yurys@chromium.org
TEST=cctest/test-heap/DisableInlineAllocation

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@17752 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
Do not update survival rate if the new space size is zero.

BUG=v8:2333
LOG=N
R=hpayer@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@17753 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
Remove obsolete distance switch in SubStringStub::Generate.

R=ulan@chromium.org

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

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