OLD | NEW |
1 // Copyright 2014 the V8 project authors. All rights reserved. | 1 // Copyright 2014 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_COMPILER_ACCESS_BUILDER_H_ | 5 #ifndef V8_COMPILER_ACCESS_BUILDER_H_ |
6 #define V8_COMPILER_ACCESS_BUILDER_H_ | 6 #define V8_COMPILER_ACCESS_BUILDER_H_ |
7 | 7 |
8 #include "src/compiler/simplified-operator.h" | 8 #include "src/compiler/simplified-operator.h" |
9 | 9 |
10 namespace v8 { | 10 namespace v8 { |
(...skipping 25 matching lines...) Expand all Loading... |
36 | 36 |
37 // Provides access to JSFunction::context() field. | 37 // Provides access to JSFunction::context() field. |
38 static FieldAccess ForJSFunctionContext(); | 38 static FieldAccess ForJSFunctionContext(); |
39 | 39 |
40 // Provides access to JSFunction::shared() field. | 40 // Provides access to JSFunction::shared() field. |
41 static FieldAccess ForJSFunctionSharedFunctionInfo(); | 41 static FieldAccess ForJSFunctionSharedFunctionInfo(); |
42 | 42 |
43 // Provides access to JSArray::length() field. | 43 // Provides access to JSArray::length() field. |
44 static FieldAccess ForJSArrayLength(ElementsKind elements_kind); | 44 static FieldAccess ForJSArrayLength(ElementsKind elements_kind); |
45 | 45 |
| 46 // Provides access to JSFunction::literals() field. |
| 47 static FieldAccess ForJSFunctionLiterals(); |
| 48 |
46 // Provides access to JSArrayBuffer::backing_store() field. | 49 // Provides access to JSArrayBuffer::backing_store() field. |
47 static FieldAccess ForJSArrayBufferBackingStore(); | 50 static FieldAccess ForJSArrayBufferBackingStore(); |
48 | 51 |
49 // Provides access to JSArrayBuffer::bit_field() field. | 52 // Provides access to JSArrayBuffer::bit_field() field. |
50 static FieldAccess ForJSArrayBufferBitField(); | 53 static FieldAccess ForJSArrayBufferBitField(); |
51 | 54 |
52 // Provides access to JSArrayBufferView::buffer() field. | 55 // Provides access to JSArrayBufferView::buffer() field. |
53 static FieldAccess ForJSArrayBufferViewBuffer(); | 56 static FieldAccess ForJSArrayBufferViewBuffer(); |
54 | 57 |
55 // Provides access to JSDate fields. | 58 // Provides access to JSDate fields. |
(...skipping 54 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
110 // Provides access to FixedArray slots. | 113 // Provides access to FixedArray slots. |
111 static FieldAccess ForFixedArraySlot(size_t index); | 114 static FieldAccess ForFixedArraySlot(size_t index); |
112 | 115 |
113 // Provides access to Context slots. | 116 // Provides access to Context slots. |
114 static FieldAccess ForContextSlot(size_t index); | 117 static FieldAccess ForContextSlot(size_t index); |
115 | 118 |
116 // Provides access to PropertyCell::value() field. | 119 // Provides access to PropertyCell::value() field. |
117 static FieldAccess ForPropertyCellValue(); | 120 static FieldAccess ForPropertyCellValue(); |
118 static FieldAccess ForPropertyCellValue(Type* type); | 121 static FieldAccess ForPropertyCellValue(Type* type); |
119 | 122 |
120 // Provides access to SharedFunctionInfo::feedback_vector() field. | 123 // Provides access to JSFunction::literals()[0] field. |
121 static FieldAccess ForSharedFunctionInfoTypeFeedbackVector(); | 124 static FieldAccess ForLiteralsTypeFeedbackVector(); |
122 | 125 |
123 // Provides access to FixedArray elements. | 126 // Provides access to FixedArray elements. |
124 static ElementAccess ForFixedArrayElement(); | 127 static ElementAccess ForFixedArrayElement(); |
125 | 128 |
126 // Provides access to FixedDoubleArray elements. | 129 // Provides access to FixedDoubleArray elements. |
127 static ElementAccess ForFixedDoubleArrayElement(); | 130 static ElementAccess ForFixedDoubleArrayElement(); |
128 | 131 |
129 // Provides access to Fixed{type}TypedArray and External{type}Array elements. | 132 // Provides access to Fixed{type}TypedArray and External{type}Array elements. |
130 static ElementAccess ForTypedArrayElement(ExternalArrayType type, | 133 static ElementAccess ForTypedArrayElement(ExternalArrayType type, |
131 bool is_external); | 134 bool is_external); |
132 | 135 |
133 // =========================================================================== | 136 // =========================================================================== |
134 // Access to global per-isolate variables (based on external reference). | 137 // Access to global per-isolate variables (based on external reference). |
135 | 138 |
136 // Provides access to the backing store of a StatsCounter. | 139 // Provides access to the backing store of a StatsCounter. |
137 static FieldAccess ForStatsCounter(); | 140 static FieldAccess ForStatsCounter(); |
138 | 141 |
139 private: | 142 private: |
140 DISALLOW_IMPLICIT_CONSTRUCTORS(AccessBuilder); | 143 DISALLOW_IMPLICIT_CONSTRUCTORS(AccessBuilder); |
141 }; | 144 }; |
142 | 145 |
143 } // namespace compiler | 146 } // namespace compiler |
144 } // namespace internal | 147 } // namespace internal |
145 } // namespace v8 | 148 } // namespace v8 |
146 | 149 |
147 #endif // V8_COMPILER_ACCESS_BUILDER_H_ | 150 #endif // V8_COMPILER_ACCESS_BUILDER_H_ |
OLD | NEW |