158 Commits (master)

Author SHA1 Message Date
Daniel Grunwald a40f0754c1 Add InvalidInstruction to represent invalid IL opcodes in the ILAst instead of crashing. 9 years ago
Daniel Grunwald f3d108c469 Add SplitVariables transforms. 9 years ago
Daniel Grunwald f1021d18af Make comparisons in the ILAst more similar to C# comparisons. 9 years ago
Siegfried Pammer 61fe3b4412 Add variable ResultType to Ldlen instruction 9 years ago
Daniel Grunwald b55775e2cc Add reaching definitions analysis. 9 years ago
Daniel Grunwald c171dbd520 Add class VariableScope. 9 years ago
Daniel Grunwald 8edfe57b85 Fix bug in Clone() impl for collection slots. 9 years ago
Siegfried Pammer 62fe21fb9f add transformation of decimal literals and decimal constants 10 years ago
Siegfried Pammer 0515750574 add support for mkreftype, refanytype, refanyvalue, arglist 10 years ago
Siegfried Pammer bf990f8f41 add TransformArrayInitializers 10 years ago
Daniel Grunwald 1720fe5bba First version of variable inlining. 10 years ago
Daniel Grunwald 06356512fa Remove the evaluation stack from ILAst; the ILReader now directly introduces stack variables. 10 years ago
Siegfried Pammer e0fba0c94e add generated Match<opCode> methods 10 years ago
Siegfried Pammer dbadabfb2a remove InitObj - replace with Void(StObj(DefaultValue)) 10 years ago
Siegfried Pammer 6a92350795 adjust NewObj.ResultType to work better with delegates 10 years ago
Siegfried Pammer 6f60dbe04e implemented SwitchInstruction, StElem, NewArr instructions 10 years ago
Daniel Grunwald 8b2176d81a Add 'ldelem' support 10 years ago
Daniel Grunwald 4dec7abb63 Replace 'endfinally' with 'leave' 10 years ago
Daniel Grunwald 0cae30cce2 ILInstruction.Clone() 10 years ago
Daniel Grunwald 6b4ea94a2e Introduce 'leave' instruction for leaving block containers. 10 years ago
Daniel Grunwald f37655a573 Add void-visitor and make Descendants use post-order. 10 years ago
Daniel Grunwald bcfe1b0813 Add ILInstruction.ReplaceWith() method and make ILInstruction.Children an IReadOnlyList. 10 years ago
Siegfried Pammer c4ba350015 implement decompilation of typeof() (LdTypeToken and LdMemberToken) 10 years ago
Daniel Grunwald eedcfebb0f Remove 'loop' instruction; just use a block container. 10 years ago
Daniel Grunwald b2dfdea68e Add loop detection. 10 years ago
Siegfried Pammer f45c2fa401 implement TransformStackIntoVariables step to eliminate peek and pop instructions 10 years ago
Daniel Grunwald e40c0a9f39 Fix inline-block creation. 10 years ago
Daniel Grunwald f81e720d71 Fix inlining bug due to Pop not having flag MayPop. 10 years ago
Daniel Grunwald 2dd5a38d05 Generalize inlining, and make it usable for symbolic phase-1 execution. 10 years ago
Daniel Grunwald 5b41b662a2 More clearly document block semantics, in particular regarding phase-1 and phase-2 execution. 10 years ago
Daniel Grunwald 2f83334c2e Use NRefactory.TypeSystem for ILAst. 11 years ago
Daniel Grunwald ea0eaf9623 Add CompoundAssignment mode to BinaryNumericInstruction 11 years ago
Daniel Grunwald 11ec5f24a7 Make assignment ILAst opcodes return the assigned value 11 years ago
Daniel Grunwald 3d47e1028e Instead of OverflowMode, use bool checkForOverflow + Sign 11 years ago
Daniel Grunwald 1f14dea33f Add CheckInvariant() and fix Return.ComputeFlags() 11 years ago
Daniel Grunwald 68ab914293 Build exception handling blocks 11 years ago
Daniel Grunwald 63b32fef35 Create ILFunction top-level node 11 years ago
Daniel Grunwald 2f1e229046 Add parent pointers to ILAst 11 years ago
Daniel Grunwald 91f875169c Add a bunch of instructions. 11 years ago
Daniel Grunwald 3a3220ccc2 Include operands in ILAst output 11 years ago
Daniel Grunwald b648744380 Change representation of conditional branch. 11 years ago
Daniel Grunwald 0c72367579 Fix bugs. 11 years ago
Daniel Grunwald 42bfff077d Finish the move to the new generated ILAst classes 11 years ago
Daniel Grunwald 49ce1bcea3 Worked on ILAst instruction representation 11 years ago
Daniel Grunwald 75b0e23ae2 Use code generation to create the ILAst classes. 11 years ago