Con_Printf("prvm_coverage: %s just executed a statement at %s for the first time. Coverage: %.2f%%.\n", prog->name, PRVM_WhereAmI(vabuf, sizeof(vabuf), prog, func, statement), prog->statements_covered * 100.0 / prog->numstatements);
}
+#ifdef __GNUC__
+#define HAVE_COMPUTED_GOTOS 1
+#endif
#define OPA ((prvm_eval_t *)&prog->globals.fp[st->operand[0]])
#define OPB ((prvm_eval_t *)&prog->globals.fp[st->operand[1]])
void MVM_ExecuteProgram (prvm_prog_t *prog, func_t fnum, const char *errormessage)
{
mstatement_t *st, *startst;
- mfunction_t *f, *newf;
+ mfunction_t *func, *enterfunc;
prvm_edict_t *ed;
prvm_eval_t *ptr;
int jumpcount, cachedpr_trace, exitdepth;
prog->error_cmd("MVM_ExecuteProgram: %s", errormessage);
}
- f = &prog->functions[fnum];
+ func = &prog->functions[fnum];
// after executing this function, delete all tempstrings it created
restorevm_tempstringsbuf_cursize = prog->tempstringsbuf.cursize;
exitdepth = prog->depth;
// make a stack frame
- st = &prog->statements[PRVM_EnterFunction(prog, f)];
+ st = &prog->statements[PRVM_EnterFunction(prog, func)];
// save the starting statement pointer for profiling
// (when the function exits or jumps, the (st - startst) integer value is
// added to the function's profile counter)
chooseexecprogram:
cachedpr_trace = prog->trace;
- if (prvm_statementprofiling.integer || prog->trace || prog->watch_global_type != ev_void || prog->watch_field_type != ev_void || prog->break_statement >= 0 || (prvm_coverage.integer & 4))
+ if (prog->trace || prog->watch_global_type != ev_void || prog->watch_field_type != ev_void || prog->break_statement >= 0)
{
#define PRVMSLOWINTERPRETER 1
if (prvm_timeprofiling.integer)
prog->tempstringsbuf.cursize = restorevm_tempstringsbuf_cursize;
tm = Sys_DirtyTime() - calltime;if (tm < 0 || tm >= 1800) tm = 0;
- f->totaltime += tm;
+ func->totaltime += tm;
if (prog == SVVM_prog)
SV_FlushBroadcastMessages();
void CLVM_ExecuteProgram (prvm_prog_t *prog, func_t fnum, const char *errormessage)
{
mstatement_t *st, *startst;
- mfunction_t *f, *newf;
+ mfunction_t *func, *enterfunc;
prvm_edict_t *ed;
prvm_eval_t *ptr;
int jumpcount, cachedpr_trace, exitdepth;
prog->error_cmd("CLVM_ExecuteProgram: %s", errormessage);
}
- f = &prog->functions[fnum];
+ func = &prog->functions[fnum];
// after executing this function, delete all tempstrings it created
restorevm_tempstringsbuf_cursize = prog->tempstringsbuf.cursize;
exitdepth = prog->depth;
// make a stack frame
- st = &prog->statements[PRVM_EnterFunction(prog, f)];
+ st = &prog->statements[PRVM_EnterFunction(prog, func)];
// save the starting statement pointer for profiling
// (when the function exits or jumps, the (st - startst) integer value is
// added to the function's profile counter)
chooseexecprogram:
cachedpr_trace = prog->trace;
- if (prvm_statementprofiling.integer || prog->trace || prog->watch_global_type != ev_void || prog->watch_field_type != ev_void || prog->break_statement >= 0 || (prvm_coverage.integer & 4))
+ if (prog->trace || prog->watch_global_type != ev_void || prog->watch_field_type != ev_void || prog->break_statement >= 0)
{
#define PRVMSLOWINTERPRETER 1
if (prvm_timeprofiling.integer)
prog->tempstringsbuf.cursize = restorevm_tempstringsbuf_cursize;
tm = Sys_DirtyTime() - calltime;if (tm < 0 || tm >= 1800) tm = 0;
- f->totaltime += tm;
+ func->totaltime += tm;
if (prog == SVVM_prog)
SV_FlushBroadcastMessages();
#endif
{
mstatement_t *st, *startst;
- mfunction_t *f, *newf;
+ mfunction_t *func, *enterfunc;
prvm_edict_t *ed;
prvm_eval_t *ptr;
int jumpcount, cachedpr_trace, exitdepth;
prog->error_cmd("SVVM_ExecuteProgram: %s", errormessage);
}
- f = &prog->functions[fnum];
+ func = &prog->functions[fnum];
// after executing this function, delete all tempstrings it created
restorevm_tempstringsbuf_cursize = prog->tempstringsbuf.cursize;
exitdepth = prog->depth;
// make a stack frame
- st = &prog->statements[PRVM_EnterFunction(prog, f)];
+ st = &prog->statements[PRVM_EnterFunction(prog, func)];
// save the starting statement pointer for profiling
// (when the function exits or jumps, the (st - startst) integer value is
// added to the function's profile counter)
chooseexecprogram:
cachedpr_trace = prog->trace;
- if (prvm_statementprofiling.integer || prog->trace || prog->watch_global_type != ev_void || prog->watch_field_type != ev_void || prog->break_statement >= 0 || (prvm_coverage.integer & 4))
+ if (prog->trace || prog->watch_global_type != ev_void || prog->watch_field_type != ev_void || prog->break_statement >= 0)
{
#define PRVMSLOWINTERPRETER 1
if (prvm_timeprofiling.integer)
prog->tempstringsbuf.cursize = restorevm_tempstringsbuf_cursize;
tm = Sys_DirtyTime() - calltime;if (tm < 0 || tm >= 1800) tm = 0;
- f->totaltime += tm;
+ func->totaltime += tm;
if (prog == SVVM_prog)
SV_FlushBroadcastMessages();