summaryrefslogtreecommitdiff
path: root/libguile/vm-engine.c
diff options
context:
space:
mode:
Diffstat (limited to 'libguile/vm-engine.c')
-rw-r--r--libguile/vm-engine.c26
1 files changed, 13 insertions, 13 deletions
diff --git a/libguile/vm-engine.c b/libguile/vm-engine.c
index 2d9be38ab..7ce306caa 100644
--- a/libguile/vm-engine.c
+++ b/libguile/vm-engine.c
@@ -110,23 +110,23 @@
#endif
#if VM_USE_HOOKS
-#define RUN_HOOK(h) \
- do { \
- if (SCM_UNLIKELY (VP->trace_level)) \
- { \
- SYNC_IP (); \
- CALL_INTRINSIC (invoke_##h##_hook, (thread)); \
- CACHE_SP (); \
- } \
+#define RUN_HOOK(H, h) \
+ do { \
+ if (SCM_UNLIKELY (VP->hooks_enabled[SCM_VM_##H##_HOOK])) \
+ { \
+ SYNC_IP (); \
+ invoke_##h##_hook (thread); \
+ CACHE_SP (); \
+ } \
} while (0)
#else
-#define RUN_HOOK(h)
+#define RUN_HOOK(H, h)
#endif
-#define APPLY_HOOK() RUN_HOOK (apply)
-#define RETURN_HOOK() RUN_HOOK (return)
-#define NEXT_HOOK() RUN_HOOK (next)
-#define ABORT_HOOK() RUN_HOOK (abort)
+#define APPLY_HOOK() RUN_HOOK (APPLY, apply)
+#define RETURN_HOOK() RUN_HOOK (RETURN, return)
+#define NEXT_HOOK() RUN_HOOK (NEXT, next)
+#define ABORT_HOOK() RUN_HOOK (ABORT, abort)