1. 27 4月, 2022 8 次提交
    • T
      [wasm][debugger] Debug on firefox (#61776) · a970720f
      Thays Grazia 提交于
      * First compiling and working version just proxying messages.
      
      * almost working, already showing the cs files
      
      * Working on firefox.
      
      * Use internal e not public.
      
      * Debugging on firefox working.
      
      * Working after the merge
      
      * Keep the TcpListener open and use a random port.
      
      * Show null value.
      
      * - Show JS Callstack
      - Skip properties
      - Get array value from evaluateAsyncJS and not use the preview value.
      
      * Fix compilation
      
      * Infrastructure to run debugger tests.
      
      * fix merge
      
      * run test.
      
      * Skipping tests that are not passing on Firefox.
      
      * Skipping tests that are not passing on Firefox.
      
      * Passing 13 steppingtests.
      
      * Passing 13 steppingtests.
      
      * Passing 13 steppingtests.
      
      * Failed:     0, Passed:    39, Skipped:   203, Total:   242, Duration: 5 m 6 s - DebuggerTestSuite.dll (net6.0)
      
      * Failed:     0, Passed:    66, Skipped:   195, Total:   261, Duration: 9 m 29 s - DebuggerTestSuite.dll (net6.0)
      
      * Using ConditionalTheory and ConditionalFact implemented by @radical.
      
      * Fixing side effect.
      
      * Implemented conditional breakpoints.
      Failed:     0, Passed:    74, Skipped:   189, Total:   263, Duration: 8 m 41 s - DebuggerTestSuite.dll (net6.0)
      
      * Fix special characters and pointers.
      
      Failed:     0, Passed:   116, Skipped:   177, Total:   293
      
      * Fix merge
      
      * Run debugger-tests on firefox using codespace
      
      * Starting firefox correctly not stopping in the breakpoint yet.
      
      * Remove unnecessary change
      
      * Fix pause behavior (now showing correctly, pause on breakpoint, pause while stepping)
      Start implementing evaluate expressions, working correctly on VSCode.
      
      * Fix local tests.
      
      * Fix missing )
      
      * Passing 190 tests, evaluate expressions working.
      
      * Remove Task.Delays.
      Move some attributes from FirefoxMonoProxy to FirefoxExecutionContext.
      
      * Fix container creation
      
      * Trying to run firefox tests on CI.
      
      * Moving file to the right place.
      
      * Trying to run debugger-tests using firefox on CI.
      
      * fixing path
      
      * Missing url to download firefox on helix.
      
      * On run the tests only on linux.
      
      * Trying to download firefox on helix.
      
      * fix error on helix-wasm.targets.
      
      * trying to fix ci
      
      * trying to install firefox on helix.
      
      * Fixing firefox path
      
      * Fix debugger tests on firefox
      
      * fixing profile path
      
      * Install libdbus-glib-1-2 on docker and on codespace
      
      * Trying to run using firefox on CI
      
      * update docker image
      
      * Adding more messages to see errors on CI
      
      * Trying to make it work on CI
      
      * Real test on CI
      
      * Trying to use the firefox machine only to run firefox tests
      Retrying connection to Proxy
      Remove extra messages added to help to fix CI
      
      * Fix CI
      
      * Fix CI
      
      * Fix CI.
      
      * Remove unnecessary changes.
      
      * Using machine with sudo installed
      
      * Addressing @lewing comments
      
      * Fix run tests on codespace
      Using image with python3
      
      * Use default image to build and new image only to run firefox tests
      
      * Fix unrelated change
      
      * Fix ci
      
      * check python version
      
      * Print python versions
      
      * Using image with PIP installed
      
      * Using image with pip updated
      
      * Remove unrelated changes
      Increase time to wait for firefox to be ready
      
      * Trying to fix evaluate tests.
      
      * Fix evaluateoncallframe tests
      
      * Trying to fix evaluation tests.
      
      * trying to fix evaluateoncallframetests
      
      * fiz evaluateoncallframetests
      
      * Trying to kill firefox to avoid errors.
      
      * Trying to fix EvaluateOnCallFrameTests
      
      * Fix CI
      
      * Remove failing test
      
      * Fix misctests
      
      * Fix other build errors.
      
      * Trying to fix CI.
      
      * Fix CI
      
      * Remove unecessary message.
      
      * Update src/tests/BuildWasmApps/Wasm.Debugger.Tests/Wasm.Debugger.Tests.csproj
      Co-authored-by: NAnkit Jain <radical@gmail.com>
      
      * Addressing @radical comments
      
      * Merge error while accept @radical suggestion
      
      * Merge error while accept @radical suggestion
      
      * Update src/mono/wasm/debugger/BrowserDebugProxy/DebugStore.cs
      Co-authored-by: NAnkit Jain <radical@gmail.com>
      
      * Apply suggestions from code review
      Co-authored-by: NAnkit Jain <radical@gmail.com>
      
      * Addressing @radical comments
      
      * Abort the tcp connection if the proxy throws an exception
      
      * Refactor a bit
      
      * Use more compile time checks for chrome vs firefox
      
      * fix pipeline
      
      * Make debugger job names unique by including the browser
      
      * fix runtime-wasm pipeline
      
      * fix firefox ci job
      
      * split into more files
      
      * cleanup
      
      * Add support for running chrome, and firefox tests in the same job
      
      * fix yml
      
      * fix build
      
      * fix build
      
      * fix windows build
      
      * Don't delete profile folder nor pkill firefox
      
      * Delete and create a new profile folder for each execution
      
      * fix helix command line
      
      * [wasm][debugger] Fix tests broken on 'main'
      
      This test broke because it was checking for the number of members on
      `System.TimeSpan`, and that changed with
      https://github.com/dotnet/runtime/pull/67666 , which added new members
      like `TotalNanoseconds`.
      
      The test shouldn't depend on this number anyway, so remove that.
      
      ```
        Failed DebuggerTests.MiscTests.InspectLocalsForToStringDescriptions(line: 137, col: 12, method_name: "MethodWithLocalsForToStringTest", call_other: False, invoke_async: False) [758 ms]
        Error Message:
         [ts_props] Number of fields don't match, Expected: 12, Actual: 16
      Expected: True
      Actual:   False
        Stack Trace:
           at DebuggerTests.DebuggerTestBase.CheckProps(JToken actual, Object exp_o, String label, Int32 num_fields) in /_/src/mono/wasm/debugger/DebuggerTestSuite/DebuggerTestBase.cs:line 800
         at DebuggerTests.DebuggerTestBase.CompareObjectPropertiesFor(JToken locals, String name, Object o, String label, Int32 num_fields) in /_/src/mono/wasm/debugger/DebuggerTestSuite/DebuggerTestBase.cs:line 908
         at DebuggerTests.MiscTests.InspectLocalsForToStringDescriptions(Int32 line, Int32 col, String method_name, Boolean call_other, Boolean invoke_async) in /_/src/mono/wasm/debugger/DebuggerTestSuite/MiscTests.cs:line 559
      ```
      
      * wip
      
      * big refactor
      
      * chrome runs
      
      * ff runs
      
      * ff runs
      
      * cleanup
      
      * cleanup
      
      * cleanup
      
      * change console verbosity to info, for proxy
      
      * More refactoring
      
      * More refactoring, and fix some issues with connections, and other
      cleanup
      
      * some cleanup
      
      * fix file name
      
      * Improve cleanup after tests
      
      * some refactoring, fixing some hangs, faster failures etc
      
      * Fix BrowserCrash test for chrome
      
      * fix up logging
      
      * Improve error handling for the proxy running independently
      
      * fix debugging from vscode
      
      * proxy host: add --log-path for logs
      
      * support canceling for the proxy host too, and distinguish different instances of the proxy
      
      * Fix debugger after refreshing the debugged page.
      
      * Fixing chrome debugging.
      
      * Fix startup to work on chrome and also on firefox.
      Co-authored-by: NAnkit Jain <radical@gmail.com>
      a970720f
    • H
    • M
      Allow port 65535 in UriParser.Register (#68546) · 181bf312
      Miha Zupan 提交于
      181bf312
    • S
      Remove unnecessary/erroneous initialization to base.Crawlpos() (#68549) · d946239c
      Stephen Toub 提交于
      We use this `additionalDeclarations.Add` mechanism in the source generator when we can't declare the local exactly where it's needed due to branching structure and the compiler not always being able to see that the local is definitely assigned.  In such cases, we instead emit the local at the beginning of the method, default initialized, and then later assign it where we need to.  In this particular case, we should be default assigning it but are accidentally calling base.Crawlpos().  This isn't functionally wrong, but it's unnecessary.
      d946239c
    • T
      Extend stress timeouts for merged tests (#68523) · 054954ce
      Tomáš Rylek 提交于
      As we're intentionally running larger merged tests in-proc to reduce
      runtime overhead, we've become prone to hitting various infra
      timeouts. As part of the switchover I extended the default test
      timeout from 15 to 30 minutes; I hovewer overlooked the fact that
      the run.py script manually overrides this value for GC stress and
      other special test build / execution flavors. This change doubles
      all these timeouts to cater for the larger merged test apps.
      
      Thanks
      
      Tomas
      054954ce
    • E
    • K
      Use checked arithmetic in Pkcs12Kdf · 1ae1451c
      Kevin Jones 提交于
      When calculating the length of P and I, it's possible for this to result in an arithmetic overflow.
      This arithmetic overflow is then fed in to `stackalloc`, which treats the input as unsigned and
      causes a large stack allocation.
      1ae1451c
    • J
      Decouple call store operands from local ret buf optimization (#68469) · ae9f1ca5
      Jakob Botsch Nielsen 提交于
      * Move GenTreeCall::GetLclRetBufArgNode ->
        Compiler::gtCallGetDefinedRetBufLclAddr and change it to not try to
        look into stores
      * Assert that the node we are returning actually defines a local that
        has lvHiddenBufferStructArg set
      * Assert that call morphing does not break our recognition of the defined
        local when optimizing
      * Update Compiler::DefinesLocalAddr to check for GT_LCL_FLD_ADDR
      ae9f1ca5
  2. 26 4月, 2022 25 次提交
    • K
      Handle more scenarios for loop cloning (#67930) · 1bc09e76
      Kunal Pathak 提交于
      * Handle following scenarios for loop cloning:
      
      - Increasing loops that are incremented by more than 1 like "i += 2"
      - Decreasing loops like "i--", "i -= 2"
      
      * jit format
      
      * Make the loop cloning condition tighter
      
      * check for stride
      
      * Add a check for stride edge scenario
      
      * Add test case
      
      * Review feedback
      1bc09e76
    • A
      Get rid of last mentions of DllImportGenerator (#68535) · 2ea67f1f
      Andrii Kurdiumov 提交于
      This should help avoid confusion when reading the code,
      and what's DllImportGenerator is.
      2ea67f1f
    • V
      Fix leaks after unsuccessful assembly load (another try) (#68502) · 169ec8ef
      Vladimir Sadov 提交于
      * simpler fix
      
      * Account for MONO and WASM differences when probing files
      
      * comment
      
      * Use TARGET_BROWSER instead
      
      * '\\' should be normalized already by the  `GetFullPath`
      169ec8ef
    • A
      [mono] merge wasm-threading-eventpipe into main (#68232) · b44c0089
      Aleksey Kliger (λgeek) 提交于
      Merge initial work on multi-threaded WebAssembly.
      
      The normal wasm build is single-threaded.  There should be no functional changes to its behavior.
      
      To enable a multi-threaded build pass `/p:WasmEnableThreads=true`.  See `src/mono/wasm/threads.md` for details.
      
      The big changes are:
      1. The normal ref assemblies related to threading retain `[UnsupportedOSPlatform("browser")]` attributes for various threading-related functions
      2. In System.Private.CoreLib, the `[UnsupportedOSPlatform]` attributes are removed, and functions that used to always throw PNSE nwo do a runtime check using `System.Threading.Thread.IsThreadStartSupported` to check if threading is enabled in the current build. 
      3. A new nuget `Microsoft.NET.WebAssembly.Threading` is created.  It contains experimental ref assemblies without the `[UnsupportedOSPlatform]` attributes.  The intention is that code opting into experimenting with multithreading will include this nuget by setting some property that will be used by the wasm MSBuild SDK to pick a multi-threaded runtime build and configure things appropriately.  (The SDK updates don't exist yet).
      4. In the multi-threaded runtime we don't use Emscripten's "main thread" option (ie: the browser thread is the main one); we also continue to run certain runtime-internal jobs (finalizers, GC pump) on the main thread even in the multi-threaded runtime.
      
      Remaining work is tracked in the related issue https://github.com/dotnet/runtime/issues/68162
      
      ---
      
      * Initial changes for emscripten 2.0.34
      
      * Use emcc-link.rsp in build targets
      
      * Use updated docker images
      
      * Fix compiler warnings
      
      * Put `--profiling-funcs` to `_EmccLinkFlags`
      
      * Fix build
      
          src/mono/mono/mini/mini-runtime.c:3407:25: error: ‘invoke’ undeclared (first use in this function); did you mean ‘revoke’?
             3407 |                         invoke = mono_marshal_get_runtime_invoke_dynamic ();
      
      * Add shell to the environment
      
         Environment setting https://github.com/emscripten-core/emscripten/blob/2.0.34/src/settings.js#L616-L641
      
         From emscripten 2.0.25 release notes
      
          - Support for the 'shell' environment is now disabled by default.  Running under
            `d8`, `js`, or `jsc` is not something that most emscripten users ever want to
            do, so including the support code is, more often than not, unnecessary.  Users
            who want shell support can enable it by including 'shell' in `-s ENVIRONMENT`
            (#14535).
      
         Example of the the size increase for bench sample:
      
          -a---          12/10/2021  3:35 PM         382113 dotnet.js
          -a---          12/13/2021 10:37 AM         383589 dotnet.js
      
      * Add emcc-link.rsp to PlatformManifestFileEntry
      
      * Feedback
      
         https://github.com/emscripten-core/emscripten/blob/2fda25eea756c78c8cb024aa5b6c2b188bf7990f/src/settings.js#L1173-L1176
      
         -s EXPORT_ES6 is link option
      
      * Bump emscripten version
      
      * Bump llvm package version and use its libclang
      
      * Use newer docker images with emscripten 3.1.1
      
      * Remove unused variable
      
      * Add runtime support for threads in the wasm build
      
         To enable, pass `/p:WasmEnableThreads` when building the runtime
      
         ./build.sh -Subset mono+libs -os Browser -arch wasm /p:WasmEnableThreads=true
      
      * Prevent runtime from starting twice when loaded in a web worker
      
      * Automatically populate the emscripten mainScriptUrlOrBlob property so that worker initialization can find dotnet.js
      
      * Add compatibility shim so that emscripten's generated worker.js can properly get a Module instance, since we broke the API
      
      * Checkpoint
      
      * Bring back threadpool and add some tracing in diagnostics
      
      * Add comments and fix a typo
      
      * Introduce 'MonoObjectRef' ts type. Migrate mono_string_intern to not have a retval
      
      * Checkpoint (strings are broken for some reason)
      
      * Fix string interning
      
      * Migrate ObjectToString and GetDateValue
      
      * Checkpoint gc safe/unsafe region work
      
      * More ref conversion
      
      * Checkpoint (broken?)
      
      * Fix missing method
      
      * Fix incorrect signatures
      
      * Fix lint
      
      * Add new 'R' signature char for 'ref object'
      
      * Remove AddEventListener and RemoveEventListener Checkpoint
      
      * eslint fixes
      
      * Update call_method signature to avoid passing raw object pointers
      
      * Ref-ify one websocket API and fix types and incorrect rooting of two others
      
      * Deprecation metadata
      
      * More ref
      
      * Remove outdated comments
      
      * Convert typed_array_new to ref
      
      * Add volatile modifiers, satisfy eslint
      
      * Update src/mono/wasm/runtime/corebindings.c
      
      * Missing conflict
      
      * Fix build, set coop gc, and always copy dotnet.worker.js when it's around for apps
      
      * Disable sample profiler, add some functions that were missing from katelyn's PR.
      
      * Add safepoint around ep_rt_wait_event_set.  Tweak sample to explicitly exit wasm in order to properly flush event to the nettrace file (w/ rundown events).
      
      * [gc] Start the GC Finalizer thread on threaded WASM
      
      * [mono] add GC Unsafe in mono_assembly_load; remove in EventPipe
      
         Remove GC Unsafe hack in ep_rt_wait_event_set
      
      * post-merge cleanup: delete duplicated definitions
      
      * [sample] Env vars should be stringy
      
      * updated dotnet.d.ts
      
      * Add mono_threads_wasm_async_run_in_main_thread; do background work on main
      
         Don't start a finalizer thread
      
         Queue all background work to run on the main thread
      
      * [mono] Fix non-threaded wasm build
      
      * Add a System.Threading.Thread.WebAssembly.Threading ref assembly
      
      * Update the browser sample to use System.Threading.Thread.WebAssembly.Threading
      
      * Rationalize System.Threading.Thread build
      
         In CoreLib, never add the [UnsupportedOSPlatform("browser")] attribute. Rely on runtime checks (`ThrowIfNoThreadStart()`). In System.Threading.Thread ref assembly, always add the unsupported platform
      attribute.  Add mismatches to ApiCompat baseline. In System.Threading.Thread.WebAssembly.Threading don't add the attributes, and also set DisablePackageBaselineValidation to prevent Restore from looking for a System.Threading.Thread.WebAssembly.Threading nuget (fixes in-tree ProjectReferences for testing)
      
      * only turn on analyzers for the browser sample
      
         not all wasm samples
      
      * Make a single Microsoft.NET.WebAssembly.Threading nupkg
      
         that holds all the special ref assemblies
      
      * works: sample has ProjectReference to the Microsoft.NET.WebAssembly.Threading.proj
      
      * Add System.Threading.ThreadPool.WebAssembly.Threading ref assembly
      
      * ThreadPool: throw PNSE if no thread start
      
      * Update wasm threads.md
      
      * apicompat: correct warnings for System.Threading.ThreadPool
      
      * Add dotnet.worker.js to the runtime pack; update PlatformManifestFileEntry
      
      * [wasm] startup: detect Blazor dotnet.[version].[hash].js location
      
         Blazor injects a `<link rel="modulepreload" />` element into the header when it boots; detect it and extract the URL of the script.
      
         This is needed by Emscripten's dotnet.worker.js to run WorkerGlobalScope.importScripts
      
      * one more fix to Microsoft.NET.WebAssembly.Threading
      
         Seems to be necessary in order for the resulting .nupkg not to reference non-existent nugets for the ProjectReferences
      
      * rename sample to browser-mt-eventpipe
      
      * bring back unmodified browser sample
      
         The multithreading sample is browser-mt-eventpipe
      
      * update browser-mt-eventpipe sample to use ref assembly refs
      
         Referencing the rollup Microsoft.NET.WebAssembly.Threading.proj doesn't work (it ends up bundling the ref assemblies into the publish dir and breaking the app)
      
      * Use correct ifdef in AppContext.AnyOS.cs
      
      * [build] support WasmEnableThreads and WasmEnablePerfTracing
      
         These toplevel options either turn on multi-threading in general, or turn on multithreading only for eventpipe internals.
      
         For libraries these define `FeatureWasmThreads` and `FeatureWasmPerfTracing` properties and the `FEATURE_WASM_THREADS` and `FEATURE_WASM_PERFTRACING` compiler constants.
      
         For the native code, they control `DISABLE_THREADS` and `DISABLE_WASM_USER_THREADS` cmake and preprocessor settings.
      
      * Only add the portable threadpool on wasm if threading is enabled
      
      * rename browser-mt-eventpipe csproj and main assembly
      
         Give it a unique name distinct from Wasm.Browser.CJS.Sample.csproj
      
      * fix /p:WasmEnableThreads=false build after merge
      
      * now fix the WasmEnableThreads=true build
      
      * we need two ThreadPoolBoundHandle implementation stubs
      
         one for PortableThreadPool when threads are enabled, one for single-threaded wasm
      
      * Add a System.Diagnostics.Tracing ref assembly gated by FeatureWasmPerfTracing
      
      * [eventpipe] use the correct cmake option name
      
         see src/mono/mono.proj
      
      * revert debug printf and commented out code
      
      * turn off additional logging
      
      * hack: set FeatureWasmPerfTracing in the browser-mt-eventpipe sample
      
         It would be better to drive this (the inclusion of the tracing runtime component) from a user-visible flag. not the FeatureWasmPerfTracing implementation detail
      
      * remove unused variable, remove unneeded configure checks, revert line damage; add better comment in export.ts
      
      * Exclude Microsoft.NET.WebAssembly.Threading from testPackages.proj
      
      * review feedback, Apply suggestions from code review
      
      * Use a testPackages settings file to skip package runtime item verification
      
      * remove unneeded Directory.Build.props for ref package
      
         since ti doesn't compile its own assembly, none of these properties are needed
      
      * use one ProjectReference item to share metadata for the ref assemblies
      
      * remove ProjectReference comment and NoTargetsDoNotReferenceOutputAssemblies prop
      
      * Remove unneeded target
      
      * packaging simplification
      
         - move `_ExperimentalUpdateFileVersion` target to packaging.targets, conditioned on a new `IsExperimentalRefAssembly` attribute.  (The target increments the file version of the ref assembly to make it easier to distinguish from the real non-experimental ref assembly)
         - Remove unneeded src subdirectories in ref assembly libraries
         - Move properties that are only used in the ref assembly projects directory into the projects and delete Directory.Build.props in the experimental ref assembly subdirectories.
      
      * move and rename UpdateExperimentalRefAssemblyFileVersion target
      
         packages.targets is only included for IsPackable=true projects, and these ref assemblies are not packable.
      
      * Assorted code review nits
      
      * Don't build/pack the multi-threaded sample on single-threaded runtime
      
      * remove gratuitous debug printfs
      
      * Apply suggestions from code review
      
      * merge followup: nullable is enabled by default now
      
      * make eslint happy
      
      * include wasm-config.h in wasm runtime host
      
      * include wasm-config.h into the runtime pack
      
         fixes aot compilation
      
      * Add wasm-config.h to manifest
      
      * put wasm-config.h into include/wasm from the outset
      
      * put back noExitRuntime replacement for CJS
      Co-authored-by: NRadek Doulik <radekdoulik@gmail.com>
      Co-authored-by: NRadek Doulik <radekdoulik@google.com>
      Co-authored-by: NZoltan Varga <vargaz@gmail.com>
      Co-authored-by: NSteve Pfister <steve.pfister@microsoft.com>
      Co-authored-by: NKatelyn Gadd <kg@luminance.org>
      Co-authored-by: NViktor Hofer <viktor.hofer@microsoft.com>
      b44c0089
    • A
      Add vectorized paths for Span<T>.Reverse (#64412) · 8006e6a8
      Alex Covington 提交于
      * Adding vectorized path for Span<byte>.Reverse that uses SSSE3 and AVX2 where possible
      
      * Added vectorized paths for Span<T>.Reverse for primitive types that are the same size as char, int, or long that use AVX2 or SSSE3 where possible
      
      * Apply suggestions from code review
      Co-authored-by: NTheodore Tsirpanis <teo@tsirpanis.gr>
      
      * Added vectorized paths for Span.Reverse to Array.Reverse, use one wrapper for both Span.Reverse and Array.Reverse
      Co-authored-by: NTheodore Tsirpanis <teo@tsirpanis.gr>
      8006e6a8
    • V
      Run illink before ApiCompat (#66706) · 6387a2dc
      Viktor Hofer 提交于
      * Run illink before ApiCompat and GenAPI
      
      As observed in https://github.com/dotnet/runtime/issues/66634#issuecomment-1068556981, illink currently runs after APICompat. This happens because nuget imports the ApiCompat targets earlier than the illink.targets is imported.
      
      * Update illink.targets
      
      * Use ApiCompatDependsOn
      6387a2dc
    • S
      b42adadd
    • V
      Do not use '.NET Core' anymore in error messages (#68260) · ffe71b9a
      Vitek Karas 提交于
      Added a test for a single-file FDD running over old hostfxr
      
      Includes apphost version, .NET location and so on in error message. Similar to other improved error messages now.
      Includes the apphost version and architecture in the UI dialog, just like we do if there's no runtime at all.
      ffe71b9a
    • S
      Use unchecked barriers for stores to statics in more cases (#68437) · 59d9b13f
      SingleAccretion 提交于
      On x86 and when the address is known.
      59d9b13f
    • J
      Recognize more "local addr" trees as invariant (#68484) · 7adf4544
      Jakob Botsch Nielsen 提交于
      This will ensure we do not evaluate e.g. the retbuffer into a temp when
      unnecessary.
      7adf4544
    • V
      Fix VS complaining about missing projects in slns (#68488) · 09dc0feb
      Viktor Hofer 提交于
      * Fix VS complaining about missing projects in slns
      
      Remove inbox (Project-)References in out-of-band projects as these
      projects already build on top of the shared framework (targeting pack).
      
      * Update Microsoft.Extensions ref projects
      
      * Update Microsoft.Extensions src projects
      
      * Update graph dependencies of Microsoft.Extensions*
      
      * Update sources that complained about Span usage
      09dc0feb
    • Q
      [LoongArch64] coreclr/debug and part of inc directory. (#62886) · fc2f06e5
      Qiao Pengcheng 提交于
      * [LoongArch64] add coreclr-inc,gc, ToolBox directory. (#59561)
      
      Co-authored-by: Loongson's .NET-teams
      
      * [LoongArch64] move inc/switches.h to #62889.
      
      * [LoongArch64] move some configure files from #62889.
      
      * [LoongArch64] revert the modify when moved from #62889.
      
      * [LoongArch64] moved the inc/stdmacros.h to #62885.
      
      * [LoongArch64] moved inc/corinfo.h to #62885.
      
      * [LoongArch64] modify the related files for compiling error.
      
      * [LoongArch64] revert the `src/coreclr/gcinfo/CMakeLists.txt` to original.
      
      * [LoongArch64] delete unused files on windows.
      
      * [LoongArch64] add define IMAGE_FILE_MACHINE_LOONGARCH64.
      
      * [LoongArch64] workround the compiling error for IMAGE_FILE_MACHINE_LOONGARCH64 on windows.
      
      * [LoongArch64] workround the compiling error for SPMI_TARGET_ARCHITECTURE_LOONGARCH64 on windows.
      
      * [LoongArch64] delete the memcpy for LoongArch64 and revert workround patches.
      
      * [LoongArch64] exclude the gc, ToolBox and config files from this PR.
      
      * [LoongArch64] amend code for compiling error on LoongArch64-machine.
      
      * [LoongArch64] update the version of the `LICENSE description`.
      
      * [LoongArch64] amend the code about debug.
      
      * [LoongArch64] temp submit for fixing the windows compiling error.
      
      * [LoongArch64] amend some LA's implements for CR.
      Co-authored-by: Nqiaopengcheng <qiaopengcheng-hf@loongson.cn>
      fc2f06e5
    • A
      Consolidate `MessageBox` API usage (#68396) · ba8ccea2
      Aaron Robinson 提交于
      * Consolidate MessageBox API usage
      
      * Remove MessageBox API from PAL.
      
      * Remove COMPlus_NoGuiOnAssert option
      
      * Remove unused defines indicate NORETURN
      
      * Remove "EE message box" API abstraction.
      ba8ccea2
    • S
      Remove unnecessary work from lazy loops (and a little from greedy) (#68490) · 90d6f53e
      Stephen Toub 提交于
      - For a lazy loop, compute whether the child might match empty.  Only if it might do we need any of the checks around empty iterations, and only in those situations do we need to track the starting position or whether we've seen an empty loop, so avoid all work associated with that if the min length of the child is greater than zero.
      - If the lazy loop failing will exit the match, avoid doing all the cleanup work that ends up being irrelevant.
      - If the lazy loop isn't itself part of another loop, we don't need the backtracking section to push/pop any additional state on the backtracking stack.
      - Avoid outputting two gotos in a row in greedy loops.
      - Avoid outputting additional if blocks in greedy loops when the checks are identical.
      - Add some comments, in particular to loops where the logic can be tricky and hard to follow / reason about.
      - Remove some emitted semicolons after labels.
      - Fix the naming of a few "SkipBacktrack" labels to conform to the same prefixed naming convention used for other labels
      90d6f53e
    • J
      Fix superpmi.py overridden build_type arg (#68507) · a0a63ad8
      Jakob Botsch Nielsen 提交于
      Looks like the build_type arg of the parent parser gets corrupted when
      adding a similar named one to throughput_diff_parser, so just use a
      function to add the common arguments.
      a0a63ad8
    • M
      4727fdb6
    • A
      Increase Span.Reverse test coverage (#68493) · d93874fa
      Adam Sitnik 提交于
      * tests: don't use Array.Reverse to get expected output of Span.Reverse as they are going to share the logic soon
      
      * add more test cases to cover all execution paths
      
      * use more complex value types
      
      * add tests for Span<char>
      d93874fa
    • J
      Add an assert back (#68481) · 08dcd6fe
      Jakob Botsch Nielsen 提交于
      Under JitRepeatOpts we sometimes turn early-arg stores into GT_NOP
      nodes.
      
      Fix #68472
      08dcd6fe
    • E
      3f4ac7f4
    • D
      Add Windows and Ubuntu perf runs on Ampere hw (#68304) · 3af0cf42
      Drew Scoggins 提交于
      * Add Windows and Ubuntu perf runs on Ampere hw
      
      * Remove testing comments
      3af0cf42
    • B
    • S
      Fix CircleInConvex test (#68475) · a0d8f489
      Steve 提交于
      a0d8f489
    • J
      d9df1584
    • E
      Change Nullable to default to enable in libraries src and ref projects (#68102) · 18be9071
      Eric Erhardt 提交于
      * Change the default Nullable to enabled for src projects
      
      * Set Nullable=enable as the default for ref projects
      
      * Fixup merge conflicts
      
      * Disable nullable on shim projects and EventLog.Messages
      
      * Set Nullable to blank on EventLog.Messages
      
      This way no CodeAnalysis attributes are emitted into the assembly.
      18be9071
    • S
      8b6830ae
  3. 25 4月, 2022 7 次提交