1. 10 3月, 2023 26 次提交
    • V
      Implements correct handling of RequiresAssemblyFiles on properties and events (#83195) · 0d7578ce
      Vitek Karas 提交于
      The `RequiresAssemblyFiles` attribute can be present on property or event (in which case it applies to all accessors). The analyzer already handles this case, but the NativeAOT compiler didn't. This change implements the correct behavior in NativeAOT as well.
      
      The implementation actually handles all Requires attributes this way now, but the other two are not allowed on properties or event (yet).
      
      Had to add an optimization to the `GetPropertyForAccessor`/`GetEventForAccessor` as these are now called very frequently and they can be really slow.
      
      Implements a new behavior with regard to IL3003 as described in the comment in the code as well as: #83235
      
      Fixes https://github.com/dotnet/runtime/issues/71985.
      0d7578ce
    • J
      Implement native container types used by shared EventPipe code. (#78852) · 1d5c4244
      Johan Lorensson 提交于
      * Implement native container types used by shared EventPipe code.
      
      Use eglib's list, slist, array, ptr_array, queue, hash table as a starting point creating a new set of native container types shared between native runtime components like EventPipe.
      
      EventPipe shim container API used a STL like API, new container types follows STL style container API and match STL type names:
      
      vector
      forward list
      list
      queue
      unordered map
      
      Native container types are still included in runtime build artifacts (through EventPipe cmake files), this can be changed/done differently depending on how each runtime would like to build/use the source files. In order to make that intent more clear, container and EventPipe cmake files have been renamed to not use CMakeList.txt, but .cmake.
      
      A number of new native tests for added container types have been added into EventPipe native test runner.
      1d5c4244
    • M
      286da9e6
    • M
      Vectorize ProbabilisticMap.IndexOfAny (#80963) · 7a0b0e13
      Miha Zupan 提交于
      * Vectorize ProbabilisticMap.IndexOfAny on AVX2
      
      * Use ResetLowestSetBit from BitOperations
      
      * Speed up Avx2 and add Vector128 support
      
      * Add Vector{128/256}.LoadUnsafe(ref char) and Vector128.ShuffleUnsafe
      
      * Use Vector128.ShuffleUnsafe in more places
      
      * PR feedback
      
      * Replace another ShiftRightLogical with '>>>'
      
      * Add WASM path to Vector128.ShuffleUnsafe
      
      * PR feedback
      7a0b0e13
    • S
    • L
      [wasm] Flow emsdk using a stable package name instead of one that will break every preview (#83208) · 50aeed4c
      Larry Ewing 提交于
      * Update dependencies from https://github.com/dotnet/llvm-project build 20230308.1
      
      runtime.linux-arm64.Microsoft.NETCore.Runtime.JIT.Tools , runtime.linux-arm64.Microsoft.NETCore.Runtime.Mono.LLVM.Sdk , runtime.linux-arm64.Microsoft.NETCore.Runtime.Mono.LLVM.Tools , runtime.linux-arm64.Microsoft.NETCore.Runtime.ObjWriter , runtime.linux-musl-arm64.Microsoft.NETCore.Runtime.JIT.Tools , runtime.linux-musl-arm64.Microsoft.NETCore.Runtime.ObjWriter , runtime.linux-musl-x64.Microsoft.NETCore.Runtime.JIT.Tools , runtime.linux-musl-x64.Microsoft.NETCore.Runtime.ObjWriter , runtime.linux-x64.Microsoft.NETCore.Runtime.JIT.Tools , runtime.linux-x64.Microsoft.NETCore.Runtime.Mono.LLVM.Sdk , runtime.linux-x64.Microsoft.NETCore.Runtime.Mono.LLVM.Tools , runtime.linux-x64.Microsoft.NETCore.Runtime.ObjWriter , runtime.osx-arm64.Microsoft.NETCore.Runtime.Mono.LLVM.Sdk , runtime.osx-arm64.Microsoft.NETCore.Runtime.Mono.LLVM.Tools , runtime.osx-x64.Microsoft.NETCore.Runtime.Mono.LLVM.Sdk , runtime.osx-x64.Microsoft.NETCore.Runtime.Mono.LLVM.Tools , runtime.win-arm64.Microsoft.NETCore.Runtime.JIT.Tools , runtime.win-arm64.Microsoft.NETCore.Runtime.ObjWriter , runtime.win-x64.Microsoft.NETCore.Runtime.JIT.Tools , runtime.win-x64.Microsoft.NETCore.Runtime.Mono.LLVM.Sdk , runtime.win-x64.Microsoft.NETCore.Runtime.Mono.LLVM.Tools , runtime.win-x64.Microsoft.NETCore.Runtime.ObjWriter
       From Version 14.0.0-alpha.1.23156.3 -> To Version 14.0.0-alpha.1.23158.1
      
      * Update dependencies from https://github.com/dotnet/emsdk build 20230308.1
      
      Microsoft.NET.Workload.Emscripten.Current.Manifest-8.0.100-preview.3 , Microsoft.NET.Workload.Emscripten.net6.Manifest-8.0.100-preview.3 , Microsoft.NET.Workload.Emscripten.net7.Manifest-8.0.100-preview.3
       From Version 8.0.0-preview.3.23156.1 -> To Version 8.0.0-preview.3.23158.1
      
      * try flowing a stable name
      
      * fix typo
      
      * Update since _ doesn't get removed in the package name
      
      * Update to new name
      
      ---------
      Co-authored-by: Ndotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>
      50aeed4c
    • D
      Update dependencies from https://github.com/dotnet/roslyn-analyzers build 20230308.3 (#83198) · 5e9e4d0f
      dotnet-maestro[bot] 提交于
      Microsoft.CodeAnalysis.Analyzers , Microsoft.CodeAnalysis.NetAnalyzers
       From Version 3.3.5-beta1.23124.1 -> To Version 3.3.5-beta1.23158.3
      Co-authored-by: Ndotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>
      5e9e4d0f
    • D
      Update dependencies from https://github.com/dotnet/roslyn build 20230309.1 (#83200) · 4a17053c
      dotnet-maestro[bot] 提交于
      Microsoft.CodeAnalysis , Microsoft.CodeAnalysis.CSharp , Microsoft.Net.Compilers.Toolset
       From Version 4.6.0-3.23157.14 -> To Version 4.6.0-3.23159.1
      Co-authored-by: Ndotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>
      4a17053c
    • W
      [JIT] ARM64 - Overflow check optimizations for division (#82924) · 93645752
      Will Smith 提交于
      * Do not emit overflow check for div if we know first operand is a constant that is a not a min value
      
      * Remove redundant branch
      
      * Update codegenarm64.cpp
      
      * Try to use subs, zr, dividendReg, 1 to determine overflow in division
      
      * Cleanup
      
      * Use IsNeverNegative to help not emit overflow checks
      
      * Fix check
      
      * Added helper functions
      
      * Use main node instead of op1 for type check
      
      * Add 64-bit check
      
      * Use cmp instead of subs since it is an alias
      
      * Handle 32-bit arch division for LONG.
      
      * Additional checks
      
      * More cleanup
      
      * More cleanup
      
      * Do not find exception blocks
      
      * Try using flags
      
      * Try using flags
      
      * More checks, more comments
      
      * Update src/coreclr/jit/gentree.cpp
      Co-authored-by: NSingleAccretion <62474226+SingleAccretion@users.noreply.github.com>
      
      * Flip meaning of check flags. Rename OperExceptions to GetExceptionSetFlags. Use GetExceptionSetFlags to determine to add div-by-zero or overflow blocks for arm64.
      
      * Use GetExceptionSetFlags in arm64 codegen
      
      * Revert name
      
      * Use GTF_DIV_MOD_NO_OVERFLOW_CHK in CanDivOrModPossiblyOverflow
      
      * Fix build
      
      * Rename flags by removing '_CHK'
      
      * Remove break
      
      ---------
      Co-authored-by: NSingleAccretion <62474226+SingleAccretion@users.noreply.github.com>
      93645752
    • C
      Add tar tests to confirm entries owned by deleted users can still be read or written (#83126) · 3941a481
      Carlos Sánchez López 提交于
      * Add tar tests to confirm entries owned by deleted users can still be read and written.
      
      * Improve Process execution code to avoid potential deadlock.
      3941a481
    • J
      JIT: Disallow 0-sized block ops (#83224) · 61abe4b7
      Jakob Botsch Nielsen 提交于
      Avoid creating 0-sized block ops in the importer (but keep the side effects of the addresses). Add asserts that we don't create these nodes and get rid of some downstream checks for the case.
      
      Fix #12807
      
      Also merge CEE_INITBLK and CEE_CPBLK importer cases. As part of this fix a bug where we weren't setting GTF_EXCEPT on the destination in the CEE_INITBLK case.
      61abe4b7
    • K
      [wasm] Fix missing branch target table update (#83236) · 00858e42
      Katelyn Gadd 提交于
      The jiterpreter was failing to add unconditional branch targets to the branch target table, which could cause branches targeting them to fail and make the trace bail out.
      00858e42
    • L
      [workloads] Update the workload descriptions (#83223) · 27b4b73c
      Larry Ewing 提交于
      * Update the workload description
      
      * Update the path
      
      * Update the description for net6.0
      
      * Add more descriptions
      
      * Add descriptions for the windows runtime packs
      
      * Update WorkloadManifest.en.json
      
      fix review comment
      27b4b73c
    • P
      [browser] cold start benchmark with download throttling and latency (#83220) · d76afdd0
      Pavel Savara 提交于
      * cold start benchmark with download throttling and latency
      
      * make throttling shared on the same session
      
      * sequential
      
      * removed PageShowCold
      d76afdd0
    • A
      JIT: treat synthesized profile data as pgo data, fix finally weights (#83185) · e0e80780
      Andy Ayers 提交于
      Once synthesis arrives on the scene, we're not going to want phases in the JIT
      to arbitrarily modifying block weights. There is already a guard of this sort
      for regular profile data, so it makes sense to extend that to synthesized data
      as well.
      
      When synthesizing counts, propagate counts to finallies from the associated
      trys. This needs to be done carefully as we have make sure not to visit the
      finally until the count in the try is set. We rely on some of the properties
      of DFS pre and post number bracketing to do this efficiently, without needing
      to track extra state.
      
      Contributes to #82964.
      e0e80780
    • M
      Switch to selfhosted NativeAOT compiler (#81205) · 434d6647
      Michal Strehovský 提交于
      This will compile the NativeAOT compiler with the LKG build of the NativeAOT compiler that the repo is building with.
      
      At this point NativeAOT-compiled compiler is significantly better than the R2R+Trimmed+SingleFile-compiled combo we're shipping right now.
      
      ilc.exe size before: 31 MB. ilc.exe size after: 14 MB.
      Time to compile hello world before: 2.3 seconds. Time to compile hello world after: 1.3 seconds.
      434d6647
    • A
      Enable DwarfDump AOT test in Release (#82862) · 3e73be1b
      Andy Gocke 提交于
      * Enable DwarfDump AOT test in Release
      
      There are some reports (#82802) that debugging might be particularly bad
      in Release.
      
      * Update warning counts for Release
      3e73be1b
    • D
      [main] Update dependencies from dotnet/llvm-project dotnet/emsdk (#83173) · 3c3bea21
      dotnet-maestro[bot] 提交于
      * Update dependencies from https://github.com/dotnet/llvm-project build 20230308.1
      
      runtime.linux-arm64.Microsoft.NETCore.Runtime.JIT.Tools , runtime.linux-arm64.Microsoft.NETCore.Runtime.Mono.LLVM.Sdk , runtime.linux-arm64.Microsoft.NETCore.Runtime.Mono.LLVM.Tools , runtime.linux-arm64.Microsoft.NETCore.Runtime.ObjWriter , runtime.linux-musl-arm64.Microsoft.NETCore.Runtime.JIT.Tools , runtime.linux-musl-arm64.Microsoft.NETCore.Runtime.ObjWriter , runtime.linux-musl-x64.Microsoft.NETCore.Runtime.JIT.Tools , runtime.linux-musl-x64.Microsoft.NETCore.Runtime.ObjWriter , runtime.linux-x64.Microsoft.NETCore.Runtime.JIT.Tools , runtime.linux-x64.Microsoft.NETCore.Runtime.Mono.LLVM.Sdk , runtime.linux-x64.Microsoft.NETCore.Runtime.Mono.LLVM.Tools , runtime.linux-x64.Microsoft.NETCore.Runtime.ObjWriter , runtime.osx-arm64.Microsoft.NETCore.Runtime.Mono.LLVM.Sdk , runtime.osx-arm64.Microsoft.NETCore.Runtime.Mono.LLVM.Tools , runtime.osx-x64.Microsoft.NETCore.Runtime.Mono.LLVM.Sdk , runtime.osx-x64.Microsoft.NETCore.Runtime.Mono.LLVM.Tools , runtime.win-arm64.Microsoft.NETCore.Runtime.JIT.Tools , runtime.win-arm64.Microsoft.NETCore.Runtime.ObjWriter , runtime.win-x64.Microsoft.NETCore.Runtime.JIT.Tools , runtime.win-x64.Microsoft.NETCore.Runtime.Mono.LLVM.Sdk , runtime.win-x64.Microsoft.NETCore.Runtime.Mono.LLVM.Tools , runtime.win-x64.Microsoft.NETCore.Runtime.ObjWriter
       From Version 14.0.0-alpha.1.23156.3 -> To Version 14.0.0-alpha.1.23158.1
      
      * Update dependencies from https://github.com/dotnet/emsdk build 20230308.1
      
      Microsoft.NET.Workload.Emscripten.Current.Manifest-8.0.100-preview.3 , Microsoft.NET.Workload.Emscripten.net6.Manifest-8.0.100-preview.3 , Microsoft.NET.Workload.Emscripten.net7.Manifest-8.0.100-preview.3
       From Version 8.0.0-preview.3.23156.1 -> To Version 8.0.0-preview.3.23158.1
      
      ---------
      Co-authored-by: Ndotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>
      3c3bea21
    • J
      JIT: Fix EQ/NE(relop/SETCC, 0) optimization (#83144) · a8c0d32d
      Jakob Botsch Nielsen 提交于
      Fix #83140
      a8c0d32d
    • K
      [wasm] Add getNN_unaligned memory.ts APIs for potentially unaligned pointers (#83213) · 3db965d1
      Katelyn Gadd 提交于
      * Add getNN_unaligned memory.ts APIs for cases where we cannot be certain the source address is aligned
      * Remove CU64 typescript APIs since they were unused
      3db965d1
    • B
      provide custom marshaller for USER_INFO_1 (#82350) · 9194c721
      Badre BSAILA 提交于
      * provide custom marshaller for USER_INFO_1
      9194c721
    • S
      [workloads] Add win-arm64 to wasm-tools in the net6 manifest (#83162) · 8a68f8a9
      Steve Pfister 提交于
      * [workloads] Add win-arm64 in the net6 manifest
      
      This was added in release/7.0, but not in main.
      
      Fixes https://github.com/dotnet/sdk/issues/30019
      
      * alias the aot compiler for win-arm64
      
      ---------
      Co-authored-by: NSteve Pfister <steve.pfister@microsoft.com>
      8a68f8a9
    • E
      Revert changes (#83196) · 991517bd
      Egor Bogatov 提交于
      991517bd
    • S
      Swap order of OnError in FileSystemWatcher.ReadDirectoryChangesCallback on Windows (#83121) · 6d074746
      Stephen Toub 提交于
      If the directory watching encounters a failure error code other than abort, the Windows implementation raises the Error event and sets EnableRaisingEvents to false. However, because it does so in that order, the Error event handler may or may not see the FSW's EnableRaisingEvents as false, based on whether there's a SynchronizingObject that results in the callback being queued.  By swapping the order to always disable first, we can ensure consistency regardless of SynchronizingObject, which also means the Error handler can choose based on the error to set EnableRaisingEvents to true again if it desires.
      6d074746
    • J
    • S
      [iOS] Add gss framework back into sample linker args (#83182) · a92ed6e2
      Steve Pfister 提交于
      https://github.com/dotnet/runtime/pull/81919 introduced a regression where the gss framework was omitted from the sample build. This change adds it back in.
      
      Fixes https://github.com/dotnet/performance/issues/2924
      a92ed6e2
  2. 09 3月, 2023 14 次提交