Reviewers: Yang,
Description:
Merged r12308 into 3.12 branch.
Do checks when receiving external string resources through the API.
BUG=140050
[email protected]
Please review this at https://chromiumcodereview.appspot.com/10928085/
SVN Base: https://v8.googlecode.com/svn/branches/3.12
Affected files:
M src/api.cc
M src/version.cc
Index: src/api.cc
diff --git a/src/api.cc b/src/api.cc
index
7b56fc41c2923647606bfeaf6aed7ad2e9f61cab..99dbf4dd5de8c0ddbfaee4db008cbf89e1b003c8
100644
--- a/src/api.cc
+++ b/src/api.cc
@@ -4789,6 +4789,7 @@ Local<String> v8::String::NewExternal(
EnsureInitializedForIsolate(isolate, "v8::String::NewExternal()");
LOG_API(isolate, "String::NewExternal");
ENTER_V8(isolate);
+ CHECK(resource && resource->data());
i::Handle<i::String> result = NewExternalStringHandle(isolate, resource);
isolate->heap()->external_string_table()->AddString(*result);
return Utils::ToLocal(result);
@@ -4809,6 +4810,7 @@ bool
v8::String::MakeExternal(v8::String::ExternalStringResource* resource) {
if (isolate->heap()->IsInGCPostProcessing()) {
return false;
}
+ CHECK(resource && resource->data());
bool result = obj->MakeExternal(resource);
if (result && !obj->IsSymbol()) {
isolate->heap()->external_string_table()->AddString(*obj);
@@ -4823,6 +4825,7 @@ Local<String> v8::String::NewExternal(
EnsureInitializedForIsolate(isolate, "v8::String::NewExternal()");
LOG_API(isolate, "String::NewExternal");
ENTER_V8(isolate);
+ CHECK(resource && resource->data());
i::Handle<i::String> result = NewExternalAsciiStringHandle(isolate,
resource);
isolate->heap()->external_string_table()->AddString(*result);
return Utils::ToLocal(result);
@@ -4844,6 +4847,7 @@ bool v8::String::MakeExternal(
if (isolate->heap()->IsInGCPostProcessing()) {
return false;
}
+ CHECK(resource && resource->data());
bool result = obj->MakeExternal(resource);
if (result && !obj->IsSymbol()) {
isolate->heap()->external_string_table()->AddString(*obj);
Index: src/version.cc
diff --git a/src/version.cc b/src/version.cc
index
0e3bb354ef3ce76ea787743770d38f903fd5d621..67eb19d8e045833ae94d49741165d80b130e60df
100644
--- a/src/version.cc
+++ b/src/version.cc
@@ -35,7 +35,7 @@
#define MAJOR_VERSION 3
#define MINOR_VERSION 12
#define BUILD_NUMBER 19
-#define PATCH_LEVEL 7
+#define PATCH_LEVEL 8
// Use 1 for candidates and 0 otherwise.
// (Boolean macro values are not supported by all preprocessors.)
#define IS_CANDIDATE_VERSION 0
--
v8-dev mailing list
[email protected]
http://groups.google.com/group/v8-dev