MIPS: Merge KeyedLoad and NamedLoad stub compiler code.

Port r13579 (e640269)

BUG=

Review URL: https://chromiumcodereview.appspot.com/12186003
Patch from Paul Lind <plind44@gmail.com>.

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@13580 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
Make the arm port build cleanly with Clang.

This fixes the following two warnings, so that "make all" builds cleanly
with Clang:

  src/arm/macro-assembler-arm.h:1410:7: error: private field
  'instructions_' is not used
        [-Werror,-Wunused-private-field]
          int instructions_;  // Number of instructions of the expected patch size.
              ^

  src/arm/simulator-arm.cc:402:20: error: variable 'words' is used uninitialized whenever 'if'
        condition is false [-Werror,-Wsometimes-uninitialized]
          } else if (argc == next_arg + 1) {
                     ^~~~~~~~~~~~~~~~~~~~
  ../src/arm/simulator-arm.cc:407:21: note: uninitialized use occurs here
          end = cur + words;
                      ^~~~~
  ../src/arm/simulator-arm.cc:402:16: note: remove the 'if' if its condition is always true
          } else if (argc == next_arg + 1) {
                 ^~~~~~~~~~~~~~~~~~~~~~~~~~

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@13583 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
Fix clearing of dead dependent codes and verify weak embedded maps on full GC.

BUG=172488,172489
R=mstarzinger@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@13584 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
Generate the TransitionElementsStub using Crankshaft

This includes:
* Adding support for saving callee-clobbered double registers in Crankshaft code.
* Adding a new "HTrapAllocationMemento" hydrogen instruction to handle AllocationSiteInfo data in crankshafted stubs.
* Adding a new "HAllocate" hydrogen instruction that can allocate raw memory from the GC in crankshafted code.
* Support for manipulation of the hole in HChange instructions for Crankshafted stubs.
* Utility routines to manually build loops and if statements containing hydrogen code.

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@13585 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
Tag stubs that rely on instance types as MEGAMORPHIC.

BUG=chromium:173974

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

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

R=jkummerow@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@13587 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
Keep ArrayLength, StringLength and FunctionPrototype MONOMORPHIC.

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@13590 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
Object.observe: use JSWeakMaps instead of raw ObjectHashTables in observation state

object-observe.js uses weak maps to add "hidden" properties to
objects. Previously, the hash tables it was using weren't actually
weak. This patch changes the existing runtime functions to create
instances of JSWeakMap instead of exposing ObjectHashTable directly.

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@13591 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
Object.observe: change array truncation logic to efficiently handle large sparse arrays

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@13592 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
Support pass-through of stub caller arguments

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

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

R=verwaest@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@13594 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
Fix Win64. It still cares about the actual registers behind scratch1/scratch2

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@13595 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
Fixed IsSweepingComplete and EnsureSweeperProgress helper functions.

BUG=

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@13596 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
Make object-observe test case resilient against GC stress.

R=rossberg@chromium.org
TEST=cctest/test-object-observe/ObservationWeakMap

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@13597 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
Add separate flag for --trace-stub-failures

R=svenpanne@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@13598 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
Print generated code for Crankshafted stubs with --print-code-stubs

R=mvstanton@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@13599 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
Switch GYP to use LLVM-GCC when using Xcode.

R=jkummerow@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@13600 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
ARM: Try to avoid VMSR instruction and drop redundant VCVT

We were doing a redundant VCVT operation in MacroAssembler::EmitECMATruncate.
Also, setting the FPSCR exception flags is expensive on some CPUs, wo we should
try to avoid it if we can.

Thanks to Rodolph Perfetta for the input on this!

Review URL: https://chromiumcodereview.appspot.com/12217014
Patch from Hans Wennborg <hans@chromium.org>.

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@13601 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
Add explicit Release configuration to standalone.gypi to appease Xcode.

R=jkummerow@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@13602 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
Do not rely on secure API functions when using MinGW-w64

Windows XP does not provide secure API functions in msvcrt.dll but
newer versions of Windows do. Avoid using secure API functions for
compatibility with msvcrt.dll on Windows XP.

Contributed by net147@gmail.com

BUGS=
TEST=

Review URL: https://chromiumcodereview.appspot.com/12189010
Patch from Jonathan Liu <net147@gmail.com>.

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