aboutsummaryrefslogtreecommitdiff
path: root/src/bun.js
diff options
context:
space:
mode:
authorGravatar Jarred Sumner <709451+Jarred-Sumner@users.noreply.github.com> 2023-06-28 21:56:45 -0700
committerGravatar Jarred Sumner <709451+Jarred-Sumner@users.noreply.github.com> 2023-06-28 21:56:45 -0700
commitc6f6db95ffbbf13a68939f7c3de544b1285e8929 (patch)
tree87d12a40ffc560c97e09a55a3a83f196fbc30287 /src/bun.js
parent8b2c72300c49b1b52ff40c7a927e1d7ddcb4e7a9 (diff)
downloadbun-c6f6db95ffbbf13a68939f7c3de544b1285e8929.tar.gz
bun-c6f6db95ffbbf13a68939f7c3de544b1285e8929.tar.zst
bun-c6f6db95ffbbf13a68939f7c3de544b1285e8929.zip
Ref the strings
Diffstat (limited to 'src/bun.js')
-rw-r--r--src/bun.js/bindings/bindings.cpp11
1 files changed, 9 insertions, 2 deletions
diff --git a/src/bun.js/bindings/bindings.cpp b/src/bun.js/bindings/bindings.cpp
index 141215ebe..be3408555 100644
--- a/src/bun.js/bindings/bindings.cpp
+++ b/src/bun.js/bindings/bindings.cpp
@@ -3303,7 +3303,11 @@ bool JSC__JSValue__stringIncludes(JSC__JSValue value, JSC__JSGlobalObject* globa
static void populateStackFrameMetadata(JSC::VM& vm, const JSC::StackFrame* stackFrame, ZigStackFrame* frame)
{
- frame->source_url = Bun::toString(stackFrame->sourceURL(vm));
+ String str = stackFrame->sourceURL(vm);
+ if (!str.isEmpty())
+ str.impl()->ref();
+
+ frame->source_url = Bun::toString(str);
if (stackFrame->isWasmFrame()) {
frame->code_type = ZigStackFrameCodeWasm;
@@ -3340,7 +3344,10 @@ static void populateStackFrameMetadata(JSC::VM& vm, const JSC::StackFrame* stack
JSC::JSObject* callee = JSC::jsCast<JSC::JSObject*>(calleeCell);
- frame->function_name = Bun::toString(JSC::getCalculatedDisplayName(vm, callee));
+ String displayName = JSC::getCalculatedDisplayName(vm, callee);
+ if (!displayName.isEmpty())
+ displayName.impl()->ref();
+ frame->function_name = Bun::toString(displayName);
}
// Based on
// https://github.com/mceSystems/node-jsc/blob/master/deps/jscshim/src/shim/JSCStackTrace.cpp#L298