| Index: test/mjsunit/debug-evaluate-closure.js
 | 
| diff --git a/test/mjsunit/debug-evaluate-closure.js b/test/mjsunit/debug-evaluate-closure.js
 | 
| index 541dec9d6dab28fdc8ec7bade515a21cb230dd7c..7e8fb91da7e4f23ac2c155432fb26db2dd9a64d4 100644
 | 
| --- a/test/mjsunit/debug-evaluate-closure.js
 | 
| +++ b/test/mjsunit/debug-evaluate-closure.js
 | 
| @@ -26,7 +26,6 @@
 | 
|  // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 | 
|  
 | 
|  // Flags: --expose-debug-as debug --allow-natives-syntax
 | 
| -// Flags: --debug-eval-readonly-locals
 | 
|  
 | 
|  Debug = debug.Debug;
 | 
|  var listened = false;
 | 
| @@ -35,18 +34,20 @@
 | 
|    if (event != Debug.DebugEvent.Break) return;
 | 
|    try {
 | 
|      assertEquals("goo", exec_state.frame(0).evaluate("goo").value());
 | 
| -    exec_state.frame(0).evaluate("goo = 'goo foo'");  // no effect
 | 
| +    exec_state.frame(0).evaluate("goo = 'goo foo'");
 | 
|      assertEquals("bar return", exec_state.frame(0).evaluate("bar()").value());
 | 
| -    assertEquals("inner bar", exec_state.frame(0).evaluate("inner").value());
 | 
| -    assertEquals("outer bar", exec_state.frame(0).evaluate("outer").value());
 | 
| +    // Check that calling bar() has no effect to context-allocated variables.
 | 
| +    // TODO(yangguo): reevaluate this if we no longer update context from copy.
 | 
| +    assertEquals("inner", exec_state.frame(0).evaluate("inner").value());
 | 
| +    assertEquals("outer", exec_state.frame(0).evaluate("outer").value());
 | 
|  
 | 
|      assertEquals("baz inner", exec_state.frame(0).evaluate("baz").value());
 | 
|      assertEquals("baz outer", exec_state.frame(1).evaluate("baz").value());
 | 
|      exec_state.frame(0).evaluate("w = 'w foo'");
 | 
| -    exec_state.frame(0).evaluate("inner = 'inner foo'");  // no effect
 | 
| -    exec_state.frame(0).evaluate("outer = 'outer foo'");  // has effect
 | 
| -    exec_state.frame(0).evaluate("baz = 'baz inner foo'");  // no effect
 | 
| -    exec_state.frame(1).evaluate("baz = 'baz outer foo'");  // has effect
 | 
| +    exec_state.frame(0).evaluate("inner = 'inner foo'");
 | 
| +    exec_state.frame(0).evaluate("outer = 'outer foo'");
 | 
| +    exec_state.frame(0).evaluate("baz = 'baz inner foo'");
 | 
| +    exec_state.frame(1).evaluate("baz = 'baz outer foo'");
 | 
|      listened = true;
 | 
|    } catch (e) {
 | 
|      print(e);
 | 
| @@ -68,9 +69,9 @@
 | 
|  
 | 
|    with (withv) {
 | 
|      var bar = function bar() {
 | 
| -      assertEquals("goo", goo);
 | 
| -      inner = "inner bar";
 | 
| -      outer = "outer bar";
 | 
| +      assertEquals("goo foo", goo);
 | 
| +      inner = "inner bar";  // this has no effect, when called from debug-eval
 | 
| +      outer = "outer bar";  // this has no effect, when called from debug-eval
 | 
|        v = "v bar";
 | 
|        return "bar return";
 | 
|      };
 | 
| @@ -80,8 +81,8 @@
 | 
|      debugger;
 | 
|    }
 | 
|  
 | 
| -  assertEquals("inner bar", inner);
 | 
| -  assertEquals("baz inner", baz);
 | 
| +  assertEquals("inner foo", inner);
 | 
| +  assertEquals("baz inner foo", baz);
 | 
|    assertEquals("w foo", withw.w);
 | 
|    assertEquals("v bar", withv.v);
 | 
|  }
 | 
| 
 |