1. 15 5月, 2015 2 次提交
  2. 14 5月, 2015 2 次提交
  3. 13 5月, 2015 2 次提交
  4. 12 5月, 2015 2 次提交
  5. 05 5月, 2015 1 次提交
  6. 02 5月, 2015 1 次提交
  7. 27 4月, 2015 1 次提交
  8. 21 4月, 2015 2 次提交
    • V
      Adjusted codegen for disposal of iterators to use constrained call with type parameters. · 6401fb78
      VSadov 提交于
      Even though there is no semantical difference between box/callvirt and constrained/callvirt here, we do not want to cause unnecessary boxing.
      
      Compiler was handling this case correctly for structs, but missed the case of generic type parameters.
      (old compiler did use constrained with generic type parameters as well)
      
      Fixes #2111
      6401fb78
    • V
      More improvements to the ?. codegen. · 3fea2a2b
      VSadov 提交于
      Better handling of unary operators (like:  - foo?.Bar  )
      Better lowering strategy for nullable receiver - we no longer rewrite to a ternary ?: in such cases which leads to more optimization opportunities.
      3fea2a2b
  9. 20 4月, 2015 1 次提交
  10. 17 4月, 2015 1 次提交
  11. 16 4月, 2015 1 次提交
  12. 15 4月, 2015 2 次提交
  13. 14 4月, 2015 2 次提交
  14. 13 4月, 2015 4 次提交
  15. 10 4月, 2015 1 次提交
  16. 09 4月, 2015 1 次提交
  17. 29 3月, 2015 1 次提交
  18. 26 3月, 2015 3 次提交
    • V
      Added more tests. · fa5ff6d0
      VSadov 提交于
      fa5ff6d0
    • V
      Fixed incorrect codegen when rethrow is used in a regular catch next to catches with awaits. · e87ce86f
      VSadov 提交于
      Catches without awaits should not be rewritten in a context of an await catch frame since rethrow in such catch is just a regular rethrow.
      Fixes #1334
      e87ce86f
    • V
      Changed generation of PrivateImplementationDetails to append module name only... · 5841b3b3
      VSadov 提交于
      Changed generation of PrivateImplementationDetails to append module name only when dealing with netmudules.
      
      The goal of module name apending is to avoid clashes when combining multiple netmodules into multifile assembly. When building a regular assembly, appending module name is not serving any purpose and just causes unnecessary metadata differences.
      
      Also in this change - when we do apend the module name, replace '.' with '_' when that happens. For example when we build a netmodule and its name is Foo.Bar.dll
      More complicated name mangling schemes were discussed, but at this point we will do a simple '.' --> '_' as the least destabilizing change which is still sufficient in the most common case of having dots in the module name.
      
      Fixes #1430
      5841b3b3
  19. 24 3月, 2015 1 次提交
  20. 17 3月, 2015 1 次提交
  21. 14 3月, 2015 2 次提交
  22. 08 3月, 2015 2 次提交
  23. 07 3月, 2015 2 次提交
    • S
    • V
      Restored requirement for struct constructors to always have formal parameters · 1a6b2f0d
      VSadov 提交于
      Fixes #1029
      
      While overall parameterless constructors in structs are valid from IL perspective, without a convenient way to declare them they were virtually nonexistent. As we performed more and more testing, we kept discovering cases where parameterless struct constructors caused inconsistent behavior in libraries or even in some versions of CLR.
      
      After reconsidering the potential issues arising from breaking long standing assumptions, we decided it was best for our users to restore the requirement on struct constructors to always have formal parameters.
      1a6b2f0d
  24. 03 3月, 2015 1 次提交
  25. 28 2月, 2015 1 次提交