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

Issue 1490193002: Add ExternalStringResourceBase::IsCompressible (Closed)

Created:
5 years ago by hajimehoshi
Modified:
4 years, 11 months ago
Reviewers:
Yang
CC:
v8-reviews_googlegroups.com, Paweł Hajdan Jr., haraken
Base URL:
https://chromium.googlesource.com/v8/v8.git@master
Target Ref:
refs/pending/heads/master
Project:
v8
Visibility:
Public.

Description

Add Add ExternalStringResourceBase::IsCompressible This CL introduces ExternalStringResourceBase::IsCompressible. This CL is a preparation for CompressibleString, which can be compressed for memory reduction in Blink. We've found that JavaScript strings account for a relatively large part of Blink memory usage, and we are now trying to replace JavaScript String/ AtomicString with CompressibleString. When a string is compressed, the original char data is deleted and V8 pointer cache becomes invalid. This CL introduces isCompressible property and if an external string's isCompressble return true, this is stored short_external_*_map instead of external_*_map so that V8 always requires the char pointer whenever V8 needs the string data. BUG=chromium:574317 LOG=n Committed: https://crrev.com/150887a13c303665103aed8aa97c604c462e725c Cr-Commit-Position: refs/heads/master@{#33224}

Patch Set 1 #

Patch Set 2 : #

Patch Set 3 : #

Total comments: 6

Patch Set 4 : #

Patch Set 5 : Yang's review #

Total comments: 1
Unified diffs Side-by-side diffs Delta from patch set Stats (+20 lines, -3 lines) Patch
M include/v8.h View 1 2 3 1 chunk +2 lines, -0 lines 0 comments Download
M src/factory.cc View 1 2 3 2 chunks +16 lines, -3 lines 1 comment Download
M src/objects.cc View 1 2 3 4 2 chunks +2 lines, -0 lines 0 comments Download

Messages

Total messages: 27 (11 generated)
hajimehoshi
PTAL
5 years ago (2015-12-17 11:05:53 UTC) #3
Yang
looking good. some comments. https://codereview.chromium.org/1490193002/diff/40001/include/v8.h File include/v8.h (right): https://codereview.chromium.org/1490193002/diff/40001/include/v8.h#newcode2195 include/v8.h:2195: virtual bool isCompressible() const { ...
5 years ago (2015-12-17 11:41:53 UTC) #4
hajimehoshi
Thank you! https://codereview.chromium.org/1490193002/diff/40001/include/v8.h File include/v8.h (right): https://codereview.chromium.org/1490193002/diff/40001/include/v8.h#newcode2195 include/v8.h:2195: virtual bool isCompressible() const { return false; ...
4 years, 11 months ago (2016-01-05 08:07:44 UTC) #5
Yang
On 2016/01/05 08:07:44, hajimehoshi wrote: > Thank you! > > https://codereview.chromium.org/1490193002/diff/40001/include/v8.h > File include/v8.h (right): ...
4 years, 11 months ago (2016-01-05 08:16:43 UTC) #7
hajimehoshi
On 2016/01/05 08:16:43, Yang wrote: > On 2016/01/05 08:07:44, hajimehoshi wrote: > > Thank you! ...
4 years, 11 months ago (2016-01-05 08:50:07 UTC) #9
hajimehoshi
On 2016/01/05 08:50:07, hajimehoshi wrote: > On 2016/01/05 08:16:43, Yang wrote: > > On 2016/01/05 ...
4 years, 11 months ago (2016-01-06 10:47:10 UTC) #10
Yang
On 2016/01/06 10:47:10, hajimehoshi wrote: > On 2016/01/05 08:50:07, hajimehoshi wrote: > > On 2016/01/05 ...
4 years, 11 months ago (2016-01-06 11:02:37 UTC) #11
Yang
On 2016/01/06 11:02:37, Yang wrote: > On 2016/01/06 10:47:10, hajimehoshi wrote: > > On 2016/01/05 ...
4 years, 11 months ago (2016-01-07 05:46:20 UTC) #12
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1490193002/80001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1490193002/80001
4 years, 11 months ago (2016-01-07 05:51:01 UTC) #14
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/9504)
4 years, 11 months ago (2016-01-07 05:53:29 UTC) #16
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1490193002/80001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1490193002/80001
4 years, 11 months ago (2016-01-12 05:45:22 UTC) #20
commit-bot: I haz the power
Committed patchset #5 (id:80001)
4 years, 11 months ago (2016-01-12 06:28:13 UTC) #22
commit-bot: I haz the power
Patchset 5 (id:??) landed as https://crrev.com/150887a13c303665103aed8aa97c604c462e725c Cr-Commit-Position: refs/heads/master@{#33224}
4 years, 11 months ago (2016-01-12 06:29:08 UTC) #24
Yang
https://codereview.chromium.org/1490193002/diff/80001/src/factory.cc File src/factory.cc (right): https://codereview.chromium.org/1490193002/diff/80001/src/factory.cc#newcode704 src/factory.cc:704: // TODO(hajimehoshi): Rename these to 'uncached_external_string_...'. Please do not ...
4 years, 11 months ago (2016-01-25 08:31:09 UTC) #25
hajimehoshi
On 2016/01/25 08:31:09, Yang wrote: > https://codereview.chromium.org/1490193002/diff/80001/src/factory.cc > File src/factory.cc (right): > > https://codereview.chromium.org/1490193002/diff/80001/src/factory.cc#newcode704 > ...
4 years, 11 months ago (2016-01-25 10:10:19 UTC) #26
Yang
4 years, 11 months ago (2016-01-25 10:11:41 UTC) #27
Message was sent while issue was closed.
On 2016/01/25 10:10:19, hajimehoshi wrote:
> On 2016/01/25 08:31:09, Yang wrote:
> > https://codereview.chromium.org/1490193002/diff/80001/src/factory.cc
> > File src/factory.cc (right):
> > 
> >
>
https://codereview.chromium.org/1490193002/diff/80001/src/factory.cc#newcode704
> > src/factory.cc:704: // TODO(hajimehoshi): Rename these to
> > 'uncached_external_string_...'.
> > Please do not forget this TODO!
> 
> Thank you for reminding me :-)
> 
> I should rename not only variable names but also constants like
> kShortExternal..., shouldn't I?

Yes. And enum types like SHORT_EXTERNAL_STRING_TYPE.

Powered by Google App Engine
This is Rietveld 408576698