예제 #1
0
        internal void Eval(ProcessingContext context)
        {
            int    count         = 0;
            int    counterMarker = context.Processor.CounterMarker;
            Opcode ops           = this.ops;

            if (!this.useSpecial)
            {
                while (ops != null)
                {
                    ops = ops.Eval(context);
                }
                count = context.Processor.ElapsedCount(counterMarker);
                context.SaveVariable(this.var, count);
            }
            else
            {
                ops.EvalSpecial(context);
                context.LoadVariable(this.var);
            }
        }
예제 #2
0
        internal void Eval(ProcessingContext context)
        {
            int count = 0, marker = context.Processor.CounterMarker;

            Opcode op = this.ops;

            if (this.useSpecial)
            {
                op.EvalSpecial(context);
                context.LoadVariable(this.var);
                //context.Processor.CounterMarker = marker;
                return;
            }

            while (op != null)
            {
                op = op.Eval(context);
            }

            count = context.Processor.ElapsedCount(marker);
            //context.Processor.CounterMarker = marker;
            context.SaveVariable(this.var, count);
        }