diff options
author | Michaël Zasso <targos@protonmail.com> | 2018-03-07 08:54:53 +0100 |
---|---|---|
committer | Michaël Zasso <targos@protonmail.com> | 2018-03-07 16:48:52 +0100 |
commit | 88786fecff336342a56e6f2e7ff3b286be716e47 (patch) | |
tree | 92e6ba5b8ac8dae1a058988d20c9d27bfa654390 /deps/v8/src/api-arguments.cc | |
parent | 4e86f9b5ab83cbabf43839385bf383e6a7ef7d19 (diff) | |
download | android-node-v8-88786fecff336342a56e6f2e7ff3b286be716e47.tar.gz android-node-v8-88786fecff336342a56e6f2e7ff3b286be716e47.tar.bz2 android-node-v8-88786fecff336342a56e6f2e7ff3b286be716e47.zip |
deps: update V8 to 6.5.254.31
PR-URL: https://github.com/nodejs/node/pull/18453
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Yang Guo <yangguo@chromium.org>
Reviewed-By: Ali Ijaz Sheikh <ofrobots@google.com>
Reviewed-By: Michael Dawson <michael_dawson@ca.ibm.com>
Diffstat (limited to 'deps/v8/src/api-arguments.cc')
-rw-r--r-- | deps/v8/src/api-arguments.cc | 32 |
1 files changed, 18 insertions, 14 deletions
diff --git a/deps/v8/src/api-arguments.cc b/deps/v8/src/api-arguments.cc index c7c54e5de1..1302e32b66 100644 --- a/deps/v8/src/api-arguments.cc +++ b/deps/v8/src/api-arguments.cc @@ -3,6 +3,7 @@ // found in the LICENSE file. #include "src/api-arguments.h" +#include "src/api-arguments-inl.h" #include "src/debug/debug.h" #include "src/objects-inl.h" @@ -18,7 +19,7 @@ Handle<Object> FunctionCallbackArguments::Call(FunctionCallback f) { !isolate->debug()->PerformSideEffectCheckForCallback(FUNCTION_ADDR(f))) { return Handle<Object>(); } - RuntimeCallTimerScope timer(isolate, &RuntimeCallStats::FunctionCallback); + RuntimeCallTimerScope timer(isolate, RuntimeCallCounterId::kFunctionCallback); VMState<EXTERNAL> state(isolate); ExternalCallbackScope call_scope(isolate, FUNCTION_ADDR(f)); FunctionCallbackInfo<v8::Value> info(begin(), argv_, argc_); @@ -26,19 +27,22 @@ Handle<Object> FunctionCallbackArguments::Call(FunctionCallback f) { return GetReturnValue<Object>(isolate); } -Handle<JSObject> PropertyCallbackArguments::Call( - IndexedPropertyEnumeratorCallback f) { - Isolate* isolate = this->isolate(); - if (isolate->needs_side_effect_check() && - !isolate->debug()->PerformSideEffectCheckForCallback(FUNCTION_ADDR(f))) { - return Handle<JSObject>(); - } - RuntimeCallTimerScope timer(isolate, &RuntimeCallStats::PropertyCallback); - VMState<EXTERNAL> state(isolate); - ExternalCallbackScope call_scope(isolate, FUNCTION_ADDR(f)); - PropertyCallbackInfo<v8::Array> info(begin()); - f(info); - return GetReturnValue<JSObject>(isolate); +Handle<JSObject> PropertyCallbackArguments::CallNamedEnumerator( + Handle<InterceptorInfo> interceptor) { + DCHECK(interceptor->is_named()); + LOG(isolate(), ApiObjectAccess("interceptor-named-enumerator", holder())); + RuntimeCallTimerScope timer(isolate(), + RuntimeCallCounterId::kNamedEnumeratorCallback); + return CallPropertyEnumerator(interceptor); +} + +Handle<JSObject> PropertyCallbackArguments::CallIndexedEnumerator( + Handle<InterceptorInfo> interceptor) { + DCHECK(!interceptor->is_named()); + LOG(isolate(), ApiObjectAccess("interceptor-indexed-enumerator", holder())); + RuntimeCallTimerScope timer(isolate(), + RuntimeCallCounterId::kIndexedEnumeratorCallback); + return CallPropertyEnumerator(interceptor); } bool PropertyCallbackArguments::PerformSideEffectCheck(Isolate* isolate, |