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

Issue 2258073002: [Turbofan]: Use new MachineTypes in access-builder. (Closed)

Created:
4 years, 4 months ago by mvstanton
Modified:
4 years, 3 months ago
CC:
v8-reviews_googlegroups.com
Base URL:
https://chromium.googlesource.com/v8/v8.git@master
Target Ref:
refs/pending/heads/master
Project:
v8
Visibility:
Public.

Description

[Turbofan]: Use new MachineTypes in access-builder. Introduced MachineType::TaggedSigned() and TaggedPointer(). The idea is to quit using the representational dimension of Type, and instead encode this information in the MachineRepresentation (itself lightly wrapped in MachineType, along with MachineSemantic). There are three parts to the whole change: 1) Places that set the machine representation - constant nodes, loads nad stores, global object and native context specialization. 2) Places that propagate type/representation - this is representation inference (aka simplified lowering). At the end of this process we expect to have a MachineRepresentation for every node. An interesting part of this is phi merging. 3) Places that examine representation - WriteBarrier elimination does this. Currently it's looking at the Type representation dimension, but as a part of this change (or in a soon-to-follow change) it can simply examine the MachineRepresentation. BUG= Committed: https://crrev.com/56429fc14671a10749190a4dfeacd38b7270f6f5 Cr-Commit-Position: refs/heads/master@{#38978}

Patch Set 1 #

Patch Set 2 : Bugfixes. #

Patch Set 3 : REBASE. #

Total comments: 27

Patch Set 4 : nits. #

Patch Set 5 : Fixed write barrier issue. #

Total comments: 14

Patch Set 6 : Code comments addressed. #

Total comments: 1

Patch Set 7 : A bit of refactoring. #

Unified diffs Side-by-side diffs Delta from patch set Stats (+187 lines, -38 lines) Patch
M src/compiler/access-builder.cc View 1 2 3 4 5 7 chunks +26 lines, -11 lines 0 comments Download
M src/compiler/arm/instruction-selector-arm.cc View 1 2 3 4 5 1 chunk +1 line, -1 line 0 comments Download
M src/compiler/arm64/instruction-selector-arm64.cc View 1 2 3 4 5 1 chunk +1 line, -1 line 0 comments Download
M src/compiler/code-generator.cc View 1 2 3 4 5 6 5 chunks +9 lines, -7 lines 0 comments Download
M src/compiler/ia32/instruction-selector-ia32.cc View 1 2 3 4 5 1 chunk +1 line, -1 line 0 comments Download
M src/compiler/instruction.h View 1 2 3 4 5 6 1 chunk +1 line, -2 lines 0 comments Download
M src/compiler/linkage.cc View 1 2 3 4 5 1 chunk +3 lines, -1 line 0 comments Download
M src/compiler/machine-operator.cc View 1 2 3 4 5 1 chunk +2 lines, -0 lines 0 comments Download
M src/compiler/mips/instruction-selector-mips.cc View 1 2 3 4 5 1 chunk +1 line, -1 line 0 comments Download
M src/compiler/mips64/instruction-selector-mips64.cc View 1 2 3 4 5 1 chunk +1 line, -1 line 0 comments Download
M src/compiler/register-allocator.cc View 1 2 3 4 5 6 2 chunks +4 lines, -4 lines 0 comments Download
M src/compiler/representation-change.h View 1 chunk +6 lines, -0 lines 0 comments Download
M src/compiler/representation-change.cc View 1 2 3 4 5 6 7 chunks +112 lines, -6 lines 0 comments Download
M src/compiler/simplified-lowering.cc View 1 2 3 4 5 6 1 chunk +1 line, -1 line 0 comments Download
M src/compiler/x64/instruction-selector-x64.cc View 1 2 3 4 5 1 chunk +1 line, -1 line 0 comments Download
M src/machine-type.h View 1 2 3 4 5 6 2 chunks +17 lines, -0 lines 0 comments Download

Messages

Total messages: 39 (29 generated)
mvstanton
Hi Jaro, Here is the second part of the work to use MachineTypes and get ...
4 years, 4 months ago (2016-08-22 12:36:29 UTC) #5
Michael Starzinger
https://codereview.chromium.org/2258073002/diff/40001/src/compiler/js-generic-lowering.cc File src/compiler/js-generic-lowering.cc (right): https://codereview.chromium.org/2258073002/diff/40001/src/compiler/js-generic-lowering.cc#newcode364 src/compiler/js-generic-lowering.cc:364: NodeProperties::ChangeOp(node, machine()->Load(MachineType::TaggedPointer())); This is the load of the actual ...
4 years, 4 months ago (2016-08-22 12:59:46 UTC) #8
Jarin
Some comments below. As discussed offline, it should be easier not to use the new ...
4 years, 4 months ago (2016-08-22 14:23:23 UTC) #9
mvstanton
Hi guys, Thanks for the fantastic comments. I finally addressed a write barrier problem, where ...
4 years, 4 months ago (2016-08-24 16:06:28 UTC) #21
Jarin
https://codereview.chromium.org/2258073002/diff/100001/src/compiler/arm/instruction-selector-arm.cc File src/compiler/arm/instruction-selector-arm.cc (right): https://codereview.chromium.org/2258073002/diff/100001/src/compiler/arm/instruction-selector-arm.cc#newcode435 src/compiler/arm/instruction-selector-arm.cc:435: rep == MachineRepresentation::kTaggedPointer); Could you introduce some helper function ...
4 years, 4 months ago (2016-08-25 05:52:05 UTC) #24
mvstanton
Thanks again, Jaro. Comments addressed... --Mike https://codereview.chromium.org/2258073002/diff/100001/src/compiler/arm/instruction-selector-arm.cc File src/compiler/arm/instruction-selector-arm.cc (right): https://codereview.chromium.org/2258073002/diff/100001/src/compiler/arm/instruction-selector-arm.cc#newcode435 src/compiler/arm/instruction-selector-arm.cc:435: rep == MachineRepresentation::kTaggedPointer); ...
4 years, 3 months ago (2016-08-29 12:02:11 UTC) #31
Jarin
lgtm. Thanks!
4 years, 3 months ago (2016-08-29 12:09:20 UTC) #32
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/2258073002/140001
4 years, 3 months ago (2016-08-29 12:30:21 UTC) #36
commit-bot: I haz the power
Committed patchset #7 (id:140001)
4 years, 3 months ago (2016-08-29 12:32:38 UTC) #37
commit-bot: I haz the power
4 years, 3 months ago (2016-08-29 12:33:26 UTC) #39
Message was sent while issue was closed.
Patchset 7 (id:??) landed as
https://crrev.com/56429fc14671a10749190a4dfeacd38b7270f6f5
Cr-Commit-Position: refs/heads/master@{#38978}

Powered by Google App Engine
This is Rietveld 408576698