Checks stepping over tail calls.

Running test: testStepOver
f (:2:14)
f (:3:22)
f (:3:22)
f (:3:22)
(anonymous) (:5:0)
function f(x) {
  if (x == 2) #debugger;
  if (x-- > 0) return f(x);

Debugger.stepOver called
f (:3:2)
f (:3:22)
f (:3:22)
f (:3:22)
(anonymous) (:5:0)
  if (x == 2) debugger;
  #if (x-- > 0) return f(x);
}

Debugger.stepOver called
f (:3:15)
f (:3:22)
f (:3:22)
f (:3:22)
(anonymous) (:5:0)
  if (x == 2) debugger;
  if (x-- > 0) #return f(x);
}

Debugger.stepOver called
f (:4:0)
f (:3:22)
f (:3:22)
f (:3:22)
(anonymous) (:5:0)
  if (x-- > 0) return f(x);
#}
f(5);

Debugger.stepOver called
f (:4:0)
f (:3:22)
f (:3:22)
(anonymous) (:5:0)
  if (x-- > 0) return f(x);
#}
f(5);

Debugger.stepOver called
f (:4:0)
f (:3:22)
(anonymous) (:5:0)
  if (x-- > 0) return f(x);
#}
f(5);

Debugger.stepOver called
f (:4:0)
(anonymous) (:5:0)
  if (x-- > 0) return f(x);
#}
f(5);

Debugger.stepOver called
(anonymous) (:5:5)
}
f(5);#


Debugger.resume called

Running test: testStepOut
f (:2:14)
f (:3:22)
f (:3:22)
f (:3:22)
(anonymous) (:5:0)
function f(x) {
  if (x == 2) #debugger;
  if (x-- > 0) return f(x);

Debugger.stepOut called
f (:4:0)
f (:3:22)
f (:3:22)
(anonymous) (:5:0)
  if (x-- > 0) return f(x);
#}
f(5);

Debugger.stepOut called
f (:4:0)
f (:3:22)
(anonymous) (:5:0)
  if (x-- > 0) return f(x);
#}
f(5);

Debugger.stepOut called
f (:4:0)
(anonymous) (:5:0)
  if (x-- > 0) return f(x);
#}
f(5);

Debugger.stepOut called
(anonymous) (:5:5)
}
f(5);#


Debugger.resume called

Running test: testStepOutFromReturn
f (:2:14)
f (:3:22)
f (:3:22)
f (:3:22)
(anonymous) (:5:0)
function f(x) {
  if (x == 2) #debugger;
  if (x-- > 0) return f(x);

Debugger.stepOver called
f (:3:2)
f (:3:22)
f (:3:22)
f (:3:22)
(anonymous) (:5:0)
  if (x == 2) debugger;
  #if (x-- > 0) return f(x);
}

Debugger.stepOver called
f (:3:15)
f (:3:22)
f (:3:22)
f (:3:22)
(anonymous) (:5:0)
  if (x == 2) debugger;
  if (x-- > 0) #return f(x);
}

Debugger.stepOut called
f (:4:0)
f (:3:22)
f (:3:22)
(anonymous) (:5:0)
  if (x-- > 0) return f(x);
#}
f(5);

Debugger.stepOut called
f (:4:0)
f (:3:22)
(anonymous) (:5:0)
  if (x-- > 0) return f(x);
#}
f(5);

Debugger.stepOut called
f (:4:0)
(anonymous) (:5:0)
  if (x-- > 0) return f(x);
#}
f(5);

Debugger.stepOut called
(anonymous) (:5:5)
}
f(5);#


Debugger.resume called
