mirror of
https://github.com/RGBCube/serenity
synced 2025-07-25 23:47:45 +00:00
LibJS: Add file & line number to bytecode VM stack traces :^)
This works by adding source start/end offset to every bytecode instruction. In the future we can make this more efficient by keeping a map of bytecode ranges to source ranges in the Executable instead, but let's just get traces working first. Co-Authored-By: Andrew Kaster <akaster@serenityos.org>
This commit is contained in:
parent
0b66656ca9
commit
1c06111cbd
16 changed files with 157 additions and 26 deletions
|
@ -3,15 +3,14 @@ const stackGetter = stackDescriptor.get;
|
|||
const stackSetter = stackDescriptor.set;
|
||||
|
||||
describe("getter - normal behavior", () => {
|
||||
test.xfail("basic functionality", () => {
|
||||
test("basic functionality", () => {
|
||||
const stackFrames = [
|
||||
/^ at .*Error \(.*\/Error\.prototype\.stack\.js:\d+:\d+\)$/,
|
||||
/^ at .+\/Error\/Error\.prototype\.stack\.js:\d+:\d+$/,
|
||||
/^ at test \(.+\/test-common.js:\d+:\d+\)$/,
|
||||
/^ at (.+\/test-common.js:\d+:\d+)/,
|
||||
/^ at .+\/Error\/Error\.prototype\.stack\.js:6:73$/,
|
||||
/^ at .+\/Error\/Error\.prototype\.stack\.js:6:9$/,
|
||||
/^ at describe \(.+\/test-common\.js:\d+:\d+\)$/,
|
||||
/^ at .+\/Error\/Error\.prototype\.stack\.js:5:38$/,
|
||||
/^ at .+\/Error\/Error\.prototype\.stack\.js:5:9$/,
|
||||
];
|
||||
const values = [
|
||||
{
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue