diff options
Diffstat (limited to 'deps/v8/test/mjsunit/debug-materialized.js')
-rw-r--r-- | deps/v8/test/mjsunit/debug-materialized.js | 41 |
1 files changed, 41 insertions, 0 deletions
diff --git a/deps/v8/test/mjsunit/debug-materialized.js b/deps/v8/test/mjsunit/debug-materialized.js new file mode 100644 index 0000000000..0b01b78df4 --- /dev/null +++ b/deps/v8/test/mjsunit/debug-materialized.js @@ -0,0 +1,41 @@ +// Copyright 2015 the V8 project authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +// Flags: --allow-natives-syntax --expose-debug-as debug + +function dbg(x) { + debugger; +} + +function foo() { + arguments[0]; + dbg(); +} + +function bar() { + var t = { a : 1 }; + dbg(); + return t.a; +} + +foo(1); +foo(1); +bar(1); +bar(1); +%OptimizeFunctionOnNextCall(foo); +%OptimizeFunctionOnNextCall(bar); + +var Debug = debug.Debug; +Debug.setListener(function(event, exec_state, event_data, data) { + if (event != Debug.DebugEvent.Break) return; + for (var i = 0; i < exec_state.frameCount(); i++) { + var f = exec_state.frame(i); + for (var j = 0; j < f.localCount(); j++) { + print("'" + f.localName(j) + "' = " + f.localValue(j).value()); + } + } +}); + +foo(1); +bar(1); |