1. 17 4月, 2021 21 次提交
  2. 16 4月, 2021 19 次提交
    • D
      Fix build fail by NEED_OPENSSL_3_0 is not defined · dd63ea2e
      Dong-Heon Jung 提交于
      dd63ea2e
    • S
    • V
      [interp] Add more super instructions and other small optimizations (#51273) · 797b106b
      Vlad Brezae 提交于
      * [interp] Replace ldloca + initobj pair with initlocal
      
      We do it in the cprop pass because ldloca removal can enable additional copy propagations.
      
      * [interp] Replace ldloca + ldobj.vt with mov.vt
      
      * [interp] Add superinstructions for multiplication with constant
      
      * [interp] Remove redundant opcode
      
      * [interp] Update indirects count if removing bblock with ldloca
      
      If the var no longer has indirects, we might be able to do cprop through it
      
      * [interp] Refactor ldind/stind opcodes
      
      Remove some unnecessary opcodes. Always do a null check when dereferencing pointers with ldind. Having an unsafe version of this is really useless performance wise and can only be used in very few cases.
      
      * [interp] Add super instructions for ldind/stind with offset
      
      * [interp] Remove opcode for conversion from i8 to i4
      
      It is redundant, we replace it with a MOV_8 which will end up being removed by the cprop pass.
      797b106b
    • D
      Add the ability to stop the `Host` when one of its `BackgroundService` instances errors (#50569) · bbe669c1
      David Pine 提交于
      * Added background service exception behavior enum. Update HostOptions and Host accordingly.
      
      * Added corresponding unit tests for host when ignoring or stopping.
      
      * Call StopAsync rather than FailFast
      
      * Call `IApplicationLifetime.StopApplication()` instead of `StopAsync()`.
      
      * Moved enum out of abstractions. Encapsulate logging logic in extensions. Define new EventId. Simplify check, avoid null eval. Update triple dash comments per peer review.
      
      * Set the default as `StopHost`
      
      * Move ref bits from hosting.abstractions to hosting proper.
      
      * Address feedback from peer review
      
      * Added unit test to verify background service 1 gets started, and runs a bit - and other service can cause stop
      
      * Use explicitly controlled timing for unit test and remove args: ex
      
      * Convert from Fact, to Theory. Test both enum values.
      
      * Separate StartAsync and ExecuteTask, let StartAsync bubble. Adjust unit tests...
      
      * Update the background service async exceptions get logged unit test
      bbe669c1
    • T
      [wasm][debugger] Implement support to modify values. (#49557) · fc53ee79
      Thays Grazia 提交于
      * [wasm][debugger] Implement support to modify values.
      
      * Apply suggestions from code review
      Co-authored-by: NLarry Ewing <lewing@microsoft.com>
      
      * Adding first test.
      
      * Adding more tests, fixing boolean behavior, ignore value change when the new value type is incompatible.
      
      * Implement set value on object -> property and attribute.
      
      * Fix compilation
      
      * Changing what @radical suggested.
      
      * Adding tests.
      
      * Adding test.
      
      * Fix what @radical suggested.
      
      * Fix compilation.
      
      * Fix what @radical suggested.
      Co-authored-by: NLarry Ewing <lewing@microsoft.com>
      fc53ee79
    • K
      Improve Lsra stats (#51281) · d25620b3
      Kunal Pathak 提交于
      * Improve LsraStat
      
      - Improve LsraStat by including various register selection heuristics count
      - Generalize updateLsraStat and dumpLsraStat to operate on array of stats
      
      * jit format
      
      * Display LSRA stats in csv format
      
      * review comments
      
      * Include PerfScore in LsraStatsCsv
      
      * review comments'
      d25620b3
    • A
    • B
      Flow graph "dot" graph output improvements (#51357) · bec17474
      Bruce Forstall 提交于
      * Flow graph "dot" graph output improvements
      
      Added optional support for adding EH regions and loops in the loop table
      to the ".dot" format flow graph display. To enable one or both of
      these, use:
      
      ```
      set COMPlus_JitDumpFgEH=1
      set COMPlus_JitDumpFgLoops=1
      ```
      
      Also, I added a config variable to allow disabling the use of "invisible"
      edges that forces the graph to be in mostly lexical linear order in the layout.
      To use this, use:
      
      ```
      set COMPlus_JitDumpFgConstrained=0
      ```
      
      (COMPlus_JitDumpFgConstrained=1 is the default.)
      
      * Remove trailing newlines from block label
      bec17474
    • A
      JIT: fix BasicBlock::isEmpty() (#51340) · 70a78f99
      Andy Ayers 提交于
      The detection of blocks with only PHI assignments was broken by #50806.
      Fix by using existing helper to find the first non-PHI assignment.
      
      Closes #51326.
      70a78f99
    • E
      Remove unnecessary GetTypeInfo() calls. (#51339) · 31c28fc3
      Eric Erhardt 提交于
      * Remove unnecessary GetTypeInfo() calls.
      
      Calls to GetTypeInfo() are unnecessary, and are a hold-over from when System.Reflection was refactored in legacy versions of .NET.
      31c28fc3
    • D
      Removed scope pooling and added diagnostics (#51163) · e4c3536b
      David Fowler 提交于
      - Remove scope pooling 
      - Added an event that we can ask customers to turn on to see if scope in real applications are mostly homogeneous
      - Add the hash code of the container so that we can detect scope sizes per container instance.
      - The ConcurrentQueue showed a 48% regression on AMD scenarios and a 4% regression on citrine
      linux.
      e4c3536b
    • E
      52d8c3f0
    • M
      Remove unnecessary realpath calls from host probing logic (#50671) · fa49dbc3
      Mateo Torres-Ruiz 提交于
      * Skip test on windows
      
      * Delay file existence check
      
      * Check file existence if there are additional probbing paths
      
      * PR feedback
      
      * Add needs_file_existence_checks
      
      * Clean symlinks causing CI problems with stat
      
      * Switch back to libc
      
      * Ignore symlink deletion in osx
      fa49dbc3
    • B
      a551a99e
    • J
      e837eda6
    • C
      FileStream rewrite: Use IValueTaskSource instead of TaskCompletionSource (#50802) · a38d0c27
      Carlos Sanchez 提交于
      * Remove IFileStreamCompletionStrategy. This makes FileStreamCompletionSource only needed by Net5CompatFileStreamStrategy.
      
      * Use AwaitableProvider for AsyncWindowsFileStreamStrategy.
      
      * No need for ManualResetValueTaskSource class. Remove it to get rid of one allocation and get the actual profiling improvement.
      Rename FileStreamAwaitableProvider.
      
      * Bring back ReadAsync/WriteAsync code to the strategy for simpler code review. Shorter filename for awaitable provider.
      
      * FileStreamCompletionSource can now be nested in Net5CompatFileStreamStrategy, and its _fileHandle can now be private.
      
      * Remove duplicate error definitions, use centralized Interop.Errors.
      
      * Move shared mask values to FileStreamHelpers to avoid duplication.
      
      * Use Interop.Errors also in SyncWindowsFileStreamStrategy.
      
      * Move misplaced comment, move method location.
      
      * Slightly better comment.
      
      * Rename FileStreamAwaitableProvider to FileStreamValueTaskSource to keep in sync with the name of FileStreamCompletionSource.
      
      * Bring back the raw pointer intOverlapped.
      
      * Rename MemoryAwaitableProvider to MemoryFileStreamValueTaskSource.
      
      * Remove numBufferedBytes and avoid unnecessary allocation in Read(byte[],int,int).
      
      * Rename files of nested types.
      
      * Nested async result codes in static class.
      
      * Address feedback.
      
      * Address suggestions
      
      * Bring back RunContinuationAsynchronously=true
      Co-authored-by: Ncarlossanlop <carlossanlop@users.noreply.github.com>
      a38d0c27
    • M
      Add MachO dump writer to createdump (#51150) · 79ad10cf
      Mike McLaughlin 提交于
      * Add MachO dump writer to createdump
      
      Instead of the hacky ELF core dumps on MacOS now createdump generates true MachO dumps.
      
      Setting the COMPlus_DbgEnableElfDumpOnMacOS environment variable is no longer needed.
      
      Add special thread info memory region containing the OS thread ids missing from macho core dumps. This allows SOS to map the thread indexes to thread ids. The address (0x7fffffff00000000) of this special memory region is above the highest user address (0x0007FFFFFFFFF000) and below a kernel reserved address (0xffffff8000xxxxxx) which is kind of moot because dumps don't include any kernel regions. lldb seems just fine with this memory region.
      
      The changes include ARM64 support also, but since I don't have a M1 device I can't build/test them. I'm hoping Steve can at least review them.
      
      Add --verbose/TRACE_VERBOSE support to tone down all the macho dump generation spew.
      
      Issue: #48664
      
      * Fix build problem
      
      * Update docs
      
      * Code review feedback
      Co-authored-by: NJuan Sebastian Hoyos Ayala <juhoyosa@microsoft.com>
      79ad10cf
    • K
      Include condition inside assert for forward jump loops (#51164) · 56e36a04
      Kunal Pathak 提交于
      * Include condition for forward jump loops
      
      * Remove IGF_FINALLY_TARGET and surrounding code
      
      Pass DEBUG_ARG(bbnum) to `emitAddLabel()` to print the BB->IG mapping.
      
      * Revert "Remove IGF_FINALLY_TARGET and surrounding code"
      
      This reverts commit 284c0abc202cca2de22787bf18081076200e5272.
      
      * Pass bbNum to emitAddLabel
      
      * fix Release build break
      56e36a04
    • S
      Apple Silicon bundle distribution template (#51262) · c3348eb7
      Steve MacLean 提交于
      Apple Silicon requires a different distribution template
      
      Set options.hostArchitectures to stop requiring Rosetta
      
      Adjust minimum required version to 11.0
      c3348eb7