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

Issue 2122853002: Implement UnaligedLoad and UnaligedStore turbofan operators. (Closed)

Created:
4 years, 5 months ago by ivica.bogosavljevic
Modified:
4 years, 5 months ago
CC:
v8-reviews_googlegroups.com, v8-mips-ports_googlegroups.com, v8-x87-ports_googlegroups.com, v8-ppc-ports_googlegroups.com, v8-arm-ports_googlegroups.com
Base URL:
https://chromium.googlesource.com/v8/v8.git@master
Target Ref:
refs/pending/heads/master
Project:
v8
Visibility:
Public.

Description

Implement UnaligedLoad and UnaligedStore turbofan operators. Implement UnalignedLoad and UnalignedStore optional turbofan operators and use them in WasmCompiler for unaligned memory access. BUG= Committed: https://crrev.com/580fdf3c05872b1937a136f2f44b39897ecc0972 Cr-Commit-Position: refs/heads/master@{#37988}

Patch Set 1 #

Total comments: 6

Patch Set 2 : Address code review remarks. UnalingedLoad and UnalignedStore now mandatory #

Patch Set 3 : Add UnalingedLoad and UnalignedStore tests #

Total comments: 1

Patch Set 4 : Nits. Fixes some errors #

Unified diffs Side-by-side diffs Delta from patch set Stats (+1207 lines, -575 lines) Patch
M src/compiler/arm/instruction-selector-arm.cc View 1 2 3 1 chunk +5 lines, -0 lines 0 comments Download
M src/compiler/arm64/instruction-selector-arm64.cc View 1 2 3 1 chunk +5 lines, -0 lines 0 comments Download
M src/compiler/code-assembler.cc View 1 2 3 1 chunk +2 lines, -1 line 0 comments Download
M src/compiler/ia32/instruction-selector-ia32.cc View 1 2 3 1 chunk +5 lines, -0 lines 0 comments Download
M src/compiler/instruction-selector.cc View 1 2 3 2 chunks +9 lines, -0 lines 0 comments Download
M src/compiler/int64-lowering.cc View 1 3 chunks +40 lines, -11 lines 0 comments Download
M src/compiler/machine-operator.h View 1 2 3 4 chunks +43 lines, -21 lines 0 comments Download
M src/compiler/machine-operator.cc View 1 2 3 6 chunks +56 lines, -0 lines 0 comments Download
M src/compiler/machine-operator-reducer.cc View 1 2 3 2 chunks +6 lines, -1 line 0 comments Download
M src/compiler/mips/code-generator-mips.cc View 1 2 3 1 chunk +31 lines, -0 lines 0 comments Download
M src/compiler/mips/instruction-codes-mips.h View 1 2 3 1 chunk +9 lines, -0 lines 0 comments Download
M src/compiler/mips/instruction-selector-mips.cc View 1 2 3 2 chunks +95 lines, -0 lines 0 comments Download
M src/compiler/mips64/code-generator-mips64.cc View 1 2 3 1 chunk +40 lines, -0 lines 0 comments Download
M src/compiler/mips64/instruction-codes-mips64.h View 1 2 3 1 chunk +13 lines, -1 line 0 comments Download
M src/compiler/mips64/instruction-selector-mips64.cc View 1 2 3 2 chunks +98 lines, -1 line 0 comments Download
M src/compiler/opcodes.h View 1 2 3 1 chunk +2 lines, -0 lines 0 comments Download
M src/compiler/pipeline.cc View 1 2 3 1 chunk +2 lines, -1 line 0 comments Download
M src/compiler/ppc/instruction-selector-ppc.cc View 1 2 3 1 chunk +5 lines, -0 lines 0 comments Download
M src/compiler/raw-machine-assembler.h View 1 2 3 3 chunks +40 lines, -1 line 0 comments Download
M src/compiler/raw-machine-assembler.cc View 1 2 3 1 chunk +5 lines, -5 lines 0 comments Download
M src/compiler/s390/instruction-selector-s390.cc View 1 2 3 1 chunk +6 lines, -0 lines 0 comments Download
M src/compiler/typer.cc View 1 2 3 1 chunk +7 lines, -0 lines 0 comments Download
M src/compiler/verifier.cc View 1 2 3 1 chunk +2 lines, -0 lines 0 comments Download
M src/compiler/wasm-compiler.h View 1 2 3 1 chunk +0 lines, -13 lines 0 comments Download
M src/compiler/wasm-compiler.cc View 1 2 3 5 chunks +13 lines, -218 lines 0 comments Download
M src/compiler/x64/instruction-selector-x64.cc View 1 2 3 1 chunk +5 lines, -0 lines 0 comments Download
M src/compiler/x87/instruction-selector-x87.cc View 1 2 3 1 chunk +5 lines, -0 lines 0 comments Download
M src/machine-type.h View 1 2 1 chunk +29 lines, -0 lines 0 comments Download
M test/cctest/compiler/codegen-tester.h View 1 2 3 1 chunk +2 lines, -1 line 0 comments Download
M test/cctest/compiler/graph-builder-tester.h View 1 2 3 1 chunk +2 lines, -1 line 0 comments Download
M test/cctest/compiler/test-run-load-store.cc View 1 2 3 19 chunks +357 lines, -86 lines 0 comments Download
M test/unittests/compiler/int64-lowering-unittest.cc View 1 2 1 chunk +105 lines, -86 lines 0 comments Download
M test/unittests/compiler/node-test-utils.h View 1 2 3 1 chunk +10 lines, -0 lines 0 comments Download
M test/unittests/compiler/node-test-utils.cc View 1 2 3 4 chunks +153 lines, -127 lines 0 comments Download

Messages

Total messages: 26 (8 generated)
ivica.bogosavljevic
PTAL ARM people, please implement UnalignedLoad/UnaliginedStore operators if needed.
4 years, 5 months ago (2016-07-05 09:09:06 UTC) #3
martyn.capewell
On 2016/07/05 09:09:06, ivica.bogosavljevic wrote: > PTAL > > ARM people, please implement UnalignedLoad/UnaliginedStore operators ...
4 years, 5 months ago (2016-07-05 13:13:59 UTC) #4
martyn.capewell
I have an implementation of the ARM support needed here. As "git cl checkout" isn't ...
4 years, 5 months ago (2016-07-07 14:55:24 UTC) #5
martyn.capewell
https://codereview.chromium.org/2122853002/diff/1/src/compiler/mips/instruction-selector-mips.cc File src/compiler/mips/instruction-selector-mips.cc (right): https://codereview.chromium.org/2122853002/diff/1/src/compiler/mips/instruction-selector-mips.cc#newcode1004 src/compiler/mips/instruction-selector-mips.cc:1004: case MachineRepresentation::kWord8: Can 8-bit accesses ever be unaligned? If ...
4 years, 5 months ago (2016-07-07 16:35:46 UTC) #7
ivica.bogosavljevic
https://codereview.chromium.org/2122853002/diff/1/src/compiler/mips/instruction-selector-mips.cc File src/compiler/mips/instruction-selector-mips.cc (right): https://codereview.chromium.org/2122853002/diff/1/src/compiler/mips/instruction-selector-mips.cc#newcode1004 src/compiler/mips/instruction-selector-mips.cc:1004: case MachineRepresentation::kWord8: On 2016/07/07 16:35:46, martyn.capewell wrote: > Can ...
4 years, 5 months ago (2016-07-08 13:58:43 UTC) #8
titzer
https://codereview.chromium.org/2122853002/diff/1/src/compiler/machine-operator.h File src/compiler/machine-operator.h (right): https://codereview.chromium.org/2122853002/diff/1/src/compiler/machine-operator.h#newcode133 src/compiler/machine-operator.h:133: kUnalignedLoad = 1u << 24, Isn't this superfluous with ...
4 years, 5 months ago (2016-07-11 08:40:00 UTC) #9
ivica.bogosavljevic
https://codereview.chromium.org/2122853002/diff/1/src/compiler/machine-operator.h File src/compiler/machine-operator.h (right): https://codereview.chromium.org/2122853002/diff/1/src/compiler/machine-operator.h#newcode133 src/compiler/machine-operator.h:133: kUnalignedLoad = 1u << 24, On 2016/07/11 08:40:00, titzer ...
4 years, 5 months ago (2016-07-11 09:34:43 UTC) #10
ivica.bogosavljevic
PTAL
4 years, 5 months ago (2016-07-12 09:54:56 UTC) #11
titzer
On 2016/07/12 09:54:56, ivica.bogosavljevic wrote: > PTAL Looking good. Can you add some cctests for ...
4 years, 5 months ago (2016-07-14 15:32:02 UTC) #12
ivica.bogosavljevic
Implemented tests for UnalignedLoad and UnalignedStore turbofan operators, as well as int64 lowering tests PTAL
4 years, 5 months ago (2016-07-21 13:41:38 UTC) #13
titzer
lgtm modulo last naming nit. https://codereview.chromium.org/2122853002/diff/40001/test/cctest/compiler/test-run-load-store.cc File test/cctest/compiler/test-run-load-store.cc (right): https://codereview.chromium.org/2122853002/diff/40001/test/cctest/compiler/test-run-load-store.cc#newcode50 test/cctest/compiler/test-run-load-store.cc:50: enum LoadStoreKind { Can ...
4 years, 5 months ago (2016-07-21 13:54:37 UTC) #14
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.org/2122853002/60001
4 years, 5 months ago (2016-07-22 20:29:38 UTC) #17
commit-bot: I haz the power
Committed patchset #4 (id:60001)
4 years, 5 months ago (2016-07-22 20:55:08 UTC) #19
commit-bot: I haz the power
Patchset 4 (id:??) landed as https://crrev.com/580fdf3c05872b1937a136f2f44b39897ecc0972 Cr-Commit-Position: refs/heads/master@{#37988}
4 years, 5 months ago (2016-07-22 20:56:39 UTC) #21
Michael Achenbach
This crashes on real arm hardware (chrubuntu chromebooks): https://build.chromium.org/p/client.v8.ports/builders/V8%20Arm/builds/669 https://build.chromium.org/p/client.v8.ports/builders/V8%20Arm%20-%20debug/builds/621 Could you skip tests or ...
4 years, 5 months ago (2016-07-25 09:09:24 UTC) #22
ivica.bogosavljevic
On 2016/07/25 09:09:24, Michael Achenbach (slow) wrote: > This crashes on real arm hardware (chrubuntu ...
4 years, 5 months ago (2016-07-25 09:14:15 UTC) #23
ivica.bogosavljevic
4 years, 5 months ago (2016-07-25 09:14:25 UTC) #24
ivica.bogosavljevic
4 years, 5 months ago (2016-07-25 09:22:07 UTC) #26
Message was sent while issue was closed.
PTAL

Powered by Google App Engine
This is Rietveld 408576698