Version 3.28.71.9 (merged r23691)

Enforce correct number comparisons when inlining Array.indexOf.

BUG=407946
LOG=N
R=machenbach@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/3.28@23817 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
Skip slow webkit test.

BUG=
R=jkummerow@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/3.28@23836 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
V8 CPU profiler: source level support
Introduce Float32x4, Float64x2, Int32x4, Float32x4Array, Float64x2Array
and Int32x4Array data types, implement the SIMD operations on the
Float32x4, Float64x2 and Int32x4 with C++ runtime functions and implement
Float32x4Array, Float64x2Array and Int32x4Array element loading and storing.

Change Float32x4, Float64x2 and Int32x4 to JSObject.

These objects contains a "value" pointer pointing to a corresponding
FixedTypedArray which is the real data storage.

Conflicts:
	include/v8.h
	src/arm/lithium-arm.cc
	src/bootstrapper.cc
	src/contexts.h
	src/factory.h
	src/flag-definitions.h
	src/globals.h
	src/heap/heap.h
	src/heap/objects-visiting.cc
	src/ia32/lithium-ia32.cc
	src/ia32/macro-assembler-ia32.h
	src/objects-inl.h
	src/objects-printer.cc
	src/objects.cc
	src/objects.h
	src/runtime.cc
	src/runtime.h
	src/runtime.js
	src/x64/lithium-x64.cc
	src/x64/macro-assembler-x64.h
	tools/generate-runtime-tests.py
	tools/gyp/v8.gyp
	tools/js2c.py

Fix build and tests error

  1). ASSERT ==> DCHECK
  2). static inline Int32x4* cast(Object* obj);  ==>  DECLARE_CAST(Int32x4)
  3). OS::nan_value() ==> base::OS::nan_value()
  4). change print arguments from StringStream* accumulator to OStream& os
      (Float32x4::Float32x4Print(StringStream* accumulator) ==> Float32x4::Float32x4Print(OStream& os))

Fix the presubmit step

- Fix the runtime function test auto generation.
- Fix the coding style issues.

TODO(ningxin): squash into patch 1

Conflicts:
	tools/generate-runtime-tests.py

Fix "Extension or internal compilation error."

  change the function SetProperty ==> AddNamedProperty
Inline all SIMD operations and optimize the SIMD arrays load and store.

The implementation is for ia32 and x64 ports.

Optimize Float32x4Array, Float64x2Array and Int32x4Array element loading
and storing for ia32 and x64 port by:
  1). Allocating SIMD128 registers
  2). Emitting SIMD movups instruction
  3). Adding deoptimization support for SIMD128 registers or stack slots

Inline all SIMD operations and emit SIMD instructions for ia32 and x64 port

Conflicts:
	src/bootstrapper.cc
	src/deoptimizer.h
	src/hydrogen-instructions.h
	src/hydrogen-types.cc
	src/hydrogen-types.h
	src/hydrogen.h
	src/ia32/lithium-codegen-ia32.cc
	src/ia32/lithium-ia32.cc
	src/ia32/lithium-ia32.h
	src/ia32/macro-assembler-ia32.h
	src/lithium-allocator.cc
	src/lithium-allocator.h
	src/lithium.cc
	src/objects.h
	src/x64/lithium-codegen-x64.cc
	src/x64/lithium-x64.cc
	src/x64/lithium-x64.h
	src/x64/macro-assembler-x64.h
	test/fuzz-natives/testcfg.py

Fix build and tests error for cherry pick the commit
"Inline all SIMD operations and optimize the SIMD arrays load and store"

  1). ASSERT ==> DCHECK
  2). change print arguments from StringStream* accumulator to OStream& os
      (HNullarySIMDOperation::PrintDataTo(StringStream* stream) ==>
       HNullarySIMDOperation::PrintDataTo(OStream& os))

Inline the simd128-tag

Implement the simd128-tag inlining for the new JSObject-based
SIMD128 types' layout.

TODO(ningxin): squash into patch-2

Conflicts:
	src/heap/heap.h

Fix invalid native context reference in simd128-tag

The solution is to inline the native context load.

BUG=XWALK-2255

Fix build error for check debug version

Change point
  PrintF ==> os

Fix cctest assumption after introducinng SIMD128 objects.

Include:
cctest/test-heap/GrowAndShrinkNewSpace
cctest/test-mark-compact/NoPromotion
Change JS function names in simd128.js to JS prefix.
Change the name of conversion functions according to spec.
Implement SIMD.float32x4.select API.
Add the 1 argument constructor for SIMD types.
Fix invalid object access in SIMD types after heap mark compact.