Fix invalid array length check in TransitionElementsKindStub.

The stub used to check the length of the JS array to see if
there's a need to duplicate the elements backing store. This
way it will not duplicate the elements array when going from
double to object even if the elements array is not the empty
fixed array. Later on it will then store pointers into a
FixedDoubleArray.

The native code stub used to check whether elements points to
the empty_fixed_array singleton instead of testing the length.
The Hydrogen stub does that as well now.

R=danno@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@15701 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
Enable building for android on x86_64 machines.

R=ulan@chromium.org
BUG=

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

Patch from Ross McIlroy <rmcilroy@chromium.org>.

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@15702 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
More aggressively inline optimized code.

BUG=
R=danno@chromium.org, mstarzinger@chromium.org, titzer@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@15703 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
Calls to HCheckFunction can be eliminated if the value is an HConstant.

Reland "Calls to HCheckFunction can be eliminated if the value is an HConstant"
(https://codereview.chromium.org/18751003/).

The CL failed because of heap snapshot issues. alph@chromium.org just checked in
a fix for that (https://code.google.com/p/v8/source/detail?r=15694).

BUG=
R=danno@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@15704 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
Do not call reinterpret_cast when converting from NULL.

If NULL is a nullptr (such as on my FreeBSD system), it is not possible to
use reinterpret_cast to convert it to another pointer. Plus, just using NULL
directly achieves the same effect.

R=ulan@chromium.org

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

Patch from Raphael Kubo da Costa <raphael.kubo.da.costa@intel.com>.

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@15705 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
Deprecate some debugger methods

These methods have been superceeded by equivalents accepting object arguments exposing more details.

BUG=None
R=loislo@chromium.org, yangguo@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@15708 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
Use private field chunk_

R=hpayer@chromium.org

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

Patch from HaiTao Feng <haitao.feng@intel.com>.

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@15709 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
Revert "Deprecate some debugger methods"

This reverts commit r15708 to make WebKit bots happy while Blink change https://src.chromium.org/viewvc/blink?view=rev&revision=154386 is not rolled into Chromium.

BUG=None
TBR=yangguo@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@15710 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
Report initial_map field of JSFunction in heap snapshot.

R=verwaest@chromium.org, yurys@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@15711 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
Add BYTES_PER_ELEMENT property to constructors of typed arrays.

ES6 does not prescribe it, but both Blink and Firefox have it.

Also does a small rename of parameter in test.

R=bmeurer@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@15712 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
Reland "Turn ElementsTransitionAndStore stub into a HydrogenCodeStub".

Fix the invalid array length check, replacing it with a check of
the elements pointer similar to TransitionElementsKindStub.
Refactor common code from ElementsTransitionAndStoreStub and TransitionElementsKindStub into BuildTransitionElementsKind() helper method.
Add test case for the MD5 computation that used to crash before,
and a small test case for the specific issue.

R=danno@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@15713 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
Some tests involving AllocationSites are failing in GcStress test mode.
The reason is that an AllocationMemento associated with an array only
lives for one gc (it is unrooted). So an excess of garbage collections
in these tests cause the Memento to be lost, and expected behavior
can't be guaranteed.

BUG=
R=hpayer@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@15714 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
The gc should be able to traverse all AllocationSites for decision making. The sites are threaded into a weak list. Special problems include:

* Allocations of AllocationSites occur in generated code, so generated code needs to be able to add to the list. For now I have a special hydrogen instruction, though it would be nice to use general purpose instructions.
* The snapshot contains AllocationSites, and these need to be re-threaded into the list on deserialization.

Something nice is that the AllocationSites are only created in old space, so a special new space visitor isn't required.

BUG=
R=mstarzinger@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@15715 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
Remove V8_DISABLE_DEPRECATIONS=1 from test-cpu-profiler.cc

BUG=None
R=loislo@chromium.org, yangguo@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@15716 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
Enable compiled transitions by default.

R=danno@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@15717 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
Provide named links to code objects in heap snapshot.

R=loislo@chromium.org, verwaest@chromium.org, yurys@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@15722 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
Synchronize Compare-Literal behavior in FullCodegen and Hydrogen

BUG=chromium:260345
R=danno@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@15723 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
There is no undefined Literal.

BUG=
R=rossberg@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@15724 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
Fix LiteralCompareTypeof breakage introduced in r15723

R=danno@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@15725 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
Fix gc stress builder.

BUG=
R=mstarzinger@chromium.org

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

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