Merge V8 5.2.361.47 DO NOT MERGE
https://chromium.googlesource.com/v8/v8/+/5.2.361.47
FPIIM-449
Change-Id: Ibec421b85a9b88cb3a432ada642e469fe7e78346
(cherry picked from commit bcf72ee8e3b26f1d0726869c7ddb3921c68b09a8)
diff --git a/test/fuzzer/fuzzer-support.cc b/test/fuzzer/fuzzer-support.cc
index cf3ee8c..5df0bd8 100644
--- a/test/fuzzer/fuzzer-support.cc
+++ b/test/fuzzer/fuzzer-support.cc
@@ -10,6 +10,8 @@
#include "include/libplatform/libplatform.h"
+#include "src/flags.h"
+
namespace v8_fuzzer {
namespace {
@@ -36,6 +38,7 @@
};
FuzzerSupport::FuzzerSupport(int* argc, char*** argv) {
+ v8::internal::FLAG_expose_gc = true;
v8::V8::SetFlagsFromCommandLine(argc, *argv, true);
v8::V8::InitializeICU();
v8::V8::InitializeExternalStartupData((*argv)[0]);
@@ -65,6 +68,7 @@
context_.Reset();
}
+ isolate_->LowMemoryNotification();
isolate_->Dispose();
isolate_ = nullptr;
diff --git a/test/fuzzer/fuzzer.gyp b/test/fuzzer/fuzzer.gyp
index 6e15a90..b125ec2 100644
--- a/test/fuzzer/fuzzer.gyp
+++ b/test/fuzzer/fuzzer.gyp
@@ -6,7 +6,7 @@
'variables': {
'v8_code': 1,
},
- 'includes': ['../../build/toolchain.gypi', '../../build/features.gypi'],
+ 'includes': ['../../gypfiles/toolchain.gypi', '../../gypfiles/features.gypi'],
'targets': [
{
'target_name': 'json_fuzzer',
@@ -142,7 +142,7 @@
'target_name': 'fuzzer_support',
'type': 'static_library',
'dependencies': [
- '../../tools/gyp/v8.gyp:v8_libplatform',
+ '../../src/v8.gyp:v8_libplatform',
],
'include_dirs': [
'../..',
@@ -155,9 +155,9 @@
['component=="shared_library"', {
# fuzzers can't be built against a shared library, so we need to
# depend on the underlying static target in that case.
- 'dependencies': ['../../tools/gyp/v8.gyp:v8_maybe_snapshot'],
+ 'dependencies': ['../../src/v8.gyp:v8_maybe_snapshot'],
}, {
- 'dependencies': ['../../tools/gyp/v8.gyp:v8'],
+ 'dependencies': ['../../src/v8.gyp:v8'],
}],
],
},
@@ -174,7 +174,7 @@
'regexp_fuzzer',
],
'includes': [
- '../../build/isolate.gypi',
+ '../../gypfiles/isolate.gypi',
],
'sources': [
'fuzzer.isolate',
diff --git a/test/fuzzer/json.cc b/test/fuzzer/json.cc
index f20e9b9..121939b 100644
--- a/test/fuzzer/json.cc
+++ b/test/fuzzer/json.cc
@@ -26,6 +26,8 @@
return 0;
}
- v8::JSON::Parse(isolate, source).IsEmpty();
+ v8::JSON::Parse(support->GetContext(), source).IsEmpty();
+ isolate->RequestGarbageCollectionForTesting(
+ v8::Isolate::kFullGarbageCollection);
return 0;
}
diff --git a/test/fuzzer/parser.cc b/test/fuzzer/parser.cc
index be70b43..4035ade 100644
--- a/test/fuzzer/parser.cc
+++ b/test/fuzzer/parser.cc
@@ -38,5 +38,7 @@
info.set_global();
v8::internal::Parser parser(&info);
parser.Parse(&info);
+ isolate->RequestGarbageCollectionForTesting(
+ v8::Isolate::kFullGarbageCollection);
return 0;
}
diff --git a/test/fuzzer/regexp.cc b/test/fuzzer/regexp.cc
index eb51da8..64c03ae 100644
--- a/test/fuzzer/regexp.cc
+++ b/test/fuzzer/regexp.cc
@@ -71,5 +71,7 @@
Test(isolate, regexp, source, results_array);
}
+ isolate->RequestGarbageCollectionForTesting(
+ v8::Isolate::kFullGarbageCollection);
return 0;
}