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

Issue 1963583004: [turbofan] Initial version of allocation folding and write barrier elimination. (Closed)

Created:
4 years, 7 months ago by Benedikt Meurer
Modified:
4 years, 7 months ago
CC:
Hannes Payer (out of office), Michael Achenbach, ulan, v8-mips-ports_googlegroups.com, v8-ppc-ports_googlegroups.com, v8-reviews_googlegroups.com, v8-x87-ports_googlegroups.com
Base URL:
https://chromium.googlesource.com/v8/v8.git@master
Target Ref:
refs/pending/heads/master
Project:
v8
Visibility:
Public.

Description

[turbofan] Initial version of allocation folding and write barrier elimination. This adds a new pass MemoryOptimizer that walks over the effect chain from Start and lowers all Allocate, LoadField, StoreField, LoadElement, and StoreElement nodes, trying to fold allocations into allocation groups and eliminate write barriers on StoreField and StoreElement if possible (i.e. if the object belongs to the current allocation group and that group allocates in new space). R=hpayer@chromium.org, jarin@chromium.org BUG=v8:4931, chromium:580959 LOG=n Committed: https://crrev.com/b8229ec446b80fd3ff9a08362fe1cef36e9d8346 Cr-Commit-Position: refs/heads/master@{#36128}

Patch Set 1 #

Total comments: 8

Patch Set 2 : Jaros comments; #

Unified diffs Side-by-side diffs Delta from patch set Stats (+707 lines, -712 lines) Patch
M BUILD.gn View 6 chunks +8 lines, -5 lines 0 comments Download
M src/arm/builtins-arm.cc View 2 chunks +0 lines, -10 lines 0 comments Download
M src/arm64/builtins-arm64.cc View 2 chunks +0 lines, -10 lines 0 comments Download
M src/code-factory.h View 1 chunk +0 lines, -1 line 0 comments Download
M src/code-factory.cc View 1 chunk +0 lines, -7 lines 0 comments Download
M src/code-stubs.h View 2 chunks +0 lines, -13 lines 0 comments Download
M src/code-stubs.cc View 2 chunks +0 lines, -16 lines 0 comments Download
D src/compiler/change-lowering.h View 1 chunk +0 lines, -52 lines 0 comments Download
D src/compiler/change-lowering.cc View 1 chunk +0 lines, -186 lines 0 comments Download
M src/compiler/js-create-lowering.h View 1 chunk +0 lines, -1 line 0 comments Download
M src/compiler/js-create-lowering.cc View 2 chunks +14 lines, -19 lines 0 comments Download
M src/compiler/js-generic-lowering.cc View 1 chunk +2 lines, -2 lines 0 comments Download
M src/compiler/js-native-context-specialization.cc View 1 chunk +12 lines, -10 lines 0 comments Download
M src/compiler/linkage.h View 1 chunk +3 lines, -1 line 0 comments Download
A src/compiler/memory-optimizer.h View 1 1 chunk +149 lines, -0 lines 0 comments Download
A src/compiler/memory-optimizer.cc View 1 1 chunk +494 lines, -0 lines 0 comments Download
M src/compiler/pipeline.cc View 6 chunks +15 lines, -3 lines 0 comments Download
M src/heap/spaces.cc View 2 chunks +3 lines, -2 lines 0 comments Download
M src/ia32/builtins-ia32.cc View 2 chunks +0 lines, -10 lines 0 comments Download
M src/interface-descriptors.h View 2 chunks +0 lines, -7 lines 0 comments Download
M src/interface-descriptors.cc View 1 chunk +0 lines, -6 lines 0 comments Download
M src/mips/builtins-mips.cc View 2 chunks +0 lines, -10 lines 0 comments Download
M src/mips64/builtins-mips64.cc View 2 chunks +0 lines, -10 lines 0 comments Download
M src/ppc/builtins-ppc.cc View 2 chunks +0 lines, -10 lines 0 comments Download
M src/s390/builtins-s390.cc View 2 chunks +0 lines, -10 lines 0 comments Download
M src/v8.gyp View 2 chunks +2 lines, -2 lines 0 comments Download
M src/x64/builtins-x64.cc View 2 chunks +0 lines, -10 lines 0 comments Download
M src/x87/builtins-x87.cc View 2 chunks +0 lines, -10 lines 0 comments Download
M test/cctest/compiler/test-simplified-lowering.cc View 3 chunks +5 lines, -12 lines 0 comments Download
D test/unittests/compiler/change-lowering-unittest.cc View 1 chunk +0 lines, -276 lines 0 comments Download
M test/unittests/unittests.gyp View 1 chunk +0 lines, -1 line 0 comments Download

Messages

Total messages: 15 (5 generated)
Benedikt Meurer
4 years, 7 months ago (2016-05-10 06:58:06 UTC) #1
Benedikt Meurer
Hey Hannes, Jaro, The very first version. Please take a look. Thanks, Benedikt
4 years, 7 months ago (2016-05-10 06:59:00 UTC) #2
Hannes Payer (out of office)
Awesome, LGTM! Just nits. https://codereview.chromium.org/1963583004/diff/1/src/compiler/memory-optimizer.cc File src/compiler/memory-optimizer.cc (right): https://codereview.chromium.org/1963583004/diff/1/src/compiler/memory-optimizer.cc#newcode128 src/compiler/memory-optimizer.cc:128: int32_t const state_size = state->size() ...
4 years, 7 months ago (2016-05-10 07:49:33 UTC) #4
Benedikt Meurer
https://codereview.chromium.org/1963583004/diff/1/src/compiler/memory-optimizer.cc File src/compiler/memory-optimizer.cc (right): https://codereview.chromium.org/1963583004/diff/1/src/compiler/memory-optimizer.cc#newcode128 src/compiler/memory-optimizer.cc:128: int32_t const state_size = state->size() + object_size; Cannot do ...
4 years, 7 months ago (2016-05-10 08:01:45 UTC) #5
Jarin
Very nice! lgtm. One thing I am not too wild about is the AllocationState constructors, ...
4 years, 7 months ago (2016-05-10 09:24:49 UTC) #6
Benedikt Meurer
On 2016/05/10 09:24:49, Jarin wrote: > Very nice! lgtm. > > One thing I am ...
4 years, 7 months ago (2016-05-10 09:33:06 UTC) #7
Benedikt Meurer
https://codereview.chromium.org/1963583004/diff/1/src/compiler/memory-optimizer.h File src/compiler/memory-optimizer.h (right): https://codereview.chromium.org/1963583004/diff/1/src/compiler/memory-optimizer.h#newcode36 src/compiler/memory-optimizer.h:36: void Optimize(); Followed the pattern of ControlFlowOptimizer here. Let's ...
4 years, 7 months ago (2016-05-10 09:34:04 UTC) #8
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1963583004/20001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1963583004/20001
4 years, 7 months ago (2016-05-10 09:34:22 UTC) #11
commit-bot: I haz the power
Committed patchset #2 (id:20001)
4 years, 7 months ago (2016-05-10 10:11:17 UTC) #13
commit-bot: I haz the power
4 years, 7 months ago (2016-05-10 10:12:34 UTC) #15
Message was sent while issue was closed.
Patchset 2 (id:??) landed as
https://crrev.com/b8229ec446b80fd3ff9a08362fe1cef36e9d8346
Cr-Commit-Position: refs/heads/master@{#36128}

Powered by Google App Engine
This is Rietveld 408576698