1/*
2** Fast function call recorder.
3** Copyright (C) 2005-2021 Mike Pall. See Copyright Notice in luajit.h
4*/
5
6#ifndef _LJ_FFRECORD_H
7#define _LJ_FFRECORD_H
8
9#include "lj_obj.h"
10#include "lj_jit.h"
11
12#if LJ_HASJIT
13/* Data used by handlers to record a fast function. */
14typedef struct RecordFFData {
15 TValue *argv; /* Runtime argument values. */
16 ptrdiff_t nres; /* Number of returned results (defaults to 1). */
17 uint32_t data; /* Per-ffid auxiliary data (opcode, literal etc.). */
18} RecordFFData;
19
20LJ_FUNC int32_t lj_ffrecord_select_mode(jit_State *J, TRef tr, TValue *tv);
21LJ_FUNC void lj_ffrecord_func(jit_State *J);
22#endif
23
24#endif
25