146a2a51ad190697e0f62c3060ce02a9de5820a07yangguo@chromium.org// Copyright 2013 the V8 project authors. All rights reserved.
20511e24c6ebf94594a7e03bdcd58157ac2971d69erik.corry@gmail.com// Redistribution and use in source and binary forms, with or without
30511e24c6ebf94594a7e03bdcd58157ac2971d69erik.corry@gmail.com// modification, are permitted provided that the following conditions are
40511e24c6ebf94594a7e03bdcd58157ac2971d69erik.corry@gmail.com// met:
50511e24c6ebf94594a7e03bdcd58157ac2971d69erik.corry@gmail.com//
60511e24c6ebf94594a7e03bdcd58157ac2971d69erik.corry@gmail.com//     * Redistributions of source code must retain the above copyright
70511e24c6ebf94594a7e03bdcd58157ac2971d69erik.corry@gmail.com//       notice, this list of conditions and the following disclaimer.
80511e24c6ebf94594a7e03bdcd58157ac2971d69erik.corry@gmail.com//     * Redistributions in binary form must reproduce the above
90511e24c6ebf94594a7e03bdcd58157ac2971d69erik.corry@gmail.com//       copyright notice, this list of conditions and the following
100511e24c6ebf94594a7e03bdcd58157ac2971d69erik.corry@gmail.com//       disclaimer in the documentation and/or other materials provided
110511e24c6ebf94594a7e03bdcd58157ac2971d69erik.corry@gmail.com//       with the distribution.
120511e24c6ebf94594a7e03bdcd58157ac2971d69erik.corry@gmail.com//     * Neither the name of Google Inc. nor the names of its
130511e24c6ebf94594a7e03bdcd58157ac2971d69erik.corry@gmail.com//       contributors may be used to endorse or promote products derived
140511e24c6ebf94594a7e03bdcd58157ac2971d69erik.corry@gmail.com//       from this software without specific prior written permission.
150511e24c6ebf94594a7e03bdcd58157ac2971d69erik.corry@gmail.com//
160511e24c6ebf94594a7e03bdcd58157ac2971d69erik.corry@gmail.com// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
170511e24c6ebf94594a7e03bdcd58157ac2971d69erik.corry@gmail.com// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
180511e24c6ebf94594a7e03bdcd58157ac2971d69erik.corry@gmail.com// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
190511e24c6ebf94594a7e03bdcd58157ac2971d69erik.corry@gmail.com// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
200511e24c6ebf94594a7e03bdcd58157ac2971d69erik.corry@gmail.com// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
210511e24c6ebf94594a7e03bdcd58157ac2971d69erik.corry@gmail.com// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
220511e24c6ebf94594a7e03bdcd58157ac2971d69erik.corry@gmail.com// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
230511e24c6ebf94594a7e03bdcd58157ac2971d69erik.corry@gmail.com// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
240511e24c6ebf94594a7e03bdcd58157ac2971d69erik.corry@gmail.com// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
250511e24c6ebf94594a7e03bdcd58157ac2971d69erik.corry@gmail.com// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
260511e24c6ebf94594a7e03bdcd58157ac2971d69erik.corry@gmail.com// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
270511e24c6ebf94594a7e03bdcd58157ac2971d69erik.corry@gmail.com
2846a2a51ad190697e0f62c3060ce02a9de5820a07yangguo@chromium.org// Flags: --expose-debug-as debug
290511e24c6ebf94594a7e03bdcd58157ac2971d69erik.corry@gmail.com
3046a2a51ad190697e0f62c3060ce02a9de5820a07yangguo@chromium.orgDebug = debug.Debug;
310511e24c6ebf94594a7e03bdcd58157ac2971d69erik.corry@gmail.com
3246a2a51ad190697e0f62c3060ce02a9de5820a07yangguo@chromium.orgfunction listener(event, exec_state, event_data, data) {
3346a2a51ad190697e0f62c3060ce02a9de5820a07yangguo@chromium.org  if (event == Debug.DebugEvent.Break) {
3446a2a51ad190697e0f62c3060ce02a9de5820a07yangguo@chromium.org    exec_state.prepareStep(Debug.StepAction.StepNext, 10);
350511e24c6ebf94594a7e03bdcd58157ac2971d69erik.corry@gmail.com  }
360511e24c6ebf94594a7e03bdcd58157ac2971d69erik.corry@gmail.com};
370511e24c6ebf94594a7e03bdcd58157ac2971d69erik.corry@gmail.com
3846a2a51ad190697e0f62c3060ce02a9de5820a07yangguo@chromium.orgDebug.setListener(listener);
390511e24c6ebf94594a7e03bdcd58157ac2971d69erik.corry@gmail.com
4046a2a51ad190697e0f62c3060ce02a9de5820a07yangguo@chromium.orgvar statement = "";
4146a2a51ad190697e0f62c3060ce02a9de5820a07yangguo@chromium.orgfor (var i = 0; i < 1024; i++) statement += "z";
4246a2a51ad190697e0f62c3060ce02a9de5820a07yangguo@chromium.orgstatement = 'with(0)' + statement + '=function foo(){}';
430511e24c6ebf94594a7e03bdcd58157ac2971d69erik.corry@gmail.com
4446a2a51ad190697e0f62c3060ce02a9de5820a07yangguo@chromium.orgdebugger;
4546a2a51ad190697e0f62c3060ce02a9de5820a07yangguo@chromium.orgeval(statement);
46