Reviewers: Yang,

Description:
Version 3.28.71.2 (merged r23115)

Revert 23058 - "Allow externalizing cons and sliced string."

TBR=yang...@chromium.org

Please review this at https://codereview.chromium.org/473823002/

SVN Base: https://v8.googlecode.com/svn/trunk

Affected files (+6, -1 lines):
  M src/api.cc
  M src/version.cc


Index: src/api.cc
diff --git a/src/api.cc b/src/api.cc
index 538071af1924a2dd24b627a6bcfb813a9bcfc2fc..abe50f69bca84e446d061f0e79daac199250c7f9 100644
--- a/src/api.cc
+++ b/src/api.cc
@@ -5545,6 +5545,11 @@ bool v8::String::CanMakeExternal() {
   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;
Index: src/version.cc
diff --git a/src/version.cc b/src/version.cc
index 1334a769403ea628f1f38291a614cef1acd61b0e..2ff79776afaa22992a6e4d619a87da1448fcf0da 100644
--- a/src/version.cc
+++ b/src/version.cc
@@ -35,7 +35,7 @@
 #define MAJOR_VERSION     3
 #define MINOR_VERSION     28
 #define BUILD_NUMBER      71
-#define PATCH_LEVEL       1
+#define PATCH_LEVEL       2
 // 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
v8-dev@googlegroups.com
http://groups.google.com/group/v8-dev
--- You received this message because you are subscribed to the Google Groups "v8-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to v8-dev+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to