From 916c5705572d1be977dcb30db8b95c458932e453 Mon Sep 17 00:00:00 2001 From: Andy Wingo Date: Mon, 20 Aug 2018 12:45:07 +0200 Subject: [PATCH] Tweak to instrument-entry * libguile/vm-engine.c (instrument-entry): Eagerly check if data->mcode is already set, and in that case just jump directly without checking the counter. --- libguile/vm-engine.c | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/libguile/vm-engine.c b/libguile/vm-engine.c index e8787eeeb..c8db813a6 100644 --- a/libguile/vm-engine.c +++ b/libguile/vm-engine.c @@ -463,6 +463,14 @@ VM_NAME (scm_thread *thread) data = (struct scm_jit_function_data *) (ip + data_offset); + if (data->mcode) + { + SYNC_IP (); + scm_jit_enter_mcode (thread, data->mcode); + CACHE_REGISTER (); + NEXT (0); + } + if (data->counter > SCM_JIT_COUNTER_THRESHOLD) { const uint8_t *mcode;