mirror of
https://git.savannah.gnu.org/git/guile.git
synced 2025-06-10 05:50:26 +02:00
Add infrastructure for out-of-line JIT compilation of slow paths
* libguile/jit.c (struct pending_reloc): Rename target_vcode_offset field to target_label_offset. (inline_label_offset, slow_label_offset): New helpers. (emit_direct_tail_call): Use inline_label_offset helper. (add_pending_reloc): Factor out of add_inter_instruction_patch. (add_inter_instruction_patch): Use inline_label_offset helper. (add_slow_path_patch): New helper. (continue_after_slow_path): New helper. Add slow path compilers for all instructions. (compile_slow_path): New helper. (compile): Compile slow paths after main code. (compute_mcode): Allocate twice as many labels.
This commit is contained in:
parent
4a6a7e15d6
commit
d21c5a26da
1 changed files with 750 additions and 20 deletions
770
libguile/jit.c
770
libguile/jit.c
File diff suppressed because it is too large
Load diff
Loading…
Add table
Add a link
Reference in a new issue