X-Git-Url: http://git.bitcoin.ninja/index.cgi?a=blobdiff_plain;f=typescript_strings.py;h=0d9f30b81b2293f09acb7b45f00745330e04f1a1;hb=6108d1a32ba0b434521d3f0d9e4176c4d12de25b;hp=2979481d1e9ab4648d4d532246e090284923e3ea;hpb=e9d64013788bec0a08c1c0e422fd989e062c7c6e;p=ldk-java diff --git a/typescript_strings.py b/typescript_strings.py index 2979481d..0d9f30b8 100644 --- a/typescript_strings.py +++ b/typescript_strings.py @@ -207,6 +207,9 @@ const decodeUint32Array = (arrayPointer: number, free = true) => { return actualArray; } + +export function freeWasmMemory(pointer: number) { wasm.TS_free(pointer); } + /* @internal */ export function getU32ArrayElem(arrayPointer: number, idx: number): number { const actualArrayViewer = new Uint32Array(wasm.memory.buffer, arrayPointer + 4, idx + 1); @@ -376,8 +379,9 @@ typedef struct allocation { static allocation* allocation_ll = NULL; static allocation* freed_ll = NULL; -void* __real_malloc(size_t len); -void* __real_calloc(size_t nmemb, size_t len); +extern void* __real_malloc(size_t len); +extern void* __real_calloc(size_t nmemb, size_t len); +extern void* __real_aligned_alloc(size_t alignment, size_t size); static void new_allocation(void* res, const char* struct_name, int lineno) { allocation* new_alloc = __real_malloc(sizeof(allocation)); new_alloc->ptr = res; @@ -450,6 +454,11 @@ void* __wrap_calloc(size_t nmemb, size_t len) { new_allocation(res, "calloc call", 0); return res; } +void* __wrap_aligned_alloc(size_t alignment, size_t size) { + void* res = __real_aligned_alloc(alignment, size); + new_allocation(res, "aligned_alloc call", 0); + return res; +} void __wrap_free(void* ptr) { if (ptr == NULL) return; alloc_freed(ptr, 0); @@ -629,6 +638,8 @@ import * as bindings from '../bindings.mjs' assert False def constr_hu_array(self, ty_info, arr_len): return "new Array(" + arr_len + ").fill(null)" + def cleanup_converted_native_array(self, ty_info, arr_name): + return "bindings.freeWasmMemory(" + arr_name + ")" def primitive_arr_from_hu(self, mapped_ty, fixed_len, arr_name): inner = arr_name