1// Copyright 2015 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: --expose-debug-as debug --allow-natives-syntax 6 7var Debug = debug.Debug; 8 9var exception = null; 10 11function listener(event, exec_state, event_data, data) { 12 if (event != Debug.DebugEvent.Break) return; 13 try { 14 var scopes = exec_state.frame().allScopes(); 15 assertEquals(3, scopes.length); 16 assertEquals(debug.ScopeType.Local, scopes[0].scopeType()); 17 assertEquals(debug.ScopeType.Script, scopes[1].scopeType()); 18 assertEquals(debug.ScopeType.Global, scopes[2].scopeType()); 19 } catch (e) { 20 exception = e; 21 } 22} 23 24function f() { 25 eval(''); 26 debugger; 27} 28 29f(); 30f(); 31 32%OptimizeFunctionOnNextCall(f); 33Debug.setListener(listener); 34 35f(); 36 37assertNull(exception); 38