Chromium Code Reviews| Index: src/elements.h |
| diff --git a/src/elements.h b/src/elements.h |
| index 511b636c3de8082ed2c5dfe16251e7d5e8da08c1..1bae25a8e8e9fede769bd6c9e8743ce999720d01 100644 |
| --- a/src/elements.h |
| +++ b/src/elements.h |
| @@ -60,6 +60,9 @@ class ElementsAccessor { |
| // destination array with the hole. |
| static const int kCopyToEndAndInitializeToHole = -2; |
| + static const int kDirectionForward = 1; |
| + static const int kDirectionReverse = -1; |
| + |
| // Copy elements from one backing store to another. Typically, callers specify |
| // the source JSObject or JSArray in source_holder. If the holder's backing |
| // store is available, it can be passed in source and source_holder is |
| @@ -112,14 +115,27 @@ class ElementsAccessor { |
| virtual void Set(FixedArrayBase* backing_store, uint32_t entry, |
| Object* value) = 0; |
| + |
| virtual void Reconfigure(Handle<JSObject> object, |
| Handle<FixedArrayBase> backing_store, uint32_t entry, |
| Handle<Object> value, |
| PropertyAttributes attributes) = 0; |
| + |
| virtual void Add(Handle<JSObject> object, uint32_t index, |
| Handle<Object> value, PropertyAttributes attributes, |
| uint32_t new_capacity) = 0; |
| + virtual uint32_t Push(Handle<JSObject> receiver, |
| + Handle<FixedArrayBase> backing_store, Object** objects, |
| + uint32_t start, uint32_t push_size, |
| + uint32_t direction) = 0; |
| + |
| + inline uint32_t Push(Handle<JSObject> object, Object** objects, |
|
Jakob Kummerow
2015/07/30 11:54:59
I'd leave that out until it's actually needed.
|
| + uint32_t start, uint32_t push_size) { |
| + return Push(object, handle(object->elements()), objects, start, push_size, |
| + kDirectionForward); |
| + } |
| + |
| protected: |
| friend class LookupIterator; |