internal Interpreter(LambdaExpression lambda, bool[] localIsBoxed, int maxStackDepth, InstructionArray instructions, ExceptionHandler[] handlers, DebugInfo[] debugInfos, int compilationThreshold) { _lambda = lambda; _numberOfLocals = localIsBoxed.Length; if (Array.IndexOf(localIsBoxed, true) != -1) { _localIsBoxed = localIsBoxed; } else { _localIsBoxed = null; } _maxStackDepth = maxStackDepth; _instructions = instructions; _objects = instructions.Objects; _handlers = handlers; _debugInfos = debugInfos; _onlyFaultHandlers = true; foreach (var handler in handlers) { if (!handler.IsFinallyOrFault) { _onlyFaultHandlers = false; break; } } _compilationThreshold = compilationThreshold; }
internal Interpreter(LambdaExpression lambda, LocalVariables locals, Dictionary <LabelTarget, BranchLabel> labelMapping, InstructionArray instructions, ExceptionHandler[] handlers, DebugInfo[] debugInfos, int compilationThreshold) { _lambda = lambda; _localCount = locals.LocalCount; _closureVariables = locals.ClosureVariables; _instructions = instructions; _objects = instructions.Objects; _labels = instructions.Labels; _labelMapping = labelMapping; _handlers = handlers; _debugInfos = debugInfos; _compilationThreshold = compilationThreshold; }
internal Interpreter(string name, LocalVariables locals, HybridReferenceDictionary <LabelTarget, BranchLabel> labelMapping, InstructionArray instructions, ExceptionHandler[] handlers, DebugInfo[] debugInfos, int compilationThreshold) { _name = name; LocalCount = locals.LocalCount; ClosureVariables = locals.ClosureVariables; Instructions = instructions; _objects = instructions.Objects; _labels = instructions.Labels; LabelMapping = labelMapping; _handlers = handlers; _debugInfos = debugInfos; _compilationThreshold = compilationThreshold; }
internal Interpreter(LambdaExpression lambda, LocalVariables locals, Dictionary<LabelTarget, BranchLabel> labelMapping, InstructionArray instructions, ExceptionHandler[] handlers, DebugInfo[] debugInfos, int compilationThreshold) { _lambda = lambda; _locals = locals; _boxedLocals = locals.GetBoxed(); _instructions = instructions; _objects = instructions.Objects; _labels = instructions.Labels; _labelMapping = labelMapping; _handlers = handlers; _debugInfos = debugInfos; _compilationThreshold = compilationThreshold; }
internal Interpreter(string name, LocalVariables locals, HybridReferenceDictionary<LabelTarget, BranchLabel> labelMapping, InstructionArray instructions, ExceptionHandler[] handlers, DebugInfo[] debugInfos, int compilationThreshold) { _name = name; _localCount = locals.LocalCount; _closureVariables = locals.ClosureVariables; _instructions = instructions; _objects = instructions.Objects; _labels = instructions.Labels; _labelMapping = labelMapping; _handlers = handlers; _debugInfos = debugInfos; _compilationThreshold = compilationThreshold; }
public DebugView(InstructionArray array) { _array = array; }