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