diff options
Diffstat (limited to 'indra/lscript/lscript_execute')
| -rw-r--r-- | indra/lscript/lscript_execute/lscript_execute.cpp | 9 | 
1 files changed, 6 insertions, 3 deletions
diff --git a/indra/lscript/lscript_execute/lscript_execute.cpp b/indra/lscript/lscript_execute/lscript_execute.cpp index 43834758f1..5630f2de0b 100644 --- a/indra/lscript/lscript_execute/lscript_execute.cpp +++ b/indra/lscript/lscript_execute/lscript_execute.cpp @@ -42,6 +42,10 @@  #include "lscript_heapruntime.h"  #include "lscript_alloc.h" +// Static +const	S32	DEFAULT_SCRIPT_TIMER_CHECK_SKIP = 4; +S32		LLScriptExecute::sTimerCheckSkip = DEFAULT_SCRIPT_TIMER_CHECK_SKIP; +  void (*binary_operations[LST_EOF][LST_EOF])(U8 *buffer, LSCRIPTOpCodesEnum opcode);  void (*unary_operations[LST_EOF])(U8 *buffer, LSCRIPTOpCodesEnum opcode); @@ -924,7 +928,7 @@ void LLScriptExecute::runInstructions(BOOL b_print, const LLUUID &id,  // Run for a single timeslice, or until a yield or state transition is due  F32 LLScriptExecute::runQuanta(BOOL b_print, const LLUUID &id, const char **errorstr, F32 quanta, U32& events_processed, LLTimer& timer)  { -	U32 timer_checks = 0; +	S32 timer_checks = 0;  	F32 inloop = 0;  	// Loop while not finished, yield not due and time remaining @@ -936,12 +940,11 @@ F32 LLScriptExecute::runQuanta(BOOL b_print, const LLUUID &id, const char **erro  		runInstructions(b_print, id, errorstr,  						events_processed, quanta); -		static const S32 lsl_timer_check_skip = 4;  		if(isYieldDue())  		{  			break;  		} -		else if(timer_checks++ == lsl_timer_check_skip) +		else if(timer_checks++ >= LLScriptExecute::sTimerCheckSkip)  		{  			inloop = timer.getElapsedTimeF32();  			if(inloop > quanta)  | 
