Index: src/compiler-dispatcher/compiler-dispatcher-job.h |
diff --git a/src/compiler-dispatcher/compiler-dispatcher-job.h b/src/compiler-dispatcher/compiler-dispatcher-job.h |
index 50414af63948f6af96b6d9f74a8fcfb1b858b988..4d8713d02390a4b46ba8aa7f7d41a33518c2b025 100644 |
--- a/src/compiler-dispatcher/compiler-dispatcher-job.h |
+++ b/src/compiler-dispatcher/compiler-dispatcher-job.h |
@@ -15,6 +15,7 @@ namespace v8 { |
namespace internal { |
class CompilationInfo; |
+class CompilationJob; |
class Isolate; |
class JSFunction; |
class ParseInfo; |
@@ -28,7 +29,9 @@ enum class CompileJobStatus { |
kInitial, |
kReadyToParse, |
kParsed, |
+ kReadyToAnalyse, |
kReadyToCompile, |
+ kCompiled, |
kFailed, |
kDone, |
}; |
@@ -50,10 +53,21 @@ class CompilerDispatcherJob { |
// Transition from kReadyToParse to kParsed. |
void Parse(); |
- // Transition from kParsed to kReadyToCompile (or kFailed). Returns false |
+ // Transition from kParsed to kReadyToAnalyse (or kFailed). Returns false |
// when transitioning to kFailed. In that case, an exception is pending. |
bool FinalizeParsingOnMainThread(); |
+ // Transition from kReadyToAnalyse to kReadyToCompile (or kFailed). Returns |
+ // false when transitioning to kFailed. In that case, an exception is pending. |
+ bool PrepareToCompileOnMainThread(); |
+ |
+ // Transition from kReadyToCompile to kCompiled. |
+ void Compile(); |
+ |
+ // Transition from kCompiled to kDone (or kFailed). Returns false when |
+ // transitioning to kFailed. In that case, an exception is pending. |
+ bool FinalizeCompilingOnMainThread(); |
+ |
// Transition from any state to kInitial and free all resources. |
void ResetOnMainThread(); |
@@ -74,6 +88,11 @@ class CompilerDispatcherJob { |
std::unique_ptr<Parser> parser_; |
std::unique_ptr<DeferredHandles> handles_from_parsing_; |
+ // Members required for compiling. |
+ std::unique_ptr<CompilationInfo> compile_info_; |
+ std::unique_ptr<CompilationJob> compile_job_; |
+ std::unique_ptr<DeferredHandles> handles_from_analysing_; |
+ |
bool can_parse_on_background_thread_; |
DISALLOW_COPY_AND_ASSIGN(CompilerDispatcherJob); |