150 Commits (37c56e7e7b977de64c78a129031e6744b59ad7a2)

Author SHA1 Message Date
Siegfried Pammer 9f77f8a919 Prevent inlining of call arguments when doing so would change order of evaluation with regards to the implicit ldobj performed by a constrained.callvirt. 1 month ago
Daniel Grunwald f568123704 Add support for UTF8 string literals 2 years ago
Daniel Grunwald 245261a1e5 #nullable enable for Instructions.tt 4 years ago
Daniel Grunwald 782e4ae88c Fix #2215: Use `Unsafe` intrinsics for `ldobj`/`stobj` instructions. 5 years ago
Siegfried Pammer 7f4653c274 Add support for tuple deconstruction 5 years ago
Siegfried Pammer 9cb3fe3484 Add support for basic deconstruction conversions 5 years ago
Daniel Grunwald bd4e565b93 Ensure all pinned regions variables are converted to VariableKind.PinnedRegionLocal 5 years ago
Daniel Grunwald abb9d49a0f Add support for C# 8 switch expressions. 5 years ago
Siegfried Pammer b01e9484d5 Fix bugs in ILAst 5 years ago
Siegfried Pammer 6bb6097ad4 Extended DeconstructInstruction.CheckInvariant 5 years ago
Daniel Grunwald cda56e7f7e #2048: Pattern matching: documentation and invariants for MatchInstruction. 5 years ago
Siegfried Pammer 95f2ae7aef Add ILAst base for Deconstruction and Pattern Matching 5 years ago
Daniel Grunwald b18ed89b67 #2050: Add assertion to check that no transform uses StObj.TargetSlot incorrectly. 5 years ago
Daniel Grunwald 62fcab8d99 #2050: Allow inlining into the StObj target slot when this is possible without changing the program semantics. 5 years ago
Daniel Grunwald 925a4e1e65 #2050: Don't put ldflda/ldelema with immediate exceptions into StObj.TargetSlot. 5 years ago
Daniel Grunwald dc6e094a30 Add support for indexing arrays using System.Index 5 years ago
Daniel Grunwald bbb2397083 Fix #1853: Detect pinning of multi-dimensional array 5 years ago
Daniel Grunwald eb2a9e6b94 #1852: Rename array.to.pointer opcode to get.pinnable.reference. 6 years ago
Daniel Grunwald 57b725df79 Fix #1655: Incorrect pointer cast when calling method on integer constant 6 years ago
Siegfried Pammer 679623e4c3 Fix #1609: Decompilation of cached delegate-construction with unknown delegate type. 6 years ago
Siegfried Pammer ec18094c65 Implement transformation of delegate construction with ldvirtftn. 6 years ago
Daniel Grunwald ccdabf2325 Fix a bunch of XmlDoc compiler warnings. 6 years ago
Siegfried Pammer 305b47245e Refactor representation of local functions in ILAst. 6 years ago
Siegfried Pammer c1fca21e8a Make ILRange field private - introduce public API for IL range manipulation. 6 years ago
Siegfried Pammer 3f4ffd64f8 Set DelayExceptions = true in ILReader for get/set operations on multi-dim arrays. 6 years ago
Siegfried Pammer 0dac55d584 Add transformation for stackalloc to Span<T>. 7 years ago
Daniel Grunwald dd5845e83d Support short-circuiting operators with dynamic. (e.g. "if (x.A && x.B)" where "x" is dynamic) 7 years ago
Daniel Grunwald 9479e8af13 Support overloaded operator &&/||. 7 years ago
Siegfried Pammer 904aa5269e Fix various bugs in ExpressionBuilder.VisitDynamic* + refactor DynamicInstructions a bit 7 years ago
Siegfried Pammer 0bb71f469d Add DynamicCompoundAssign instruction 7 years ago
Andreas Weizel a254913624 Work for throw expressions. 7 years ago
Siegfried Pammer 84f5e057d3 Add DynamicInstruction 7 years ago
Siegfried Pammer 845c620a9f Implement UserDefinedCompoundAssign 7 years ago
Daniel Grunwald 36035de5fa Improve decompilation of ?. in generic code. 7 years ago
Daniel Grunwald ca0fa55af8 Implement null propagation transform. 7 years ago
Daniel Grunwald a8a852b742 Add instructions for modeling the "?." operator in the ILAst. 7 years ago
Siegfried Pammer 75a3f6d24b Add result type invariants for instruction arguments. 8 years ago
Siegfried Pammer 38b073ee9a Add OpCode.Invariants: generalized mechanism for overriding CheckInvariant 8 years ago
Siegfried Pammer 33c5e2d3ed Add StackType.F4 and StackType.F8, and instructions LdcF4 and LdcF8. 8 years ago
Siegfried Pammer 21dfa43dab Add ExpressionTreeCast instruction 8 years ago
Daniel Grunwald 02db362838 Ensure that StLoc.Value.ResultType == StLoc.Variable.StackType 8 years ago
Daniel Grunwald f155ca4ef6 Fix #938: add support for I4->I stack type adjustments. 8 years ago
Daniel Grunwald 7af15d27cd Fix #905: improve exit point detection for foreach loops. 8 years ago
Daniel Grunwald 40a4f08a8d Add support for compound assignment of short integers. 8 years ago
Daniel Grunwald 248a9ad76f Fix #954: don't use invalid compound assignments on enums 8 years ago
Daniel Grunwald 385005b2e5 More strictly test the inline assignment pattern. 8 years ago
Daniel Grunwald 0c6d6742fe Add support for fixed-size buffers. 8 years ago
Siegfried Pammer 5fec6bd7f7 Implement Interval.WriteTo extension method on ILAst 8 years ago
Daniel Grunwald 102729cfde Put switch instructions into their own BlockContainer. 8 years ago
Daniel Grunwald ebab7d5de0 #899: Add calli opcode to ILAst 8 years ago