aboutsummaryrefslogtreecommitdiff
path: root/src/bun.js/javascript.zig
diff options
context:
space:
mode:
authorGravatar Dylan Conway <35280289+dylan-conway@users.noreply.github.com> 2022-11-09 00:37:57 -0800
committerGravatar GitHub <noreply@github.com> 2022-11-09 00:37:57 -0800
commit047a8d3f0d39118ded97f693d4e4a7cb23e8c6a4 (patch)
tree47ed7e03743f2ca060c9c99b64d8ebb91b8118f2 /src/bun.js/javascript.zig
parent2c4777f579041d86b20e78ba6f519863ad3a6a13 (diff)
downloadbun-047a8d3f0d39118ded97f693d4e4a7cb23e8c6a4.tar.gz
bun-047a8d3f0d39118ded97f693d4e4a7cb23e8c6a4.tar.zst
bun-047a8d3f0d39118ded97f693d4e4a7cb23e8c6a4.zip
Error.captureStackTrace implementation (#1476)
* capture stack trace formatting, tests * fix callsite methods, stack formatting or undefined * isNative, tests for callsite methods * Update src/bun.js/bindings/ZigGlobalObject.cpp * Update src/bun.js/bindings/ZigGlobalObject.cpp * template and macros for visitchildren * static strings, handle infinity and clamp stacktracelimit Co-authored-by: Jarred Sumner <jarred@jarredsumner.com>
Diffstat (limited to 'src/bun.js/javascript.zig')
-rw-r--r--src/bun.js/javascript.zig24
1 files changed, 24 insertions, 0 deletions
diff --git a/src/bun.js/javascript.zig b/src/bun.js/javascript.zig
index 1fd6783be..8768b3180 100644
--- a/src/bun.js/javascript.zig
+++ b/src/bun.js/javascript.zig
@@ -1551,6 +1551,25 @@ pub const VirtualMachine = struct {
}
}
+ pub export fn Bun__remapStackFramePositions(globalObject: *JSC.JSGlobalObject, frames: [*]JSC.ZigStackFrame, frames_count: usize) void {
+ globalObject.bunVM().remapStackFramePositions(frames, frames_count);
+ }
+
+ pub fn remapStackFramePositions(this: *VirtualMachine, frames: [*]JSC.ZigStackFrame, frames_count: usize) void {
+ var i: usize = 0;
+ while (i < frames_count) : (i += 1) {
+ if (frames[i].position.isInvalid()) continue;
+ if (this.source_mappings.resolveMapping(
+ frames[i].source_url.slice(),
+ @maximum(frames[i].position.line, 0),
+ @maximum(frames[i].position.column_start, 0),
+ )) |mapping| {
+ frames[i].position.line = mapping.original.lines;
+ frames[i].position.column_start = mapping.original.columns;
+ }
+ }
+ }
+
pub fn remapZigException(
this: *VirtualMachine,
exception: *ZigException,
@@ -1831,6 +1850,11 @@ pub const VirtualMachine = struct {
try writer.print(comptime Output.prettyFmt("<r><red>error<r>\n", allow_ansi_color), .{});
}
}
+
+ comptime {
+ if (!JSC.is_bindgen)
+ _ = Bun__remapStackFramePositions;
+ }
};
const GetterFn = fn (