From 3d5573921e732c4a63794e5d25f5953d0a40ff0e Mon Sep 17 00:00:00 2001 From: Jarred Sumner Date: Wed, 28 Jun 2023 13:53:09 -0700 Subject: Error.prototype.stack gets sourcemapped stacktraces and introduce Error.appendStackTrace (#3441) * Fix potential crash when reading sourcemapped stack traces * Format & sourcemap Error.prototype.stack * prevent double sourcemapping * Introduce Error.appendStackTrace * Fix source url * hide private stack traces in non-debug builds * fixes #3443 * Bump WebKit * Fix test failure in vm.test * Support new() & add test --------- Co-authored-by: Jarred Sumner <709451+Jarred-Sumner@users.noreply.github.com> --- src/bun.js/javascript.zig | 22 ++++++++++++---------- 1 file changed, 12 insertions(+), 10 deletions(-) (limited to 'src/bun.js/javascript.zig') 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; } } } -- cgit v1.2.3 ave/bundler-string-length Unnamed repository; edit this file 'description' to name the repository.
aboutsummaryrefslogtreecommitdiff
path: root/integration/bunjs-only-snippets/ffi.test.js (unfollow)
AgeCommit message (Expand)AuthorFilesLines
2022-04-30Bump WebKitGravatar Jarred Sumner 1-0/+0
2022-04-30cleanupGravatar Jarred Sumner 5-2/+132
2022-04-30[bun.js] Implement `Buffer.from` and `Buffer.copy`Gravatar Jarred Sumner 12-520/+952
2022-04-30[bun ffi] Fix missing `"void"`Gravatar Jarred Sumner 1-0/+1
2022-04-30[bun ffi] Remove dependency on libtcc1.a and improve error messagesGravatar Jarred Sumner 3-36/+139
2022-04-30wipGravatar Jarred Sumner 9-272/+883
2022-04-30Update ffi-test.cGravatar Jarred Sumner 1-24/+35
2022-04-30aGravatar Jarred Sumner 1-0/+27
2022-04-29[bun:ffi] it worksGravatar Jarred Sumner 15-221/+1277
2022-04-29[bun.js] Implement unsafe.{`arrayBufferToPtr`, `arrayBufferFromPtr`, `bufferF...Gravatar Jarred Sumner 6-82/+187
2022-04-29[bun ffi] Support pointersGravatar Jarred Sumner 4-238/+179
2022-04-29[bun ffi] support `i32`, `i8`, `u8`, `u16`, `i16`, `u32`, `bool`Gravatar Jarred Sumner 5-159/+260
2022-04-29more tests for bufferGravatar Jarred Sumner 1-1/+165
2022-04-29add more to buffer implementationGravatar Jarred Sumner 14-157/+783
2022-04-29ffi test codeGravatar Jarred Sumner 2-26/+247
2022-04-29wipGravatar Jarred Sumner 10-16/+312
2022-04-29commit moreGravatar Jarred Sumner 3-0/+81