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/bailout-reason.h" | 10 #include "src/bailout-reason.h" |
(...skipping 373 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
384 | 384 |
385 int optimization_id() const { return optimization_id_; } | 385 int optimization_id() const { return optimization_id_; } |
386 | 386 |
387 AstValueFactory* ast_value_factory() const { return ast_value_factory_; } | 387 AstValueFactory* ast_value_factory() const { return ast_value_factory_; } |
388 void SetAstValueFactory(AstValueFactory* ast_value_factory, | 388 void SetAstValueFactory(AstValueFactory* ast_value_factory, |
389 bool owned = true) { | 389 bool owned = true) { |
390 ast_value_factory_ = ast_value_factory; | 390 ast_value_factory_ = ast_value_factory; |
391 ast_value_factory_owned_ = owned; | 391 ast_value_factory_owned_ = owned; |
392 } | 392 } |
393 | 393 |
394 AstNode::IdGen* ast_node_id_gen() { return &ast_node_id_gen_; } | |
395 | |
396 protected: | 394 protected: |
397 CompilationInfo(Handle<Script> script, | 395 CompilationInfo(Handle<Script> script, |
398 Zone* zone); | 396 Zone* zone); |
399 CompilationInfo(Handle<SharedFunctionInfo> shared_info, | 397 CompilationInfo(Handle<SharedFunctionInfo> shared_info, |
400 Zone* zone); | 398 Zone* zone); |
401 CompilationInfo(HydrogenCodeStub* stub, | 399 CompilationInfo(HydrogenCodeStub* stub, |
402 Isolate* isolate, | 400 Isolate* isolate, |
403 Zone* zone); | 401 Zone* zone); |
404 CompilationInfo(ScriptCompiler::ExternalSourceStream* source_stream, | 402 CompilationInfo(ScriptCompiler::ExternalSourceStream* source_stream, |
405 ScriptCompiler::StreamedSource::Encoding encoding, | 403 ScriptCompiler::StreamedSource::Encoding encoding, |
(...skipping 99 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
505 | 503 |
506 // Number of parameters used for compilation of stubs that require arguments. | 504 // Number of parameters used for compilation of stubs that require arguments. |
507 int parameter_count_; | 505 int parameter_count_; |
508 | 506 |
509 Handle<Foreign> object_wrapper_; | 507 Handle<Foreign> object_wrapper_; |
510 | 508 |
511 int optimization_id_; | 509 int optimization_id_; |
512 | 510 |
513 AstValueFactory* ast_value_factory_; | 511 AstValueFactory* ast_value_factory_; |
514 bool ast_value_factory_owned_; | 512 bool ast_value_factory_owned_; |
515 AstNode::IdGen ast_node_id_gen_; | |
516 | 513 |
517 // This flag is used by the main thread to track whether this compilation | 514 // This flag is used by the main thread to track whether this compilation |
518 // should be abandoned due to dependency change. | 515 // should be abandoned due to dependency change. |
519 bool aborted_due_to_dependency_change_; | 516 bool aborted_due_to_dependency_change_; |
520 | 517 |
521 DISALLOW_COPY_AND_ASSIGN(CompilationInfo); | 518 DISALLOW_COPY_AND_ASSIGN(CompilationInfo); |
522 }; | 519 }; |
523 | 520 |
524 | 521 |
525 // Exactly like a CompilationInfo, except also creates and enters a | 522 // Exactly like a CompilationInfo, except also creates and enters a |
(...skipping 222 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
748 Zone zone_; | 745 Zone zone_; |
749 unsigned info_zone_start_allocation_size_; | 746 unsigned info_zone_start_allocation_size_; |
750 base::ElapsedTimer timer_; | 747 base::ElapsedTimer timer_; |
751 | 748 |
752 DISALLOW_COPY_AND_ASSIGN(CompilationPhase); | 749 DISALLOW_COPY_AND_ASSIGN(CompilationPhase); |
753 }; | 750 }; |
754 | 751 |
755 } } // namespace v8::internal | 752 } } // namespace v8::internal |
756 | 753 |
757 #endif // V8_COMPILER_H_ | 754 #endif // V8_COMPILER_H_ |
OLD | NEW |