Index: test/mjsunit/regress/regress-crbug-323936.js |
diff --git a/test/mjsunit/regress/regress-crbug-323936.js b/test/mjsunit/regress/regress-crbug-323936.js |
index d896eadcc4b7864c7b3acec4b5128a69d38b16ba..c1d0f7d9311f732d62ac6f769153a04254c83bc5 100644 |
--- a/test/mjsunit/regress/regress-crbug-323936.js |
+++ b/test/mjsunit/regress/regress-crbug-323936.js |
@@ -2,7 +2,7 @@ |
// Use of this source code is governed by a BSD-style license that can be |
// found in the LICENSE file. |
-// Flags: --expose-debug-as debug |
+// Flags: --expose-debug-as debug --debug-eval-readonly-locals |
Debug = debug.Debug; |
@@ -14,11 +14,11 @@ function listener(event, exec_state, event_data, data) { |
try { |
if (step == 0) { |
assertEquals("error", exec_state.frame(0).evaluate("e").value()); |
- exec_state.frame(0).evaluate("e = 'foo'"); |
- exec_state.frame(0).evaluate("x = 'modified'"); |
+ exec_state.frame(0).evaluate("write_0('foo')"); |
+ exec_state.frame(0).evaluate("write_1('modified')"); |
} else { |
- assertEquals("argument", exec_state.frame(0).evaluate("e").value()); |
- exec_state.frame(0).evaluate("e = 'bar'"); |
+ assertEquals("foo", exec_state.frame(0).evaluate("e").value()); |
+ exec_state.frame(0).evaluate("write_2('bar')"); |
} |
step++; |
} catch (e) { |
@@ -33,9 +33,13 @@ function f(e, x) { |
try { |
throw "error"; |
} catch(e) { |
+ // 'e' and 'x' bind to the argument due to hoisting |
+ function write_0(v) { e = v } |
+ function write_1(v) { x = v } |
debugger; |
- assertEquals("foo", e); |
+ assertEquals("error", e); |
} |
+ function write_2(v) { e = v } |
debugger; |
assertEquals("bar", e); |
assertEquals("modified", x); |