Index: src/libplatform/default-platform.h |
diff --git a/src/default-platform.h b/src/libplatform/default-platform.h |
similarity index 78% |
rename from src/default-platform.h |
rename to src/libplatform/default-platform.h |
index fe1bf8e2d64e57349309fdab70c973af2fb99eb9..72e8869992ffb7f40ce7a206aab9e6712daf3334 100644 |
--- a/src/default-platform.h |
+++ b/src/libplatform/default-platform.h |
@@ -25,19 +25,31 @@ |
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE |
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. |
-#ifndef V8_DEFAULT_PLATFORM_H_ |
-#define V8_DEFAULT_PLATFORM_H_ |
+#ifndef V8_LIBPLATFORM_DEFAULT_PLATFORM_H_ |
+#define V8_LIBPLATFORM_DEFAULT_PLATFORM_H_ |
-#include "v8.h" |
+#include <vector> |
+ |
+#include "../../include/v8-platform.h" |
+// TODO(jochen): We should have our own version of globals.h. |
+#include "../globals.h" |
+#include "../platform/mutex.h" |
+#include "task-queue.h" |
namespace v8 { |
namespace internal { |
+class TaskQueue; |
+class Thread; |
+class WorkerThread; |
+ |
class DefaultPlatform : public Platform { |
public: |
DefaultPlatform(); |
virtual ~DefaultPlatform(); |
+ void SetThreadPoolSize(int thread_pool_size); |
+ |
// v8::Platform implementation. |
virtual void CallOnBackgroundThread( |
Task *task, ExpectedRuntime expected_runtime) V8_OVERRIDE; |
@@ -45,6 +57,13 @@ class DefaultPlatform : public Platform { |
Task *task) V8_OVERRIDE; |
private: |
+ static const int kMaxThreadPoolSize = 4; |
+ |
+ Mutex lock_; |
+ bool initialized_; |
+ std::vector<WorkerThread*> thread_pool_; |
+ TaskQueue queue_; |
+ |
DISALLOW_COPY_AND_ASSIGN(DefaultPlatform); |
}; |
@@ -52,4 +71,4 @@ class DefaultPlatform : public Platform { |
} } // namespace v8::internal |
-#endif // V8_DEFAULT_PLATFORM_H_ |
+#endif // V8_LIBPLATFORM_DEFAULT_PLATFORM_H_ |