| 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 |