155 Commits (070307bb734978c6b62d992ee4a10aa3b191e21a)

Author SHA1 Message Date
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
Daniel Grunwald 6b89c9722f Fix TryFault flags computation 10 years ago
Siegfried Pammer 7fdb7765c8 fix copy-paste error in PeekOrDefault extension 10 years ago
Siegfried Pammer abc29ef52f determine proper ResultType of Shl/Shr 10 years ago
Siegfried Pammer 6f60dbe04e implemented SwitchInstruction, StElem, NewArr instructions 10 years ago
Daniel Grunwald 3a03415be4 Add ControlFlowSimplification pass 10 years ago
Daniel Grunwald f39b6f7672 TransformStackIntoVariables for TryCatch 10 years ago
Daniel Grunwald 4dec7abb63 Replace 'endfinally' with 'leave' 10 years ago
Daniel Grunwald 0cae30cce2 ILInstruction.Clone() 10 years ago
Daniel Grunwald 3db0e01eee Handle 'leave' instruction in StatementBuilder 10 years ago
Daniel Grunwald 6b4ea94a2e Introduce 'leave' instruction for leaving block containers. 10 years ago
Daniel Grunwald 769990ef04 Add more enumerator debugging. 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
Daniel Grunwald eedcfebb0f Remove 'loop' instruction; just use a block container. 10 years ago
Daniel Grunwald b2dfdea68e Add loop detection. 10 years ago
Daniel Grunwald 5ead8e9230 Add SpecializingDecompilerTypeSystem 10 years ago
Daniel Grunwald f57e159c35 Fix bugs in IfInstruction.TransformStackIntoVariables 10 years ago
Daniel Grunwald 7a47f118e7 Fix missing cast in C# ExpressionBuilder, and add nop removal. 10 years ago
Siegfried Pammer 36e39f2c02 add TransformStackIntoVariables for IfInstruction 10 years ago
Siegfried Pammer 165cf85562 add missing file 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 6cb55ef16d Add Block.FinalInstruction 10 years ago
Daniel Grunwald f81e720d71 Fix inlining bug due to Pop not having flag MayPop. 10 years ago
Daniel Grunwald 7c318157d5 TypeSystem helper for unit tests 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 f2d5aa2c99 Handle enums in GetStackType() for cecil TypeReference. Add C# translation for the 'void' opcode. 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 bf917c4352 Decompile call instructions 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
Daniel Grunwald 7e8cc06c76 Don't declare variables in primary ctors 11 years ago
Daniel Grunwald f0b58d9701 Add some basic expressions to ExpressionBuilder. 11 years ago
Daniel Grunwald 8235a93e4f Basic infrastructure for C# decompiler 11 years ago
Daniel Grunwald 557f790127 Build inline blocks when there are IL statements (opcodes not pushing anything) in a block while the stack is non-empty. 11 years ago