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_ELEMENTS_H_ | 5 #ifndef V8_ELEMENTS_H_ |
6 #define V8_ELEMENTS_H_ | 6 #define V8_ELEMENTS_H_ |
7 | 7 |
8 #include "src/elements-kind.h" | 8 #include "src/elements-kind.h" |
9 #include "src/heap/heap.h" | 9 #include "src/heap/heap.h" |
10 #include "src/isolate.h" | 10 #include "src/isolate.h" |
(...skipping 109 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
120 | 120 |
121 virtual void Reconfigure(Handle<JSObject> object, | 121 virtual void Reconfigure(Handle<JSObject> object, |
122 Handle<FixedArrayBase> backing_store, uint32_t entry, | 122 Handle<FixedArrayBase> backing_store, uint32_t entry, |
123 Handle<Object> value, | 123 Handle<Object> value, |
124 PropertyAttributes attributes) = 0; | 124 PropertyAttributes attributes) = 0; |
125 | 125 |
126 virtual void Add(Handle<JSObject> object, uint32_t index, | 126 virtual void Add(Handle<JSObject> object, uint32_t index, |
127 Handle<Object> value, PropertyAttributes attributes, | 127 Handle<Object> value, PropertyAttributes attributes, |
128 uint32_t new_capacity) = 0; | 128 uint32_t new_capacity) = 0; |
129 | 129 |
130 // TODO(cbruni): Consider passing Arguments* instead of Object** depending on | 130 static Handle<JSArray> Concat(Isolate* isolate, Arguments* args, |
131 // the requirements of future callers. | 131 uint32_t concat_size); |
| 132 |
132 virtual uint32_t Push(Handle<JSArray> receiver, | 133 virtual uint32_t Push(Handle<JSArray> receiver, |
133 Handle<FixedArrayBase> backing_store, Arguments* args, | 134 Handle<FixedArrayBase> backing_store, Arguments* args, |
134 uint32_t push_size) = 0; | 135 uint32_t push_size) = 0; |
135 | 136 |
136 virtual uint32_t Unshift(Handle<JSArray> receiver, | 137 virtual uint32_t Unshift(Handle<JSArray> receiver, |
137 Handle<FixedArrayBase> backing_store, | 138 Handle<FixedArrayBase> backing_store, |
138 Arguments* args, uint32_t unshift_size) = 0; | 139 Arguments* args, uint32_t unshift_size) = 0; |
139 | 140 |
140 virtual Handle<JSArray> Slice(Handle<JSObject> receiver, | 141 virtual Handle<JSArray> Slice(Handle<JSObject> receiver, |
141 Handle<FixedArrayBase> backing_store, | 142 Handle<FixedArrayBase> backing_store, |
(...skipping 42 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
184 void CheckArrayAbuse(Handle<JSObject> obj, const char* op, uint32_t index, | 185 void CheckArrayAbuse(Handle<JSObject> obj, const char* op, uint32_t index, |
185 bool allow_appending = false); | 186 bool allow_appending = false); |
186 | 187 |
187 MUST_USE_RESULT MaybeHandle<Object> ArrayConstructInitializeElements( | 188 MUST_USE_RESULT MaybeHandle<Object> ArrayConstructInitializeElements( |
188 Handle<JSArray> array, | 189 Handle<JSArray> array, |
189 Arguments* args); | 190 Arguments* args); |
190 | 191 |
191 } } // namespace v8::internal | 192 } } // namespace v8::internal |
192 | 193 |
193 #endif // V8_ELEMENTS_H_ | 194 #endif // V8_ELEMENTS_H_ |
OLD | NEW |