| 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_AST_H_ | 5 #ifndef V8_AST_H_ |
| 6 #define V8_AST_H_ | 6 #define V8_AST_H_ |
| 7 | 7 |
| 8 #include "src/v8.h" | 8 #include "src/v8.h" |
| 9 | 9 |
| 10 #include "src/assembler.h" | 10 #include "src/assembler.h" |
| (...skipping 1829 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1840 VariableProxy* proxy = expression_->AsVariableProxy(); | 1840 VariableProxy* proxy = expression_->AsVariableProxy(); |
| 1841 return proxy != NULL && proxy->var()->IsUnallocated(); | 1841 return proxy != NULL && proxy->var()->IsUnallocated(); |
| 1842 } | 1842 } |
| 1843 | 1843 |
| 1844 bool known_global_function() const { | 1844 bool known_global_function() const { |
| 1845 return global_call() && !target_.is_null(); | 1845 return global_call() && !target_.is_null(); |
| 1846 } | 1846 } |
| 1847 | 1847 |
| 1848 Handle<JSFunction> target() { return target_; } | 1848 Handle<JSFunction> target() { return target_; } |
| 1849 | 1849 |
| 1850 Handle<Cell> cell() { return cell_; } | |
| 1851 | |
| 1852 Handle<AllocationSite> allocation_site() { return allocation_site_; } | 1850 Handle<AllocationSite> allocation_site() { return allocation_site_; } |
| 1853 | 1851 |
| 1854 void set_target(Handle<JSFunction> target) { target_ = target; } | 1852 void set_target(Handle<JSFunction> target) { target_ = target; } |
| 1855 void set_allocation_site(Handle<AllocationSite> site) { | 1853 void set_allocation_site(Handle<AllocationSite> site) { |
| 1856 allocation_site_ = site; | 1854 allocation_site_ = site; |
| 1857 } | 1855 } |
| 1858 bool ComputeGlobalTarget(Handle<GlobalObject> global, LookupIterator* it); | 1856 bool ComputeGlobalTarget(Handle<GlobalObject> global, LookupIterator* it); |
| 1859 | 1857 |
| 1860 static int num_ids() { return parent_num_ids() + 2; } | 1858 static int num_ids() { return parent_num_ids() + 2; } |
| 1861 BailoutId ReturnId() const { return BailoutId(local_id(0)); } | 1859 BailoutId ReturnId() const { return BailoutId(local_id(0)); } |
| (...skipping 41 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1903 | 1901 |
| 1904 private: | 1902 private: |
| 1905 int local_id(int n) const { return base_id() + parent_num_ids() + n; } | 1903 int local_id(int n) const { return base_id() + parent_num_ids() + n; } |
| 1906 | 1904 |
| 1907 // We store this as an integer because we don't know if we have a slot or | 1905 // We store this as an integer because we don't know if we have a slot or |
| 1908 // an ic slot until scoping time. | 1906 // an ic slot until scoping time. |
| 1909 int ic_slot_or_slot_; | 1907 int ic_slot_or_slot_; |
| 1910 Expression* expression_; | 1908 Expression* expression_; |
| 1911 ZoneList<Expression*>* arguments_; | 1909 ZoneList<Expression*>* arguments_; |
| 1912 Handle<JSFunction> target_; | 1910 Handle<JSFunction> target_; |
| 1913 Handle<Cell> cell_; | |
| 1914 Handle<AllocationSite> allocation_site_; | 1911 Handle<AllocationSite> allocation_site_; |
| 1915 class IsUninitializedField : public BitField8<bool, 0, 1> {}; | 1912 class IsUninitializedField : public BitField8<bool, 0, 1> {}; |
| 1916 uint8_t bit_field_; | 1913 uint8_t bit_field_; |
| 1917 }; | 1914 }; |
| 1918 | 1915 |
| 1919 | 1916 |
| 1920 class CallNew FINAL : public Expression { | 1917 class CallNew FINAL : public Expression { |
| 1921 public: | 1918 public: |
| 1922 DECLARE_NODE_TYPE(CallNew) | 1919 DECLARE_NODE_TYPE(CallNew) |
| 1923 | 1920 |
| (...skipping 1608 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 3532 | 3529 |
| 3533 private: | 3530 private: |
| 3534 Zone* zone_; | 3531 Zone* zone_; |
| 3535 AstValueFactory* ast_value_factory_; | 3532 AstValueFactory* ast_value_factory_; |
| 3536 }; | 3533 }; |
| 3537 | 3534 |
| 3538 | 3535 |
| 3539 } } // namespace v8::internal | 3536 } } // namespace v8::internal |
| 3540 | 3537 |
| 3541 #endif // V8_AST_H_ | 3538 #endif // V8_AST_H_ |
| OLD | NEW |