diff options
author | Michaël Zasso <targos@protonmail.com> | 2018-09-21 09:14:51 +0200 |
---|---|---|
committer | Michaël Zasso <targos@protonmail.com> | 2018-09-22 18:29:25 +0200 |
commit | 0e7ddbd3d7e9439c67573b854c49cf82c398ae82 (patch) | |
tree | 2afe372acde921cb57ddb3444ff00c5adef8848c /deps/v8/src/api-arguments.h | |
parent | 13245dc50da4cb7443c39ef6c68d419d5e6336d4 (diff) | |
download | android-node-v8-0e7ddbd3d7e9439c67573b854c49cf82c398ae82.tar.gz android-node-v8-0e7ddbd3d7e9439c67573b854c49cf82c398ae82.tar.bz2 android-node-v8-0e7ddbd3d7e9439c67573b854c49cf82c398ae82.zip |
deps: update V8 to 7.0.276.20
PR-URL: https://github.com/nodejs/node/pull/22754
Reviewed-By: Matteo Collina <matteo.collina@gmail.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Refael Ackermann <refack@gmail.com>
Reviewed-By: Ali Ijaz Sheikh <ofrobots@google.com>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Diffstat (limited to 'deps/v8/src/api-arguments.h')
-rw-r--r-- | deps/v8/src/api-arguments.h | 58 |
1 files changed, 5 insertions, 53 deletions
diff --git a/deps/v8/src/api-arguments.h b/deps/v8/src/api-arguments.h index bed1c123e0..0a0a7362c7 100644 --- a/deps/v8/src/api-arguments.h +++ b/deps/v8/src/api-arguments.h @@ -18,8 +18,7 @@ namespace internal { // can. class CustomArgumentsBase : public Relocatable { protected: - explicit inline CustomArgumentsBase(Isolate* isolate) - : Relocatable(isolate) {} + explicit inline CustomArgumentsBase(Isolate* isolate); }; template <typename T> @@ -52,18 +51,6 @@ class CustomArguments : public CustomArgumentsBase { Object* values_[T::kArgsLength]; }; -template <typename T> -template <typename V> -Handle<V> CustomArguments<T>::GetReturnValue(Isolate* isolate) { - // Check the ReturnValue. - Object** handle = &this->begin()[kReturnValueOffset]; - // Nothing was set, return empty handle as per previous behaviour. - if ((*handle)->IsTheHole(isolate)) return Handle<V>(); - Handle<V> result = Handle<V>::cast(Handle<Object>(handle)); - result->VerifyApiCallResultType(); - return result; -} - // Note: Calling args.Call() sets the return value on args. For multiple // Call()'s, a new args should be used every time. class PropertyCallbackArguments @@ -81,24 +68,7 @@ class PropertyCallbackArguments static const int kShouldThrowOnErrorIndex = T::kShouldThrowOnErrorIndex; PropertyCallbackArguments(Isolate* isolate, Object* data, Object* self, - JSObject* holder, ShouldThrow should_throw) - : Super(isolate) { - Object** values = this->begin(); - values[T::kThisIndex] = self; - values[T::kHolderIndex] = holder; - values[T::kDataIndex] = data; - values[T::kIsolateIndex] = reinterpret_cast<Object*>(isolate); - values[T::kShouldThrowOnErrorIndex] = - Smi::FromInt(should_throw == kThrowOnError ? 1 : 0); - - // Here the hole is set as default value. - // It cannot escape into js as it's removed in Call below. - HeapObject* the_hole = ReadOnlyRoots(isolate).the_hole_value(); - values[T::kReturnValueDefaultValueIndex] = the_hole; - values[T::kReturnValueIndex] = the_hole; - DCHECK(values[T::kHolderIndex]->IsHeapObject()); - DCHECK(values[T::kIsolateIndex]->IsSmi()); - } + JSObject* holder, ShouldThrow should_throw); // ------------------------------------------------------------------------- // Accessor Callbacks @@ -165,9 +135,7 @@ class PropertyCallbackArguments GenericNamedPropertyGetterCallback f, Handle<Name> name, Handle<Object> info); - inline JSObject* holder() { - return JSObject::cast(this->begin()[T::kHolderIndex]); - } + inline JSObject* holder(); // Don't copy PropertyCallbackArguments, because they would both have the // same prev_ pointer. @@ -191,21 +159,7 @@ class FunctionCallbackArguments internal::HeapObject* callee, internal::Object* holder, internal::HeapObject* new_target, - internal::Object** argv, int argc) - : Super(isolate), argv_(argv), argc_(argc) { - Object** values = begin(); - values[T::kDataIndex] = data; - values[T::kHolderIndex] = holder; - values[T::kNewTargetIndex] = new_target; - values[T::kIsolateIndex] = reinterpret_cast<internal::Object*>(isolate); - // Here the hole is set as default value. - // It cannot escape into js as it's remove in Call below. - HeapObject* the_hole = ReadOnlyRoots(isolate).the_hole_value(); - values[T::kReturnValueDefaultValueIndex] = the_hole; - values[T::kReturnValueIndex] = the_hole; - DCHECK(values[T::kHolderIndex]->IsHeapObject()); - DCHECK(values[T::kIsolateIndex]->IsSmi()); - } + internal::Object** argv, int argc); /* * The following Call function wraps the calling of all callbacks to handle @@ -218,9 +172,7 @@ class FunctionCallbackArguments inline Handle<Object> Call(CallHandlerInfo* handler); private: - inline JSObject* holder() { - return JSObject::cast(this->begin()[T::kHolderIndex]); - } + inline JSObject* holder(); internal::Object** argv_; int argc_; |