| OLD | NEW | 
|   1 // Copyright 2014 the V8 project authors. All rights reserved. |   1 // Copyright 2014 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 #ifndef V8_BACKGROUND_PARSING_TASK_H_ |   5 #ifndef V8_BACKGROUND_PARSING_TASK_H_ | 
|   6 #define V8_BACKGROUND_PARSING_TASK_H_ |   6 #define V8_BACKGROUND_PARSING_TASK_H_ | 
|   7  |   7  | 
|   8 #include <memory> |   8 #include <memory> | 
|   9  |   9  | 
|  10 #include "src/base/platform/platform.h" |  10 #include "src/base/platform/platform.h" | 
|  11 #include "src/base/platform/semaphore.h" |  11 #include "src/base/platform/semaphore.h" | 
|  12 #include "src/compiler.h" |  12 #include "src/compiler.h" | 
|  13 #include "src/parsing/parse-info.h" |  13 #include "src/parsing/parse-info.h" | 
|  14 #include "src/parsing/parser.h" |  14 #include "src/parsing/parser.h" | 
|  15  |  15  | 
|  16 namespace v8 { |  16 namespace v8 { | 
|  17 namespace internal { |  17 namespace internal { | 
|  18  |  18  | 
|  19 class ScriptData; |  19 class ScriptData; | 
|  20  |  20  | 
|  21 // Internal representation of v8::ScriptCompiler::StreamedSource. Contains all |  21 // Internal representation of v8::ScriptCompiler::StreamedSource. Contains all | 
|  22 // data which needs to be transmitted between threads for background parsing, |  22 // data which needs to be transmitted between threads for background parsing, | 
|  23 // finalizing it on the main thread, and compiling on the main thread. |  23 // finalizing it on the main thread, and compiling on the main thread. | 
|  24 struct StreamedSource { |  24 struct StreamedSource { | 
|  25   StreamedSource(ScriptCompiler::ExternalSourceStream* source_stream, |  25   StreamedSource(ScriptCompiler::ExternalSourceStream* source_stream, | 
|  26                  ScriptCompiler::StreamedSource::Encoding encoding) |  26                  ScriptCompiler::StreamedSource::Encoding encoding) | 
|  27       : source_stream(source_stream), encoding(encoding) {} |  27       : source_stream(source_stream), encoding(encoding) {} | 
|  28  |  28  | 
 |  29   void Release() { | 
 |  30     parser.reset(); | 
 |  31     info.reset(); | 
 |  32     zone.reset(); | 
 |  33   } | 
 |  34  | 
|  29   // Internal implementation of v8::ScriptCompiler::StreamedSource. |  35   // Internal implementation of v8::ScriptCompiler::StreamedSource. | 
|  30   std::unique_ptr<ScriptCompiler::ExternalSourceStream> source_stream; |  36   std::unique_ptr<ScriptCompiler::ExternalSourceStream> source_stream; | 
|  31   ScriptCompiler::StreamedSource::Encoding encoding; |  37   ScriptCompiler::StreamedSource::Encoding encoding; | 
|  32   std::unique_ptr<ScriptCompiler::CachedData> cached_data; |  38   std::unique_ptr<ScriptCompiler::CachedData> cached_data; | 
|  33  |  39  | 
|  34   // Data needed for parsing, and data needed to to be passed between thread |  40   // Data needed for parsing, and data needed to to be passed between thread | 
|  35   // between parsing and compilation. These need to be initialized before the |  41   // between parsing and compilation. These need to be initialized before the | 
|  36   // compilation starts. |  42   // compilation starts. | 
|  37   UnicodeCache unicode_cache; |  43   UnicodeCache unicode_cache; | 
|  38   std::unique_ptr<Zone> zone; |  44   std::unique_ptr<Zone> zone; | 
| (...skipping 16 matching lines...) Expand all  Loading... | 
|  55  |  61  | 
|  56  private: |  62  private: | 
|  57   StreamedSource* source_;  // Not owned. |  63   StreamedSource* source_;  // Not owned. | 
|  58   int stack_size_; |  64   int stack_size_; | 
|  59   ScriptData* script_data_; |  65   ScriptData* script_data_; | 
|  60 }; |  66 }; | 
|  61 }  // namespace internal |  67 }  // namespace internal | 
|  62 }  // namespace v8 |  68 }  // namespace v8 | 
|  63  |  69  | 
|  64 #endif  // V8_BACKGROUND_PARSING_TASK_H_ |  70 #endif  // V8_BACKGROUND_PARSING_TASK_H_ | 
| OLD | NEW |