bigint-multiply.js 599 Bytes
Newer Older
1 2 3 4 5 6 7 8 9 10 11 12
// Copyright 2022 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 --turbofan --no-always-turbofan

function TestMultiply(a, b) {
  return a * b;
}

function OptimizeAndTest(fn) {
  %PrepareFunctionForOptimization(fn);
13 14
  assertEquals(12n, fn(3n, 4n));
  assertEquals(30n, fn(5n, 6n));
15
  %OptimizeFunctionOnNextCall(fn);
16
  assertEquals(56n, fn(7n, 8n));
17
  assertOptimized(fn);
18
  assertEquals(56, fn(7, 8));
19 20 21 22
  assertUnoptimized(fn);
}

OptimizeAndTest(TestMultiply);