diff options
author | Kimplul <kimi.h.kuparinen@gmail.com> | 2025-05-18 22:09:08 +0300 |
---|---|---|
committer | Kimplul <kimi.h.kuparinen@gmail.com> | 2025-05-18 22:09:08 +0300 |
commit | a371bc41f4d208bcb2f8b56677504e1746e3bb83 (patch) | |
tree | 87fb23cd6b86197e9c5c5623e6c789f431f61995 /src/compile/compile.c | |
parent | b0a6350b96f6ef3f8b2af5a385474d885a41759b (diff) | |
download | ejit-a371bc41f4d208bcb2f8b56677504e1746e3bb83.tar.gz ejit-a371bc41f4d208bcb2f8b56677504e1746e3bb83.zip |
Diffstat (limited to 'src/compile/compile.c')
-rw-r--r-- | src/compile/compile.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/src/compile/compile.c b/src/compile/compile.c index 5aab67e..2c72b91 100644 --- a/src/compile/compile.c +++ b/src/compile/compile.c @@ -1974,6 +1974,10 @@ static void resolve_top_reloc(jit_state_t *j, struct relocs *relocs, struct addr assert(a); jit_patch_there(j, r, a); relocs_pop(relocs); + + /* hope this turns into a tailcall */ + if (relocs_len(relocs)) + resolve_top_reloc(j, relocs, addrs, ii); } static void resolve_relocs(jit_state_t *j, struct relocs *relocs, struct addrs *addrs, size_t ii) |