blob: be316ad6f49280d5f931f38c5d28319cc702725b [file] [log] [blame]
Ben Murdochda12d292016-06-02 14:46:10 +01001// 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: --allow-natives-syntax --expose-debug-as debug
6
7// Test that PC in optimized frame would correctly translate into
8// unoptimized frame when retrieving frame information in the debugger.
9
10function f() {
11 debugger;
12}
13
14function g(x) {
15 return f();
16}
17
18var break_count = 0;
19
20function listener(event, exec_state, event_data, data) {
21 if (event != Debug.DebugEvent.Break) return;
22 assertEquals(14, exec_state.frame(1).sourceLine());
23 assertEquals(9, exec_state.frame(1).sourceColumn());
24 break_count++;
25}
26
27g();
28g();
29%OptimizeFunctionOnNextCall(g);
30
31var Debug = debug.Debug;
32Debug.setListener(listener);
33
34g();
35
36Debug.setListener(null);
37
38assertEquals(1, break_count);