@@ -211,7 +211,7 @@ inline void tracePoint(TracePointCode code, uint64_t data1 = 0, uint64_t data2 =
211211 UNUSED_PARAM (data3);
212212 UNUSED_PARAM (data4);
213213#elif USE(LINUX_FTRACE)
214- SystemTracingFTrace::instance ().tracePoint (code, data1);
214+ SystemTracingFTrace::instance ().tracePoint (code, data1, data2, data3, data4 );
215215 UNUSED_PARAM (data2);
216216 UNUSED_PARAM (data3);
217217 UNUSED_PARAM (data4);
@@ -420,6 +420,39 @@ enum WTFOSSignpostType {
420420#define WTFBeginSignpostAlwaysWithTimeDelta(pointer, name, timeDelta, ...) WTFBeginSignpostWithTimeDelta((pointer), name, (timeDelta), ##__VA_ARGS__)
421421#define WTFEndSignpostAlwaysWithTimeDelta(pointer, name, timeDelta, ...) WTFEndSignpostWithTimeDelta((pointer), name, (timeDelta), ##__VA_ARGS__)
422422
423+ #elif USE(LINUX_FTRACE)
424+
425+ #define WTFEmitSignpostWithPhase(phase, pointer, name, format, ...) \
426+ do { \
427+ if (SystemTracingFTrace::isEnabled()) \
428+ SystemTracingFTrace::instance().addMark( \
429+ phase, std::span(_STRINGIFY(name)), \
430+ " p=%p" format, \
431+ reinterpret_cast<const void*>(pointer) \
432+ __VA_OPT__(,) __VA_ARGS__); \
433+ } while (0)
434+
435+ #define WTFEmitSignpost(pointer, name, ...) \
436+ WTFEmitSignpostWithPhase('I', pointer, name, __VA_OPT__(" ," ) __VA_ARGS__) \
437+
438+ #define WTFBeginSignpost(pointer, name, ...) \
439+ WTFEmitSignpostWithPhase('B', pointer, name, __VA_OPT__(" ," ) __VA_ARGS__) \
440+
441+ #define WTFEndSignpost(pointer, name, ...) \
442+ WTFEmitSignpostWithPhase('E', pointer, name, __VA_OPT__(" ," ) __VA_ARGS__) \
443+
444+ #define WTFEmitSignpostAlways(pointer, name, ...) WTFEmitSignpost((pointer), name, ##__VA_ARGS__)
445+ #define WTFBeginSignpostAlways(pointer, name, ...) WTFBeginSignpost((pointer), name, ##__VA_ARGS__)
446+ #define WTFEndSignpostAlways(pointer, name, ...) WTFEndSignpost((pointer), name, ##__VA_ARGS__)
447+
448+ #define WTFEmitSignpostWithTimeDelta(pointer, name, timeDelta, ...) WTFEmitSignpost((pointer), name, ##__VA_ARGS__)
449+ #define WTFBeginSignpostWithTimeDelta(pointer, name, timeDelta, ...) WTFBeginSignpost((pointer), name, ##__VA_ARGS__)
450+ #define WTFEndSignpostWithTimeDelta(pointer, name, timeDelta, ...) WTFEndSignpost((pointer), name, ##__VA_ARGS__)
451+
452+ #define WTFEmitSignpostAlwaysWithTimeDelta(pointer, name, ...) WTFEmitSignpost((pointer), name, ##__VA_ARGS__)
453+ #define WTFBeginSignpostAlwaysWithTimeDelta(pointer, name, ...) WTFBeginSignpost((pointer), name, ##__VA_ARGS__)
454+ #define WTFEndSignpostAlwaysWithTimeDelta(pointer, name, ...) WTFEndSignpost((pointer), name, ##__VA_ARGS__)
455+
423456#else
424457
425458#define WTFEmitSignpost(pointer, name, ...) do { } while (0)
0 commit comments