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