OLD | NEW |
1 // Copyright 2012 the V8 project authors. All rights reserved. | 1 // Copyright 2012 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_COMPILER_H_ | 5 #ifndef V8_COMPILER_H_ |
6 #define V8_COMPILER_H_ | 6 #define V8_COMPILER_H_ |
7 | 7 |
8 #include "src/allocation.h" | 8 #include "src/allocation.h" |
9 #include "src/ast.h" | 9 #include "src/ast.h" |
10 #include "src/zone.h" | 10 #include "src/zone.h" |
(...skipping 208 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
219 | 219 |
220 void SetFunction(FunctionLiteral* literal) { | 220 void SetFunction(FunctionLiteral* literal) { |
221 DCHECK(function_ == NULL); | 221 DCHECK(function_ == NULL); |
222 function_ = literal; | 222 function_ = literal; |
223 } | 223 } |
224 void PrepareForCompilation(Scope* scope); | 224 void PrepareForCompilation(Scope* scope); |
225 void SetGlobalScope(Scope* global_scope) { | 225 void SetGlobalScope(Scope* global_scope) { |
226 DCHECK(global_scope_ == NULL); | 226 DCHECK(global_scope_ == NULL); |
227 global_scope_ = global_scope; | 227 global_scope_ = global_scope; |
228 } | 228 } |
229 Handle<FixedArray> feedback_vector() const { | 229 Handle<TypeFeedbackVector> feedback_vector() const { |
230 return feedback_vector_; | 230 return feedback_vector_; |
231 } | 231 } |
232 void SetCode(Handle<Code> code) { code_ = code; } | 232 void SetCode(Handle<Code> code) { code_ = code; } |
233 void SetExtension(v8::Extension* extension) { | 233 void SetExtension(v8::Extension* extension) { |
234 DCHECK(!is_lazy()); | 234 DCHECK(!is_lazy()); |
235 extension_ = extension; | 235 extension_ = extension; |
236 } | 236 } |
237 void SetCachedData(ScriptData** cached_data, | 237 void SetCachedData(ScriptData** cached_data, |
238 ScriptCompiler::CompileOptions compile_options) { | 238 ScriptCompiler::CompileOptions compile_options) { |
239 compile_options_ = compile_options; | 239 compile_options_ = compile_options; |
(...skipping 204 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
444 // Fields possibly needed for eager compilation, NULL by default. | 444 // Fields possibly needed for eager compilation, NULL by default. |
445 v8::Extension* extension_; | 445 v8::Extension* extension_; |
446 ScriptData** cached_data_; | 446 ScriptData** cached_data_; |
447 ScriptCompiler::CompileOptions compile_options_; | 447 ScriptCompiler::CompileOptions compile_options_; |
448 | 448 |
449 // The context of the caller for eval code, and the global context for a | 449 // The context of the caller for eval code, and the global context for a |
450 // global script. Will be a null handle otherwise. | 450 // global script. Will be a null handle otherwise. |
451 Handle<Context> context_; | 451 Handle<Context> context_; |
452 | 452 |
453 // Used by codegen, ultimately kept rooted by the SharedFunctionInfo. | 453 // Used by codegen, ultimately kept rooted by the SharedFunctionInfo. |
454 Handle<FixedArray> feedback_vector_; | 454 Handle<TypeFeedbackVector> feedback_vector_; |
455 | 455 |
456 // Compilation mode flag and whether deoptimization is allowed. | 456 // Compilation mode flag and whether deoptimization is allowed. |
457 Mode mode_; | 457 Mode mode_; |
458 BailoutId osr_ast_id_; | 458 BailoutId osr_ast_id_; |
459 // The unoptimized code we patched for OSR may not be the shared code | 459 // The unoptimized code we patched for OSR may not be the shared code |
460 // afterwards, since we may need to compile it again to include deoptimization | 460 // afterwards, since we may need to compile it again to include deoptimization |
461 // data. Keep track which code we patched. | 461 // data. Keep track which code we patched. |
462 Handle<Code> unoptimized_code_; | 462 Handle<Code> unoptimized_code_; |
463 | 463 |
464 // Flag whether compilation needs to be aborted due to dependency change. | 464 // Flag whether compilation needs to be aborted due to dependency change. |
(...skipping 272 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
737 Zone zone_; | 737 Zone zone_; |
738 unsigned info_zone_start_allocation_size_; | 738 unsigned info_zone_start_allocation_size_; |
739 base::ElapsedTimer timer_; | 739 base::ElapsedTimer timer_; |
740 | 740 |
741 DISALLOW_COPY_AND_ASSIGN(CompilationPhase); | 741 DISALLOW_COPY_AND_ASSIGN(CompilationPhase); |
742 }; | 742 }; |
743 | 743 |
744 } } // namespace v8::internal | 744 } } // namespace v8::internal |
745 | 745 |
746 #endif // V8_COMPILER_H_ | 746 #endif // V8_COMPILER_H_ |
OLD | NEW |