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_FULL_CODEGEN_H_ | 5 #ifndef V8_FULL_CODEGEN_H_ |
6 #define V8_FULL_CODEGEN_H_ | 6 #define V8_FULL_CODEGEN_H_ |
7 | 7 |
8 #include "src/v8.h" | 8 #include "src/v8.h" |
9 | 9 |
10 #include "src/allocation.h" | 10 #include "src/allocation.h" |
(...skipping 649 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
660 void ExitFinallyBlock(); | 660 void ExitFinallyBlock(); |
661 | 661 |
662 // Loop nesting counter. | 662 // Loop nesting counter. |
663 int loop_depth() { return loop_depth_; } | 663 int loop_depth() { return loop_depth_; } |
664 void increment_loop_depth() { loop_depth_++; } | 664 void increment_loop_depth() { loop_depth_++; } |
665 void decrement_loop_depth() { | 665 void decrement_loop_depth() { |
666 DCHECK(loop_depth_ > 0); | 666 DCHECK(loop_depth_ > 0); |
667 loop_depth_--; | 667 loop_depth_--; |
668 } | 668 } |
669 | 669 |
670 MacroAssembler* masm() { return masm_; } | 670 MacroAssembler* masm() const { return masm_; } |
671 | 671 |
672 class ExpressionContext; | 672 class ExpressionContext; |
673 const ExpressionContext* context() { return context_; } | 673 const ExpressionContext* context() { return context_; } |
674 void set_new_context(const ExpressionContext* context) { context_ = context; } | 674 void set_new_context(const ExpressionContext* context) { context_ = context; } |
675 | 675 |
676 Handle<Script> script() { return info_->script(); } | 676 Handle<Script> script() { return info_->script(); } |
677 bool is_eval() { return info_->is_eval(); } | 677 bool is_eval() { return info_->is_eval(); } |
678 bool is_native() { return info_->is_native(); } | 678 bool is_native() { return info_->is_native(); } |
679 LanguageMode language_mode() { return function()->language_mode(); } | 679 LanguageMode language_mode() { return function()->language_mode(); } |
680 bool is_simple_parameter_list() { return info_->is_simple_parameter_list(); } | 680 bool is_simple_parameter_list() { return info_->is_simple_parameter_list(); } |
(...skipping 23 matching lines...) Expand all Loading... |
704 void VisitComma(BinaryOperation* expr); | 704 void VisitComma(BinaryOperation* expr); |
705 void VisitLogicalExpression(BinaryOperation* expr); | 705 void VisitLogicalExpression(BinaryOperation* expr); |
706 void VisitArithmeticExpression(BinaryOperation* expr); | 706 void VisitArithmeticExpression(BinaryOperation* expr); |
707 | 707 |
708 void VisitForTypeofValue(Expression* expr); | 708 void VisitForTypeofValue(Expression* expr); |
709 | 709 |
710 void Generate(); | 710 void Generate(); |
711 void PopulateDeoptimizationData(Handle<Code> code); | 711 void PopulateDeoptimizationData(Handle<Code> code); |
712 void PopulateTypeFeedbackInfo(Handle<Code> code); | 712 void PopulateTypeFeedbackInfo(Handle<Code> code); |
713 | 713 |
| 714 bool MustCreateObjectLiteralWithRuntime(ObjectLiteral* expr) const; |
| 715 bool MustCreateArrayLiteralWithRuntime(ArrayLiteral* expr) const; |
| 716 |
714 Handle<FixedArray> handler_table() { return handler_table_; } | 717 Handle<FixedArray> handler_table() { return handler_table_; } |
715 | 718 |
716 struct BailoutEntry { | 719 struct BailoutEntry { |
717 BailoutId id; | 720 BailoutId id; |
718 unsigned pc_and_state; | 721 unsigned pc_and_state; |
719 }; | 722 }; |
720 | 723 |
721 struct BackEdgeEntry { | 724 struct BackEdgeEntry { |
722 BailoutId id; | 725 BailoutId id; |
723 unsigned pc; | 726 unsigned pc; |
(...skipping 317 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1041 | 1044 |
1042 Address start_; | 1045 Address start_; |
1043 Address instruction_start_; | 1046 Address instruction_start_; |
1044 uint32_t length_; | 1047 uint32_t length_; |
1045 }; | 1048 }; |
1046 | 1049 |
1047 | 1050 |
1048 } } // namespace v8::internal | 1051 } } // namespace v8::internal |
1049 | 1052 |
1050 #endif // V8_FULL_CODEGEN_H_ | 1053 #endif // V8_FULL_CODEGEN_H_ |
OLD | NEW |