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 1731883003: Encode interpreter::SourcePositionTable as variable-length ints. (Closed)

Created:
4 years, 10 months ago by vogelheim
Modified:
4 years, 10 months ago
CC:
Hannes Payer (out of office), oth, rmcilroy, ulan, 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

Encode interpreter::SourcePositionTable as variable-length ints. This reduces the memory consumption of SourcePositionTable by ca. 2/3. Over Octane, this reduces the source position table memory consumption from ~370kB to ~115kB, which makes it ca. 10% of the total bytecode size (~1.1MB) ---------------- Reland CL in order to relive the glory days, and also fix memory leak w/ ENABLE_SLOW_CHECKS. SourcePositionTableBuilder used to have a no destructor since everything was zone allocated. But if ENABLE_SLOW_CHECKS, it has a heap allocated member and thus needs a proper constructor. ASAN thankfully notices this, and V8 no longer builds since this is called during mksnapshot. Breakge example: http://build.chromium.org/p/client.v8/builders/V8%20Linux64%20ASAN%20arm64%20-%20debug%20builder/builds/4829 R=jochen@chromium.org, yangguo@chromium.org, rmcilroy@chromium.org BUG=v8:4690 LOG=y Committed: https://crrev.com/a6f41f7b8226555c5900440f6e3092b3545ee0f6 Cr-Commit-Position: refs/heads/master@{#34250} patch from issue 1704943002 at patchset 200001 (http://crrev.com/1704943002#ps200001) Committed: https://crrev.com/cc40fcec6f2dad5c4197e66ca94342b5ad2917d7 Cr-Commit-Position: refs/heads/master@{#34256}

Patch Set 1 : Previous CL unmodified, for reference. #

Patch Set 2 : Fix memory leak by adding destructor. #

Total comments: 1

Patch Set 3 : Really fix leak. SourcePositionTableBuilder is member of a zone-allocated object. #

Unified diffs Side-by-side diffs Delta from patch set Stats (+284 lines, -95 lines) Patch
M src/debug/debug.cc View 1 chunk +3 lines, -2 lines 0 comments Download
M src/heap/heap.cc View 1 chunk +1 line, -1 line 0 comments Download
M src/interpreter/bytecode-array-builder.cc View 6 chunks +11 lines, -14 lines 0 comments Download
M src/interpreter/source-position-table.h View 1 2 1 chunk +39 lines, -26 lines 0 comments Download
M src/interpreter/source-position-table.cc View 2 chunks +150 lines, -46 lines 0 comments Download
M src/objects.h View 1 chunk +1 line, -1 line 0 comments Download
M src/objects.cc View 3 chunks +5 lines, -3 lines 0 comments Download
M src/objects-inl.h View 1 chunk +1 line, -2 lines 0 comments Download
A test/unittests/interpreter/source-position-table-unittest.cc View 1 chunk +72 lines, -0 lines 0 comments Download
M test/unittests/unittests.gyp View 1 chunk +1 line, -0 lines 0 comments Download

Messages

Total messages: 21 (7 generated)
vogelheim
PTAL.
4 years, 10 months ago (2016-02-24 13:53:54 UTC) #1
jochen (gone - plz use gerrit)
lgtm https://codereview.chromium.org/1731883003/diff/20001/src/interpreter/source-position-table.h File src/interpreter/source-position-table.h (right): https://codereview.chromium.org/1731883003/diff/20001/src/interpreter/source-position-table.h#newcode40 src/interpreter/source-position-table.h:40: ~SourcePositionTableBuilder() {} = default?
4 years, 10 months ago (2016-02-24 13:56:46 UTC) #3
vogelheim
On 2016/02/24 13:53:54, vogelheim wrote: > PTAL. Actually, please ignore for now. Something (else) appears ...
4 years, 10 months ago (2016-02-24 14:01:32 UTC) #4
yangguo
On 2016/02/24 13:56:46, jochen wrote: > lgtm > > https://codereview.chromium.org/1731883003/diff/20001/src/interpreter/source-position-table.h > File src/interpreter/source-position-table.h (right): > ...
4 years, 10 months ago (2016-02-24 14:02:17 UTC) #5
yangguo
On 2016/02/24 14:02:17, yangguo wrote: > On 2016/02/24 13:56:46, jochen wrote: > > lgtm > ...
4 years, 10 months ago (2016-02-24 14:03:16 UTC) #6
vogelheim
PTAL. Fixed as Yang suggested. I didn't realized SourcePositionTableBuilder is a member of a zone-allocated ...
4 years, 10 months ago (2016-02-24 14:22:04 UTC) #8
jochen (gone - plz use gerrit)
lgtm
4 years, 10 months ago (2016-02-24 14:28:55 UTC) #9
rmcilroy
lgtm
4 years, 10 months ago (2016-02-24 15:13:02 UTC) #10
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1731883003/60001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1731883003/60001
4 years, 10 months ago (2016-02-24 16:39:08 UTC) #12
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/11437)
4 years, 10 months ago (2016-02-24 16:42:43 UTC) #14
Yang
On 2016/02/24 16:42:43, commit-bot: I haz the power wrote: > Try jobs failed on following ...
4 years, 10 months ago (2016-02-24 17:09:12 UTC) #15
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1731883003/60001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1731883003/60001
4 years, 10 months ago (2016-02-24 17:10:47 UTC) #17
commit-bot: I haz the power
Committed patchset #3 (id:60001)
4 years, 10 months ago (2016-02-24 17:12:39 UTC) #19
commit-bot: I haz the power
4 years, 10 months ago (2016-02-24 17:14:00 UTC) #21
Message was sent while issue was closed.
Patchset 3 (id:??) landed as
https://crrev.com/cc40fcec6f2dad5c4197e66ca94342b5ad2917d7
Cr-Commit-Position: refs/heads/master@{#34256}

Powered by Google App Engine
This is Rietveld 408576698