| Index: src/isolate.cc
|
| diff --git a/src/isolate.cc b/src/isolate.cc
|
| index 5feb48eeff19f00c404e55603d357a9722a4b8fa..2f2ffec96bd21418989a976eb74c1b9c4638637f 100644
|
| --- a/src/isolate.cc
|
| +++ b/src/isolate.cc
|
| @@ -42,6 +42,7 @@
|
| #include "lithium-allocator.h"
|
| #include "log.h"
|
| #include "messages.h"
|
| +#include "parser-thread.h"
|
| #include "platform.h"
|
| #include "regexp-stack.h"
|
| #include "runtime-profiler.h"
|
| @@ -1487,6 +1488,7 @@ Isolate::Isolate()
|
| function_entry_hook_(NULL),
|
| deferred_handles_head_(NULL),
|
| optimizing_compiler_thread_(NULL),
|
| + fast_parser_thread_(NULL),
|
| sweeper_thread_(NULL),
|
| num_sweeper_threads_(0),
|
| stress_deopt_count_(0),
|
| @@ -1579,6 +1581,12 @@ void Isolate::Deinit() {
|
| optimizing_compiler_thread_ = NULL;
|
| }
|
|
|
| + if (fast_parser_thread_) {
|
| + fast_parser_thread_->Stop();
|
| + delete fast_parser_thread_;
|
| + fast_parser_thread_ = NULL;
|
| + }
|
| +
|
| for (int i = 0; i < num_sweeper_threads_; i++) {
|
| sweeper_thread_[i]->Stop();
|
| delete sweeper_thread_[i];
|
| @@ -1950,6 +1958,11 @@ bool Isolate::Init(Deserializer* des) {
|
| }
|
| }
|
|
|
| + if (FLAG_parallel_parse) {
|
| + fast_parser_thread_ = new FastParserThread();
|
| + fast_parser_thread_->Start();
|
| + }
|
| +
|
| #ifdef ENABLE_DEBUGGER_SUPPORT
|
| debug_->SetUp(create_heap_objects);
|
| #endif
|
|
|