|
infix
A JIT-Powered FFI Library for C
|
Implements trampoline deduplication and caching. More...
Go to the source code of this file.
Classes | |
| struct | _cache_entry_t |
Macros | |
| #define | CACHE_BUCKETS 1021 |
Typedefs | |
| typedef struct _cache_entry_t | _cache_entry_t |
Functions | |
| static uint64_t | _cache_hash (const char *sig, void *target_fn, bool is_safe) |
| infix_forward_t * | _infix_cache_lookup (const char *signature, void *target_fn, bool is_safe) |
| void | _infix_cache_insert (infix_forward_t *trampoline) |
| void | _infix_cache_clear (void) |
| static bool | _cache_remove_no_lock (infix_forward_t *trampoline) |
| bool | _infix_cache_remove (infix_forward_t *trampoline) |
| void | _infix_cache_release (infix_forward_t *trampoline) |
Variables | |
| static _cache_entry_t * | g_trampoline_cache [CACHE_BUCKETS] |
| static infix_mutex_t | g_cache_mutex = INFIX_MUTEX_INITIALIZER |
Implements trampoline deduplication and caching.
Copyright (c) 2025 Sanko Robinson
This source code is dual-licensed under the Artistic License 2.0 or the MIT License. You may choose to use this code under the terms of either license.
SPDX-License-Identifier: (Artistic-2.0 OR MIT)
The documentation blocks within this file are licensed under the Creative Commons Attribution 4.0 International License (CC BY 4.0).
SPDX-License-Identifier: CC-BY-4.0
| #define CACHE_BUCKETS 1021 |
| typedef struct _cache_entry_t _cache_entry_t |
|
static |
|
static |
| void _infix_cache_clear | ( | void | ) |
| void _infix_cache_insert | ( | infix_forward_t * | trampoline | ) |
| infix_forward_t * _infix_cache_lookup | ( | const char * | signature, |
| void * | target_fn, | ||
| bool | is_safe | ||
| ) |
| void _infix_cache_release | ( | infix_forward_t * | trampoline | ) |
| bool _infix_cache_remove | ( | infix_forward_t * | trampoline | ) |
|
static |
|
static |