Commit 916bc13e authored by Ulan Degenbaev's avatar Ulan Degenbaev Committed by Commit Bot

Add a feature flag for flushing the icache for the embedded blob

The V8FlushEmbeddedBlobICache flag will be used in Finch experiment.

Bug: chromium:889460
Change-Id: Iedec7b32e7272fd4df4d741b786c8a1391d89beb
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2267158Reviewed-by: default avatarRoss McIlroy <rmcilroy@chromium.org>
Commit-Queue: Ulan Degenbaev <ulan@chromium.org>
Cr-Commit-Position: refs/heads/master@{#785739}
parent e7e2296b
...@@ -29,4 +29,8 @@ const base::Feature kV8ConcurrentInlining{"V8ConcurrentInlining", ...@@ -29,4 +29,8 @@ const base::Feature kV8ConcurrentInlining{"V8ConcurrentInlining",
// Enable per-context marking worklists in V8 GC. // Enable per-context marking worklists in V8 GC.
const base::Feature kV8PerContextMarkingWorklist{ const base::Feature kV8PerContextMarkingWorklist{
"V8PerContextMarkingWorklist", base::FEATURE_DISABLED_BY_DEFAULT}; "V8PerContextMarkingWorklist", base::FEATURE_DISABLED_BY_DEFAULT};
// Enable flushing of the instruction cache for the embedded blob.
const base::Feature kV8FlushEmbeddedBlobICache{
"kV8FlushEmbeddedBlobICache", base::FEATURE_DISABLED_BY_DEFAULT};
} // namespace features } // namespace features
...@@ -16,6 +16,7 @@ GIN_EXPORT extern const base::Feature kV8OffThreadFinalization; ...@@ -16,6 +16,7 @@ GIN_EXPORT extern const base::Feature kV8OffThreadFinalization;
GIN_EXPORT extern const base::Feature kV8LazyFeedbackAllocation; GIN_EXPORT extern const base::Feature kV8LazyFeedbackAllocation;
GIN_EXPORT extern const base::Feature kV8ConcurrentInlining; GIN_EXPORT extern const base::Feature kV8ConcurrentInlining;
GIN_EXPORT extern const base::Feature kV8PerContextMarkingWorklist; GIN_EXPORT extern const base::Feature kV8PerContextMarkingWorklist;
GIN_EXPORT extern const base::Feature kV8FlushEmbeddedBlobICache;
} // namespace features } // namespace features
......
...@@ -240,6 +240,14 @@ void V8Initializer::Initialize(IsolateHolder::ScriptMode mode) { ...@@ -240,6 +240,14 @@ void V8Initializer::Initialize(IsolateHolder::ScriptMode mode) {
sizeof(stress_per_context_marking_worklist) - 1); sizeof(stress_per_context_marking_worklist) - 1);
} }
if (base::FeatureList::IsEnabled(features::kV8FlushEmbeddedBlobICache)) {
static const char experimental_flush_embedded_blob_icache[] =
"--experimental-flush-embedded-blob-icache";
v8::V8::SetFlagsFromString(
experimental_flush_embedded_blob_icache,
sizeof(experimental_flush_embedded_blob_icache) - 1);
}
if (IsolateHolder::kStrictMode == mode) { if (IsolateHolder::kStrictMode == mode) {
static const char use_strict[] = "--use_strict"; static const char use_strict[] = "--use_strict";
v8::V8::SetFlagsFromString(use_strict, sizeof(use_strict) - 1); v8::V8::SetFlagsFromString(use_strict, sizeof(use_strict) - 1);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment