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>