Имя |
Описание |
AddInstruction |
|
AddInstruction.AddDouble |
|
AddInstruction.AddInt16 |
|
AddInstruction.AddInt32 |
|
AddInstruction.AddInt64 |
|
AddInstruction.AddSingle |
|
AddInstruction.AddUInt16 |
|
AddInstruction.AddUInt32 |
|
AddInstruction.AddUInt64 |
|
AddOvfInstruction |
|
AddOvfInstruction.AddOvfDouble |
|
AddOvfInstruction.AddOvfInt16 |
|
AddOvfInstruction.AddOvfInt32 |
|
AddOvfInstruction.AddOvfInt64 |
|
AddOvfInstruction.AddOvfSingle |
|
AddOvfInstruction.AddOvfUInt16 |
|
AddOvfInstruction.AddOvfUInt32 |
|
AddOvfInstruction.AddOvfUInt64 |
|
AssignLocalBoxedInstruction |
|
AssignLocalInstruction |
|
AssignLocalToClosureInstruction |
|
BranchFalseInstruction |
|
BranchInstruction |
|
BranchTrueInstruction |
|
CallInstruction |
|
CoalescingBranchInstruction |
|
CompiledLoopInstruction |
|
DynamicInstructionN |
|
EnterExceptionHandlerInstruction |
|
EnterFinallyInstruction |
The first instruction of finally block. |
EnterLoopInstruction |
|
EnterTryFinallyInstruction |
|
EqualInstruction |
|
EqualInstruction.EqualBoolean |
|
EqualInstruction.EqualByte |
|
EqualInstruction.EqualChar |
|
EqualInstruction.EqualDouble |
|
EqualInstruction.EqualInt16 |
|
EqualInstruction.EqualInt32 |
|
EqualInstruction.EqualInt64 |
|
EqualInstruction.EqualReference |
|
EqualInstruction.EqualSByte |
|
EqualInstruction.EqualSingle |
|
EqualInstruction.EqualUInt16 |
|
EqualInstruction.EqualUInt32 |
|
EqualInstruction.EqualUInt64 |
|
GotoInstruction |
This instruction implements a goto expression that can jump out of any expression. It pops values (arguments) from the evaluation stack that the expression tree nodes in between the goto expression and the target label node pushed and not consumed yet. A goto expression can jump into a node that evaluates arguments only if it carries a value and jumps right after the first argument (the carried value will be used as the first argument). Goto can jump into an arbitrary child of a BlockExpression since the block doesn’t accumulate values on evaluation stack as its child expressions are being evaluated. Goto needs to execute any finally blocks on the way to the target label. { f(1, 2, try { g(3, 4, try { goto L } finally { ... }, 6) } finally { ... }, 7, 8) L: ... } The goto expression here jumps to label L while having 4 items on evaluation stack (1, 2, 3 and 4). The jump needs to execute both finally blocks, the first one on stack level 4 the second one on stack level 2. So, it needs to jump the first finally block, pop 2 items from the stack, run second finally block and pop another 2 items from the stack and set instruction pointer to label L. Goto also needs to rethrow ThreadAbortException iff it jumps out of a catch handler and the current thread is in "abort requested" state. |
IndexedBranchInstruction |
|
InitializeLocalInstruction |
|
InitializeLocalInstruction.ImmutableBox |
|
InitializeLocalInstruction.ImmutableValue |
|
InitializeLocalInstruction.MutableBox |
|
InitializeLocalInstruction.MutableValue |
|
InitializeLocalInstruction.Parameter |
|
InitializeLocalInstruction.ParameterBox |
|
InitializeLocalInstruction.Reference |
|
InstructionFactory |
|
InterpretedFrame |
|
Interpreter |
|
LeaveExceptionHandlerInstruction |
The last instruction of a catch exception handler. |
LeaveFaultInstruction |
The last instruction of a fault exception handler. |
LeaveFinallyInstruction |
The last instruction of finally block. |
LoadLocalBoxedInstruction |
|
LoadLocalFromClosureBoxedInstruction |
|
LoadLocalFromClosureInstruction |
|
LoadLocalInstruction |
|
LocalAccessInstruction |
|
MethodInfoCallInstruction |
|
NotEqualInstruction |
|
NotEqualInstruction.NotEqualBoolean |
|
NotEqualInstruction.NotEqualByte |
|
NotEqualInstruction.NotEqualChar |
|
NotEqualInstruction.NotEqualDouble |
|
NotEqualInstruction.NotEqualInt16 |
|
NotEqualInstruction.NotEqualInt32 |
|
NotEqualInstruction.NotEqualInt64 |
|
NotEqualInstruction.NotEqualReference |
|
NotEqualInstruction.NotEqualSByte |
|
NotEqualInstruction.NotEqualSingle |
|
NotEqualInstruction.NotEqualUInt16 |
|
NotEqualInstruction.NotEqualUInt32 |
|
NotEqualInstruction.NotEqualUInt64 |
|
OffsetInstruction |
|
RuntimeVariablesInstruction |
|
StoreLocalBoxedInstruction |
|
StoreLocalInstruction |
|
SwitchInstruction |
|
ThrowInstruction |
|