diff options
author | Allan Sandfeld Jensen <allan.jensen@qt.io> | 2019-08-30 10:22:43 +0200 |
---|---|---|
committer | Allan Sandfeld Jensen <allan.jensen@qt.io> | 2019-08-30 12:36:28 +0000 |
commit | 271a6c3487a14599023a9106329505597638d793 (patch) | |
tree | e040d58ffc86c1480b79ca8528020ca9ec919bf8 /chromium/gin | |
parent | 7b2ffa587235a47d4094787d72f38102089f402a (diff) | |
download | qtwebengine-chromium-271a6c3487a14599023a9106329505597638d793.tar.gz |
BASELINE: Update Chromium to 77.0.3865.59
Change-Id: I1e89a5f3b009a9519a6705102ad65c92fe736f21
Reviewed-by: Michael BrĂ¼ning <michael.bruning@qt.io>
Diffstat (limited to 'chromium/gin')
-rw-r--r-- | chromium/gin/BUILD.gn | 1 | ||||
-rw-r--r-- | chromium/gin/gin_features.cc | 14 | ||||
-rw-r--r-- | chromium/gin/gin_features.h | 3 | ||||
-rw-r--r-- | chromium/gin/v8_initializer.cc | 21 |
4 files changed, 37 insertions, 2 deletions
diff --git a/chromium/gin/BUILD.gn b/chromium/gin/BUILD.gn index c0b70402974..e6ff98edda3 100644 --- a/chromium/gin/BUILD.gn +++ b/chromium/gin/BUILD.gn @@ -2,7 +2,6 @@ # Use of this source code is governed by a BSD-style license that can be # found in the LICENSE file. -import("//build/buildflag_header.gni") import("//build/config/allocator.gni") import("//testing/test.gni") import("//tools/v8_context_snapshot/v8_context_snapshot.gni") diff --git a/chromium/gin/gin_features.cc b/chromium/gin/gin_features.cc index 3e6f1cc2fe2..18fbecbb0e5 100644 --- a/chromium/gin/gin_features.cc +++ b/chromium/gin/gin_features.cc @@ -14,12 +14,24 @@ const base::Feature kV8OptimizeJavascript{"V8OptimizeJavascript", const base::Feature kV8FlushBytecode{"V8FlushBytecode", base::FEATURE_ENABLED_BY_DEFAULT}; +// Enables lazy feedback allocation in V8. +const base::Feature kV8LazyFeedbackAllocation{"V8LazyFeedbackAllocation", + base::FEATURE_ENABLED_BY_DEFAULT}; + // Enables memory reducer for small heaps in V8. const base::Feature kV8MemoryReducerForSmallHeaps{ "V8MemoryReducerForSmallHeaps", base::FEATURE_ENABLED_BY_DEFAULT}; // Increase V8 heap size to 4GB if the physical memory is bigger than 16 GB. const base::Feature kV8HugeMaxOldGenerationSize{ - "V8HugeMaxOldGenerationSize", base::FEATURE_DISABLED_BY_DEFAULT}; + "V8HugeMaxOldGenerationSize", base::FEATURE_ENABLED_BY_DEFAULT}; + +// Enables new background GC scheduling heuristics. +const base::Feature kV8GCBackgroundSchedule{"V8GCBackgroundSchedule", + base::FEATURE_DISABLED_BY_DEFAULT}; + +// Perform less compaction in non-memory reducing mode. +const base::Feature kV8GCLessCompaction{"V8GCLessCompaction", + base::FEATURE_DISABLED_BY_DEFAULT}; } // namespace features diff --git a/chromium/gin/gin_features.h b/chromium/gin/gin_features.h index f5f18b3ab25..2d5652f7008 100644 --- a/chromium/gin/gin_features.h +++ b/chromium/gin/gin_features.h @@ -12,8 +12,11 @@ namespace features { GIN_EXPORT extern const base::Feature kV8OptimizeJavascript; GIN_EXPORT extern const base::Feature kV8FlushBytecode; +GIN_EXPORT extern const base::Feature kV8LazyFeedbackAllocation; GIN_EXPORT extern const base::Feature kV8MemoryReducerForSmallHeaps; GIN_EXPORT extern const base::Feature kV8HugeMaxOldGenerationSize; +GIN_EXPORT extern const base::Feature kV8GCBackgroundSchedule; +GIN_EXPORT extern const base::Feature kV8GCLessCompaction; } // namespace features diff --git a/chromium/gin/v8_initializer.cc b/chromium/gin/v8_initializer.cc index 770f3cb5299..aab46a000c5 100644 --- a/chromium/gin/v8_initializer.cc +++ b/chromium/gin/v8_initializer.cc @@ -225,6 +225,13 @@ void V8Initializer::Initialize(IsolateHolder::ScriptMode mode) { sizeof(no_flush_bytecode) - 1); } + if (!base::FeatureList::IsEnabled(features::kV8LazyFeedbackAllocation)) { + static const char no_lazy_feedback_allocation[] = + "--no-lazy-feedback-allocation"; + v8::V8::SetFlagsFromString(no_lazy_feedback_allocation, + sizeof(no_lazy_feedback_allocation) - 1); + } + if (!base::FeatureList::IsEnabled(features::kV8MemoryReducerForSmallHeaps)) { static const char no_memory_reducer[] = "--no-memory-reducer-for-small-heaps"; @@ -239,6 +246,20 @@ void V8Initializer::Initialize(IsolateHolder::ScriptMode mode) { sizeof(huge_max_old_generation_size) - 1); } + if (base::FeatureList::IsEnabled(features::kV8GCBackgroundSchedule)) { + static const char gc_experiment_background_schedule[] = + "--gc_experiment_background_schedule"; + v8::V8::SetFlagsFromString(gc_experiment_background_schedule, + sizeof(gc_experiment_background_schedule) - 1); + } + + if (base::FeatureList::IsEnabled(features::kV8GCLessCompaction)) { + static const char gc_experiment_less_compaction[] = + "--gc_experiment_less_compaction"; + v8::V8::SetFlagsFromString(gc_experiment_less_compaction, + sizeof(gc_experiment_less_compaction) - 1); + } + if (IsolateHolder::kStrictMode == mode) { static const char use_strict[] = "--use_strict"; v8::V8::SetFlagsFromString(use_strict, sizeof(use_strict) - 1); |