aboutsummaryrefslogtreecommitdiff
path: root/deps/v8/src/builtins/builtins-callsite.cc
diff options
context:
space:
mode:
Diffstat (limited to 'deps/v8/src/builtins/builtins-callsite.cc')
-rw-r--r--deps/v8/src/builtins/builtins-callsite.cc13
1 files changed, 10 insertions, 3 deletions
diff --git a/deps/v8/src/builtins/builtins-callsite.cc b/deps/v8/src/builtins/builtins-callsite.cc
index d98eba4eeb..d1082291ef 100644
--- a/deps/v8/src/builtins/builtins-callsite.cc
+++ b/deps/v8/src/builtins/builtins-callsite.cc
@@ -8,6 +8,7 @@
#include "src/logging/counters.h"
#include "src/objects/frame-array-inl.h"
#include "src/objects/objects-inl.h"
+#include "src/objects/stack-frame-info.h"
namespace v8 {
namespace internal {
@@ -76,6 +77,9 @@ BUILTIN(CallSitePrototypeGetFunction) {
StackFrameBase* frame = it.Frame();
if (frame->IsStrict()) return ReadOnlyRoots(isolate).undefined_value();
+
+ isolate->CountUsage(v8::Isolate::kCallSiteAPIGetFunctionSloppyCall);
+
return *frame->GetFunction();
}
@@ -135,6 +139,9 @@ BUILTIN(CallSitePrototypeGetThis) {
StackFrameBase* frame = it.Frame();
if (frame->IsStrict()) return ReadOnlyRoots(isolate).undefined_value();
+
+ isolate->CountUsage(v8::Isolate::kCallSiteAPIGetThisSloppyCall);
+
return *frame->GetReceiver();
}
@@ -197,9 +204,9 @@ BUILTIN(CallSitePrototypeIsToplevel) {
BUILTIN(CallSitePrototypeToString) {
HandleScope scope(isolate);
CHECK_CALLSITE(recv, "toString");
- FrameArrayIterator it(isolate, GetFrameArray(isolate, recv),
- GetFrameIndex(isolate, recv));
- RETURN_RESULT_OR_FAILURE(isolate, it.Frame()->ToString());
+ Handle<StackTraceFrame> frame = isolate->factory()->NewStackTraceFrame(
+ GetFrameArray(isolate, recv), GetFrameIndex(isolate, recv));
+ RETURN_RESULT_OR_FAILURE(isolate, SerializeStackTraceFrame(isolate, frame));
}
#undef CHECK_CALLSITE