eval(1); // avoid global shape change when we call eval below
function q() {
  var x = 1;
  function f() {
    function g() { 
      var t=0;
      for (var i=0; i<3; i++)
        x = i;
      assertEq(x, 2);
      eval("var x = 3");
    };
    g();
    g();
    assertEq(x, 2);
  }
  f();
}
q();