1 <script src="../../http/tests/inspector/inspector-test.js"></script>
2 <script src="../../http/tests/inspector/debugger-test.js"></script>
6 function makeClosure() {
7 var v1, v2, v3, v4, v5, v6, v7, v8, v9, v10; // Make a lot of potentially captured variables.
9 var x = v1; // But only capture one in optimizing compiles.
14 for (var i = 0; i < 100; ++i) {
15 closures.push(makeClosure());
18 closures[0](); // Force compilation.
19 function testFunction() {
20 closures[0](); // Force recompilation.
22 // At this point, closures[0] captured 1 variable but thinks it captured 10.
23 // If so, stopping at a breakpoint should make it crash.
27 InspectorTest.startDebuggerTest(step1);
31 InspectorTest.showScriptSource("debugger-activation-crash2.html", step2);
34 function step2(sourceFrame)
36 InspectorTest.addResult("Script source was shown.");
37 InspectorTest.setBreakpoint(sourceFrame, 8, "", true);
38 InspectorTest.runTestFunctionAndWaitUntilPaused(step3);
41 function step3(callFrames)
43 InspectorTest.captureStackTrace(callFrames, null, { dropLineNumbers: true });
44 InspectorTest.completeDebuggerTest();
48 window.onload = runTest;
52 Tests for a crash when paused at a breakpoint caused by inaccurate Activation records.
53 <a href="https://bugs.webkit.org/show_bug.cgi?id=57120">Bug 57120</a>