Merge v8 from https://chromium.googlesource.com/external/v8.git at f284b29e37d97d7ee9128055862179dcbda7e398
This commit was generated by merge_from_chromium.py.
Change-Id: I3d3e90de40e5c871ac96ce46463670495ae0d5cc
diff --git a/src/api.cc b/src/api.cc
index 538071a..abe50f6 100644
--- a/src/api.cc
+++ b/src/api.cc
@@ -5545,6 +5545,11 @@
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;
diff --git a/src/version.cc b/src/version.cc
index 1334a76..2ff7977 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