summaryrefslogtreecommitdiff
path: root/deps/v8/src/api-arguments.h
diff options
context:
space:
mode:
authorMichaël Zasso <targos@protonmail.com>2018-09-21 09:14:51 +0200
committerMichaël Zasso <targos@protonmail.com>2018-09-22 18:29:25 +0200
commit0e7ddbd3d7e9439c67573b854c49cf82c398ae82 (patch)
tree2afe372acde921cb57ddb3444ff00c5adef8848c /deps/v8/src/api-arguments.h
parent13245dc50da4cb7443c39ef6c68d419d5e6336d4 (diff)
downloadandroid-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.h58
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_;