OLD | NEW |
1 // Copyright 2017 the V8 project authors. All rights reserved. | 1 // Copyright 2017 the V8 project authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 // Flags: --max-old-space-size=8 | 5 // Flags: --max-old-space-size=8 |
6 | 6 |
7 InspectorTest.log('Check pause on OOM'); | 7 let {session, contextGroup, Protocol} = InspectorTest.start('Check pause on OOM'
); |
8 | 8 |
9 InspectorTest.addScript(` | 9 contextGroup.addScript(` |
10 var arr = []; | 10 var arr = []; |
11 var stop = false; | 11 var stop = false; |
12 function generateGarbage() { | 12 function generateGarbage() { |
13 while(!stop) { | 13 while(!stop) { |
14 arr.push(42); | 14 arr.push(42); |
15 } | 15 } |
16 } | 16 } |
17 //# sourceURL=test.js`, 10, 26); | 17 //# sourceURL=test.js`, 10, 26); |
18 | 18 |
19 Protocol.Debugger.onPaused((message) => { | 19 Protocol.Debugger.onPaused((message) => { |
20 InspectorTest.log(`reason: ${message.params.reason}`); | 20 InspectorTest.log(`reason: ${message.params.reason}`); |
21 Protocol.Debugger.evaluateOnCallFrame({ | 21 Protocol.Debugger.evaluateOnCallFrame({ |
22 callFrameId: message.params.callFrames[0].callFrameId, | 22 callFrameId: message.params.callFrames[0].callFrameId, |
23 expression: 'arr = []; stop = true;' | 23 expression: 'arr = []; stop = true;' |
24 }).then(() => Protocol.Debugger.resume()); | 24 }).then(() => Protocol.Debugger.resume()); |
25 }); | 25 }); |
26 Protocol.Debugger.enable(); | 26 Protocol.Debugger.enable(); |
27 Protocol.Runtime.evaluate({ expression: 'generateGarbage()' }) | 27 Protocol.Runtime.evaluate({ expression: 'generateGarbage()' }) |
28 .then(InspectorTest.completeTest); | 28 .then(InspectorTest.completeTest); |
OLD | NEW |