Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(578)

Unified Diff: test/mjsunit/debug-liveedit-patch-positions-replace.js

Issue 2503293002: [debug-wrapper] LiveEdit, frame.restart(), breakpoints (Closed)
Patch Set: Address comments Created 4 years, 1 month ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « test/mjsunit/debug-liveedit-newsource.js ('k') | test/mjsunit/debug-liveedit-restart-frame.js » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: test/mjsunit/debug-liveedit-patch-positions-replace.js
diff --git a/test/mjsunit/debug-liveedit-patch-positions-replace.js b/test/mjsunit/debug-liveedit-patch-positions-replace.js
deleted file mode 100644
index 09b1b48e628785deb37d5578df963a93c27eba48..0000000000000000000000000000000000000000
--- a/test/mjsunit/debug-liveedit-patch-positions-replace.js
+++ /dev/null
@@ -1,83 +0,0 @@
-// Copyright 2010 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Flags: --expose-debug-as debug
-// Get the Debug object exposed from the debug context global object.
-
-// Scenario: a function is being changed, which causes enclosing function to
-// have its positions patched; position changing requires new instance of Code
-// object to be introduced; the function happens to be on stack at this moment;
-// later it will resume over new instance of Code.
-// Before the change 2 rinfo are 22 characters away from each other. After the
-// change they are 114 characters away from each other. New instance of Code is
-// required when those numbers cross the border value of 64 (in any direction).
-
-Debug = debug.Debug
-
-eval(
- "function BeingReplaced(changer, opt_x, opt_y) {\n" +
- " changer();\n" +
- " var res = new Object();\n" +
- " if (opt_x) { res.y = opt_y; }\n" +
- " res.a = (function() {})();\n" +
- " return res.a;\n" +
- "}"
-);
-
-var script = Debug.findScript(BeingReplaced);
-
-var orig_body = "{}";
-var patch_pos = script.source.indexOf(orig_body);
-// Line long enough to change rinfo encoding.
-var new_body_patch = "{return 'Capybara';" +
- " " +
- "}";
-
-var change_log = new Array();
-function Changer() {
- Debug.LiveEdit.TestApi.ApplySingleChunkPatch(script, patch_pos, orig_body.length, new_body_patch, change_log);
- print("Change log: " + JSON.stringify(change_log) + "\n");
-}
-
-function NoOp() {
-}
-
-function CallM(changer) {
- // We expect call IC here after several function runs.
- return BeingReplaced(changer);
-}
-
-// This several iterations should cause call IC for BeingReplaced call. This IC
-// will keep reference to code object of BeingRepalced function. This reference
-// should also be patched. Unfortunately, this is a manually checked fact (from
-// debugger or debug print) and doesn't work as an automatic test.
-CallM(NoOp);
-CallM(NoOp);
-CallM(NoOp);
-
-var res = CallM(Changer);
-assertEquals("Capybara", res);
« no previous file with comments | « test/mjsunit/debug-liveedit-newsource.js ('k') | test/mjsunit/debug-liveedit-restart-frame.js » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698