crosswalk-project/v8-crosswalk — pull request #52 by fujunwei (2014-09-11 01:17:39+00:00)
Title: Rebase simd from M37 to M38

Cherry pick simd commits from master to next branch, and fix build and tests error.

Those include follow six commits:
commit 5aa07fb60139abfc847c4398c1b9c252711b2ce0
Author: Ningxin Hu
Date: Fri Aug 8 23:54:14 2014 -0700

Fix invalid native context reference in simd128-tag

The solution is to inline the native context load.

BUG=XWALK-2255

commit 11af0678615217b5dce34e7e7d6a3257a2918ca4
Author: Ningxin Hu
Date: Sun Jul 27 03:43:34 2014 -0700

Inline the simd128-tag

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

TODO(ningxin): squash into patch-2

commit 19a1909de10a23132cd6841f13b8699e5fe5b5a3
Author: Ningxin Hu
Date: Mon Jul 28 03:39:14 2014 +0800

Fix the presubmit step

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

TODO(ningxin): squash into patch 1

commit 0b384992a5e432758cb791b22e9264a23d2be697
Author: Haitao Feng
Date: Wed Mar 5 15:33:11 2014 +0800

Inline all SIMD operations and optimize the SIMD arrays load and store.

...skipping...
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

commit 6abf4e59af44c4c0f1efc50a0e924f0d14f608ae
Author: Ningxin Hu
Date: Fri Jul 25 19:40:02 2014 -0700

Change Float32x4, Float64x2 and Int32x4 to JSObject.

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

commit a8f3875fc8a08500ddfee3994d08b63d7f19c5a7
Author: Haitao Feng
Date: Wed Feb 26 12:45:08 2014 +0800

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.