Commit | Line | Data |
---|---|---|
98fa08a5 | 1 | /* SPDX-License-Identifier: LGPL-2.1-or-later */ |
d16005f8 | 2 | /* |
98fa08a5 | 3 | * Copyright (C) 2019-2021 Paul Cercueil <paul@crapouillou.net> |
d16005f8 PC |
4 | */ |
5 | ||
6 | #ifndef __LIGHTREC_RECOMPILER_H__ | |
7 | #define __LIGHTREC_RECOMPILER_H__ | |
8 | ||
9 | struct block; | |
10 | struct lightrec_state; | |
11 | struct recompiler; | |
12 | ||
13 | struct recompiler *lightrec_recompiler_init(struct lightrec_state *state); | |
14 | void lightrec_free_recompiler(struct recompiler *rec); | |
15 | int lightrec_recompiler_add(struct recompiler *rec, struct block *block); | |
16 | void lightrec_recompiler_remove(struct recompiler *rec, struct block *block); | |
17 | ||
98fa08a5 PC |
18 | void * lightrec_recompiler_run_first_pass(struct lightrec_state *state, |
19 | struct block *block, u32 *pc); | |
d16005f8 | 20 | |
d8b04acd PC |
21 | void lightrec_code_alloc_lock(struct lightrec_state *state); |
22 | void lightrec_code_alloc_unlock(struct lightrec_state *state); | |
23 | ||
d16005f8 | 24 | #endif /* __LIGHTREC_RECOMPILER_H__ */ |