OLD | NEW |
1 // Copyright 2016 the V8 project authors. All rights reserved. | 1 // Copyright 2016 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: --harmony-async-await --turbo | 5 // Flags: --turbo |
6 | 6 |
7 var Debug = debug.Debug; | 7 var Debug = debug.Debug; |
8 var step_count = 0; | 8 var step_count = 0; |
9 | 9 |
10 function listener(event, execState, eventData, data) { | 10 function listener(event, execState, eventData, data) { |
11 if (event != Debug.DebugEvent.Break) return; | 11 if (event != Debug.DebugEvent.Break) return; |
12 try { | 12 try { |
13 var line = execState.frame(0).sourceLineText(); | 13 var line = execState.frame(0).sourceLineText(); |
14 print(line); | 14 print(line); |
15 var [match, expected_count, step] = /\/\/ B(\d) (\w+)$/.exec(line); | 15 var [match, expected_count, step] = /\/\/ B(\d) (\w+)$/.exec(line); |
16 assertEquals(step_count++, parseInt(expected_count)); | 16 assertEquals(step_count++, parseInt(expected_count)); |
17 if (step != "Continue") execState.prepareStep(Debug.StepAction[step]); | 17 if (step != "Continue") execState.prepareStep(Debug.StepAction[step]); |
18 } catch (e) { | 18 } catch (e) { |
19 print(e, e.stack); | 19 print(e, e.stack); |
20 quit(1); | 20 quit(1); |
21 } | 21 } |
22 } | 22 } |
23 | 23 |
24 Debug.setListener(listener); | 24 Debug.setListener(listener); |
25 | 25 |
26 async function f() { | 26 async function f() { |
27 var a = 1; | 27 var a = 1; |
28 debugger; // B0 StepNext | 28 debugger; // B0 StepNext |
29 print(1); // B1 StepNext | 29 print(1); // B1 StepNext |
30 return a; // B2 StepNext | 30 return a; // B2 StepNext |
31 } // B3 Continue | 31 } // B3 Continue |
32 | 32 |
33 f(); | 33 f(); |
OLD | NEW |