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 43978b8276d86e0782f8003afba8a5e4897963c7..17471db66a719a945533929cc4074d6c669831fa 100644 |
--- a/src/compiler-dispatcher/compiler-dispatcher-job.h |
+++ b/src/compiler-dispatcher/compiler-dispatcher-job.h |
@@ -15,9 +15,11 @@ |
namespace v8 { |
namespace internal { |
+class AstValueFactory; |
class CompilerDispatcherTracer; |
class CompilationInfo; |
class CompilationJob; |
+class FunctionLiteral; |
class Isolate; |
class ParseInfo; |
class Parser; |
@@ -31,7 +33,8 @@ enum class CompileJobStatus { |
kInitial, |
kReadyToParse, |
kParsed, |
- kReadyToAnalyse, |
+ kReadyToAnalyze, |
+ kAnalyzed, |
kReadyToCompile, |
kCompiled, |
kFailed, |
@@ -40,9 +43,16 @@ enum class CompileJobStatus { |
class V8_EXPORT_PRIVATE CompilerDispatcherJob { |
public: |
+ // Creates a CompilerDispatcherJob in the initial state. |
CompilerDispatcherJob(Isolate* isolate, CompilerDispatcherTracer* tracer, |
Handle<SharedFunctionInfo> shared, |
size_t max_stack_size); |
+ // Creates a CompilerDispatcherJob in the analyzed state. |
+ CompilerDispatcherJob(Isolate* isolate, CompilerDispatcherTracer* tracer, |
+ Handle<SharedFunctionInfo> shared, |
+ FunctionLiteral* literal, |
+ AstValueFactory* ast_value_factory, |
+ size_t max_stack_size); |
~CompilerDispatcherJob(); |
CompileJobStatus status() const { return status_; } |
@@ -65,11 +75,15 @@ class V8_EXPORT_PRIVATE CompilerDispatcherJob { |
// Transition from kReadyToParse to kParsed. |
void Parse(); |
- // Transition from kParsed to kReadyToAnalyse (or kFailed). Returns false |
+ // Transition from kParsed to kReadyToAnalyze (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 |
+ // Transition from kReadyToAnalyze to kAnalyzed (or kFailed). Returns |
+ // false when transitioning to kFailed. In that case, an exception is pending. |
+ bool AnalyzeOnMainThread(); |
+ |
+ // Transition from kAnalyzed to kReadyToCompile (or kFailed). Returns |
// false when transitioning to kFailed. In that case, an exception is pending. |
bool PrepareToCompileOnMainThread(); |
@@ -93,7 +107,7 @@ class V8_EXPORT_PRIVATE CompilerDispatcherJob { |
private: |
FRIEND_TEST(CompilerDispatcherJobTest, ScopeChain); |
- CompileJobStatus status_ = CompileJobStatus::kInitial; |
+ CompileJobStatus status_; |
Isolate* isolate_; |
CompilerDispatcherTracer* tracer_; |
Handle<SharedFunctionInfo> shared_; // Global handle. |