summaryrefslogtreecommitdiff
path: root/deps/v8/src/api-arguments.cc
diff options
context:
space:
mode:
authorMichaël Zasso <targos@protonmail.com>2018-03-07 08:54:53 +0100
committerMichaël Zasso <targos@protonmail.com>2018-03-07 16:48:52 +0100
commit88786fecff336342a56e6f2e7ff3b286be716e47 (patch)
tree92e6ba5b8ac8dae1a058988d20c9d27bfa654390 /deps/v8/src/api-arguments.cc
parent4e86f9b5ab83cbabf43839385bf383e6a7ef7d19 (diff)
downloadandroid-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.cc32
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,