// Copyright 2017 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 --no-always-opt // Files: test/mjsunit/code-coverage-utils.js // Test code coverage without explicitly activating it upfront. TestCoverageNoGC( "call simple function twice", ` function f() {} f(); f(); `, [{"start":0,"end":25,"count":1}, {"start":0,"end":15,"count":1}] ); TestCoverageNoGC( "call arrow function twice", ` var f = () => 1; f(); f(); `, [{"start":0,"end":26,"count":1}, {"start":8,"end":15,"count":1}] ); TestCoverageNoGC( "call nested function", ` function f() { function g() {} g(); g(); } f(); f(); `, [{"start":0,"end":58,"count":1}, {"start":0,"end":48,"count":1}, {"start":17,"end":32,"count":1}] ); TestCoverageNoGC( "call recursive function", ` function fib(x) { if (x < 2) return 1; return fib(x-1) + fib(x-2); } fib(5); `, [{"start":0,"end":80,"count":1}, {"start":0,"end":72,"count":1}] );