Index: chrome/app/main_dll_loader_win.cc |
diff --git a/chrome/app/main_dll_loader_win.cc b/chrome/app/main_dll_loader_win.cc |
index a70a6787d1504d0f2ce48b52ae09ce9325ac2f9b..5c47926161aa5b9e302e06a9a941172d1ff614c1 100644 |
--- a/chrome/app/main_dll_loader_win.cc |
+++ b/chrome/app/main_dll_loader_win.cc |
@@ -64,35 +64,30 @@ 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); |
+ int pre_read_options = startup_metric_utils::GetPreReadOptions( |
+ BrowserDistribution::GetDistribution()->GetRegistryPath()); |
// Pre-read the binary to warm the memory caches (avoids a lot of random IO). |
- if (!trial_no_pre_read) { |
+ if (!(pre_read_options & startup_metric_utils::NO_PRE_READ)) { |
base::ThreadPriority previous_priority = base::ThreadPriority::NORMAL; |
- if (trial_high_priority) { |
+ if (pre_read_options & startup_metric_utils::HIGH_PRIORITY) { |
previous_priority = base::PlatformThread::GetCurrentThreadPriority(); |
base::PlatformThread::SetCurrentThreadPriority( |
base::ThreadPriority::DISPLAY); |
} |
- if (trial_only_if_cold) { |
+ if (pre_read_options & startup_metric_utils::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 & startup_metric_utils::PREFETCH_VIRTUAL_MEMORY) |
PreReadMemoryMappedFile(module_memory_map, module); |
else |
PreReadFile(module); |
} |
- } else if (trial_prefetch_virtual_memory) { |
+ } else if (pre_read_options & |
+ startup_metric_utils::PREFETCH_VIRTUAL_MEMORY) { |
base::MemoryMappedFile module_memory_map; |
const bool map_initialize_success = module_memory_map.Initialize(module); |
DCHECK(map_initialize_success); |
@@ -101,7 +96,7 @@ HMODULE LoadModuleWithDirectory(const base::FilePath& module) { |
PreReadFile(module); |
} |
- if (trial_high_priority) |
+ if (pre_read_options & startup_metric_utils::HIGH_PRIORITY) |
base::PlatformThread::SetCurrentThreadPriority(previous_priority); |
} |