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

Issue 146183006: Allow externalizing strings in old pointer space. (Closed)

Created:
6 years, 10 months ago by Yang
Modified:
6 years, 10 months ago
Reviewers:
dcarney
CC:
v8-dev
Visibility:
Public.

Description

Allow externalizing strings in old pointer space. This is what I think is a better solution to the "external strings in old pointer space" problem. Basically, it is an issue because GC scans all fields of objects in old pointer space and if the cached address of the backing store is unaligned, it looks like a heap object, boom. The solution here is to use short external strings when we externalize a string in old pointer space, and when the address is unaligned. Short external strings don't cache the address, so GC has no issues. BUG=268686 LOG=Y R=dcarney@chromium.org Committed: https://code.google.com/p/v8/source/detail?r=19093

Patch Set 1 #

Patch Set 2 : add assertion that resource is aligned #

Patch Set 3 : Also fix two-byte String::MakeExternal #

Unified diffs Side-by-side diffs Delta from patch set Stats (+101 lines, -73 lines) Patch
M src/api.cc View 3 chunks +6 lines, -47 lines 0 comments Download
M src/heap-inl.h View 2 chunks +9 lines, -5 lines 0 comments Download
M src/objects.cc View 1 2 2 chunks +41 lines, -21 lines 0 comments Download
M src/objects-inl.h View 1 1 chunk +1 line, -0 lines 0 comments Download
M test/cctest/test-api.cc View 1 chunk +44 lines, -0 lines 0 comments Download

Messages

Total messages: 3 (0 generated)
Yang
6 years, 10 months ago (2014-02-05 09:01:39 UTC) #1
dcarney
lgtm
6 years, 10 months ago (2014-02-05 09:11:49 UTC) #2
Yang
6 years, 10 months ago (2014-02-05 09:29:11 UTC) #3
Message was sent while issue was closed.
Committed patchset #3 manually as r19093 (presubmit successful).

Powered by Google App Engine
This is Rietveld 408576698