OLD | NEW |
1 // Copyright 2010 the V8 project authors. All rights reserved. | 1 // Copyright 2011 the V8 project authors. All rights reserved. |
2 // Redistribution and use in source and binary forms, with or without | 2 // Redistribution and use in source and binary forms, with or without |
3 // modification, are permitted provided that the following conditions are | 3 // modification, are permitted provided that the following conditions are |
4 // met: | 4 // met: |
5 // | 5 // |
6 // * Redistributions of source code must retain the above copyright | 6 // * Redistributions of source code must retain the above copyright |
7 // notice, this list of conditions and the following disclaimer. | 7 // notice, this list of conditions and the following disclaimer. |
8 // * Redistributions in binary form must reproduce the above | 8 // * Redistributions in binary form must reproduce the above |
9 // copyright notice, this list of conditions and the following | 9 // copyright notice, this list of conditions and the following |
10 // disclaimer in the documentation and/or other materials provided | 10 // disclaimer in the documentation and/or other materials provided |
11 // with the distribution. | 11 // with the distribution. |
(...skipping 1724 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1736 has_only_simple_this_property_assignments_( | 1736 has_only_simple_this_property_assignments_( |
1737 has_only_simple_this_property_assignments), | 1737 has_only_simple_this_property_assignments), |
1738 this_property_assignments_(this_property_assignments), | 1738 this_property_assignments_(this_property_assignments), |
1739 num_parameters_(num_parameters), | 1739 num_parameters_(num_parameters), |
1740 start_position_(start_position), | 1740 start_position_(start_position), |
1741 end_position_(end_position), | 1741 end_position_(end_position), |
1742 is_expression_(is_expression), | 1742 is_expression_(is_expression), |
1743 contains_loops_(contains_loops), | 1743 contains_loops_(contains_loops), |
1744 function_token_position_(RelocInfo::kNoPosition), | 1744 function_token_position_(RelocInfo::kNoPosition), |
1745 inferred_name_(HEAP->empty_string()), | 1745 inferred_name_(HEAP->empty_string()), |
1746 try_full_codegen_(false), | |
1747 pretenure_(false) { } | 1746 pretenure_(false) { } |
1748 | 1747 |
1749 DECLARE_NODE_TYPE(FunctionLiteral) | 1748 DECLARE_NODE_TYPE(FunctionLiteral) |
1750 | 1749 |
1751 Handle<String> name() const { return name_; } | 1750 Handle<String> name() const { return name_; } |
1752 Scope* scope() const { return scope_; } | 1751 Scope* scope() const { return scope_; } |
1753 ZoneList<Statement*>* body() const { return body_; } | 1752 ZoneList<Statement*>* body() const { return body_; } |
1754 void set_function_token_position(int pos) { function_token_position_ = pos; } | 1753 void set_function_token_position(int pos) { function_token_position_ = pos; } |
1755 int function_token_position() const { return function_token_position_; } | 1754 int function_token_position() const { return function_token_position_; } |
1756 int start_position() const { return start_position_; } | 1755 int start_position() const { return start_position_; } |
(...skipping 17 matching lines...) Expand all Loading... |
1774 Handle<String> debug_name() const { | 1773 Handle<String> debug_name() const { |
1775 if (name_->length() > 0) return name_; | 1774 if (name_->length() > 0) return name_; |
1776 return inferred_name(); | 1775 return inferred_name(); |
1777 } | 1776 } |
1778 | 1777 |
1779 Handle<String> inferred_name() const { return inferred_name_; } | 1778 Handle<String> inferred_name() const { return inferred_name_; } |
1780 void set_inferred_name(Handle<String> inferred_name) { | 1779 void set_inferred_name(Handle<String> inferred_name) { |
1781 inferred_name_ = inferred_name; | 1780 inferred_name_ = inferred_name; |
1782 } | 1781 } |
1783 | 1782 |
1784 bool try_full_codegen() { return try_full_codegen_; } | |
1785 void set_try_full_codegen(bool flag) { try_full_codegen_ = flag; } | |
1786 | |
1787 bool pretenure() { return pretenure_; } | 1783 bool pretenure() { return pretenure_; } |
1788 void set_pretenure(bool value) { pretenure_ = value; } | 1784 void set_pretenure(bool value) { pretenure_ = value; } |
1789 | 1785 |
1790 private: | 1786 private: |
1791 Handle<String> name_; | 1787 Handle<String> name_; |
1792 Scope* scope_; | 1788 Scope* scope_; |
1793 ZoneList<Statement*>* body_; | 1789 ZoneList<Statement*>* body_; |
1794 int materialized_literal_count_; | 1790 int materialized_literal_count_; |
1795 int expected_property_count_; | 1791 int expected_property_count_; |
1796 bool has_only_simple_this_property_assignments_; | 1792 bool has_only_simple_this_property_assignments_; |
1797 Handle<FixedArray> this_property_assignments_; | 1793 Handle<FixedArray> this_property_assignments_; |
1798 int num_parameters_; | 1794 int num_parameters_; |
1799 int start_position_; | 1795 int start_position_; |
1800 int end_position_; | 1796 int end_position_; |
1801 bool is_expression_; | 1797 bool is_expression_; |
1802 bool contains_loops_; | 1798 bool contains_loops_; |
1803 bool strict_mode_; | 1799 bool strict_mode_; |
1804 int function_token_position_; | 1800 int function_token_position_; |
1805 Handle<String> inferred_name_; | 1801 Handle<String> inferred_name_; |
1806 bool try_full_codegen_; | |
1807 bool pretenure_; | 1802 bool pretenure_; |
1808 }; | 1803 }; |
1809 | 1804 |
1810 | 1805 |
1811 class SharedFunctionInfoLiteral: public Expression { | 1806 class SharedFunctionInfoLiteral: public Expression { |
1812 public: | 1807 public: |
1813 explicit SharedFunctionInfoLiteral( | 1808 explicit SharedFunctionInfoLiteral( |
1814 Handle<SharedFunctionInfo> shared_function_info) | 1809 Handle<SharedFunctionInfo> shared_function_info) |
1815 : shared_function_info_(shared_function_info) { } | 1810 : shared_function_info_(shared_function_info) { } |
1816 | 1811 |
(...skipping 408 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2225 | 2220 |
2226 private: | 2221 private: |
2227 Isolate* isolate_; | 2222 Isolate* isolate_; |
2228 bool stack_overflow_; | 2223 bool stack_overflow_; |
2229 }; | 2224 }; |
2230 | 2225 |
2231 | 2226 |
2232 } } // namespace v8::internal | 2227 } } // namespace v8::internal |
2233 | 2228 |
2234 #endif // V8_AST_H_ | 2229 #endif // V8_AST_H_ |
OLD | NEW |