Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(36)

Issue 1250733005: SIMD.js Add the other SIMD Phase 1 types. (Closed)

Created:
5 years, 5 months ago by bbudge
Modified:
5 years, 4 months ago
CC:
v8-dev, Paweł Hajdan Jr.
Base URL:
https://chromium.googlesource.com/v8/v8.git@master
Target Ref:
refs/pending/heads/master
Project:
v8
Visibility:
Public.

Description

SIMD.js Add the other SIMD Phase 1 types. Adds Int32x4, Bool32x4, Int16x8, Bool16x8, Int8x16, Bool8x16. Adds Simd128Value base heap object class. Changes heap/factory construction pattern to use arrays. Adds replaceLane functions to facilitate testing. NOPRESUBMIT=true (presubmit checks erroneously interpret array declaration in macro definition as variable size array.) LOG=Y BUG=v8:4124 Committed: https://crrev.com/7b9670b63b486ba3b6f8a569552d307282dbccfd Cr-Commit-Position: refs/heads/master@{#29974}

Patch Set 1 : #

Patch Set 2 : #

Total comments: 38

Patch Set 3 : Address comments. #

Total comments: 5

Patch Set 4 : Rebase. #

Patch Set 5 : Make _IsSimdObject an assembly intrinsic in fullcodegen. #

Total comments: 2

Patch Set 6 : Rebase. #

Patch Set 7 : Fix NoSideEffectToString in messages.js. #

Patch Set 8 : Rebase. #

Patch Set 9 : Rebase #

Patch Set 10 : Fix harness-adapt.js. #

Patch Set 11 : Don't run downloaded SIMD value type tests. #

Unified diffs Side-by-side diffs Delta from patch set Stats (+2756 lines, -645 lines) Patch
M include/v8.h View 1 2 3 4 5 6 7 2 chunks +3 lines, -3 lines 0 comments Download
M src/arm/code-stubs-arm.cc View 1 2 3 4 5 6 7 3 chunks +12 lines, -4 lines 0 comments Download
M src/arm/lithium-codegen-arm.cc View 1 2 3 4 5 2 chunks +36 lines, -2 lines 0 comments Download
M src/arm64/code-stubs-arm64.cc View 1 2 3 4 5 6 7 4 chunks +12 lines, -4 lines 0 comments Download
M src/arm64/lithium-codegen-arm64.cc View 1 2 3 4 5 2 chunks +60 lines, -2 lines 0 comments Download
M src/bootstrapper.cc View 1 2 3 4 5 6 7 1 chunk +10 lines, -7 lines 0 comments Download
M src/code-stubs.cc View 1 2 3 4 5 6 7 1 chunk +1 line, -1 line 0 comments Download
M src/code-stubs-hydrogen.cc View 1 2 3 4 5 6 7 1 chunk +65 lines, -12 lines 0 comments Download
M src/contexts.h View 1 2 3 4 5 6 7 2 chunks +12 lines, -0 lines 0 comments Download
M src/factory.h View 1 1 chunk +13 lines, -1 line 0 comments Download
M src/factory.cc View 1 1 chunk +42 lines, -3 lines 0 comments Download
M src/full-codegen/arm/full-codegen-arm.cc View 1 2 3 4 5 6 7 2 chunks +51 lines, -0 lines 0 comments Download
M src/full-codegen/arm64/full-codegen-arm64.cc View 1 2 3 4 5 6 7 2 chunks +57 lines, -0 lines 0 comments Download
M src/full-codegen/full-codegen.h View 1 2 3 4 5 6 7 1 chunk +1 line, -0 lines 0 comments Download
M src/full-codegen/ia32/full-codegen-ia32.cc View 1 2 3 4 5 6 7 2 chunks +50 lines, -0 lines 0 comments Download
M src/full-codegen/mips/full-codegen-mips.cc View 1 2 3 4 5 6 7 2 chunks +50 lines, -0 lines 0 comments Download
M src/full-codegen/mips64/full-codegen-mips64.cc View 1 2 3 4 5 6 7 2 chunks +50 lines, -0 lines 0 comments Download
M src/full-codegen/ppc/full-codegen-ppc.cc View 1 2 3 4 5 6 7 2 chunks +51 lines, -0 lines 0 comments Download
M src/full-codegen/x64/full-codegen-x64.cc View 1 2 3 4 5 6 7 2 chunks +50 lines, -0 lines 0 comments Download
M src/full-codegen/x87/full-codegen-x87.cc View 1 2 3 4 5 6 7 2 chunks +50 lines, -0 lines 0 comments Download
M src/harmony-simd.js View 1 2 2 chunks +234 lines, -50 lines 0 comments Download
M src/heap-snapshot-generator.cc View 1 2 3 4 5 6 7 1 chunk +1 line, -1 line 0 comments Download
M src/heap/heap.h View 1 2 3 4 5 6 7 4 chunks +30 lines, -4 lines 0 comments Download
M src/heap/heap.cc View 1 2 3 4 5 6 7 8 2 chunks +30 lines, -25 lines 0 comments Download
M src/heap/objects-visiting.cc View 1 1 chunk +6 lines, -0 lines 0 comments Download
M src/hydrogen-instructions.cc View 1 1 chunk +12 lines, -0 lines 0 comments Download
M src/ia32/code-stubs-ia32.cc View 1 2 3 4 5 6 7 2 chunks +6 lines, -2 lines 0 comments Download
M src/ia32/lithium-codegen-ia32.cc View 1 2 3 4 2 chunks +36 lines, -2 lines 0 comments Download
M src/ic/handler-compiler.cc View 1 1 chunk +12 lines, -0 lines 0 comments Download
M src/ic/ic-inl.h View 1 2 3 4 5 6 7 1 chunk +12 lines, -0 lines 0 comments Download
M src/macros.py View 1 2 3 4 5 6 7 2 chunks +1 line, -2 lines 0 comments Download
M src/messages.js View 1 2 3 4 5 6 7 1 chunk +11 lines, -1 line 0 comments Download
M src/mips/code-stubs-mips.cc View 1 2 3 4 5 6 7 3 chunks +8 lines, -2 lines 0 comments Download
M src/mips/lithium-codegen-mips.cc View 1 2 3 4 5 2 chunks +47 lines, -2 lines 0 comments Download
M src/mips64/code-stubs-mips64.cc View 1 2 3 4 5 6 7 2 chunks +19 lines, -13 lines 0 comments Download
M src/mips64/lithium-codegen-mips64.cc View 1 2 3 4 5 2 chunks +48 lines, -3 lines 0 comments Download
M src/objects.h View 1 2 3 4 5 6 7 8 6 chunks +68 lines, -18 lines 0 comments Download
M src/objects.cc View 1 2 3 4 5 6 7 8 9 chunks +145 lines, -41 lines 0 comments Download
M src/objects-debug.cc View 1 2 3 4 5 6 7 8 2 chunks +36 lines, -0 lines 0 comments Download
M src/objects-inl.h View 1 2 3 4 11 chunks +208 lines, -13 lines 0 comments Download
M src/objects-printer.cc View 1 2 chunks +86 lines, -0 lines 0 comments Download
M src/ppc/code-stubs-ppc.cc View 1 2 3 4 5 6 7 3 chunks +12 lines, -4 lines 0 comments Download
M src/ppc/lithium-codegen-ppc.cc View 1 2 3 4 5 2 chunks +36 lines, -2 lines 0 comments Download
M src/runtime.js View 1 2 3 4 5 6 7 8 chunks +16 lines, -22 lines 0 comments Download
M src/runtime/runtime.h View 1 2 3 4 5 6 7 1 chunk +36 lines, -7 lines 0 comments Download
M src/runtime/runtime-simd.cc View 1 2 3 4 5 6 7 2 chunks +216 lines, -73 lines 0 comments Download
M src/types.cc View 1 chunk +6 lines, -0 lines 0 comments Download
M src/utils.h View 1 chunk +0 lines, -21 lines 0 comments Download
M src/x64/code-stubs-x64.cc View 1 2 3 4 5 6 7 2 chunks +6 lines, -2 lines 0 comments Download
M src/x64/lithium-codegen-x64.cc View 1 2 3 4 2 chunks +36 lines, -2 lines 0 comments Download
M src/x87/code-stubs-x87.cc View 1 2 3 4 5 6 7 2 chunks +6 lines, -2 lines 0 comments Download
M src/x87/lithium-codegen-x87.cc View 1 2 3 4 2 chunks +36 lines, -2 lines 0 comments Download
M test/cctest/test-heap.cc View 1 2 chunks +132 lines, -39 lines 0 comments Download
M test/cctest/test-heap-profiler.cc View 1 2 3 4 5 6 7 1 chunk +17 lines, -6 lines 0 comments Download
M test/cctest/test-simd.cc View 1 2 1 chunk +97 lines, -25 lines 0 comments Download
M test/mjsunit/harmony/simd.js View 1 2 6 chunks +369 lines, -218 lines 0 comments Download
M test/simdjs/harness-adapt.js View 1 2 3 4 5 6 7 8 9 10 1 chunk +3 lines, -2 lines 0 comments Download

Messages

Total messages: 52 (26 generated)
bbudge
Looks like the problem on Windows (DCHECK failing) went away. PTAL
5 years, 4 months ago (2015-07-28 17:08:41 UTC) #11
bbudge
5 years, 4 months ago (2015-07-28 17:09:10 UTC) #13
rossberg
Mostly looking good, but I wonder about the cost of the IS_SIMD_VALUE predicate. https://codereview.chromium.org/1250733005/diff/210001/src/harmony-simd.js File ...
5 years, 4 months ago (2015-07-29 14:37:56 UTC) #14
bbudge
I macro-ized SIMD types in C++ and JS to reduce repetition. objects.h defines SIMD128_TYPES in ...
5 years, 4 months ago (2015-07-30 13:46:59 UTC) #15
rossberg
LGTM modulo comments. Let's see how this version performs. We can always roll back. https://codereview.chromium.org/1250733005/diff/210001/src/macros.py ...
5 years, 4 months ago (2015-07-30 15:12:24 UTC) #16
adamk
https://codereview.chromium.org/1250733005/diff/230001/src/macros.py File src/macros.py (right): https://codereview.chromium.org/1250733005/diff/230001/src/macros.py#newcode101 src/macros.py:101: macro IS_SIMD_VALUE(arg) = (%_IsSimdValue(arg)); On 2015/07/30 15:12:24, rossberg wrote: ...
5 years, 4 months ago (2015-07-30 15:34:58 UTC) #18
rossberg
On 2015/07/30 15:34:58, adamk wrote: > https://codereview.chromium.org/1250733005/diff/230001/src/macros.py > File src/macros.py (right): > > https://codereview.chromium.org/1250733005/diff/230001/src/macros.py#newcode101 > ...
5 years, 4 months ago (2015-07-30 15:50:39 UTC) #19
bbudge
On 2015/07/30 15:50:39, rossberg wrote: > On 2015/07/30 15:34:58, adamk wrote: > > https://codereview.chromium.org/1250733005/diff/230001/src/macros.py > ...
5 years, 4 months ago (2015-07-30 16:21:27 UTC) #20
adamk
On 2015/07/30 15:50:39, rossberg wrote: > On 2015/07/30 15:34:58, adamk wrote: > > https://codereview.chromium.org/1250733005/diff/230001/src/macros.py > ...
5 years, 4 months ago (2015-07-30 17:00:43 UTC) #21
rossberg
On 2015/07/30 16:21:27, bbudge wrote: > On 2015/07/30 15:50:39, rossberg wrote: > > On 2015/07/30 ...
5 years, 4 months ago (2015-07-30 17:07:22 UTC) #22
bbudge
On 2015/07/30 17:07:22, rossberg wrote: > On 2015/07/30 16:21:27, bbudge wrote: > > On 2015/07/30 ...
5 years, 4 months ago (2015-07-30 17:13:15 UTC) #23
bbudge
On 2015/07/30 17:07:22, rossberg wrote: > On 2015/07/30 16:21:27, bbudge wrote: > > On 2015/07/30 ...
5 years, 4 months ago (2015-07-30 17:21:03 UTC) #24
bbudge
I made _IsSimdObject an assembly intrinsic, at least for fullcodegen. https://codereview.chromium.org/1250733005/diff/230001/src/macros.py File src/macros.py (right): https://codereview.chromium.org/1250733005/diff/230001/src/macros.py#newcode101 ...
5 years, 4 months ago (2015-07-30 23:27:01 UTC) #30
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1250733005/450001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1250733005/450001
5 years, 4 months ago (2015-08-03 11:42:25 UTC) #33
commit-bot: I haz the power
Try jobs failed on following builders: v8_presubmit on tryserver.v8 (JOB_FAILED, http://build.chromium.org/p/tryserver.v8/builders/v8_presubmit/builds/4632)
5 years, 4 months ago (2015-08-03 11:45:57 UTC) #35
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1250733005/470001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1250733005/470001
5 years, 4 months ago (2015-08-03 12:22:44 UTC) #38
commit-bot: I haz the power
Try jobs failed on following builders: v8_mac_rel on tryserver.v8 (JOB_FAILED, http://build.chromium.org/p/tryserver.v8/builders/v8_mac_rel/builds/8332)
5 years, 4 months ago (2015-08-03 12:31:20 UTC) #40
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1250733005/490001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1250733005/490001
5 years, 4 months ago (2015-08-03 12:38:26 UTC) #43
commit-bot: I haz the power
Committed patchset #11 (id:490001)
5 years, 4 months ago (2015-08-03 13:02:45 UTC) #44
commit-bot: I haz the power
Patchset 11 (id:??) landed as https://crrev.com/7b9670b63b486ba3b6f8a569552d307282dbccfd Cr-Commit-Position: refs/heads/master@{#29974}
5 years, 4 months ago (2015-08-03 13:03:06 UTC) #45
Yang
On 2015/08/03 13:03:06, commit-bot: I haz the power wrote: > Patchset 11 (id:??) landed as ...
5 years, 4 months ago (2015-08-03 13:54:42 UTC) #46
titzer
On 2015/08/03 13:54:42, Yang wrote: > On 2015/08/03 13:03:06, commit-bot: I haz the power wrote: ...
5 years, 4 months ago (2015-08-03 14:10:34 UTC) #47
bbudge
On 2015/08/03 14:10:34, titzer wrote: > On 2015/08/03 13:54:42, Yang wrote: > > On 2015/08/03 ...
5 years, 4 months ago (2015-08-03 14:31:31 UTC) #48
rossberg
On 2015/08/03 14:31:31, bbudge wrote: > On 2015/08/03 14:10:34, titzer wrote: > > On 2015/08/03 ...
5 years, 4 months ago (2015-08-04 13:03:46 UTC) #50
rossberg
https://codereview.chromium.org/1250733005/diff/310001/src/macros.py File src/macros.py (right): https://codereview.chromium.org/1250733005/diff/310001/src/macros.py#newcode101 src/macros.py:101: macro IS_SIMD_OBJECT(arg) = (%_IsSimdObject(arg)); Please revert this renaming. SIMD ...
5 years, 4 months ago (2015-08-04 13:09:17 UTC) #51
bbudge
5 years, 4 months ago (2015-08-04 14:14:31 UTC) #52
Message was sent while issue was closed.
https://codereview.chromium.org/1250733005/diff/310001/src/macros.py
File src/macros.py (right):

https://codereview.chromium.org/1250733005/diff/310001/src/macros.py#newcode101
src/macros.py:101: macro IS_SIMD_OBJECT(arg)       = (%_IsSimdObject(arg));
On 2015/08/04 13:09:16, rossberg wrote:
> Please revert this renaming. SIMD values are not objects, so it is misleading
> here (even though we conflate terminology on lower levels).

I saw all the other IsFooObject functions when I was doing the intrinsic but
you're right.
https://codereview.chromium.org/1253103006/

Powered by Google App Engine
This is Rietveld 408576698