| Index: src/compiler.h
|
| diff --git a/src/compiler.h b/src/compiler.h
|
| index 3bf4db5780a31d041782b3f0aaf30d046ee5151b..f7ff09c57d74e7678c4873e347d5baa17b77ba7d 100644
|
| --- a/src/compiler.h
|
| +++ b/src/compiler.h
|
| @@ -175,10 +175,8 @@ class CompilationInfo {
|
| ASSERT(function_ == NULL);
|
| function_ = literal;
|
| }
|
| - void SetScope(Scope* scope) {
|
| - ASSERT(scope_ == NULL);
|
| - scope_ = scope;
|
| - }
|
| + // When the scope is applied, we may have deferred work to do on the function.
|
| + void PrepareForCompilation(Scope* scope);
|
| void SetGlobalScope(Scope* global_scope) {
|
| ASSERT(global_scope_ == NULL);
|
| global_scope_ = global_scope;
|
| @@ -229,6 +227,7 @@ class CompilationInfo {
|
| SetMode(OPTIMIZE);
|
| osr_ast_id_ = osr_ast_id;
|
| unoptimized_code_ = unoptimized;
|
| + optimization_id_ = isolate()->NextOptimizationId();
|
| }
|
| void DisableOptimization();
|
|
|
| @@ -317,6 +316,8 @@ class CompilationInfo {
|
| return osr_ast_id_ == osr_ast_id && function.is_identical_to(closure_);
|
| }
|
|
|
| + int optimization_id() const { return optimization_id_; }
|
| +
|
| protected:
|
| CompilationInfo(Handle<Script> script,
|
| Zone* zone);
|
| @@ -452,6 +453,8 @@ class CompilationInfo {
|
|
|
| Handle<Foreign> object_wrapper_;
|
|
|
| + int optimization_id_;
|
| +
|
| DISALLOW_COPY_AND_ASSIGN(CompilationInfo);
|
| };
|
|
|
|
|