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 | |
49 // Provides access to JSArrayBuffer::backing_store() field. | 46 // Provides access to JSArrayBuffer::backing_store() field. |
50 static FieldAccess ForJSArrayBufferBackingStore(); | 47 static FieldAccess ForJSArrayBufferBackingStore(); |
51 | 48 |
52 // Provides access to JSArrayBuffer::bit_field() field. | 49 // Provides access to JSArrayBuffer::bit_field() field. |
53 static FieldAccess ForJSArrayBufferBitField(); | 50 static FieldAccess ForJSArrayBufferBitField(); |
54 | 51 |
55 // Provides access to JSArrayBufferView::buffer() field. | 52 // Provides access to JSArrayBufferView::buffer() field. |
56 static FieldAccess ForJSArrayBufferViewBuffer(); | 53 static FieldAccess ForJSArrayBufferViewBuffer(); |
57 | 54 |
58 // Provides access to JSDate fields. | 55 // Provides access to JSDate fields. |
(...skipping 54 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
113 // Provides access to FixedArray slots. | 110 // Provides access to FixedArray slots. |
114 static FieldAccess ForFixedArraySlot(size_t index); | 111 static FieldAccess ForFixedArraySlot(size_t index); |
115 | 112 |
116 // Provides access to Context slots. | 113 // Provides access to Context slots. |
117 static FieldAccess ForContextSlot(size_t index); | 114 static FieldAccess ForContextSlot(size_t index); |
118 | 115 |
119 // Provides access to PropertyCell::value() field. | 116 // Provides access to PropertyCell::value() field. |
120 static FieldAccess ForPropertyCellValue(); | 117 static FieldAccess ForPropertyCellValue(); |
121 static FieldAccess ForPropertyCellValue(Type* type); | 118 static FieldAccess ForPropertyCellValue(Type* type); |
122 | 119 |
123 // Provides access to JSFunction::literals()[0] field. | 120 // Provides access to SharedFunctionInfo::feedback_vector() field. |
124 static FieldAccess ForLiteralsTypeFeedbackVector(); | 121 static FieldAccess ForSharedFunctionInfoTypeFeedbackVector(); |
125 | 122 |
126 // Provides access to FixedArray elements. | 123 // Provides access to FixedArray elements. |
127 static ElementAccess ForFixedArrayElement(); | 124 static ElementAccess ForFixedArrayElement(); |
128 | 125 |
129 // Provides access to FixedDoubleArray elements. | 126 // Provides access to FixedDoubleArray elements. |
130 static ElementAccess ForFixedDoubleArrayElement(); | 127 static ElementAccess ForFixedDoubleArrayElement(); |
131 | 128 |
132 // Provides access to Fixed{type}TypedArray and External{type}Array elements. | 129 // Provides access to Fixed{type}TypedArray and External{type}Array elements. |
133 static ElementAccess ForTypedArrayElement(ExternalArrayType type, | 130 static ElementAccess ForTypedArrayElement(ExternalArrayType type, |
134 bool is_external); | 131 bool is_external); |
135 | 132 |
136 // =========================================================================== | 133 // =========================================================================== |
137 // Access to global per-isolate variables (based on external reference). | 134 // Access to global per-isolate variables (based on external reference). |
138 | 135 |
139 // Provides access to the backing store of a StatsCounter. | 136 // Provides access to the backing store of a StatsCounter. |
140 static FieldAccess ForStatsCounter(); | 137 static FieldAccess ForStatsCounter(); |
141 | 138 |
142 private: | 139 private: |
143 DISALLOW_IMPLICIT_CONSTRUCTORS(AccessBuilder); | 140 DISALLOW_IMPLICIT_CONSTRUCTORS(AccessBuilder); |
144 }; | 141 }; |
145 | 142 |
146 } // namespace compiler | 143 } // namespace compiler |
147 } // namespace internal | 144 } // namespace internal |
148 } // namespace v8 | 145 } // namespace v8 |
149 | 146 |
150 #endif // V8_COMPILER_ACCESS_BUILDER_H_ | 147 #endif // V8_COMPILER_ACCESS_BUILDER_H_ |
OLD | NEW |