60 types derived from Instruction
System.Linq.Expressions (60)
System\Linq\Expressions\Interpreter\AddInstruction.cs (2)
9
internal abstract class AddInstruction :
Instruction
181
internal abstract class AddOvfInstruction :
Instruction
System\Linq\Expressions\Interpreter\AndInstruction.cs (1)
8
internal abstract class AndInstruction :
Instruction
System\Linq\Expressions\Interpreter\ArrayOperations.cs (6)
9
internal sealed class NewArrayInitInstruction :
Instruction
37
internal sealed class NewArrayInstruction :
Instruction
62
internal sealed class NewArrayBoundsInstruction :
Instruction
98
internal sealed class GetArrayItemInstruction :
Instruction
117
internal sealed class SetArrayItemInstruction :
Instruction
136
internal sealed class ArrayLengthInstruction :
Instruction
System\Linq\Expressions\Interpreter\CallInstruction.cs (1)
12
internal abstract partial class CallInstruction :
Instruction
System\Linq\Expressions\Interpreter\ControlFlowInstructions.cs (10)
13
internal abstract class OffsetInstruction :
Instruction
154
internal abstract class IndexedBranchInstruction :
Instruction
522
internal sealed class LeaveFinallyInstruction :
Instruction
576
internal sealed class LeaveFaultInstruction :
Instruction
597
internal sealed class EnterExceptionFilterInstruction :
Instruction
614
internal sealed class LeaveExceptionFilterInstruction :
Instruction
630
internal sealed class EnterExceptionHandlerInstruction :
Instruction
705
internal sealed class ThrowInstruction :
Instruction
739
internal sealed class IntSwitchInstruction<T> :
Instruction
where T : notnull
759
internal sealed class StringSwitchInstruction :
Instruction
System\Linq\Expressions\Interpreter\DecrementInstruction.cs (1)
9
internal abstract class DecrementInstruction :
Instruction
System\Linq\Expressions\Interpreter\DefaultValueInstruction.cs (1)
11
internal sealed class DefaultValueInstruction :
Instruction
System\Linq\Expressions\Interpreter\DivInstruction.cs (1)
9
internal abstract class DivInstruction :
Instruction
System\Linq\Expressions\Interpreter\EqualInstruction.cs (1)
9
internal abstract class EqualInstruction :
Instruction
System\Linq\Expressions\Interpreter\ExclusiveOrInstruction.cs (1)
8
internal abstract class ExclusiveOrInstruction :
Instruction
System\Linq\Expressions\Interpreter\FieldOperations.cs (1)
9
internal abstract class FieldInstruction :
Instruction
System\Linq\Expressions\Interpreter\GreaterThanInstruction.cs (1)
9
internal abstract class GreaterThanInstruction :
Instruction
System\Linq\Expressions\Interpreter\GreaterThanOrEqualInstruction.cs (1)
9
internal abstract class GreaterThanOrEqualInstruction :
Instruction
System\Linq\Expressions\Interpreter\IncrementInstruction.cs (1)
9
internal abstract class IncrementInstruction :
Instruction
System\Linq\Expressions\Interpreter\LeftShiftInstruction.cs (1)
8
internal abstract class LeftShiftInstruction :
Instruction
System\Linq\Expressions\Interpreter\LessThanInstruction.cs (1)
9
internal abstract class LessThanInstruction :
Instruction
System\Linq\Expressions\Interpreter\LessThanOrEqualInstruction.cs (1)
9
internal abstract class LessThanOrEqualInstruction :
Instruction
System\Linq\Expressions\Interpreter\LocalAccess.cs (3)
18
internal abstract class LocalAccessInstruction :
Instruction
218
internal sealed class ValueTypeCopyInstruction :
Instruction
452
internal sealed class RuntimeVariablesInstruction :
Instruction
System\Linq\Expressions\Interpreter\ModuloInstruction.cs (1)
9
internal abstract class ModuloInstruction :
Instruction
System\Linq\Expressions\Interpreter\MulInstruction.cs (2)
9
internal abstract class MulInstruction :
Instruction
182
internal abstract class MulOvfInstruction :
Instruction
System\Linq\Expressions\Interpreter\NegateInstruction.cs (2)
9
internal abstract class NegateInstruction :
Instruction
119
internal abstract class NegateCheckedInstruction :
Instruction
System\Linq\Expressions\Interpreter\NewInstruction.cs (1)
10
internal class NewInstruction :
Instruction
System\Linq\Expressions\Interpreter\NotEqualInstruction.cs (1)
9
internal abstract class NotEqualInstruction :
Instruction
System\Linq\Expressions\Interpreter\NotInstruction.cs (1)
8
internal abstract class NotInstruction :
Instruction
System\Linq\Expressions\Interpreter\NullCheckInstruction.cs (1)
6
internal sealed class NullCheckInstruction :
Instruction
System\Linq\Expressions\Interpreter\NumericConvertInstruction.cs (1)
8
internal abstract class NumericConvertInstruction :
Instruction
System\Linq\Expressions\Interpreter\OrInstruction.cs (1)
8
internal abstract class OrInstruction :
Instruction
System\Linq\Expressions\Interpreter\RightShiftInstruction.cs (1)
8
internal abstract class RightShiftInstruction :
Instruction
System\Linq\Expressions\Interpreter\StackOperations.cs (4)
9
internal sealed class LoadObjectInstruction :
Instruction
30
internal sealed class LoadCachedObjectInstruction :
Instruction
54
internal sealed class PopInstruction :
Instruction
70
internal sealed class DupInstruction :
Instruction
System\Linq\Expressions\Interpreter\SubInstruction.cs (2)
9
internal abstract class SubInstruction :
Instruction
181
internal abstract class SubOvfInstruction :
Instruction
System\Linq\Expressions\Interpreter\TypeOperations.cs (7)
13
internal sealed class CreateDelegateInstruction :
Instruction
49
internal sealed class TypeIsInstruction :
Instruction
71
internal sealed class TypeAsInstruction :
Instruction
94
internal sealed class TypeEqualsInstruction :
Instruction
113
internal abstract class NullableMethodCallInstruction :
Instruction
259
internal abstract class CastInstruction :
Instruction
465
internal sealed class QuoteInstruction :
Instruction
147 references to Instruction
System.Linq.Expressions (147)
System\Linq\Expressions\Interpreter\AddInstruction.cs (4)
11
private static
Instruction
? s_Int16, s_Int32, s_Int64, s_UInt16, s_UInt32, s_UInt64, s_Single, s_Double;
163
public static
Instruction
Create(Type type)
183
private static
Instruction
? s_Int16, s_Int32, s_Int64, s_UInt16, s_UInt32, s_UInt64;
299
public static
Instruction
Create(Type type)
System\Linq\Expressions\Interpreter\AndInstruction.cs (2)
10
private static
Instruction
? s_SByte, s_Int16, s_Int32, s_Int64, s_Byte, s_UInt16, s_UInt32, s_UInt64, s_Boolean;
174
public static
Instruction
Create(Type type) =>
System\Linq\Expressions\Interpreter\ControlFlowInstructions.cs (22)
21
public abstract
Instruction
[] Cache { get; }
23
public
Instruction
Fixup(int offset)
28
Instruction
[] cache = Cache;
50
private static
Instruction
[]? s_cache;
52
public override
Instruction
[] Cache => s_cache ??= new
Instruction
[CacheSize];
72
private static
Instruction
[]? s_cache;
74
public override
Instruction
[] Cache => s_cache ??= new
Instruction
[CacheSize];
94
private static
Instruction
[]? s_cache;
96
public override
Instruction
[] Cache => s_cache ??= new
Instruction
[CacheSize];
117
private static
Instruction
[][][]? s_caches;
119
public override
Instruction
[] Cache
123
s_caches ??= new
Instruction
[2][][] { new
Instruction
[2][], new
Instruction
[2][] };
124
return s_caches[ConsumedStack][ProducedStack] ??= new
Instruction
[CacheSize];
304
Instruction
[] instructions = frame.Interpreter.Instructions.Instructions;
431
Instruction
[] instructions = frame.Interpreter.Instructions.Instructions;
524
internal static readonly
Instruction
Instance = new LeaveFinallyInstruction();
578
internal static readonly
Instruction
Instance = new LeaveFaultInstruction();
System\Linq\Expressions\Interpreter\DecrementInstruction.cs (2)
11
private static
Instruction
? s_Int16, s_Int32, s_Int64, s_UInt16, s_UInt32, s_UInt64, s_Single, s_Double;
155
public static
Instruction
Create(Type type)
System\Linq\Expressions\Interpreter\DivInstruction.cs (2)
11
private static
Instruction
? s_Int16, s_Int32, s_Int64, s_UInt16, s_UInt32, s_UInt64, s_Single, s_Double;
163
public static
Instruction
Create(Type type)
System\Linq\Expressions\Interpreter\EqualInstruction.cs (3)
12
private static
Instruction
? s_reference, s_Boolean, s_SByte, s_Int16, s_Char, s_Int32, s_Int64, s_Byte, s_UInt16, s_UInt32, s_UInt64, s_Single, s_Double;
13
private static
Instruction
? s_BooleanLiftedToNull, s_SByteLiftedToNull, s_Int16LiftedToNull, s_CharLiftedToNull, s_Int32LiftedToNull, s_Int64LiftedToNull, s_ByteLiftedToNull, s_UInt16LiftedToNull, s_UInt32LiftedToNull, s_UInt64LiftedToNull, s_SingleLiftedToNull, s_DoubleLiftedToNull;
510
public static
Instruction
Create(Type type, bool liftedToNull)
System\Linq\Expressions\Interpreter\ExclusiveOrInstruction.cs (2)
10
private static
Instruction
? s_SByte, s_Int16, s_Int32, s_Int64, s_Byte, s_UInt16, s_UInt32, s_UInt64, s_Boolean;
162
public static
Instruction
Create(Type type) =>
System\Linq\Expressions\Interpreter\GreaterThanInstruction.cs (3)
12
private static
Instruction
? s_SByte, s_Int16, s_Char, s_Int32, s_Int64, s_Byte, s_UInt16, s_UInt32, s_UInt64, s_Single, s_Double;
13
private static
Instruction
? s_liftedToNullSByte, s_liftedToNullInt16, s_liftedToNullChar, s_liftedToNullInt32, s_liftedToNullInt64, s_liftedToNullByte, s_liftedToNullUInt16, s_liftedToNullUInt32, s_liftedToNullUInt64, s_liftedToNullSingle, s_liftedToNullDouble;
277
public static
Instruction
Create(Type type, bool liftedToNull = false)
System\Linq\Expressions\Interpreter\GreaterThanOrEqualInstruction.cs (3)
12
private static
Instruction
? s_SByte, s_Int16, s_Char, s_Int32, s_Int64, s_Byte, s_UInt16, s_UInt32, s_UInt64, s_Single, s_Double;
13
private static
Instruction
? s_liftedToNullSByte, s_liftedToNullInt16, s_liftedToNullChar, s_liftedToNullInt32, s_liftedToNullInt64, s_liftedToNullByte, s_liftedToNullUInt16, s_liftedToNullUInt32, s_liftedToNullUInt64, s_liftedToNullSingle, s_liftedToNullDouble;
277
public static
Instruction
Create(Type type, bool liftedToNull = false)
System\Linq\Expressions\Interpreter\IncrementInstruction.cs (2)
11
private static
Instruction
? s_Int16, s_Int32, s_Int64, s_UInt16, s_UInt32, s_UInt64, s_Single, s_Double;
155
public static
Instruction
Create(Type type)
System\Linq\Expressions\Interpreter\InstructionList.cs (49)
21
internal readonly
Instruction
[] Instructions;
28
internal InstructionArray(int maxStackDepth, int maxContinuationDepth,
Instruction
[] instructions,
69
private readonly List<
Instruction
> _instructions = new List<
Instruction
>();
111
internal static InstructionView[] GetInstructionViews(IReadOnlyList<
Instruction
> instructions, IReadOnlyList<object>? objects,
124
Instruction
instruction = instructions[i];
152
private readonly
Instruction
_instruction;
171
public InstructionView(
Instruction
instruction, string name, int index, int stackDepth, int continuationsDepth)
186
public void Emit(
Instruction
instruction)
192
private void UpdateStackDepth(
Instruction
instruction)
220
Instruction
instruction = _instructions[_instructions.Count - 1];
250
internal
Instruction
GetInstruction(int index) => _instructions[index];
321
private static
Instruction
? s_null;
322
private static
Instruction
? s_true;
323
private static
Instruction
? s_false;
324
private static
Instruction
[]? s_Ints;
325
private static
Instruction
[]? s_loadObjectCached;
364
s_Ints ??= new
Instruction
[PushIntMaxCachedValue - PushIntMinCachedValue + 1];
375
s_loadObjectCached ??= new
Instruction
[CachedObjectCount];
408
Instruction
? newInstruction = instruction.BoxIfIndexMatches(index);
418
private static
Instruction
[]? s_loadLocal;
419
private static
Instruction
[]? s_loadLocalBoxed;
420
private static
Instruction
[]? s_loadLocalFromClosure;
421
private static
Instruction
[]? s_loadLocalFromClosureBoxed;
422
private static
Instruction
[]? s_assignLocal;
423
private static
Instruction
[]? s_storeLocal;
424
private static
Instruction
[]? s_assignLocalBoxed;
425
private static
Instruction
[]? s_storeLocalBoxed;
426
private static
Instruction
[]? s_assignLocalToClosure;
430
s_loadLocal ??= new
Instruction
[LocalInstrCacheSize];
447
internal static
Instruction
LoadLocalBoxed(int index)
449
s_loadLocalBoxed ??= new
Instruction
[LocalInstrCacheSize];
463
s_loadLocalFromClosure ??= new
Instruction
[LocalInstrCacheSize];
477
s_loadLocalFromClosureBoxed ??= new
Instruction
[LocalInstrCacheSize];
491
s_assignLocal ??= new
Instruction
[LocalInstrCacheSize];
505
s_storeLocal ??= new
Instruction
[LocalInstrCacheSize];
522
internal static
Instruction
AssignLocalBoxed(int index)
524
s_assignLocalBoxed ??= new
Instruction
[LocalInstrCacheSize];
541
internal static
Instruction
StoreLocalBoxed(int index)
543
s_storeLocalBoxed ??= new
Instruction
[LocalInstrCacheSize];
557
s_assignLocalToClosure ??= new
Instruction
[LocalInstrCacheSize];
597
internal static
Instruction
Parameter(int index)
602
internal static
Instruction
ParameterBox(int index)
607
internal static
Instruction
InitReference(int index)
612
internal static
Instruction
InitImmutableRefBox(int index)
851
private static readonly Dictionary<FieldInfo,
Instruction
> s_loadFields = new Dictionary<FieldInfo,
Instruction
>();
858
private static
Instruction
GetLoadField(FieldInfo field)
862
if (!s_loadFields.TryGetValue(field, out
Instruction
? instruction))
System\Linq\Expressions\Interpreter\Interpreter.cs (1)
58
Instruction
[] instructions = _instructions.Instructions;
System\Linq\Expressions\Interpreter\LeftShiftInstruction.cs (2)
10
private static
Instruction
? s_SByte, s_Int16, s_Int32, s_Int64, s_Byte, s_UInt16, s_UInt32, s_UInt64;
162
public static
Instruction
Create(Type type) =>
System\Linq\Expressions\Interpreter\LessThanInstruction.cs (3)
12
private static
Instruction
? s_SByte, s_Int16, s_Char, s_Int32, s_Int64, s_Byte, s_UInt16, s_UInt32, s_UInt64, s_Single, s_Double;
13
private static
Instruction
? s_liftedToNullSByte, s_liftedToNullInt16, s_liftedToNullChar, s_liftedToNullInt32, s_liftedToNullInt64, s_liftedToNullByte, s_liftedToNullUInt16, s_liftedToNullUInt32, s_liftedToNullUInt64, s_liftedToNullSingle, s_liftedToNullDouble;
276
public static
Instruction
Create(Type type, bool liftedToNull = false)
System\Linq\Expressions\Interpreter\LessThanOrEqualInstruction.cs (3)
12
private static
Instruction
? s_SByte, s_Int16, s_Char, s_Int32, s_Int64, s_Byte, s_UInt16, s_UInt32, s_UInt64, s_Single, s_Double;
13
private static
Instruction
? s_liftedToNullSByte, s_liftedToNullInt16, s_liftedToNullChar, s_liftedToNullInt32, s_liftedToNullInt64, s_liftedToNullByte, s_liftedToNullUInt16, s_liftedToNullUInt32, s_liftedToNullUInt64, s_liftedToNullSingle, s_liftedToNullDouble;
277
public static
Instruction
Create(Type type, bool liftedToNull = false)
System\Linq\Expressions\Interpreter\LightCompiler.cs (6)
71
Debug.Assert((FinallyStartIndex !=
Instruction
.UnknownInstrIndex) == (FinallyEndIndex !=
Instruction
.UnknownInstrIndex));
72
return FinallyStartIndex !=
Instruction
.UnknownInstrIndex;
84
: this(tryStart, tryEnd, gotoEndTargetIndex,
Instruction
.UnknownInstrIndex,
Instruction
.UnknownInstrIndex, handlers)
143
Instruction
[] instructions = interpreter.Instructions.Instructions;
System\Linq\Expressions\Interpreter\LightLambda.cs (3)
53
Instruction
[] instructions = _interpreter.Instructions.Instructions;
55
foreach (
Instruction
instruction in instructions)
141
Instruction
[] instructions = _interpreter.Instructions.Instructions;
System\Linq\Expressions\Interpreter\LocalAccess.cs (8)
15
Instruction
? BoxIfIndexMatches(int index);
53
public
Instruction
? BoxIfIndexMatches(int index)
134
public
Instruction
? BoxIfIndexMatches(int index)
156
public
Instruction
? BoxIfIndexMatches(int index)
258
public
Instruction
? BoxIfIndexMatches(int index)
283
public
Instruction
? BoxIfIndexMatches(int index)
358
public
Instruction
? BoxIfIndexMatches(int index)
401
public
Instruction
? BoxIfIndexMatches(int index)
System\Linq\Expressions\Interpreter\ModuloInstruction.cs (2)
11
private static
Instruction
? s_Int16, s_Int32, s_Int64, s_UInt16, s_UInt32, s_UInt64, s_Single, s_Double;
163
public static
Instruction
Create(Type type)
System\Linq\Expressions\Interpreter\MulInstruction.cs (4)
11
private static
Instruction
? s_Int16, s_Int32, s_Int64, s_UInt16, s_UInt32, s_UInt64, s_Single, s_Double;
163
public static
Instruction
Create(Type type)
184
private static
Instruction
? s_Int16, s_Int32, s_Int64, s_UInt16, s_UInt32, s_UInt64;
300
public static
Instruction
Create(Type type)
System\Linq\Expressions\Interpreter\NegateInstruction.cs (4)
11
private static
Instruction
? s_Int16, s_Int32, s_Int64, s_Single, s_Double;
104
public static
Instruction
Create(Type type)
121
private static
Instruction
? s_Int16, s_Int32, s_Int64;
180
public static
Instruction
Create(Type type)
System\Linq\Expressions\Interpreter\NotEqualInstruction.cs (3)
12
private static
Instruction
? s_reference, s_Boolean, s_SByte, s_Int16, s_Char, s_Int32, s_Int64, s_Byte, s_UInt16, s_UInt32, s_UInt64, s_Single, s_Double;
13
private static
Instruction
? s_SByteLiftedToNull, s_Int16LiftedToNull, s_CharLiftedToNull, s_Int32LiftedToNull, s_Int64LiftedToNull, s_ByteLiftedToNull, s_UInt16LiftedToNull, s_UInt32LiftedToNull, s_UInt64LiftedToNull, s_SingleLiftedToNull, s_DoubleLiftedToNull;
492
public static
Instruction
Create(Type type, bool liftedToNull)
System\Linq\Expressions\Interpreter\NotInstruction.cs (2)
10
public static
Instruction
? s_Boolean, s_Int64, s_Int32, s_Int16, s_UInt64, s_UInt32, s_UInt16, s_Byte, s_SByte;
171
public static
Instruction
Create(Type type) =>
System\Linq\Expressions\Interpreter\NullCheckInstruction.cs (1)
8
public static readonly
Instruction
Instance = new NullCheckInstruction();
System\Linq\Expressions\Interpreter\OrInstruction.cs (2)
10
private static
Instruction
? s_SByte, s_Int16, s_Int32, s_Int64, s_Byte, s_UInt16, s_UInt32, s_UInt64, s_Boolean;
176
public static
Instruction
Create(Type type)
System\Linq\Expressions\Interpreter\RightShiftInstruction.cs (2)
10
private static
Instruction
? s_SByte, s_Int16, s_Int32, s_Int64, s_Byte, s_UInt16, s_UInt32, s_UInt64;
162
public static
Instruction
Create(Type type)
System\Linq\Expressions\Interpreter\SubInstruction.cs (4)
11
private static
Instruction
? s_Int16, s_Int32, s_Int64, s_UInt16, s_UInt32, s_UInt64, s_Single, s_Double;
163
public static
Instruction
Create(Type type)
183
private static
Instruction
? s_Int16, s_Int32, s_Int64, s_UInt16, s_UInt32, s_UInt64;
299
public static
Instruction
Create(Type type)
System\Linq\Expressions\Interpreter\TypeOperations.cs (3)
229
public static
Instruction
Create(string method, int argCount, MethodInfo mi)
253
public static
Instruction
CreateGetValue()
354
public static
Instruction
Create(Type t)