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

Issue 467037: External string table. (Closed)

Created:
11 years ago by Vitaly Repeshko
Modified:
9 years, 7 months ago
CC:
v8-dev
Visibility:
Public.

Description

External string table. Instead of weak handles external strings use a separate table. This table uses 5 times less memory than weak handles. Moreover, since we don't have to follow the weak handle callback protocol we can collect the strings faster and even on scavenge collections.

Patch Set 1 #

Total comments: 2
Unified diffs Side-by-side diffs Delta from patch set Stats (+286 lines, -184 lines) Patch
M include/v8.h View 4 chunks +16 lines, -10 lines 0 comments Download
M src/api.cc View 4 chunks +4 lines, -90 lines 0 comments Download
M src/global-handles.cc View 2 chunks +6 lines, -1 line 0 comments Download
M src/globals.h View 1 chunk +1 line, -1 line 0 comments Download
M src/heap.h View 4 chunks +45 lines, -1 line 0 comments Download
M src/heap.cc View 10 chunks +109 lines, -20 lines 2 comments Download
M src/heap-inl.h View 2 chunks +63 lines, -0 lines 0 comments Download
M src/mark-compact.cc View 5 chunks +8 lines, -59 lines 0 comments Download
M src/v8-counters.h View 1 chunk +0 lines, -2 lines 0 comments Download
M test/cctest/test-api.cc View 1 chunk +34 lines, -0 lines 0 comments Download

Messages

Total messages: 3 (0 generated)
Vitaly Repeshko
11 years ago (2009-12-07 17:26:44 UTC) #1
Mads Ager (chromium)
LGTM! http://codereview.chromium.org/467037/diff/1/7 File src/heap.cc (right): http://codereview.chromium.org/467037/diff/1/7#newcode4060 src/heap.cc:4060: List<Object*>& target = new_to_old ? old_space_strings_ : new_space_strings_; ...
11 years ago (2009-12-08 16:18:40 UTC) #2
Vitaly Repeshko
11 years ago (2009-12-09 14:33:23 UTC) #3
Thanks! Submitted.


-- Vitaly

http://codereview.chromium.org/467037/diff/1/7
File src/heap.cc (right):

http://codereview.chromium.org/467037/diff/1/7#newcode4060
src/heap.cc:4060: List<Object*>& target = new_to_old ? old_space_strings_ :
new_space_strings_;
On 2009/12/08 16:18:40, Mads Ager wrote:
> Use old_space_strings_ as the target always?  It should be completely clear
that
> this can only ever move from the new space list to the old space list.
> 
> It might be clearer to remove the bool parameter and just iterate
> new_space_strings first and then iterate old_space_strings?  It is a bit more
> code, but I think it would be clearer and it would remove checking for new
space
> for old_space_strings.

Makes sense. Done.

Powered by Google App Engine
This is Rietveld 408576698