Index: src/isolate.cc |
diff --git a/src/isolate.cc b/src/isolate.cc |
index 215296d735cc5b8b9698cfc67d9dc0cfa3bd7208..35b494d2246bbbaa3bb7b56ff98a23556713f971 100644 |
--- a/src/isolate.cc |
+++ b/src/isolate.cc |
@@ -7,6 +7,7 @@ |
#include "src/v8.h" |
#include "src/ast.h" |
+#include "src/background-parser-thread.h" |
#include "src/base/platform/platform.h" |
#include "src/base/utils/random-number-generator.h" |
#include "src/bootstrapper.h" |
@@ -1470,6 +1471,7 @@ Isolate::Isolate() |
function_entry_hook_(NULL), |
deferred_handles_head_(NULL), |
optimizing_compiler_thread_(NULL), |
+ background_parser_thread_(NULL), |
sweeper_thread_(NULL), |
num_sweeper_threads_(0), |
stress_deopt_count_(0), |
@@ -1558,6 +1560,12 @@ void Isolate::Deinit() { |
optimizing_compiler_thread_ = NULL; |
} |
+ if (background_parser_thread_) { |
+ background_parser_thread_->Stop(); |
+ delete background_parser_thread_; |
+ background_parser_thread_ = NULL; |
+ } |
+ |
for (int i = 0; i < num_sweeper_threads_; i++) { |
sweeper_thread_[i]->Stop(); |
delete sweeper_thread_[i]; |
@@ -1918,6 +1926,9 @@ bool Isolate::Init(Deserializer* des) { |
} |
} |
+ background_parser_thread_ = new BackgroundParserThread(); |
+ background_parser_thread_->Start(); |
+ |
// If we are deserializing, read the state into the now-empty heap. |
if (!create_heap_objects) { |
des->Deserialize(this); |