// Copyright 2020 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. // // Flags: --allow-natives-syntax (function(){ function f(x) { return "abcd".charCodeAt(BigInt.asUintN(64, 10n)); } %PrepareFunctionForOptimization(f); try { f(1); } catch(e) {} try { f(1); } catch(e) {} %OptimizeFunctionOnNextCall(f); assertThrows(f, TypeError); })(); (function(){ function f(x) { return "abcd".charCodeAt(BigInt.asUintN(2, 10n)); } %PrepareFunctionForOptimization(f); try { f(1); } catch(e) {} try { f(1); } catch(e) {} %OptimizeFunctionOnNextCall(f); assertThrows(f, TypeError); })();