diff options
author | Ben Noordhuis <info@bnoordhuis.nl> | 2014-03-31 14:38:28 +0200 |
---|---|---|
committer | Fedor Indutny <fedor@indutny.com> | 2014-04-02 00:05:24 +0400 |
commit | 67e078094b53861a5aa7e9354e33487d0bd4f73b (patch) | |
tree | 09a706adee1ddb59c1507ee3320de9cb6896135b /deps/v8/src/elements.h | |
parent | f984555d47298cfb01b3e55c2861066379306fc3 (diff) | |
download | android-node-v8-67e078094b53861a5aa7e9354e33487d0bd4f73b.tar.gz android-node-v8-67e078094b53861a5aa7e9354e33487d0bd4f73b.tar.bz2 android-node-v8-67e078094b53861a5aa7e9354e33487d0bd4f73b.zip |
deps: upgrade v8 to 3.25.30
Diffstat (limited to 'deps/v8/src/elements.h')
-rw-r--r-- | deps/v8/src/elements.h | 55 |
1 files changed, 33 insertions, 22 deletions
diff --git a/deps/v8/src/elements.h b/deps/v8/src/elements.h index 6353aaecf5..44644abd92 100644 --- a/deps/v8/src/elements.h +++ b/deps/v8/src/elements.h @@ -65,6 +65,13 @@ class ElementsAccessor { // can optionally pass in the backing store to use for the check, which must // be compatible with the ElementsKind of the ElementsAccessor. If // backing_store is NULL, the holder->elements() is used as the backing store. + MUST_USE_RESULT virtual Handle<Object> Get( + Handle<Object> receiver, + Handle<JSObject> holder, + uint32_t key, + Handle<FixedArrayBase> backing_store = + Handle<FixedArrayBase>::null()) = 0; + MUST_USE_RESULT virtual MaybeObject* Get( Object* receiver, JSObject* holder, @@ -109,8 +116,9 @@ class ElementsAccessor { // changing array sizes as defined in EcmaScript 5.1 15.4.5.2, i.e. array that // have non-deletable elements can only be shrunk to the size of highest // element that is non-deletable. - MUST_USE_RESULT virtual MaybeObject* SetLength(JSArray* holder, - Object* new_length) = 0; + MUST_USE_RESULT virtual Handle<Object> SetLength( + Handle<JSArray> holder, + Handle<Object> new_length) = 0; // Modifies both the length and capacity of a JSArray, resizing the underlying // backing store as necessary. This method does NOT honor the semantics of @@ -118,14 +126,16 @@ class ElementsAccessor { // elements. This method should only be called for array expansion OR by // runtime JavaScript code that use InternalArrays and don't care about // EcmaScript 5.1 semantics. - MUST_USE_RESULT virtual MaybeObject* SetCapacityAndLength(JSArray* array, - int capacity, - int length) = 0; + virtual void SetCapacityAndLength( + Handle<JSArray> array, + int capacity, + int length) = 0; // Deletes an element in an object, returning a new elements backing store. - MUST_USE_RESULT virtual MaybeObject* Delete(JSObject* holder, - uint32_t key, - JSReceiver::DeleteMode mode) = 0; + MUST_USE_RESULT virtual Handle<Object> Delete( + Handle<JSObject> holder, + uint32_t key, + JSReceiver::DeleteMode mode) = 0; // If kCopyToEnd is specified as the copy_size to CopyElements, it copies all // of elements from source after source_start to the destination array. @@ -140,21 +150,22 @@ class ElementsAccessor { // 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 // ignored. - MUST_USE_RESULT virtual MaybeObject* CopyElements( - JSObject* source_holder, + virtual void CopyElements( + Handle<JSObject> source_holder, uint32_t source_start, ElementsKind source_kind, - FixedArrayBase* destination, + Handle<FixedArrayBase> destination, uint32_t destination_start, int copy_size, - FixedArrayBase* source = NULL) = 0; - - MUST_USE_RESULT MaybeObject* CopyElements(JSObject* from_holder, - FixedArrayBase* to, - ElementsKind from_kind, - FixedArrayBase* from = NULL) { - return CopyElements(from_holder, 0, from_kind, to, 0, - kCopyToEndAndInitializeToHole, from); + Handle<FixedArrayBase> source = Handle<FixedArrayBase>::null()) = 0; + + void CopyElements( + Handle<JSObject> from_holder, + Handle<FixedArrayBase> to, + ElementsKind from_kind, + Handle<FixedArrayBase> from = Handle<FixedArrayBase>::null()) { + CopyElements(from_holder, 0, from_kind, to, 0, + kCopyToEndAndInitializeToHole, from); } MUST_USE_RESULT virtual MaybeObject* AddElementsToFixedArray( @@ -175,7 +186,7 @@ class ElementsAccessor { static void TearDown(); protected: - friend class NonStrictArgumentsElementsAccessor; + friend class SloppyArgumentsElementsAccessor; virtual uint32_t GetCapacity(FixedArrayBase* backing_store) = 0; @@ -200,8 +211,8 @@ class ElementsAccessor { void CheckArrayAbuse(JSObject* obj, const char* op, uint32_t key, bool allow_appending = false); -MUST_USE_RESULT MaybeObject* ArrayConstructInitializeElements( - JSArray* array, Arguments* args); +Handle<Object> ArrayConstructInitializeElements(Handle<JSArray> array, + Arguments* args); } } // namespace v8::internal |