-
Notifications
You must be signed in to change notification settings - Fork 199
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merge from dotnet/runtime #595
Commits on Jan 24, 2021
-
Vectorize HexConverter.EncodeToUtf16 using SSSE3 (#44111)
Co-authored-by: Adeel Mujahid <3840695+am11@users.noreply.github.com>
Configuration menu - View commit details
-
Copy full SHA for 2f1def8 - Browse repository at this point
Copy the full SHA 2f1def8View commit details
Commits on Jan 25, 2021
-
Added Span overloads for Socket.SendFile (#47230)
* Added Span overloads for Socket.SendFile * Updated ref * Fixed doc comments * Tests * Remove test for non-blocking Cf. dotnet/runtime#47230 (comment)
Configuration menu - View commit details
-
Copy full SHA for a473a9c - Browse repository at this point
Copy the full SHA a473a9cView commit details -
Remove -Wc++-compat option when building Mono as C++ (#47370)
It causes a build warning on some newer compilers: ``` cc1plus: warning: command line option '-Wc++-compat' is valid for C/ObjC but not for C++ ``` Co-authored-by: akoeplinger <akoeplinger@users.noreply.github.com>
Configuration menu - View commit details
-
Copy full SHA for 4da89ff - Browse repository at this point
Copy the full SHA 4da89ffView commit details -
Add support for Arm intrinsics Sha256 (#47337)
* Initial change for sha256 * Handles intrinsics with 3 parameters * Fix condition * Revert test change to HelloWorld sample * Update src/mono/mono/mini/mini-llvm.c Co-authored-by: Ryan Lucia <ryan@luciaonline.net> * Fixed format Co-authored-by: Ryan Lucia <ryan@luciaonline.net>
Configuration menu - View commit details
-
Copy full SHA for f78b5de - Browse repository at this point
Copy the full SHA f78b5deView commit details -
Configuration menu - View commit details
-
Copy full SHA for 5dd263b - Browse repository at this point
Copy the full SHA 5dd263bView commit details -
Fix cancellation race condition in Parallel.ForEachAsync (#47396)
If cancellation is requested at just the "wrong" time, we may end up canceling the operation but reporting it as a successful completion, due to our relying on _registration.Token being the caller-provided token, but that not being the case if cancellation was requested prior to UnsafeRegister being called, in which case it'll return a default registration.
Configuration menu - View commit details
-
Copy full SHA for 004eb75 - Browse repository at this point
Copy the full SHA 004eb75View commit details -
Enable COMPlus_JitDisasmWithGC with SuperPMI asm diffs (#46966)
All SPMI asm diffs (generated using superpmi.py) will display interleaved GC info. Note that you can also pass the `--gcinfo` option to get traditional end-of-code asm dump, but that also requires adding per-instruction offset output, which can lead to excessive textual diffs.
Configuration menu - View commit details
-
Copy full SHA for 205bfcf - Browse repository at this point
Copy the full SHA 205bfcfView commit details -
* real fix needs to happen in TraceEvent
John Salem authoredJan 25, 2021 Configuration menu - View commit details
-
Copy full SHA for 6959d98 - Browse repository at this point
Copy the full SHA 6959d98View commit details -
Update Environment.ProcessorCount on Windows to take into account the…
… processor affinity mask (#45943) - Similarly to cases on Unixes where sched_getaffinity is available - If `GCCpuGroup` and `Thread_UseAllCpuGroups` are both enabled, I'm not sure if the `CPUGroupInfo` count of active processors takes affinity into account as the docs are not clear, for now I'm not modifying that path until I can verify it - Otherwise, a process that is started with a specific processor affinity mask still shows full CPU count - This is one of the differences in the portable managed thread pool implementation, which relies on Environment.ProcessorCount, as opposed to the native thread pool, which uses the affinity mask - After this change, in affinitized cases on Windows the behavior is consistent perf-wise with Linux in similar situations: - The portable thread pool uses the same worker thread count as the native thread pool - `Environment.ProcessorCount` returns the number of processors the the process is affinitized to, which may be less than it would have returned before
Configuration menu - View commit details
-
Copy full SHA for e42de0e - Browse repository at this point
Copy the full SHA e42de0eView commit details -
Return accurate size of addressing mode dsp/dsp+cnst instr descriptor…
… (#47284) * return accurate size for amd dsp and amd dsp+cnst * fix the condition
Configuration menu - View commit details
-
Copy full SHA for 1a25256 - Browse repository at this point
Copy the full SHA 1a25256View commit details -
Use correct CoreLib configuration for shared framework linker trimmin…
…g (#45821) * Use correct CoreLib configuration for shared framework linker trimming * Add IL subdir to CoreLib path unconditionally * Go back to using GetTargetPath, but flow rc to it * Update CoreLibProject properties only when necessary * Add link to CoreLib bin-placing issue and update RuntimeConfiguration in comment
Configuration menu - View commit details
-
Copy full SHA for 5415849 - Browse repository at this point
Copy the full SHA 5415849View commit details -
* Clean up interop shared data types with the DAC. * Feedback from preview CR. * Create specific CRST for the managed object wrapper map.
Configuration menu - View commit details
-
Copy full SHA for 9f8aab7 - Browse repository at this point
Copy the full SHA 9f8aab7View commit details -
Added C# implementation of System.Math.ScaleB and System.MathF.ScaleB…
…… (#42476) * Added C# implementation of System.Math.ScaleB and System.MathF.ScaleB, removed old bindings, added test cases. * Moved tests into System.Runtime.Extensions tests. * Removed unmanaged scalbn and scalbnf from pal and mono * Update src/libraries/System.Private.CoreLib/src/System/Math.cs Co-authored-by: Adeel Mujahid <adeelbm@outlook.com> * Styling changes. * Conditionally include ScaleB for Mono. * Update src/mono/mono/metadata/sysmath.c Tabs, not spaces. Co-authored-by: Adeel Mujahid <adeelbm@outlook.com> * Removing more scalb from PAL * Completely removed ScaleB from Mono * Cleaning up more scalbn * Added comments for ScaleB, updated licenses for musl and Sun * Fixed whitespace. * Removing old references, fixing double ScaleB definition that merge didn't resolve Co-authored-by: Adeel Mujahid <adeelbm@outlook.com>
Configuration menu - View commit details
-
Copy full SHA for 220bf97 - Browse repository at this point
Copy the full SHA 220bf97View commit details -
[wasm] WasmApp.targets: Separate
obj
, andbin
parts of the build ……process (#47253) We want to use a separate directory for intermediate build outputs, that aren't needed in the app bundle, and reduce unclear internal dependencies during a build. # TL;DR ## Changes: 1. `$(WasmBuildDir)` removed 2. Reasonable defaults set for most properties 3. To generate a wasm app for a project, the minimum you need to set: a. `$(WasmMainJS)`, b. and `@(WasmAssembliesToBundle)` # Details: Though it is a bit tricky, because the current targets assume: - that they are being run after `Publish` - that the publish directory has: - some required files copied over from the runtime pack (eg. `libmono*`), - and includes the assemblies - that the targets emit all the intermediate output files like `driver.o`, or the bitcode files, into the same directory - And there are assumptions about where to pick which files from (eg. whether to take `dotnet.wasm` from the runtime pack, or from the publish dir), based on unclear rules. ## What does this PR change? - All the assets meant to be from the runtime pack (like `libmono*`, `icudt.dat`) are always taken only from the runtime pack - and this logic is moved out of the tasks, to the targets - `$(WasmBuildDir)` is removed completely. Instead, we use an intermediate path based on `$(IntermediateOutputPath)` - and emit all the intermediate bits there, like the bitcode files - Add reasonable defaults for various properties, like `$(WasmAppDir)` Effectively: 1. To generate a wasm app for a project, the minimum you need to set: a. `$(WasmMainJS)`, b. and `@(WasmAssembliesToBundle)` 2. The targets don't depend on publish dir at all (in a future PR, we could remove triggering based on `Publish` target also) * [wasm] WasmAppBuilder - move the list of native assets, and logic out .. to the targets. - New property: `NativeAssets`, populated by `@(WasmNativeAsset)` - Remove property `MicrosoftNetCoreAppRuntimePackRidDir` - Also, add the `icudt.dat` file from the targets * [wasm] Simplify handling of dotnet.{js,wasm} WasmAppBuilder has (non-obvious) logic to: 1. if AOT'ing, then use the *generated* dotnet.{js,wasm}; 2. else use the one from the runtime pack This depends on Publish having copied those files from the runtime pack to the publish directory, and then comparing paths in the builder to decide which one to use. Instead, make this the intention obvious, and clear. ---- Commits: * [wasm] Always get the native libs from the runtime pack (eg.libmono*) We were getting these from the publish directory, instead we can get them directly from the runtime pack. This includes icudt.dt, and dotnet.timezones.blat . * [wasm] MonoAOTCompiler: add `OutputDir` property .. where we can emit the generated native files. Since these files are meant only for generating the final `dotnet.wasm`, we don't want them to put them in the bin directory. * [wasm] Use existing list of assemblies - @(_WasmAssemblies) .. instead of trying to find them in the build dir. This build directory will become a directory for intermediate build output in upcoming commits. * [wasm] Replace $(WasmMainAssemblyPath) with $(WasmMainAssemblyFileName) - Instead of having a special $(WasmMainAssemblyPath), and then adding it to the wasm assemblies ourselves - let the user project add all the relevant assemblies to `@(WasmAssembliesToBundle)`, which is usually as simple as `$(OutDir)\*.dll`. - This helps to simplify lot of things. - And we just need the main assembly filename for generating the run-v8.sh script. * [wasm] Rename WasmBuildDir -> _WasmIntermediateOutputPath Based on the changes in previous commits, we can now remove `$(WasmBuildDir)`, and replace that with an internal `$(_WasmIntermediateOutputPath)`. This path will have all the build artifacts generated that aren't required in the app bundle. Earlier, we were using the publish directory for that, which resulted in it being littered with unncessary files, and files getting copied to the app bundle from unclear sources, and for non-obvious reasons. * [wasm] add default value for $(WasmAppDir) * [wasm] WasmApp.targets - misc cleanup * [wasm] WasmAppBuilder: validate Assemblies property * [wasm] WasmTestRunner - rename TestAssembly->TestAssemblyFileName, to correctly reflect the value * [wasm] Fix make clean, for samples * [wasm] WasmApp.targets: Add new $(MonoAotCrossCompilerPath) * [wasm] update comments/docs * Address review feedback from @mdh1418
Configuration menu - View commit details
-
Copy full SHA for b6fb611 - Browse repository at this point
Copy the full SHA b6fb611View commit details -
Configuration menu - View commit details
-
Copy full SHA for e350491 - Browse repository at this point
Copy the full SHA e350491View commit details
Commits on Jan 26, 2021
-
Resolve ILLink warnings in System.Security.Cryptography.X509Certifica…
…tes (#47345) * Resolve ILLink warnings in System.Security.Cryptography.X509Certificates Contributes to #45623 * Use ConstructorInfo to create HttpRequestMessage instances.
Configuration menu - View commit details
-
Copy full SHA for fdc8148 - Browse repository at this point
Copy the full SHA fdc8148View commit details -
Get rid of StreamWriter usage in HTTP loopback server and fix HTTP/1.…
…1 loopback implementation of SendResponseBodyAsync (#47364) Get rid of StreamWriter usage in HTTP loopback server and fix HTTP/1.1 loopback implementation of SendResponseBodyAsync Co-authored-by: Geoffrey Kizer <geoffrek@windows.microsoft.com>
Configuration menu - View commit details
-
Copy full SHA for 59417ef - Browse repository at this point
Copy the full SHA 59417efView commit details -
HTTP Compression - Improve/fix support for user-specified Accept-Enco…
…ding encodings (#47000) Improve support for user-specified Accept-Encoding encodings Co-authored-by: Stephen Toub <stoub@microsoft.com> Co-authored-by: Stephen Toub <stoub@microsoft.com> Co-authored-by: Stephen Toub <stoub@microsoft.com>
Configuration menu - View commit details
-
Copy full SHA for abcf07b - Browse repository at this point
Copy the full SHA abcf07bView commit details -
Debugging Crossgen2 documentation (#47363)
* Debugging Crossgen2 documentation and such - Also new --print-repro-instructions command line switch to crossgen2 as requested by the JIT team
Configuration menu - View commit details
-
Copy full SHA for d7ee51c - Browse repository at this point
Copy the full SHA d7ee51cView commit details -
JIT: split up some parts of flowgraph.cpp (#47072)
Create a number of smaller files with cohesive sets of methods.
Configuration menu - View commit details
-
Copy full SHA for a1f137e - Browse repository at this point
Copy the full SHA a1f137eView commit details -
Fix #46123 - make the subProtocol nullable for HttpListenerContext::A…
…cceptWebSocketAsync (#47402) * Fix #46123 - make `subProtocol` nullable when dealing with WebSockets in HttpListener. * Update ref for System.Net.HttpListener
Configuration menu - View commit details
-
Copy full SHA for 9b93036 - Browse repository at this point
Copy the full SHA 9b93036View commit details -
Fix for 46529 - Unexpected behaviour of ulong -> int cast (#47418)
* Fix for issue 46529 Move check for side-effect and don't push the cast for shifts of 32 to 63 Added test Runtime_46239.cs * clang format
Configuration menu - View commit details
-
Copy full SHA for caf36fa - Browse repository at this point
Copy the full SHA caf36faView commit details -
Configuration menu - View commit details
-
Copy full SHA for 8c6e3e9 - Browse repository at this point
Copy the full SHA 8c6e3e9View commit details -
[wasm] Emit some wrappers with linkonce linkage. (#47384)
<!-- Thank you for your Pull Request! If you are new to contributing to Mono, please try to do your best at conforming to our coding guidelines http://www.mono-project.com/community/contributing/coding-guidelines/ but don't worry if you get something wrong. One of the project members will help you to get things landed. Does your pull request fix any of the existing issues? Please use the following format: Fixes #issue-number --> Co-authored-by: vargaz <vargaz@users.noreply.github.com>
Configuration menu - View commit details
-
Copy full SHA for e420a05 - Browse repository at this point
Copy the full SHA e420a05View commit details -
Search libgdiplus in macports install location (#47373)
When `libgdiplus` is installed via macports, `System.TypeInitializationException` exception is thrown. This is because macports installs the library in `/opt/local/lib`. ```sh $ port install libgdiplus $ port contents libgdiplus Port libgdiplus contains: /opt/local/lib/libgdiplus.0.dylib /opt/local/lib/libgdiplus.a /opt/local/lib/libgdiplus.dylib /opt/local/lib/pkgconfig/libgdiplus.pc /opt/local/share/doc/libgdiplus/AUTHORS /opt/local/share/doc/libgdiplus/COPYING /opt/local/share/doc/libgdiplus/ChangeLog /opt/local/share/doc/libgdiplus/LICENSE /opt/local/share/doc/libgdiplus/NEWS /opt/local/share/doc/libgdiplus/README.md /opt/local/share/doc/libgdiplus/TODO ``` PR adds `/opt/local/lib/libgdiplus.dylib` as a well-known probing path.
Configuration menu - View commit details
-
Copy full SHA for 687b2a9 - Browse repository at this point
Copy the full SHA 687b2a9View commit details -
[wasm] Handle Top-Level style entry point mangling too (#47405)
* [wasm] Handle Top-Level style entry point mangling too This adds a check for '<Main>$' in addition to 'Main' when looking for the async entry point. Fixes #47404
Configuration menu - View commit details
-
Copy full SHA for 26a21be - Browse repository at this point
Copy the full SHA 26a21beView commit details -
System.Random performance tuning. (#47390)
* Performance tuning Xoshiro pseudo random number generators. Move PRNG state from the heap onto the stack before performong PRNG generation and mxing operations. * Declare PRNG state method variables on single line (code review feedback nit).
Configuration menu - View commit details
-
Copy full SHA for 9f193c9 - Browse repository at this point
Copy the full SHA 9f193c9View commit details -
[master] Update dependencies from mono/linker (#47411)
Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>
Configuration menu - View commit details
-
Copy full SHA for 3f12b16 - Browse repository at this point
Copy the full SHA 3f12b16View commit details -
Use a separate thread for tiered compilation background work (#45901)
Use a separate thread for tiered compilation background work - Makes it easier to manage how much time is spend for performing background work like rejitting and allows yielding more frequently with just Sleep without incurring thread pool overhead, which is useful in CPU-limited cases - A min/max range is determined for how long background work will be done before yielding the thread. The max is the same as before, 50 ms. For now the min is `processor count` ms (capped to the max), such that in CPU-limited cases the thread would yield more frequently in order to not monopolize too much of the limited CPU resources for background work, and in cases with a larger number of processors where the background work is typically less intrusive to foreground work it would yield less frequently. - At the same time, progress should be made on background work such that steady-state perf would be reached in reasonable time. Yielding too frequently can slow down the background work too much. The sleep duration is measured to identify oversubscribed situations to yield less frequently and make faster progress on the background work. - Due to less time spent rejitting in some CPU-limited cases, steady-state performance may be reached a bit later in favor of fewer spikes along the way - When the portable thread pool is enabled, a side effect of using a managed worker thread for tiering background work was that several GC-heavy microbenchmarks regressed. Tiering was the only thing using the thread pool in those tests and stack-walking the managed thread was slower due to the presence of GC refs. It's not too concerning, the benchmarks are just measuring something different from before, but in any case this change also resolves that issue. Fixes dotnet/runtime#44211.
Configuration menu - View commit details
-
Copy full SHA for 59ba160 - Browse repository at this point
Copy the full SHA 59ba160View commit details -
Configuration menu - View commit details
-
Copy full SHA for 0fcfa46 - Browse repository at this point
Copy the full SHA 0fcfa46View commit details -
Configuration menu - View commit details
-
Copy full SHA for fb001e6 - Browse repository at this point
Copy the full SHA fb001e6View commit details -
Configuration menu - View commit details
-
Copy full SHA for f68e1bf - Browse repository at this point
Copy the full SHA f68e1bfView commit details -
Configuration menu - View commit details
-
Copy full SHA for 719ca3c - Browse repository at this point
Copy the full SHA 719ca3cView commit details