+extern cvar_t prvm_garbagecollection_enable;
+int i;
+// NEED to reset startst after calling this! startst may or may not be clobbered!
+#define ADVANCE_PROFILE_BEFORE_JUMP() \
+ prog->xfunction->profile += (st - startst); \
+ if (prvm_statementprofiling.integer || (prvm_coverage.integer & 4)) { \
+ /* All statements from startst+1 to st have been hit. */ \
+ while (++startst <= st) { \
+ if (prog->statement_profile[startst - cached_statements]++ == 0 && (prvm_coverage.integer & 4)) \
+ PRVM_StatementCoverageEvent(prog, prog->xfunction, startst - cached_statements); \
+ } \
+ /* Observe: startst now is clobbered (now at st+1)! */ \
+ }
+
+#ifdef PRVMTIMEPROFILING
+#define PRE_ERROR() \
+ ADVANCE_PROFILE_BEFORE_JUMP(); \