text: load("1d8ada728956c1a3d52d68d1d4d6dd52.js");
  // Copyright 2015 the V8 project authors. All rights reserved.
  // Use of this source code is governed by a BSD-style license that can be
  // found in the LICENSE file.
  
  function counter() {
    var i = 100;
    return function() {
      if (i-- > 0) return i;
      throw "done";
    }
  }
  
  var c1 = counter();
  var c2 = counter();
  
  var f = (function() {
    "use asm";
    return function f(i) {
      i = i|0;
      do {
        if (i > 0) c1();
        else c2();
      } while (true);
    }
  })();
  
  assertThrows(function() { f(0); });
  assertThrows(function() { f(1); });
  
  var c3 = counter();
  
  var g = (function() {
    "use asm";
    return function g(i) {
      i = i + 1;
      do {
        i = c3(i);
      } while (true);
    }
  })();
  
  assertThrows(function() { g(0); });
  assertThrows(function() { g(1); });
  