mirror of
https://github.com/nodejs/node.git
synced 2025-05-11 17:55:31 +00:00

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>
25 lines
522 B
C++
25 lines
522 B
C++
#pragma once
|
|
|
|
#if defined(NODE_WANT_INTERNALS) && NODE_WANT_INTERNALS
|
|
|
|
#ifdef DEBUG
|
|
#include <string_view>
|
|
#endif // DEBUG
|
|
|
|
namespace node {
|
|
namespace debug {
|
|
|
|
#ifdef DEBUG
|
|
void TrackV8FastApiCall(std::string_view key);
|
|
int GetV8FastApiCallCount(std::string_view key);
|
|
|
|
#define TRACK_V8_FAST_API_CALL(key) node::debug::TrackV8FastApiCall(key)
|
|
#else // !DEBUG
|
|
#define TRACK_V8_FAST_API_CALL(key)
|
|
#endif // DEBUG
|
|
|
|
} // namespace debug
|
|
} // namespace node
|
|
|
|
#endif // defined(NODE_WANT_INTERNALS) && NODE_WANT_INTERNALS
|