Reason for revert: broke inspector
| Fulfill overdue TODO.
|
| R=mstarzinger@chromium.org
|
| Review URL: https://codereview.chromium.org/
460643002
TBR=yangguo@chromium.org,mstarzinger@chromium.org
BUG=403521
LOG=n
Review URL: https://codereview.chromium.org/
470913002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23115
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
i::Handle<i::String> obj = Utils::OpenHandle(this);
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;
int size = obj->Size(); // Byte size of the original string.
if (size < i::ExternalString::kShortSize) return false;