59 Commits (eee2794eb44e8fced5c12a29744d48bf4ac73841)

Author SHA1 Message Date
Daniel Grunwald eee2794eb4 Fix typos in comments 12 years ago
David Srbecký e0e53ae650 Switched to "define-use" naming convention in ILAstBuilder. Refactored variable splitting. 14 years ago
Pent Ploompuu 8490b4cfd5 Restrict variable splitting in case of nondeterministic ldloca opcodes. 14 years ago
Pent Ploompuu 41e71ead8c Fix variable splitting for ldloca opcodes 14 years ago
Daniel Grunwald 0cdaf3bec4 Ensure the value parameter of a property setter is called 'value'. 14 years ago
David Srbecký aeeda32d10 Return instruction pops zero or one item instead of all. 14 years ago
Siegfried Pammer f4d29b2f2b add AlwaysGenerateExceptionVariableForCatchBlocks setting to avoid Catch clauses without a variable; disable C#'s query expression translation 14 years ago
Pent Ploompuu 1388f0b678 Fix performance regression in stack analysis (probably caused by increased complexity from Ldloca support). 14 years ago
Pent Ploompuu ca6a283b16 Fixed variable splitting 14 years ago
Pent Ploompuu 8f5925f854 Ldloca support for variable splitting. 14 years ago
David Srbecký de4389cb39 Do not fall though the end of try-block. It should never happen in valid IL, but some obfuscators generate such code. Closes #164 14 years ago
David Srbecký c31f9232c5 Do not fall though the end of try-block. It should never happen in valid IL, but some obfuscators generate such code. Closes #164 14 years ago
David Srbecký 51eb00aac7 Remove unreachable code in ILAstBuilder. Closes #134. Closes #151. Closes #171. 14 years ago
Daniel Grunwald 508073d6ac Applied some of the optimizations suggested by Kris Vandermotten. #150 14 years ago
Daniel Grunwald f12371e0e1 Consistently use the full MIT license header on source files. 14 years ago
Eusebiu Marcu e4513b947b Merged ICSharpCode.Decompiler changes from debugger branch. 14 years ago
Eusebiu Marcu 65be04d18e Move local variables into a property of AstBuilder 14 years ago
David Srbecký 3c5f1355cb Handle uninitialized variables. Closes #102. Closes #116. 15 years ago
David Srbecký 7ff8c69057 Do stack analysis on the whole filter body. Closes #88 15 years ago
David Srbecký 0e957b6347 Fixed NullReferenceException caused by unreachable IL code. It was generally caused by throw followed by catch leave. 15 years ago
David Srbecký 08b8645308 Handle uninitialized variables. Closes #102. Closes #116. 15 years ago
David Srbecký 6222ef7bbf Do stack analysis on the whole filter body. Closes #88 15 years ago
David Srbecký 7ac44375ff Fixed NullReferenceException caused by unreachable IL code. It was generally caused by throw followed by catch leave. 15 years ago
Daniel Grunwald 55dec5389c Fix crash when decompiling calli instruction. Closes #113. 15 years ago
Daniel Grunwald cc0ab56869 Add pre- and post-increment support for properties (both instance and static) and for multi-dimensional arrays. 15 years ago
David Srbecký ab9452a30e ILBasicBlock refactored to consist only of the body. Removed ILComment. Closes #86 15 years ago
David Srbecký 10a96a8d3f Helpers ILCode.IsConditionalControlFlow() and ILCode.IsUnconditionalControlFlow() 15 years ago
Daniel Grunwald a3c241dac6 Improve handling of pinned variables. 15 years ago
Daniel Grunwald 01d7e2abbd Use the same representation for parameters and variables. 15 years ago
David Srbecký 171b11b87f Generate only one variable for 'dup' if possible 15 years ago
David Srbecký aaad162de6 Storing temporary variables in reverse produces better code 15 years ago
David Srbecký 897ac7fe04 Moved inlineing from Builder to Optimizer 15 years ago
Daniel Grunwald d5505b7843 Initial attempt at yield return transform. 15 years ago
Daniel Grunwald 6feadf3840 Started analysis of yield return statements. 15 years ago
David Srbecký 929fd4a09d Made some structures in ILAstBuilder immutable to improve speed and memory consumption 15 years ago
Daniel Grunwald 60c02d577b Change namespace to ICSharpCode.Decompiler. 15 years ago
Eusebiu Marcu 6e10e6bbe0 Evaluate local vars. 15 years ago
pentp c61d3b3ab2 Fix for handler blocks ending at method body end 15 years ago
David Srbecký 89c7a8a5b4 Keep track of the original variable for ILVariable 15 years ago
David Srbecký 18aea29eae Split local variables by their live ranges 15 years ago
David Srbecký 994a215963 Data-flow analysis in ILAstBuilder 15 years ago
Daniel Grunwald b7ea33b8ac Don't inline stloc instructions. 15 years ago
David Srbecký 021b923036 Fixed analysis for prefixed bytecodes - Closes #22 15 years ago
Daniel Grunwald ecd8bc7cce Store prefixes with their parent instruction in ILAst; make use of 'constrained' prefix in type analysis. 15 years ago
David Srbecký 77d1f62356 Threat stloc as expression that returns value (the stored value) 15 years ago
David Srbecký adfc7fc3e4 Handle unreachable code 15 years ago
Daniel Grunwald 8b342ea469 Use ILVariable as ldloca operand. 15 years ago
David Srbecký 986e5e06cc Proper support for catch block argument 15 years ago
David Srbecký a03d029d30 Use custom enum to store OpCodes (so that we can add "virtual" opcodes) 15 years ago
David Srbecký ed11a717a0 Fixed bug in creation of try-catch ILAst blocks 15 years ago