CT_DEBUG // use df_instr_debug, overrules CT_PROFILE
} compiletype_T;
+// Keep in sync with INSTRUCTIONS().
#ifdef FEAT_PROFILE
# define COMPILE_TYPE(ufunc) (debug_break_level > 0 ? CT_DEBUG : do_profiling == PROF_YES && (ufunc)->uf_profiling ? CT_PROFILE : CT_NONE)
#else
// Used for "lnum" when a range is to be taken from the stack and "!" is used.
#define LNUM_VARIABLE_RANGE_ABOVE -888
+// Keep in sync with COMPILE_TYPE()
#ifdef FEAT_PROFILE
# define INSTRUCTIONS(dfunc) \
- ((do_profiling == PROF_YES && (dfunc->df_ufunc)->uf_profiling) \
- ? (dfunc)->df_instr_prof : (dfunc)->df_instr)
+ (debug_break_level > 0 \
+ ? (dfunc)->df_instr_debug \
+ : ((do_profiling == PROF_YES && (dfunc->df_ufunc)->uf_profiling) \
+ ? (dfunc)->df_instr_prof \
+ : (dfunc)->df_instr))
#else
-# define INSTRUCTIONS(dfunc) ((dfunc)->df_instr)
+# define INSTRUCTIONS(dfunc) \
+ (debug_break_level > 0 \
+ ? (dfunc)->df_instr_debug \
+ : (dfunc)->df_instr)
#endif