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_HYDROGEN_H_ | 5 #ifndef V8_HYDROGEN_H_ |
6 #define V8_HYDROGEN_H_ | 6 #define V8_HYDROGEN_H_ |
7 | 7 |
8 #include "src/v8.h" | 8 #include "src/v8.h" |
9 | 9 |
10 #include "src/accessors.h" | 10 #include "src/accessors.h" |
(...skipping 1786 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1797 HValue* capacity); | 1797 HValue* capacity); |
1798 HAllocate* AllocateJSArrayObject(AllocationSiteMode mode); | 1798 HAllocate* AllocateJSArrayObject(AllocationSiteMode mode); |
1799 HConstant* EstablishElementsAllocationSize(ElementsKind kind, int capacity); | 1799 HConstant* EstablishElementsAllocationSize(ElementsKind kind, int capacity); |
1800 | 1800 |
1801 HAllocate* BuildAllocateElements(ElementsKind kind, HValue* size_in_bytes); | 1801 HAllocate* BuildAllocateElements(ElementsKind kind, HValue* size_in_bytes); |
1802 | 1802 |
1803 void BuildInitializeElementsHeader(HValue* elements, | 1803 void BuildInitializeElementsHeader(HValue* elements, |
1804 ElementsKind kind, | 1804 ElementsKind kind, |
1805 HValue* capacity); | 1805 HValue* capacity); |
1806 | 1806 |
1807 HValue* BuildAllocateElementsAndInitializeElementsHeader(ElementsKind kind, | 1807 // Build allocation and header initialization code for respective successor |
1808 HValue* capacity); | 1808 // of FixedArrayBase. |
| 1809 HValue* BuildAllocateAndInitializeArray(ElementsKind kind, HValue* capacity); |
1809 | 1810 |
1810 // |array| must have been allocated with enough room for | 1811 // |array| must have been allocated with enough room for |
1811 // 1) the JSArray and 2) an AllocationMemento if mode requires it. | 1812 // 1) the JSArray and 2) an AllocationMemento if mode requires it. |
1812 // If the |elements| value provided is NULL then the array elements storage | 1813 // If the |elements| value provided is NULL then the array elements storage |
1813 // is initialized with empty array. | 1814 // is initialized with empty array. |
1814 void BuildJSArrayHeader(HValue* array, | 1815 void BuildJSArrayHeader(HValue* array, |
1815 HValue* array_map, | 1816 HValue* array_map, |
1816 HValue* elements, | 1817 HValue* elements, |
1817 AllocationSiteMode mode, | 1818 AllocationSiteMode mode, |
1818 ElementsKind elements_kind, | 1819 ElementsKind elements_kind, |
(...skipping 11 matching lines...) Expand all Loading... |
1830 ElementsKind elements_kind, | 1831 ElementsKind elements_kind, |
1831 HValue* from, | 1832 HValue* from, |
1832 HValue* to, | 1833 HValue* to, |
1833 HValue* value); | 1834 HValue* value); |
1834 | 1835 |
1835 void BuildFillElementsWithHole(HValue* elements, | 1836 void BuildFillElementsWithHole(HValue* elements, |
1836 ElementsKind elements_kind, | 1837 ElementsKind elements_kind, |
1837 HValue* from, | 1838 HValue* from, |
1838 HValue* to); | 1839 HValue* to); |
1839 | 1840 |
| 1841 void BuildCopyProperties(HValue* from_properties, HValue* to_properties, |
| 1842 HValue* length, HValue* capacity); |
| 1843 |
1840 void BuildCopyElements(HValue* from_elements, | 1844 void BuildCopyElements(HValue* from_elements, |
1841 ElementsKind from_elements_kind, | 1845 ElementsKind from_elements_kind, |
1842 HValue* to_elements, | 1846 HValue* to_elements, |
1843 ElementsKind to_elements_kind, | 1847 ElementsKind to_elements_kind, |
1844 HValue* length, | 1848 HValue* length, |
1845 HValue* capacity); | 1849 HValue* capacity); |
1846 | 1850 |
1847 HValue* BuildCloneShallowArrayCow(HValue* boilerplate, | 1851 HValue* BuildCloneShallowArrayCow(HValue* boilerplate, |
1848 HValue* allocation_site, | 1852 HValue* allocation_site, |
1849 AllocationSiteMode mode, | 1853 AllocationSiteMode mode, |
(...skipping 1055 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2905 } | 2909 } |
2906 | 2910 |
2907 private: | 2911 private: |
2908 HGraphBuilder* builder_; | 2912 HGraphBuilder* builder_; |
2909 }; | 2913 }; |
2910 | 2914 |
2911 | 2915 |
2912 } } // namespace v8::internal | 2916 } } // namespace v8::internal |
2913 | 2917 |
2914 #endif // V8_HYDROGEN_H_ | 2918 #endif // V8_HYDROGEN_H_ |
OLD | NEW |