| OLD | NEW | 
|---|
|  | (Empty) | 
| 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 |  | 
| 3 // found in the LICENSE file. |  | 
| 4 |  | 
| 5 // Flags: --harmony-async-await |  | 
| 6 |  | 
| 7 var Debug = debug.Debug; |  | 
| 8 var step_count = 0; |  | 
| 9 |  | 
| 10 function listener(event, execState, eventData, data) { |  | 
| 11   if (event != Debug.DebugEvent.Break) return; |  | 
| 12   try { |  | 
| 13     var line = execState.frame(0).sourceLineText(); |  | 
| 14     print(line); |  | 
| 15     var [match, expected_count, step] = /\/\/ B(\d) (\w+)$/.exec(line); |  | 
| 16     assertEquals(step_count++, parseInt(expected_count)); |  | 
| 17     if (step != "Continue") execState.prepareStep(Debug.StepAction[step]); |  | 
| 18   } catch (e) { |  | 
| 19     print(e, e.stack); |  | 
| 20     quit(1); |  | 
| 21   } |  | 
| 22 } |  | 
| 23 |  | 
| 24 Debug.setListener(listener); |  | 
| 25 |  | 
| 26 var late_resolve; |  | 
| 27 |  | 
| 28 function g() { |  | 
| 29   return new Promise( // B3 StepOut |  | 
| 30     function(res, rej) { |  | 
| 31       late_resolve = res; |  | 
| 32     } |  | 
| 33   ); |  | 
| 34 } |  | 
| 35 |  | 
| 36 async function f() { |  | 
| 37   var a = 1; |  | 
| 38   debugger;        // B0 StepNext |  | 
| 39   a +=             // B1 StepNext |  | 
| 40        await       // B4 StepOut |  | 
| 41              g();  // B2 StepIn |  | 
| 42   return a; |  | 
| 43 } |  | 
| 44 |  | 
| 45 f(); |  | 
| 46 |  | 
| 47 late_resolve(3);   // B5 Continue |  | 
| 48 |  | 
| 49 %RunMicrotasks(); |  | 
| 50 |  | 
| 51 assertEquals(6, step_count); |  | 
| OLD | NEW | 
|---|