1. 27 2月, 2021 9 次提交
  2. 26 2月, 2021 25 次提交
  3. 25 2月, 2021 6 次提交
    • E
      Update build syntax in mono build docs (#48754) · 8483e9ed
      Eirik Tsarpalis 提交于
      8483e9ed
    • L
      Clean up the console redirect a little (#48206) · 8be118e5
      Larry Ewing 提交于
      8be118e5
    • P
      Dprintf optimization (#47046) · 1f866d2c
      Peter Sollich 提交于
      This is support for putting the stress log into a memory mapped file and piping the dprintf calls in the GC codebase to the stress log.
      
      It's much faster than the dprintf implementation we used before and doesn't take a lock for each dprintf call - only when it needs to get a new buffer. It also works for clrgc.dll, which accounts for some complications, because now calls can come from either coreclr.dll or clrgc.dll.
      
      There is logic inside src/coreclr/util/StressLog.cpp to switch to the memory mapped file when the new environment variable COMPLUS_StressLogFilename is set. Here's a set of environment variables I've used:
      
      COMPLUS_StressLogFilename=GCPerfSimStresslog.log
      COMPLUS_gcServer=1
      COMPLUS_LogLevel=9
      COMPlus_StressLog=1
      COMPlus_StressLogSize=10000000
      COMPlus_TotalStressLogSize=1000000000
      
      So this creates a max of 64 GB of stress log.
      
      There is an analyzer tool to go with this under src/coreclr/tools/StressLogAnalyzer that is also part of this checkin. The tool is expected to become more sophisticated over time. The tool is itself multithreaded and uses a plugin dll for the actual analysis which makes it possible to change the plugin, rebuild and re-run the analysis on the in-memory log datastructure without reloading the log file.
      
      The stresslog mechanism had a limit of 7 arguments so far, which seemed too small, so I've increased that to 12 currently. It can easily be increased up to 63, which is the limit in the format. The higher number of arguments is only supported when putting the stress log into a file, it is not yet supported when building the stress log in memory the traditional way. 
      
      Supporting it would call for changes in SOS that I haven't done yet. However, stress logs containing no calls of more than 7 arguments would be dumped correctly by the current SOS - SOS would crash though with stress logs containing calls with more arguments. To catch this early, the logic in StressLog.cpp does a debug break when a call with more than 7 arguments is attempted without the memory-mapped file.
      
      Note that for the purposes of GC logging, the logging level specified in the dprintf call is also persisted in the stress log. This makes it possible to selectively dump messages from specific subsystems.
      1f866d2c
    • D
    • V
      Remove duplicated ILLink PackageReference and update target version of the SDK to 6.0 (#48462) · 653b3103
      Viktor Hofer 提交于
      * Remove duplicated ILLink PackageReference
      
      The Arcade.SDK already package refrences the ILLink package. The
      duplicate reference in illink.targets caused SDK errors as the Arcade
      reference has IsImplicitlyDefined set which doesn't allow an additional
      reference with the same identity.
      
      Also, as the ILLink package already exposes the path to the assembly via
      its props file, using that instead of manually constructing the path to
      the assembly.
      
      The SDK target version update is required as the sequencing of the
      ILLink.props file was wrong and is required for this change. This isn't
      considered a breaking change, as the SDK's minimum required version
      isn't changed.
      
      * Update arcade dependencies
      
      * Remove NuGet pack tasks pkgref
      
      * Add mega hack workaround
      
      * Remove KnownFrameworkReference items
      
      * Don't hardcode SDK value in helix submission...
      
      * Update runtimeConfiguration.targets
      
      * Fix double publishing error in mobile tests
      
      * Set DotNetCliVersion to right version for aspnetcoreruntime
      
      * Update sendtohelixhelp.proj
      
      * Update sendtohelixhelp.proj
      Co-authored-by: NSantiago Fernandez Madero <safern@microsoft.com>
      653b3103
    • D
      [master] Update dependencies from dotnet/runtime-assets dotnet/icu (#48698) · 12ec2197
      dotnet-maestro[bot] 提交于
      [master] Update dependencies from dotnet/runtime-assets dotnet/icu
      12ec2197