aboutsummaryrefslogtreecommitdiff
path: root/src/bun.js/javascript.zig
diff options
context:
space:
mode:
Diffstat (limited to 'src/bun.js/javascript.zig')
-rw-r--r--src/bun.js/javascript.zig22
1 files changed, 12 insertions, 10 deletions
diff --git a/src/bun.js/javascript.zig b/src/bun.js/javascript.zig
index cb1a50f1d..5c58eff60 100644
--- a/src/bun.js/javascript.zig
+++ b/src/bun.js/javascript.zig
@@ -1981,19 +1981,21 @@ pub const VirtualMachine = struct {
}
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;
+ for (frames[0..frames_count]) |*frame| {
+ if (frame.position.isInvalid() or frame.remapped) continue;
+ var sourceURL = frame.source_url.toSlice(bun.default_allocator);
+ defer sourceURL.deinit();
+
if (this.source_mappings.resolveMapping(
- frames[i].source_url.slice(),
- @max(frames[i].position.line, 0),
- @max(frames[i].position.column_start, 0),
+ sourceURL.slice(),
+ @max(frame.position.line, 0),
+ @max(frame.position.column_start, 0),
)) |mapping| {
- frames[i].position.line = mapping.original.lines;
- frames[i].position.column_start = mapping.original.columns;
- frames[i].remapped = true;
+ frame.position.line = mapping.original.lines;
+ frame.position.column_start = mapping.original.columns;
+ frame.remapped = true;
} else {
- frames[i].remapped = true;
+ frame.remapped = true;
}
}
}