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
Merge pull request #52 from fujunwei/rebase-simd-next

Rebase simd from M37 to M38