// This Source Code Form is subject to the terms of the Mozilla Public
// License, v. 2.0. If a copy of the MPL was not distributed with this
// file, You can obtain one at http://mozilla.org/MPL/2.0/.

// Fix bug reported in newsgroup:
// Tail call optimization was interfering with catching exceptions.
// The following program should print 7, but was resulting in an uncaught
// exception.
js> function g() {
  >   throw 3;
  > }
js> function f() {
  >   try {
  >     return g();
  >   } catch (e) {
  >     return 7;
  >   }
  > }
js> f()
7