From 26a029d407be480d791972afb5975cf62c9360a6 Mon Sep 17 00:00:00 2001 From: Daniel Baumann Date: Fri, 19 Apr 2024 02:47:55 +0200 Subject: Adding upstream version 124.0.1. Signed-off-by: Daniel Baumann --- js/src/jit-test/tests/debug/breakpoint-await.js | 47 +++++++++++++++++++++++++ 1 file changed, 47 insertions(+) create mode 100644 js/src/jit-test/tests/debug/breakpoint-await.js (limited to 'js/src/jit-test/tests/debug/breakpoint-await.js') diff --git a/js/src/jit-test/tests/debug/breakpoint-await.js b/js/src/jit-test/tests/debug/breakpoint-await.js new file mode 100644 index 0000000000..9a648cab01 --- /dev/null +++ b/js/src/jit-test/tests/debug/breakpoint-await.js @@ -0,0 +1,47 @@ +if (typeof disassemble !== "function") { + quit(); +} + +const g = newGlobal({ newCompartment: true }); +g.eval(` +async function func() { + await 10; +} +async function * func2() { + await 10; +} +var func_dis = disassemble(func); +var func2_dis = disassemble(func2); +`); +const d = new Debugger(); +const dg = d.addDebuggee(g); +const script = dg.makeDebuggeeValue(g.func).script; +const script2 = dg.makeDebuggeeValue(g.func2).script; + +function getOffsets(code) { + let CanSkipAwait_offset = -1; + let Await_offset = -1; + let m; + for (const line of code.split("\n")) { + m = line.match(/(\d+):\s+\d+\s+CanSkipAwait\s/); + if (m) { + CanSkipAwait_offset = parseInt(m[1], 10); + } + + m = line.match(/(\d+):\s+\d+\s+Await\s/); + if (m) { + Await_offset = parseInt(m[1], 10); + } + } + assertEq(CanSkipAwait_offset !== -1, true); + assertEq(Await_offset !== -1, true); + return [CanSkipAwait_offset, Await_offset]; +} + +let [CanSkipAwait_offset, Await_offset] = getOffsets(g.func_dis); +assertEq(script.getEffectfulOffsets().includes(CanSkipAwait_offset), true); +assertEq(script.getEffectfulOffsets().includes(Await_offset), true); + +[CanSkipAwait_offset, Await_offset] = getOffsets(g.func2_dis); +assertEq(script2.getEffectfulOffsets().includes(CanSkipAwait_offset), true); +assertEq(script2.getEffectfulOffsets().includes(Await_offset), true); -- cgit v1.2.3