1. 29 6月, 2022 12 次提交
    • Z
      [mono] Use GenericArraySortHelper<T> on mono as well. (#71325) · 4b1a1213
      Zoltan Varga 提交于
      * [mono] Use GenericArraySortHelper<T> on mono as well.
      
      * Remove unnecessarily DynamicDependency attributes.
      4b1a1213
    • A
      Disable LTCG when building libnethost.lib for Windows. (#71089) · 5f3cd210
      Alex Rønne Petersen 提交于
      Fixes dotnet/runtime#71056.
      5f3cd210
    • E
      6c10d0e7
    • M
      Remove unnecessary DynamicDependency in CoreLib (#71369) · 333742be
      Michal Strehovský 提交于
      * The ones on `CreateArraySortHelper` were introduced before we introduced dataflow annotations on `CreateInstanceForAnotherGenericParameter`. This should now just fall out naturally.
      * The ones on `InvokerEmitUtil` were added recently in #67917. I'm going to assume it's just a cargo cult because the reflection within the methods is fully analyzable. We would need warning suppressions if it wasn't.
      333742be
    • K
      Update guideline of squashing commits (#71394) · cc3ac1b4
      Kunal Pathak 提交于
      * do not squash commits
      
      * point to pr-guide
      cc3ac1b4
    • A
      JIT: strengthen checking of the loop table (#71184) · cd88b84a
      Andy Ayers 提交于
      Add loop table checking to the post-phase list, conditional on whether the
      table is expected to be valid.
      
      Declare that the table is valid from the end of the find loops phase to the
      end of the optimization phases.
      
      Add checks that sibling loops are fully disjoint, no child shares top with its
      parent, and all top-entry loops have at most one non-loop backedge.
      
      Expand set of phases that opt into the "common" poost phase checks
      to include all those between find loops and hoisting.
      
      Closes #71084.
      Closes #71071.
      cd88b84a
    • R
      [wasm] Add Vector128.OnesComplement SIMD intrinsic (#71384) · 3fb9511b
      Radek Doulik 提交于
      * [wasm] Add Vector128.OnesComplement SIMD intrinsic
      
      Add wasm specific implementation of `Vector128.OnesComplement` method.
      
      Example compilation output. Managed:
      
          static Vector128<double> SimdTest3(Vector128<double> input)
          {
              return Vector128.OnesComplement(input);
          }
      
      IR:
      
          BB3:                                              ; preds = %BB2
            %cast_to_4_x_i32 = bitcast <2 x double> %simd_vtype to <4 x i32>
            %wasm_not = xor <4 x i32> %cast_to_4_x_i32, <i32 -1, i32 -1, i32 -1, i32 -1>
            %cast_back = bitcast <4 x i32> %wasm_not to <2 x double>
            br label %BB4
      
      wasm - Debug configuration:
      
          (func Wasm_Console_V8_CJS_Sample_Test_SimdTest3_System_Runtime_Intrinsics_Vector128_1_double(param $0 i32, $1 i32, $2 i32))
           local $3 i32
           local $4 i32
           local $5 v128
           local $6 v128
           0x00cf955a: global.get $__stack_pointer
           0x00cf955c: local.set $3
           0x00cf955e: i32.const 16
           0x00cf9560: local.set $4
           0x00cf9562: local.get $3
           0x00cf9564: local.get $4
           0x00cf9566: i32.sub
           0x00cf9567: drop
           0x00cf9568: local.get $1
           0x00cf956a: v128.load align:4    [SIMD]
           0x00cf956e: local.set $5
           0x00cf9570: local.get $5
           0x00cf9572: v128.not    [SIMD]
           0x00cf9574: local.set $6
           0x00cf9576: local.get $6
           0x00cf9578: drop
           0x00cf9579: local.get $0
           0x00cf957b: local.get $6
           0x00cf957d: v128.store    [SIMD]
           0x00cf9581: return
      
      wasm - Release configuration:
      
          (func idx:7866(param $0 i32, $1 i32, $2 i32))
           0x00185b37: local.get $0
           0x00185b39: local.get $1
           0x00185b3b: v128.load align:4    [SIMD]
           0x00185b3f: v128.not    [SIMD]
           0x00185b41: v128.store    [SIMD]
      
      * Apply feedback
      
      * Add `--enable-simd` to `wasm-opt` again
      
      * Fix build
      3fb9511b
    • A
      JIT: add missing test case for gdv and boxing (#71389) · 1b6ffd0a
      Andy Ayers 提交于
      This should have gone in with #60355. It was included in the 6.0 port (#69630).
      Now adding it to main as well.
      1b6ffd0a
    • S
      Use null coalescing in many more places (#71361) · e55c9082
      Stephen Toub 提交于
      e55c9082
    • S
      Enable IDE0170 (Simplify property pattern) and IDE0200 (remove unnecessary... · 9f7bf799
      Stephen Toub 提交于
      Enable IDE0170 (Simplify property pattern) and IDE0200 (remove unnecessary lambda expression) (#71011)
      
      As part of updating the config file with recently added rules, also turn on a few of them.
      9f7bf799
    • J
      JIT: Avoid incorrect TYP_UINT retyping for ToScalar (#71372) · 14f993e9
      Jakob Botsch Nielsen 提交于
      TYP_UINT is only meaningful for certain operations in the JIT and nodes
      can/should never produce values of this type.
      
      Fix #71360
      14f993e9
    • J
      Add test coverage for generic type substitution with byreflike generics (#71276) · 946e63af
      Jeremy Koritzinsky 提交于
      This test coverage also found some interesting behavior (issue TBD) in the following scenario:
      
      Given a `<byreflike T>` (aka a `T` that can be a byreflike type), we allow passing this to a `<U>` generic parameter (where `U` does not allow byref-like types).
      
      We do correctly throw when instantiating the generic with a byreflike type though, so we don't end up in a bad state.
      
      I've marked this test with an ActiveIssue attribute pending feedback on whether or not this is a bug.
      946e63af
  2. 28 6月, 2022 24 次提交
  3. 27 6月, 2022 4 次提交