From 4a71579b757d3a2eb6902c84391f429838ad4912 Mon Sep 17 00:00:00 2001 From: Paul Cercueil Date: Thu, 30 Jan 2020 12:33:44 -0300 Subject: git subrepo clone https://git.savannah.gnu.org/git/lightning.git deps/lightning subrepo: subdir: "deps/lightning" merged: "b0b8eb5" upstream: origin: "https://git.savannah.gnu.org/git/lightning.git" branch: "master" commit: "b0b8eb5" git-subrepo: version: "0.4.1" origin: "https://github.com/ingydotnet/git-subrepo.git" commit: "a04d8c2" --- deps/lightning/lib/jit_memory.c | 123 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 123 insertions(+) create mode 100644 deps/lightning/lib/jit_memory.c (limited to 'deps/lightning/lib/jit_memory.c') diff --git a/deps/lightning/lib/jit_memory.c b/deps/lightning/lib/jit_memory.c new file mode 100644 index 0000000..4d7f92d --- /dev/null +++ b/deps/lightning/lib/jit_memory.c @@ -0,0 +1,123 @@ +/* + * Copyright (C) 2013-2019 Free Software Foundation, Inc. + * + * This file is part of GNU lightning. + * + * GNU lightning is free software; you can redistribute it and/or modify it + * under the terms of the GNU Lesser General Public License as published + * by the Free Software Foundation; either version 3, or (at your option) + * any later version. + * + * GNU lightning is distributed in the hope that it will be useful, but + * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY + * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public + * License for more details. + * + * Authors: + * Paulo Cesar Pereira de Andrade + */ + +#include +#include +#include + +/* + * Prototypes + */ +static void *jit_default_alloc_func(size_t); +static void *jit_default_realloc_func(void*, size_t); +static void jit_default_free_func(void *); + +/* + * Initialization + */ +static jit_alloc_func_ptr jit_alloc_ptr = jit_default_alloc_func; +static jit_realloc_func_ptr jit_realloc_ptr = jit_default_realloc_func; +static jit_free_func_ptr jit_free_ptr = jit_default_free_func; + +/* + * Implementation + */ +jit_pointer_t +jit_memcpy(jit_pointer_t dst, const void * src, jit_word_t size) +{ + if (size) + return (memcpy(dst, src, size)); + return (dst); +} + +jit_pointer_t +jit_memmove(jit_pointer_t dst, const void *src , jit_word_t size) +{ + if (size) + return (memmove(dst, src, size)); + return (dst); +} + +void +jit_set_memory_functions(jit_alloc_func_ptr alloc_ptr, + jit_realloc_func_ptr realloc_ptr, + jit_free_func_ptr free_ptr) +{ + if (alloc_ptr == NULL) + alloc_ptr = jit_default_alloc_func; + if (realloc_ptr == NULL) + realloc_ptr = jit_default_realloc_func; + if (free_ptr == NULL) + free_ptr = jit_default_free_func; + jit_alloc_ptr = alloc_ptr; + jit_realloc_ptr = realloc_ptr; + jit_free_ptr = free_ptr; +} + +void +jit_get_memory_functions(jit_alloc_func_ptr *alloc_ptr, + jit_realloc_func_ptr *realloc_ptr, + jit_free_func_ptr *free_ptr) +{ + *alloc_ptr = jit_alloc_ptr; + *realloc_ptr = jit_realloc_ptr; + *free_ptr = jit_free_ptr; +} + +void +jit_alloc(jit_pointer_t *ptr, jit_word_t size) +{ + *ptr = (*jit_alloc_ptr)(size); + memset(*ptr, 0, size); +} + +void +jit_realloc(jit_pointer_t *ptr, jit_word_t old_size, jit_word_t new_size) +{ + *ptr = (*jit_realloc_ptr)(*ptr, new_size); + if (old_size < new_size) + memset((jit_int8_t*)*ptr + old_size, 0, new_size - old_size); +} + +void +jit_free(jit_pointer_t *ptr) +{ + if (*ptr) { + (*jit_free_ptr)(*ptr); + *ptr = NULL; + } +} + +static void * +jit_default_alloc_func(size_t size) +{ + return (malloc(size)); +} + +static void * +jit_default_realloc_func(void *ptr, size_t size) +{ + return (realloc(ptr, size)); +} + +static void +jit_default_free_func(void *ptr) +{ + free(ptr); +} -- cgit v1.2.3 From 6f1edc3c7fd1f7f58155107d0c99d0ac7d22443b Mon Sep 17 00:00:00 2001 From: Paul Cercueil Date: Tue, 7 Jan 2020 14:26:14 -0300 Subject: Add support for the Lightrec dynarec Signed-off-by: Paul Cercueil --- deps/lightning/lib/jit_memory.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'deps/lightning/lib/jit_memory.c') diff --git a/deps/lightning/lib/jit_memory.c b/deps/lightning/lib/jit_memory.c index 4d7f92d..e6b4c73 100644 --- a/deps/lightning/lib/jit_memory.c +++ b/deps/lightning/lib/jit_memory.c @@ -19,7 +19,7 @@ #include #include -#include +#include /* * Prototypes -- cgit v1.2.3