Chromium Code Reviews| OLD | NEW |
|---|---|
| 1 // Copyright 2013 The Chromium Authors. All rights reserved. | 1 // Copyright 2013 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #include "gin/public/isolate_holder.h" | 5 #include "gin/public/isolate_holder.h" |
| 6 | 6 |
| 7 #include <stdlib.h> | 7 #include <stdlib.h> |
| 8 #include <string.h> | 8 #include <string.h> |
| 9 | 9 |
| 10 #include "base/files/memory_mapped_file.h" | 10 #include "base/files/memory_mapped_file.h" |
| (...skipping 176 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 187 base::MemoryMappedFile::Region snapshot_region = | 187 base::MemoryMappedFile::Region snapshot_region = |
| 188 base::MemoryMappedFile::Region::kWholeFile; | 188 base::MemoryMappedFile::Region::kWholeFile; |
| 189 if (natives_size != 0 || natives_offset != 0) { | 189 if (natives_size != 0 || natives_offset != 0) { |
| 190 snapshot_region = | 190 snapshot_region = |
| 191 base::MemoryMappedFile::Region(snapshot_offset, snapshot_size); | 191 base::MemoryMappedFile::Region(snapshot_offset, snapshot_size); |
| 192 } | 192 } |
| 193 | 193 |
| 194 return MapV8Files( | 194 return MapV8Files( |
| 195 NULL, NULL, natives_fd, snapshot_fd, natives_region, snapshot_region); | 195 NULL, NULL, natives_fd, snapshot_fd, natives_region, snapshot_region); |
| 196 } | 196 } |
| 197 | |
| 198 // static | |
| 199 bool IsolateHolder::MapV8FilesForChildProcesses(int* natives_fd_out, | |
|
James Cook
2015/03/18 23:20:06
This function always returns true. Does it need a
rmcilroy
2015/03/19 14:41:39
Yes, this is probably better. Also changed the if'
| |
| 200 int* snapshot_fd_out) { | |
| 201 base::FilePath data_path; | |
| 202 PathService::Get(kV8SnapshotBasePathKey, &data_path); | |
| 203 DCHECK(!data_path.empty()); | |
| 204 | |
| 205 int file_flags = base::File::FLAG_OPEN | base::File::FLAG_READ; | |
| 206 base::FilePath natives_data_path = data_path.AppendASCII(kNativesFileName); | |
| 207 base::FilePath snapshot_data_path = data_path.AppendASCII(kSnapshotFileName); | |
| 208 base::File natives_data_file(natives_data_path, file_flags); | |
| 209 base::File snapshot_data_file(snapshot_data_path, file_flags); | |
| 210 DCHECK(natives_data_file.IsValid()); | |
| 211 DCHECK(snapshot_data_file.IsValid()); | |
| 212 *natives_fd_out = natives_data_file.TakePlatformFile(); | |
| 213 *snapshot_fd_out = snapshot_data_file.TakePlatformFile(); | |
| 214 return true; | |
| 215 } | |
| 197 #endif // V8_USE_EXTERNAL_STARTUP_DATA | 216 #endif // V8_USE_EXTERNAL_STARTUP_DATA |
| 198 | 217 |
| 199 //static | 218 //static |
| 200 void IsolateHolder::GetV8ExternalSnapshotData(const char** natives_data_out, | 219 void IsolateHolder::GetV8ExternalSnapshotData(const char** natives_data_out, |
| 201 int* natives_size_out, | 220 int* natives_size_out, |
| 202 const char** snapshot_data_out, | 221 const char** snapshot_data_out, |
| 203 int* snapshot_size_out) { | 222 int* snapshot_size_out) { |
| 204 if (!g_mapped_natives || !g_mapped_snapshot) { | 223 if (!g_mapped_natives || !g_mapped_snapshot) { |
| 205 *natives_data_out = *snapshot_data_out = NULL; | 224 *natives_data_out = *snapshot_data_out = NULL; |
| 206 *natives_size_out = *snapshot_size_out = 0; | 225 *natives_size_out = *snapshot_size_out = 0; |
| (...skipping 84 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 291 base::MessageLoop::current()->AddTaskObserver(task_observer_.get()); | 310 base::MessageLoop::current()->AddTaskObserver(task_observer_.get()); |
| 292 } | 311 } |
| 293 | 312 |
| 294 void IsolateHolder::RemoveRunMicrotasksObserver() { | 313 void IsolateHolder::RemoveRunMicrotasksObserver() { |
| 295 DCHECK(task_observer_.get()); | 314 DCHECK(task_observer_.get()); |
| 296 base::MessageLoop::current()->RemoveTaskObserver(task_observer_.get()); | 315 base::MessageLoop::current()->RemoveTaskObserver(task_observer_.get()); |
| 297 task_observer_.reset(); | 316 task_observer_.reset(); |
| 298 } | 317 } |
| 299 | 318 |
| 300 } // namespace gin | 319 } // namespace gin |
| OLD | NEW |