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 697 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
708 void ExitFinallyBlock(); | 708 void ExitFinallyBlock(); |
709 | 709 |
710 // Loop nesting counter. | 710 // Loop nesting counter. |
711 int loop_depth() { return loop_depth_; } | 711 int loop_depth() { return loop_depth_; } |
712 void increment_loop_depth() { loop_depth_++; } | 712 void increment_loop_depth() { loop_depth_++; } |
713 void decrement_loop_depth() { | 713 void decrement_loop_depth() { |
714 DCHECK(loop_depth_ > 0); | 714 DCHECK(loop_depth_ > 0); |
715 loop_depth_--; | 715 loop_depth_--; |
716 } | 716 } |
717 | 717 |
718 MacroAssembler* masm() { return masm_; } | 718 MacroAssembler* masm() const { return masm_; } |
719 | 719 |
720 class ExpressionContext; | 720 class ExpressionContext; |
721 const ExpressionContext* context() { return context_; } | 721 const ExpressionContext* context() { return context_; } |
722 void set_new_context(const ExpressionContext* context) { context_ = context; } | 722 void set_new_context(const ExpressionContext* context) { context_ = context; } |
723 | 723 |
724 Handle<Script> script() { return info_->script(); } | 724 Handle<Script> script() { return info_->script(); } |
725 bool is_eval() { return info_->is_eval(); } | 725 bool is_eval() { return info_->is_eval(); } |
726 bool is_native() { return info_->is_native(); } | 726 bool is_native() { return info_->is_native(); } |
727 LanguageMode language_mode() { return function()->language_mode(); } | 727 LanguageMode language_mode() { return function()->language_mode(); } |
728 bool is_simple_parameter_list() { return info_->is_simple_parameter_list(); } | 728 bool is_simple_parameter_list() { return info_->is_simple_parameter_list(); } |
(...skipping 23 matching lines...) Expand all Loading... |
752 void VisitComma(BinaryOperation* expr); | 752 void VisitComma(BinaryOperation* expr); |
753 void VisitLogicalExpression(BinaryOperation* expr); | 753 void VisitLogicalExpression(BinaryOperation* expr); |
754 void VisitArithmeticExpression(BinaryOperation* expr); | 754 void VisitArithmeticExpression(BinaryOperation* expr); |
755 | 755 |
756 void VisitForTypeofValue(Expression* expr); | 756 void VisitForTypeofValue(Expression* expr); |
757 | 757 |
758 void Generate(); | 758 void Generate(); |
759 void PopulateDeoptimizationData(Handle<Code> code); | 759 void PopulateDeoptimizationData(Handle<Code> code); |
760 void PopulateTypeFeedbackInfo(Handle<Code> code); | 760 void PopulateTypeFeedbackInfo(Handle<Code> code); |
761 | 761 |
| 762 bool MustCreateObjectLiteralWithRuntime(ObjectLiteral* expr) const; |
| 763 bool MustCreateArrayLiteralWithRuntime(ArrayLiteral* expr) const; |
| 764 |
762 Handle<HandlerTable> handler_table() { return handler_table_; } | 765 Handle<HandlerTable> handler_table() { return handler_table_; } |
763 | 766 |
764 struct BailoutEntry { | 767 struct BailoutEntry { |
765 BailoutId id; | 768 BailoutId id; |
766 unsigned pc_and_state; | 769 unsigned pc_and_state; |
767 }; | 770 }; |
768 | 771 |
769 struct BackEdgeEntry { | 772 struct BackEdgeEntry { |
770 BailoutId id; | 773 BailoutId id; |
771 unsigned pc; | 774 unsigned pc; |
(...skipping 317 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1089 | 1092 |
1090 Address start_; | 1093 Address start_; |
1091 Address instruction_start_; | 1094 Address instruction_start_; |
1092 uint32_t length_; | 1095 uint32_t length_; |
1093 }; | 1096 }; |
1094 | 1097 |
1095 | 1098 |
1096 } } // namespace v8::internal | 1099 } } // namespace v8::internal |
1097 | 1100 |
1098 #endif // V8_FULL_CODEGEN_H_ | 1101 #endif // V8_FULL_CODEGEN_H_ |
OLD | NEW |