OLD | NEW |
1 // Copyright 2013 the V8 project authors. All rights reserved. | 1 // Copyright 2013 the V8 project 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 "src/libplatform/default-platform.h" | 5 #include "src/libplatform/default-platform.h" |
6 | 6 |
7 #include <algorithm> | 7 #include <algorithm> |
8 #include <queue> | 8 #include <queue> |
9 | 9 |
10 #include "src/base/logging.h" | 10 #include "src/base/logging.h" |
11 #include "src/base/platform/platform.h" | 11 #include "src/base/platform/platform.h" |
12 #include "src/libplatform/worker-thread.h" | 12 #include "src/libplatform/worker-thread.h" |
13 | 13 |
14 namespace v8 { | 14 namespace v8 { |
15 namespace platform { | 15 namespace platform { |
16 | 16 |
17 | 17 |
| 18 v8::Platform* CreateDefaultPlatform(int thread_pool_size) { |
| 19 DefaultPlatform* platform = new DefaultPlatform(); |
| 20 platform->SetThreadPoolSize(thread_pool_size); |
| 21 platform->EnsureInitialized(); |
| 22 return platform; |
| 23 } |
| 24 |
| 25 |
18 const int DefaultPlatform::kMaxThreadPoolSize = 4; | 26 const int DefaultPlatform::kMaxThreadPoolSize = 4; |
19 | 27 |
20 | 28 |
21 DefaultPlatform::DefaultPlatform() | 29 DefaultPlatform::DefaultPlatform() |
22 : initialized_(false), thread_pool_size_(0) {} | 30 : initialized_(false), thread_pool_size_(0) {} |
23 | 31 |
24 | 32 |
25 DefaultPlatform::~DefaultPlatform() { | 33 DefaultPlatform::~DefaultPlatform() { |
26 base::LockGuard<base::Mutex> guard(&lock_); | 34 base::LockGuard<base::Mutex> guard(&lock_); |
27 queue_.Terminate(); | 35 queue_.Terminate(); |
(...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
60 } | 68 } |
61 | 69 |
62 | 70 |
63 void DefaultPlatform::CallOnForegroundThread(v8::Isolate* isolate, Task* task) { | 71 void DefaultPlatform::CallOnForegroundThread(v8::Isolate* isolate, Task* task) { |
64 // TODO(jochen): implement. | 72 // TODO(jochen): implement. |
65 task->Run(); | 73 task->Run(); |
66 delete task; | 74 delete task; |
67 } | 75 } |
68 | 76 |
69 } } // namespace v8::platform | 77 } } // namespace v8::platform |
OLD | NEW |