diff options
Diffstat (limited to 'chrome/app/main_dll_loader_win.cc')
-rw-r--r-- | chrome/app/main_dll_loader_win.cc | 24 |
1 files changed, 10 insertions, 14 deletions
diff --git a/chrome/app/main_dll_loader_win.cc b/chrome/app/main_dll_loader_win.cc index a70a678..f28d301 100644 --- a/chrome/app/main_dll_loader_win.cc +++ b/chrome/app/main_dll_loader_win.cc @@ -64,35 +64,31 @@ HMODULE LoadModuleWithDirectory(const base::FilePath& module) { ::SetCurrentDirectoryW(module.DirName().value().c_str()); // Get pre-read options from the PreRead field trial. - bool trial_no_pre_read = false; - bool trial_high_priority = false; - bool trial_only_if_cold = false; - bool trial_prefetch_virtual_memory = false; - startup_metric_utils::GetPreReadOptions( - BrowserDistribution::GetDistribution()->GetRegistryPath(), - &trial_no_pre_read, &trial_high_priority, &trial_only_if_cold, - &trial_prefetch_virtual_memory); + startup_metric_utils::InitializePreReadOptions( + BrowserDistribution::GetDistribution()->GetRegistryPath()); + const startup_metric_utils::PreReadOptions pre_read_options = + startup_metric_utils::GetPreReadOptions(); // Pre-read the binary to warm the memory caches (avoids a lot of random IO). - if (!trial_no_pre_read) { + if (!pre_read_options.no_pre_read) { base::ThreadPriority previous_priority = base::ThreadPriority::NORMAL; - if (trial_high_priority) { + if (pre_read_options.high_priority) { previous_priority = base::PlatformThread::GetCurrentThreadPriority(); base::PlatformThread::SetCurrentThreadPriority( base::ThreadPriority::DISPLAY); } - if (trial_only_if_cold) { + if (pre_read_options.only_if_cold) { base::MemoryMappedFile module_memory_map; const bool map_initialize_success = module_memory_map.Initialize(module); DCHECK(map_initialize_success); if (!IsMemoryMappedFileWarm(module_memory_map)) { - if (trial_prefetch_virtual_memory) + if (pre_read_options.prefetch_virtual_memory) PreReadMemoryMappedFile(module_memory_map, module); else PreReadFile(module); } - } else if (trial_prefetch_virtual_memory) { + } else if (pre_read_options.prefetch_virtual_memory) { base::MemoryMappedFile module_memory_map; const bool map_initialize_success = module_memory_map.Initialize(module); DCHECK(map_initialize_success); @@ -101,7 +97,7 @@ HMODULE LoadModuleWithDirectory(const base::FilePath& module) { PreReadFile(module); } - if (trial_high_priority) + if (pre_read_options.high_priority) base::PlatformThread::SetCurrentThreadPriority(previous_priority); } |