aboutsummaryrefslogtreecommitdiff
path: root/src/bun.js/bindings/ErrorStackTrace.cpp
diff options
context:
space:
mode:
authorGravatar Dylan Conway <35280289+dylan-conway@users.noreply.github.com> 2023-09-16 00:44:07 -0700
committerGravatar GitHub <noreply@github.com> 2023-09-16 00:44:07 -0700
commitb651b16fdd959b349c09ec5d5056229dcd12c86b (patch)
treedcc65ee9608ecdd316d48b3994ff41b2e215b760 /src/bun.js/bindings/ErrorStackTrace.cpp
parentcaa192480cf81460e6ff4bc8311366d9bf862971 (diff)
downloadbun-b651b16fdd959b349c09ec5d5056229dcd12c86b.tar.gz
bun-b651b16fdd959b349c09ec5d5056229dcd12c86b.tar.zst
bun-b651b16fdd959b349c09ec5d5056229dcd12c86b.zip
webkit upgrade (#5535)
* update files * Update cold-jsc-start.cpp * bump webkit
Diffstat (limited to 'src/bun.js/bindings/ErrorStackTrace.cpp')
-rw-r--r--src/bun.js/bindings/ErrorStackTrace.cpp16
1 files changed, 13 insertions, 3 deletions
diff --git a/src/bun.js/bindings/ErrorStackTrace.cpp b/src/bun.js/bindings/ErrorStackTrace.cpp
index a8c5b65d8..be20f7737 100644
--- a/src/bun.js/bindings/ErrorStackTrace.cpp
+++ b/src/bun.js/bindings/ErrorStackTrace.cpp
@@ -12,6 +12,7 @@
#include <JavaScriptCore/JSCInlines.h>
#include <JavaScriptCore/ErrorInstance.h>
#include <JavaScriptCore/StackVisitor.h>
+#include <JavaScriptCore/NativeCallee.h>
#include <wtf/IterationStatus.h>
using namespace JSC;
@@ -139,9 +140,18 @@ JSCStackFrame::JSCStackFrame(JSC::VM& vm, JSC::StackVisitor& visitor)
m_callFrame = visitor->callFrame();
// Based on JSC's GetStackTraceFunctor (Interpreter.cpp)
- if (visitor->isWasmFrame()) {
- m_wasmFunctionIndexOrName = visitor->wasmFunctionIndexOrName();
- m_isWasmFrame = true;
+ if (visitor->isNativeCalleeFrame()) {
+ auto* nativeCallee = visitor->callee().asNativeCallee();
+ switch (nativeCallee->category()) {
+ case NativeCallee::Category::Wasm: {
+ m_wasmFunctionIndexOrName = visitor->wasmFunctionIndexOrName();
+ m_isWasmFrame = true;
+ break;
+ }
+ case NativeCallee::Category::InlineCache: {
+ break;
+ }
+ }
} else if (!!visitor->codeBlock() && !visitor->codeBlock()->unlinkedCodeBlock()->isBuiltinFunction()) {
m_codeBlock = visitor->codeBlock();
m_bytecodeIndex = visitor->bytecodeIndex();