MIPS: Additional work to get array literal allocation tracking working, even with --always-opt

Port r13406 (796a9f11)

BUG=
TEST=

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@13441 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
Moved FlagList::EnforceFlagImplications to V8::InitializeOncePerProcessImpl.

Cleaned up V8::InitializeOncePerProcessImpl a bit on the way.

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@13442 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
Remove GlobalHandles::number_of_weak_handles_ and number_of_global_object_weak_handles_

This is a preparation patch for inlining MakeWeak() and Clear().

Given that NumberOfWeakHandles() is used only by CHECK_EQ() in serialized.cc and that NumberOfGlobalObjectWeakHandles is unused, it is wasteful to keep track of number_of_weak_handles_ and number_of_global_object_weak_handles_ at every MakeWeak() and Clear(). Instead, we can count the number at the point where NumberOfWeakHandles() or NumberOfGlobalObjectWeakHandles() is called.

BUG=

Review URL: https://codereview.chromium.org/11958015
Patch from Kentaro Hara <haraken@chromium.org>.

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@13443 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
Out of bounds memory access in TestJSArrayForAllocationSiteInfo.

The function intended to check the map pointer of an AllocationSiteInfo object, but neglected to
subtract an offset to do so.

BUG=169928

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@13444 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
Remove unused GlobalHandles::IterateWeakRoots()

BUG=

Review URL: https://codereview.chromium.org/11969037
Patch from Kentaro Hara <haraken@chromium.org>.

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

A test case erroneously expected a transition to a double array, but the array remains FAST_SMI.

In person LGTM from Danno...
BUG=

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@13447 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
Disable elimination of unreachable code after HSoftDeopts

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@13448 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
Remove <(library) usage from v8.gyp.

BUG=111541
R=danno@chromium.org

Signed-off-by: Thiago Farina <tfarina@chromium.org>

Review URL: https://codereview.chromium.org/12022021
Patch from Thiago Farina <tfarina@chromium.org>.

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

R=jkummerow@chromium.org
BUG=

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@13450 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
Replace special IC builtins and stubs in the map's cache by codestubs.

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@13453 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
Make HCheckPrototypeMaps compatible with parallel recompilation.

HCheckPrototypeMaps currently records the prototype and the holder of the
prototype chain (both ends of the chain) and assumes that the chain elements
and their maps did not change in during the entirety of Crankshaft. The actual
traversal of the prototype chain happens in Lithium at code generation.
With parallel compilation, this assumption is not longer correct.

R=mstarzinger@chromium.org
BUG=

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@13454 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
Fix some latin-1 webkit units tests

R=yangguo@chromium.org
BUG=

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@13455 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
allocation-site-info.js broken on arm with new changes. Reverting to previous version until diagnosed.
Regress-2185.js test takes too long on slow path when allocation site info is discovered.

BUG=

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@13456 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
Check for FLAG_enable_liveedit when using Live Edit.

R=peter.rybin@gmail.com
BUG=

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@13457 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
Migrate ArrayLength (Keyed|Named)LoadIC to CodeStub

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@13458 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
Migrate FunctionPrototype (Keyed|Named)LoadIC to CodeStub

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@13459 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
Merge Load from Keyed|Named load code.

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@13460 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
Merge Store from Keyed and Named store.

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@13461 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
Incorrect ARM assembly in MacroAssembler::TestJSArrayForAllocationSiteInfo
Restored test code in allocation-site-info.js that was failing on ARM because of this bug.

BUG=

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@13462 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
Allow loading constant function from proto chain.

This enables Crankshaft to use HConstant for loading constant functions
on the prototype chain when building a monomorphic load. This pattern
appears in several JavaScript frameworks.

R=svenpanne@chromium.org
TEST=mjsunit/compiler/proto-chain-constant

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

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