src,test: ensure that V8 fast APIs are called

Adds a debug-only macro that can be used to track when a V8 fast API is
called. A map of counters is maintained in in thread-local storage and
an internal API can be called to get the total count associated with
a call id.
Specific tests are added and `crypto.timingSafeEqual` as well as
internal documentation are updated to show how to use the macro
and test fast API calls without running long loops.

PR-URL: https://github.com/nodejs/node/pull/54317
Reviewed-By: Robert Nagy <ronagy@icloud.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Yagiz Nizipli <yagiz@nizipli.com>
Reviewed-By: Tobias Nießen <tniessen@tnie.de>
This commit is contained in:
Michaël Zasso
2024-08-13 14:37:02 +02:00
committed by GitHub
parent 9e8cc2933e
commit 1d35a066e7
12 changed files with 284 additions and 3 deletions

View File

@@ -10,7 +10,7 @@ if (!common.isMainThread) {
common.skip('addons are not supported in workers');
}
if (process.features.debug) {
if (common.isDebug) {
common.skip('benchmark does not work with debug build yet');
}
const runBenchmark = require('../common/benchmark');