diff options
author | Ali Ijaz Sheikh <ofrobots@google.com> | 2015-11-30 21:22:40 -0800 |
---|---|---|
committer | Ali Ijaz Sheikh <ofrobots@google.com> | 2015-12-04 00:06:01 -0800 |
commit | 8a43a3d7619fde59f0d1f2fad05d8ae7d1732b02 (patch) | |
tree | 8698af91526d0eac90840dcba1e5b565160105c4 /deps/v8/src/elements.h | |
parent | 8a2acd4cc9807510786b4b6f7ad3a947aeb3a14c (diff) | |
download | android-node-v8-8a43a3d7619fde59f0d1f2fad05d8ae7d1732b02.tar.gz android-node-v8-8a43a3d7619fde59f0d1f2fad05d8ae7d1732b02.tar.bz2 android-node-v8-8a43a3d7619fde59f0d1f2fad05d8ae7d1732b02.zip |
deps: upgrade V8 to 4.7.80.24
Pick up the latest branch head for V8 4.7:
https://github.com/v8/v8/commit/be169f8df059040e6a53ec1dd4579d8bca2167b5
Full change history for the 4.7 branch:
https://chromium.googlesource.com/v8/v8.git/+log/branch-heads/4.7
V8 blog post about what is new on V8 4.7:
http://v8project.blogspot.de/2015/10/v8-release-47.html
PR-URL: https://github.com/nodejs/node/pull/4106
Reviewed-By: bnoordhuis - Ben Noordhuis <info@bnoordhuis.nl>
Reviewed-By: targos - Michaƫl Zasso <mic.besace@gmail.com>
Reviewed-By: rvagg - Rod Vagg <rod@vagg.org>
Diffstat (limited to 'deps/v8/src/elements.h')
-rw-r--r-- | deps/v8/src/elements.h | 42 |
1 files changed, 32 insertions, 10 deletions
diff --git a/deps/v8/src/elements.h b/deps/v8/src/elements.h index 0131f0baf0..fcc90024ba 100644 --- a/deps/v8/src/elements.h +++ b/deps/v8/src/elements.h @@ -38,6 +38,11 @@ class ElementsAccessor { return HasElement(holder, index, handle(holder->elements())); } + // Returns true if the backing store is compact in the given range + virtual bool IsPacked(Handle<JSObject> holder, + Handle<FixedArrayBase> backing_store, uint32_t start, + uint32_t end) = 0; + virtual Handle<Object> Get(Handle<FixedArrayBase> backing_store, uint32_t entry) = 0; @@ -60,9 +65,6 @@ 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 @@ -98,9 +100,9 @@ class ElementsAccessor { virtual void GrowCapacityAndConvert(Handle<JSObject> object, uint32_t capacity) = 0; - virtual Handle<FixedArray> AddElementsToFixedArray( - Handle<JSObject> receiver, Handle<FixedArray> to, - FixedArray::KeyFilter filter) = 0; + virtual void AddElementsToKeyAccumulator(Handle<JSObject> receiver, + KeyAccumulator* accumulator, + FixedArray::KeyFilter filter) = 0; // Returns a shared ElementsAccessor for the specified ElementsKind. static ElementsAccessor* ForKind(ElementsKind elements_kind) { @@ -125,11 +127,31 @@ class ElementsAccessor { Handle<Object> value, PropertyAttributes attributes, uint32_t new_capacity) = 0; - // TODO(cbruni): Consider passing Arguments* instead of Object** depending on - // the requirements of future callers. + static Handle<JSArray> Concat(Isolate* isolate, Arguments* args, + uint32_t concat_size); + virtual uint32_t Push(Handle<JSArray> receiver, - Handle<FixedArrayBase> backing_store, Object** objects, - uint32_t start, int direction) = 0; + Handle<FixedArrayBase> backing_store, Arguments* args, + uint32_t push_size) = 0; + + virtual uint32_t Unshift(Handle<JSArray> receiver, + Handle<FixedArrayBase> backing_store, + Arguments* args, uint32_t unshift_size) = 0; + + virtual Handle<JSArray> Slice(Handle<JSObject> receiver, + Handle<FixedArrayBase> backing_store, + uint32_t start, uint32_t end) = 0; + + virtual Handle<JSArray> Splice(Handle<JSArray> receiver, + Handle<FixedArrayBase> backing_store, + uint32_t start, uint32_t delete_count, + Arguments* args, uint32_t add_count) = 0; + + virtual Handle<Object> Pop(Handle<JSArray> receiver, + Handle<FixedArrayBase> backing_store) = 0; + + virtual Handle<Object> Shift(Handle<JSArray> receiver, + Handle<FixedArrayBase> backing_store) = 0; protected: friend class LookupIterator; |