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

Issue 2808473003: Reduce VC++ padding in IncrementalMarking class (Closed)

Created:
3 years, 8 months ago by brucedawson
Modified:
3 years, 8 months ago
CC:
v8-reviews_googlegroups.com, Hannes Payer (out of office), ulan, zturner
Target Ref:
refs/heads/master
Project:
v8
Visibility:
Public.

Description

Reduce VC++ padding in IncrementalMarking class IncrementalMarking has nine bytes of padding in 32-bit and 64-bit builds. Fixing 32-bit builds just requires moving the one-byte incremental_marking_job_ member. Fixing 64-bit requires moving the four-byte state_ member. This change reduces the padding to one byte. On 64-bit this reduces its size from 152 to 144. This also fits heap granularity better. On 32-bit it goes from 96 to 88 bytes. The initial padding was found with llvm-pdbdump.exe. The fix was verified by compiling v8/src/assembler.cc with the undocumented /d1reportSingleClassLayout option, like this: /d1reportSingleClassLayoutIncrementalMarking The savings should apply on all platforms, or at worst should make no difference except for improving alignment. Thanks to zturner@ for some llvm-pdbdump improvements. BUG=chromium:710933 Review-Url: https://codereview.chromium.org/2808473003 Cr-Commit-Position: refs/heads/master@{#44698} Committed: https://chromium.googlesource.com/v8/v8/+/f4a57545e8b89fb2bbf23d6724d2654f368601eb

Patch Set 1 #

Patch Set 2 : Reorder initialization #

Unified diffs Side-by-side diffs Delta from patch set Stats (+4 lines, -4 lines) Patch
M src/heap/incremental-marking.h View 3 chunks +3 lines, -3 lines 0 comments Download
M src/heap/incremental-marking.cc View 1 1 chunk +1 line, -1 line 0 comments Download

Messages

Total messages: 25 (15 generated)
brucedawson
I don't know if this object is allocated enough to matter. On 64-bit this reduces ...
3 years, 8 months ago (2017-04-07 21:28:09 UTC) #2
bradnelson
lgtm Any concerns hpayer?
3 years, 8 months ago (2017-04-12 16:47:30 UTC) #4
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/2808473003/1
3 years, 8 months ago (2017-04-14 00:18:40 UTC) #7
commit-bot: I haz the power
Try jobs failed on following builders: v8_presubmit on master.tryserver.v8 (JOB_FAILED, http://build.chromium.org/p/tryserver.v8/builders/v8_presubmit/builds/39198)
3 years, 8 months ago (2017-04-14 00:21:54 UTC) #9
brucedawson
hpayer@ - PTAL?
3 years, 8 months ago (2017-04-14 00:29:25 UTC) #12
brucedawson
Okay, it passes the try bots now. Previously the compiler was warning that the constructor ...
3 years, 8 months ago (2017-04-17 22:26:13 UTC) #17
Hannes Payer (out of office)
LGTM, sorry, was OOO. It will not make a difference for V8 overall since these ...
3 years, 8 months ago (2017-04-18 16:10:19 UTC) #18
brucedawson
On 2017/04/18 16:10:19, Hannes Payer wrote: > LGTM, sorry, was OOO. > > It will ...
3 years, 8 months ago (2017-04-18 18:10:19 UTC) #19
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/2808473003/20001
3 years, 8 months ago (2017-04-18 18:10:35 UTC) #22
commit-bot: I haz the power
3 years, 8 months ago (2017-04-18 18:13:37 UTC) #25
Message was sent while issue was closed.
Committed patchset #2 (id:20001) as
https://chromium.googlesource.com/v8/v8/+/f4a57545e8b89fb2bbf23d6724d2654f368...

Powered by Google App Engine
This is Rietveld 408576698