Commit f4d6fcda authored by yangguo@chromium.org's avatar yangguo@chromium.org

Allow externalizing cons and sliced string.

Fulfill overdue TODO.

R=mstarzinger@chromium.org

Review URL: https://codereview.chromium.org/460643002

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23058 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
parent cd306760
...@@ -5545,11 +5545,6 @@ bool v8::String::CanMakeExternal() { ...@@ -5545,11 +5545,6 @@ bool v8::String::CanMakeExternal() {
i::Handle<i::String> obj = Utils::OpenHandle(this); i::Handle<i::String> obj = Utils::OpenHandle(this);
i::Isolate* isolate = obj->GetIsolate(); i::Isolate* isolate = obj->GetIsolate();
// TODO(yangguo): Externalizing sliced/cons strings allocates.
// This rule can be removed when all code that can
// trigger an access check is handlified and therefore GC safe.
if (isolate->heap()->old_pointer_space()->Contains(*obj)) return false;
if (isolate->string_tracker()->IsFreshUnusedString(obj)) return false; if (isolate->string_tracker()->IsFreshUnusedString(obj)) return false;
int size = obj->Size(); // Byte size of the original string. int size = obj->Size(); // Byte size of the original string.
if (size < i::ExternalString::kShortSize) return false; if (size < i::ExternalString::kShortSize) return false;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment