summaryrefslogtreecommitdiff
path: root/libguile/vm-engine.h
diff options
context:
space:
mode:
Diffstat (limited to 'libguile/vm-engine.h')
-rw-r--r--libguile/vm-engine.h20
1 files changed, 5 insertions, 15 deletions
diff --git a/libguile/vm-engine.h b/libguile/vm-engine.h
index 2cce7344e..51c462c43 100644
--- a/libguile/vm-engine.h
+++ b/libguile/vm-engine.h
@@ -154,19 +154,6 @@
object_count = 0; \
} \
} \
- { \
- SCM c = SCM_PROGRAM_FREE_VARIABLES (program); \
- if (SCM_I_IS_VECTOR (c)) \
- { \
- free_vars = SCM_I_VECTOR_WELTS (c); \
- free_vars_count = SCM_I_VECTOR_LENGTH (c); \
- } \
- else \
- { \
- free_vars = NULL; \
- free_vars_count = 0; \
- } \
- } \
}
#define SYNC_BEFORE_GC() \
@@ -193,8 +180,11 @@
#endif
#if VM_CHECK_FREE_VARIABLES
-#define CHECK_FREE_VARIABLE(_num) \
- do { if (SCM_UNLIKELY ((_num) >= free_vars_count)) goto vm_error_free_variable; } while (0)
+#define CHECK_FREE_VARIABLE(_num) \
+ do { \
+ if (SCM_UNLIKELY ((_num) >= SCM_PROGRAM_NUM_FREE_VARIABLES (program))) \
+ goto vm_error_free_variable; \
+ } while (0)
#else
#define CHECK_FREE_VARIABLE(_num)
#endif