1// Copyright 2015 the V8 project authors. All rights reserved.
2// Use of this source code is governed by a BSD-style license that can be
3// found in the LICENSE file.
4
5function counter() {
6  var i = 10000;
7  return function() {
8    if (i-- > 0) return i;
9    throw "done";
10  }
11}
12
13
14var f = (function() {
15  "use asm";
16  return function f(i, c1, c2) {
17    i = i|0;
18    do {
19      if (i > 0) { while (0 ? this : this) { c1(); } }
20      else c2();
21    } while (true);
22  }
23})();
24
25assertThrows(function() { f(0, counter(), counter()); });
26assertThrows(function() { f(1, counter(), counter()); });
27