1
0
Fork 0
mirror of https://github.com/VSadov/Satori.git synced 2025-06-08 03:27:04 +09:00
Commit graph

54 commits

Author SHA1 Message Date
Carlos Sánchez López
7c7c50b057 cgmanifest.json, zlib-ng-version.txt, THIRD-PARTY-NOTICES.TXT updates. 2024-09-05 08:23:41 -07:00
Carlos Sánchez López
4072e7377a
Migrate to zlib-ng, part 3: Remove zlib and zlib-intel source code and license mentions (second attempt) (#105371)
* Remove zlib/
* Remove zlib-intel/
* Remove third party notice
* Remove patches
* Remove version txts
* Remove cgmanifest.json entries
* Remove installer third party notice
* Update docs
---------
Co-authored-by: Jan Kotas <jkotas@microsoft.com>
2024-07-24 21:58:02 -07:00
Carlos Sánchez López
4399da8e8d
Revert "Migrate to zlib-ng, part 3: Remove zlib and zlib-intel source code an…" (#105284)
This reverts commit 4d2d3d3ef5.
2024-07-22 14:58:04 -07:00
Carlos Sánchez López
4d2d3d3ef5
Migrate to zlib-ng, part 3: Remove zlib and zlib-intel source code and license mentions (#104399)
* Remove zlib/
* Remove zlib-intel/
* Remove third party notice
* Remove patches
* Remove version txts
* Remove cgmanifest.json entries
* Remove installer third party notice
* Update docs
---------
Co-authored-by: Jan Kotas <jkotas@microsoft.com>
2024-07-22 12:23:27 -07:00
David Mason
7934e64492
Add user_events support for the native runtime events (#102523) 2024-06-19 09:41:10 -07:00
Carlos Sánchez López
6e43b6a2bb
Migrate to zlib-ng, part 1: copy source code only (#102520)
* Bring in the zlib-ng source code into the repo but without plugging it in yet.
* Include the required zlib-ng license and version changes.
* Remove the zlib-ng/doc/ and zlib-ng/tests/ folders and mention this in the newly added zlib-ng-version.txt file.
2024-05-22 11:50:07 -07:00
Miha Zupan
5c06e5d01f
Add .NET Libraries fuzzing targets and automation (#101993)
* Initial fuzzing setup

* Initial pipeline

* Install sharpfuzz to the working directory

* Initial instructions

* Add a few helpful links

* Enable OneFuzz deployment task

* Remove BlameAlias default

* Speed up headers fuzzer

* Add BoundedMemory reference

* Use BoundedMemory in SearchValues targets

* Swap property order

* Add a UTF8 fuzzing target

* Reuse instrumented assemblies when unchanged

* Add support for using dictionaries

* Add simple json fuzzing target

* Mention SharpFuzz in THIRD-PARTY-NOTICES.TXT

* Tweak readme

* Don't reuse assembly if prefixes changed

* Temporarily disable dictionary files

* Avoid name conflicts between CI jobs and test submissions

* Add some basic OneFuzz docs

* Add PooledBoundedMemory to fuzzer sample

* Typo

* More docs

* Avoid transcoding overhead in Json fuzzer

* Enable cron schedule

* Tweak docs

* Fix OneFuzz dictionary file paths

* Workaround OneFuzz issue with multiple jobs in deployment

* Clarify what alias to use

* Test JsonDocument instead of JsonSerializer

* Get rid of BlameAlias

* Tweak getters

* Remove a few unused helpers

* Tweak OneFuzz workaround comment

* Remove StringBuilder use

* Avoid misaligned-span UB
2024-05-22 03:38:10 -07:00
Carlos Sánchez López
e5179e72f4
Upgrade zlib to 1.3.1 (#99472)
* Upgrade zlib to 1.3.1

* Update cgmanifest.json and THIRD-PARTY-NOTICES.TXT

* [PATCH] Make zlib compile clean against C4244 clang equivalent is
 "implicit-int-conversion" warning

The change to deflate.c is legal because 'len' has an upper bound of
MAX_STORED, which means it fits cleanly into a 16-bit integer. So
writing out 2x 8-bit values will not result in data loss.

The change to trees.c is legal because within this loop, 'count' is
intended to have an upper bound of 138, with the target assignment
only executing if 'count' is bounded by 4. Neither the 'count' local
in isolation nor the addition that's part of the target line is
expected to result in integer overflow. But even if it did, that's a
matter for a different warning code and doesn't impact the correctness
of the narrowing cast being considered here.

Co-authored by: Levi Broderick <levib@microsoft.com>
2024-03-11 13:15:43 -07:00
Matous Kozak
a08d3fc730
[browser][HybridGlobalization] Improve speed performance of IndexOf and LastIndexOf text APIs with HybridGlobalization mode (#95583)
* Re-implement the grapheme segmenter from Intl.

* Load segmentation rules as static json asset
2024-01-16 12:47:46 +01:00
DeepakRajendrakumaran
9ad24aec01
Adding AVX512 path to Base64 encoding/Decoding (#92241)
* Adding AVX512 path to Base64 encoding/Decoding

* Addressing review Comments.

Signed-off-by: Deepak Rajendrakumaran <deepak.rajendrakumaran@intel.com>

* Removing fallback path.

* Updating Third Party Notice.

* Addressing review comments

---------

Signed-off-by: Deepak Rajendrakumaran <deepak.rajendrakumaran@intel.com>
2023-10-25 09:33:26 -07:00
Miha Zupan
899461780a
Add SearchValues<string> (#88394)
* Add SearchValues<string>
2023-08-20 10:37:20 -07:00
Brant Burnett
30c1d8fb37
Vectorize the CRC64 implementation (#85221) 2023-05-18 20:09:37 +02:00
Brant Burnett
d0ca558b16
Add vectorization to improve CRC32 performance (#83321)
* Add x86 intrinsics to improve CRC32 performance

This significantly improves performance for System.IO.Hashing.Crc32 for
cases where the source span is 64 bytes or larger on Intel x86/x64
architectures.

The change only applies to .NET 7 and later targets of System.IO.Hashing
because it uses some Vector128 APIs added in .NET 7.

BenchmarkDotNet=v0.13.2.2052-nightly, OS=Windows 11 (10.0.22000.1641/21H2)
Intel Core i7-10850H CPU 2.70GHz, 1 CPU, 12 logical and 6 physical cores
.NET SDK=8.0.100-preview.1.23115.2
  [Host]     : .NET 8.0.0 (8.0.23.11008), X64 RyuJIT AVX2
  Job-PBKTIR : .NET 8.0.0 (42.42.42.42424), X64 RyuJIT AVX2
  Job-TVEBLV : .NET 8.0.0 (42.42.42.42424), X64 RyuJIT AVX2

PowerPlanMode=00000000-0000-0000-0000-000000000000  IterationTime=250.0000 ms  MaxIterationCount=20
MinIterationCount=15  WarmupCount=1

| Method | Job        | BufferSize |        Mean |     Error |    StdDev |      Median |         Min |         Max | Ratio |
|------- |----------- |----------- |------------:|----------:|----------:|------------:|------------:|------------:|------:|
| Append | Current    |        128 |   228.20 ns |  2.366 ns |  2.213 ns |   228.07 ns |   225.54 ns |   232.75 ns |  1.00 |
| Append | Intrinsics |        128 |    17.62 ns |  0.096 ns |  0.075 ns |    17.59 ns |    17.56 ns |    17.80 ns |  0.08 |
|        |            |            |             |           |           |             |             |             |       |
| Append | Current    |       1024 | 1,988.07 ns | 47.120 ns | 54.264 ns | 1,990.18 ns | 1,892.83 ns | 2,089.15 ns |  1.00 |
| Append | Intrinsics |       1024 |    64.71 ns |  0.794 ns |  0.704 ns |    64.67 ns |    63.13 ns |    65.96 ns |  0.03 |

* Use vector operator overloads and ref byte indexing

* Fix error and remove ref ROS

* Drop aggressive inlining and legibility improvements

* Don't overcheck intrinsics

* First pass at ARM support

* ARM tweaks

* A bit of cleanup for legibility

* A little more cleanup

* Add license notices

* Move vector shift right to helper function

* A bit of cleanup

* Use System.Diagnostics.UnreachableException

* Use ReadUnaligned for ARM CRC
2023-04-22 14:48:54 -04:00
Levi Broderick
6875ba02db
Zlib: Update zlib to v1.2.13, intel-zlib to v1.2.13_jtk (#84602) 2023-04-12 17:57:56 -07:00
Egor Bogatov
f1b32fe87e
Vectorize Convert.FromHexString (#82521)
Co-authored-by: Günther Foidl <gue@korporal.at>
2023-03-31 21:02:21 +02:00
Morten Larsen
5ec100a94d
Implementation of Lemire's nearly divisionless method (#79790)
* Lemire implementation

* Cleanup

* Article reference

* Fix

* Fixes

* Comment out implementation specific tests in Xoshiro_AlgorithmBehavesAsExpected

* Fix

* Reenable sufficient checks for Xoshiro_AlgorithmBehavesAsExpected

* Fix

* Add third party notice

* Resolve comments

* Resolve comments

* Resolve comments

* Resolve comments

* Refactor implementation to separate class

* Typo fix

* stephentoub's refactor

* Reverting NextInt64 on Xoshiro128

* Adjust test

* Update src/libraries/System.Private.CoreLib/src/System/Random.Xoshiro128StarStarImpl.cs

---------

Co-authored-by: Jeff Handley <jeffhandley@users.noreply.github.com>
Co-authored-by: Stephen Toub <stoub@microsoft.com>
2023-02-17 22:00:06 -05:00
Lee Coward
6905e509a0
remove UUID section superceded by RFC 4122 (#80320) 2023-01-07 15:10:04 -05:00
Adeel Mujahid
10e929ae49
Use ASCII strings in source files (#78265) 2022-11-23 11:59:22 -08:00
Egor Bogatov
5c420f1aa7
Replace MD5 with MurmurHash3_128 in SPMI (#78527)
Co-authored-by: Jakob Botsch Nielsen <Jakob.botsch.nielsen@gmail.com>
Co-authored-by: Jan Kotas <jkotas@microsoft.com>
2022-11-20 03:44:51 +01:00
Tlakaelel Axayakatl Ceja
1f2c6cc1c8 Linker into runtime diff2 (#78049)
* Merge and remove common files
Remove arcade eng\common directory in src\tools\illink since now we will use the runtime arcade infra
Remove build.cmd/build.sh and lint.cmd/lint.sh in src\tools\illink directory since now they will execute via a subset
Remove/Merge common files from src\tools\illink root:
 - .gitattributes
 - .gitignore
 - .github
 - .gitmodules
 - after.illink.sln.targets
 - code_of_conduct.md
 - global.json
 - LICENSE.txt
 - NuGet.config
 - THIRD-PARTY-NOTICES.TXT
Remove/Merge common files from src\tools\illink\eng:
 - Build.props
 - Publishing.props
 - Signing.props
 - SourceBuild.props
 - SourceBuildPrebuiltBaseline.xml
 - Tools.props
 - Version.Details.xml
 - Versions.props

* Create subsets to be able to build illink
Create a variable for the tools folder in runtime
Add subsets tools.illink and tools.illinktests for building illink and unitest it
Add Microsoft.DotNet.Cecil dependencies to runtime and to illink projects
Some workarounds to be able to build illink
Delete some cecil information from the external folder since now its a package

* Refactorings to make test work
Test projects use to have relative paths based on the current working directory to know where to find stuff, now that the project is in a different place things are not found, this commit changes to instead use MSBuild variables to calculate where things are
Add the cecil package to tests
Change a cecil test that verify the official package name to only care about the important pieces

* Enable pipeline
Add a variable to recognize when illink contains a change, and set an exclusion of the src/tools/* for other repos
Reuse the dotnet-linker-tests pipeline file to also run illink unitests every time there are illink changes

* Fix Markdown lint

* Remove checked-in binaries

* Use nunit for linker tests and fix cecil version test
2022-11-15 12:40:53 -08:00
Stephen Toub
1adda686cf
Add XxHash3 to System.IO.Hashing (#76641)
* Add XxHash3

* Add more XxHash3 test cases

* Cull back volume of test cases, and line wrap to help editor performance

* Address PR feedback

Co-authored-by: Eugene Sirkiza <esirkiza@microsoft.com>
2022-10-27 16:57:38 -04:00
Stephen Toub
5892ef2a55
Improve performance of integer formatting (#76726)
* Improve performance of integer formatting

1. The DivRem(..., 10) for each digit in the number ends up being the most expensive aspect of formatting.  This employs a trick other formatting libraries use, which is to have a table for all the formatted values between 00 and 99, and to then DivRem(..., 100) to cut the number of operations in half, which for longer values is meaningful.
2. Avoids going through the digit counting path when we know at the call site it won't be needed.
3. Employs a branch-free, table-based lookup for CountDigits(ulong) to go with a similar approach added for uint.

* Address PR feedback (move license notice)
2022-10-11 00:05:48 -04:00
Levi Broderick
67f0ee59a5
Update zlib, zlib-intel dependencies (#73082)
- zlib updated to v1.2.12
- zlib-intel updated to v1.2.12_jtk.1

Also required additional minor tweaks (documented in zlib-version.txt and zlib-intel-version.txt) to get the build to work.
2022-08-02 16:27:08 -07:00
Dan Moseley
d07b800e52
Add TPN entry for Date/Time processing algorithm (#73128) 2022-07-31 21:38:01 +01:00
Tanner Gooding
715c71ae6a
Exposing IRootFunctions.Hypot and IRootFunctions.Root (#71010)
* Exposing IRootFunctions.Hypot and IRootFunctions.Root

* Adding tests for IRootFunctions.Hypot and IRootFunctions.Root
2022-06-20 16:14:52 -07:00
Aaron Robinson
f1f940f68c
Remove unused code (#70624)
* Remove unused AllowZeroAllocator and
DefaultAllocator.

* Remove static_assert_n.

* Remove the native Regex implementation and replace
with a minimal version from TPOP.

Add attribution in third party notices.
2022-06-12 15:27:29 -07:00
Tanner Gooding
7f9ed8f271
Adding Int128 and UInt128 with a base software implementation (#69204)
* Adding barebones Int128 and UInt128 structs

* Special case Int128 and UInt128 alignment on x64 Unix and Arm64

* Implementing Int128 and UInt128

* Adding tests for Int128 and UInt128

* Updating Int128/UInt128 to respect the System V ABI ordering

* Fixing an issue with UInt128->BigInteger setting the wrong sign

* Don't use Unsafe.As in the Int128/UInt128 hex parsing logic

* Adding Int128 P/Invoke tests and ensure R2R correctly sets the packing

* Fixing some issues with the Int128 interop test for non-Windows

* Ensure that floating-point conversions exist for Int128 and UInt128

* Fixing the casing of a couple fields

* Revert "Don't use Unsafe.As in the Int128/UInt128 hex parsing logic"

This reverts commit 09e8bfc52d5b1b7f7b341f318bf1046b19768dd3.

* Adjusting the Int128/UInt128 generic math tests to have consistent ordering

* Responding to PR feedback

* Ensure that pNativeLayoutInfo alignment is initialized for Int128/UInt128

* Don't use Unsafe.As in the Int128/UInt128 hex parsing logic

* Skip the Interop/PInvoke/Int128 tests on Mono
2022-05-18 21:41:17 -07:00
Marie Píchová
122c9d025d
"[QUIC] Adopted msquic generated interop (#68288)" attempt no 2 (#69009)
* Revert "Revert "[QUIC] Adopted msquic generated interop (#68288)" (#68940)"

This reverts commit 4820674a44.

* Exclude S.N.Quic from Mono AOT

* Fix #68954
2022-05-11 16:29:45 +02:00
Jan Kotas
4820674a44
Revert "[QUIC] Adopted msquic generated interop (#68288)" (#68940)
This reverts commit 992b395a72.
2022-05-05 19:20:52 -07:00
Marie Píchová
992b395a72
[QUIC] Adopted msquic generated interop (#68288)
* MsQuicApi adjusted

* QuicParamHelper adjusted

* MsQuicConfiguration adjusted

* Added MsQuicException

* MsQuicConnection adjusted

* MsQuicListener adjusted

* MsQuicStream adjusted

* It compiles!

* Some test fixes

* Fixed stream read event handling

* Re-enabled IPv6 tests

* latest greatest

* Update src/libraries/System.Net.Quic/src/System/Net/Quic/Implementations/MsQuic/MsQuicListener.cs

* MsQuic interop enum names

* 3rd Party notice, version check

* SafeHandleType

* Replaced AlpnHelpers with MsQuicBuffers generic QUIC_BUFFER* helper

* Sealed exception class

* Feedback MsQuicBuffers

* NativeMemory use

* Newest msquic interop

* Buffers feedback

* Remove MemoryHandle pooling

* Buffers feedback

* Logging feedback
2022-05-05 12:32:25 +02:00
Mike McLaughlin
dd66c99ea8
VS4Mac crash reports on MacOS v12 (Monterey) are missing native stack frames. (#67713)
Can not properly triage VS4Mac failures.

The amd64 frameless compact encoding is being used now in MacOS version 12 and needed to be implemented.

Issue: https://github.com/dotnet/diagnostics/issues/2924
2022-04-07 15:42:31 -07:00
Jose Perez Rodriguez
458524aa75
Updating Unicode files to use 14.0.0 (#66362) 2022-03-10 14:28:35 -08:00
Carl Verret
a7027128ad
Including FastFloat in parsing process (#62301)
* Including FastFloat in parsing process

* PR step 1 - adjusting code in regards to received comments.

* DigitsToUInt64 : Parsing batches of 8 digits with SWAR

* Update src/libraries/System.Private.CoreLib/src/System/Number.NumberToFloatingPointBits.cs

Co-authored-by: Günther Foidl <gue@korporal.at>

* Update src/libraries/System.Private.CoreLib/src/System/Number.NumberToFloatingPointBits.cs

Co-authored-by: Günther Foidl <gue@korporal.at>

* MaxMantissaFastPath fix

* merge problem...

* Revert "merge problem..."

This reverts commit 1b5fd5136a5396c6439ffd47ef46d0c8b3134693.

* removing an extra comparison for fast path.

* According to PR review, all requested changes are in this commit.

* According to new serie of comments on this PR.

* Fixing formatting.

* fixing sentence ending in comments

* Update THIRD-PARTY-NOTICES.TXT

Adding license notice for FastFloat algorithm

* Update src/libraries/System.Private.CoreLib/src/System/Number.NumberToFloatingPointBits.cs

Co-authored-by: Tanner Gooding <tagoo@outlook.com>

* Identation of power of 5 table

* some adjustements according to reviewer's requests.

* Unnecessary assignment of a value to 'exponent'

* removing excedent path for total digits < 7

* removing path for totaldigits <7

* getting rid of unused power of 10 table

* Renaming FastFloat specific values
Specifying infinitePower param as hexa

* renaming some variables and adjusting comments.

* Handle endianness swapping for BigEndian systems.

Co-authored-by: Günther Foidl <gue@korporal.at>
Co-authored-by: Tanner Gooding <tagoo@outlook.com>
2022-02-08 11:33:46 -08:00
Egor Bogatov
442a42147e
Faster IndexOf for substrings (#63285)
* Improve "lastChar == firstChar" case, also, use IndexOf directly if value.Length == 1

* Try plain IndexOf first, to optimize cases where even first char of value is never met

* add 1-byte implementation

* copyrights

* fix copy-paste mistake

* Initial LastIndexOf impl

* More efficient LastIndexOf

* fix bug in Char version (we need two clear two lowest bits in the mask) & temporarily remove AdvSimd impl

* use ResetLowestSetBit

* Fix bug

* Add two-byte LastIndexOf

* Fix build

* Minor optimizations

* optimize cases with two-byte/two-char values

* Remove gotos, fix build

* fix bug in LastIndexOf

* Make sure String.LastIndexOf is optimized

* Use xplat simd helpers - implicit ARM support

* fix arm

* Delete \

* Use Vector128.IsHardwareAccelerated

* Fix build

* Use IsAllZero

* Address feedback

* Address feedback

* micro-optimization, do-while is better here since mask is guaranteed to be non-zero

* Address feedabc

* Use clever trick I borrowed from IndexOfAny for trailing elements

* give up on +1 bump for SequenceCompare

* Clean up

* Clean up

* fix build

* Add debug asserts

* Clean up: give up on the unrolled trick - too little value from code bloat

* Add a test

* Fix build

* Add byte-specific test

* Fix build

* Update IndexOfSequence.byte.cs
2022-01-25 13:54:35 -05:00
Pavel Savara
360df71ead
- reimplementation of BrowserWebSocket (#58199)
- CC0 notice for JavaScript queue
- feedback
2021-09-18 17:40:21 +02:00
Adeel Mujahid
9b2a8351b0
Update both TPN files with missing notices (#57300) 2021-09-08 08:30:59 +02:00
Dan Moseley
31097fb5f6
Remove unnecessary Sun license (#57258) 2021-08-12 08:46:01 -06:00
Prashanth Govindarajan
bea8d9564c
More Parse tests for double, single and Half (#50394)
* Test ibm-fpgen locally for validation

* sq
2021-06-22 01:22:30 +00:00
Tanner Gooding
f721cf4144
Implement NativeMemory (#54006)
* Implement NativeMemory

* Exposing additional APIs as approved

* Ensure we have a test covering alignment and size being less than sizeof(void*)

* Update src/libraries/System.Private.CoreLib/src/System/Runtime/InteropServices/NativeMemory.Unix.cs

Co-authored-by: Jan Kotas <jkotas@microsoft.com>

* Responding to PR feedback

* Adding additional alignment test coverage for 1 to 16384

* Add coverage for 65k and 1/2/4MB alignments

* Fixing the Native\Unix\System.Native\CMakeLists.txt

* Update src/libraries/System.Private.CoreLib/src/System/Runtime/InteropServices/NativeMemory.Unix.cs

Co-authored-by: Jan Kotas <jkotas@microsoft.com>

* Don't call Buffer.Memmove in NativeMemory.AlignedRealloc if ptr is null

* Updating NativeMemory.AlignedRealloc to correctly copy only the size of the last allocation

* Ensure check_symbol_exists(HAVE_ALIGNED_ALLOC) is under the non-apple paths

* Check for malloc_usable_size in malloc_np for FreeBSD and ensure tests compile

* Fix the ReallocSmallerToLargerTest test

* Handle that posix_memalign differs from aligned_alloc for size == 0

Co-authored-by: Jan Kotas <jkotas@microsoft.com>
2021-06-17 19:06:29 -07:00
Pent Ploompuu
fdbef6ca18
Faster unsigned division by constants (#52893)
* Faster unsigned division by constants

* Fix Arm build and add some tests.

* Improve register allocation

* Fix ARM64 codegen

* Fix MULHI flags

* Remove ARM32 codegen

* Widen 32bit UDIV to 64bit MULHI when possible. Improve register allocation.

* Always widen 32bit UDIV to 64bit MUL/MULHI

* Cleanup

* Final optimization

* Fix typo

* Rebase and use inst_Mov instead of inst_RV_RV(INS_mov)

* Fix formatting (1 space)
2021-05-18 08:39:23 -07:00
Aaron Robinson
29965d2e07
Revert "Faster unsigned division by constants (#49585)" (#52885)
This reverts commit e4b4807e2f.
2021-05-17 23:59:13 -07:00
Pent Ploompuu
e4b4807e2f
Faster unsigned division by constants (#49585)
* Faster unsigned division by constants

* Fix Arm build and add some tests.

* Improve register allocation

* Fix ARM64 codegen

* Fix MULHI flags

* Remove ARM32 codegen

* Widen 32bit UDIV to 64bit MULHI when possible. Improve register allocation.

* Always widen 32bit UDIV to 64bit MUL/MULHI

* Cleanup

* Final optimization

* Fix typo
2021-05-18 03:06:50 +00:00
Kevin Cathcart
d2fba8fdc4
Use non-copyleft RNG implementation (#51448)
Using xorshiro128** because it is already used in the project, and licensed under CC0.
2021-05-01 13:19:55 -07:00
Viktor Hofer
3553284bea
Rename mention to master branch to main (#48824) 2021-03-01 10:09:31 +01:00
Alex Covington
220bf97142
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>
2021-01-25 22:11:45 +00:00
Doug Bunting
e63969dba5
Clean up aspnetcore casing in ref to that repo (#47347)
- address difference I introduced in dotnet/aspnetcore#29511 and more
    - conflict detected in dotnet/aspnetcore#29520
- also s|aspnet/aspnetcore|dotnet/aspnetcore|
2021-01-22 14:43:06 -08:00
Nikola Milosavljevic
74fe95be21
Update THIRD-PARTY-NOTICES file (#41851)
* Introduce THIRD-PARTY-NOTICES file for deployment with shared host package

* Update of THIRD-PARTY-NOTICES for .NET 5.0 release

* Update src/installer/pkg/THIRD-PARTY-NOTICES.TXT

Co-authored-by: Adeel Mujahid <adeelbm@outlook.com>

* Update libunwind name in root TPN file to prevent regression in future updates

* Update libunwind license

* Updates based on review comments

Co-authored-by: Adeel Mujahid <adeelbm@outlook.com>
2020-10-02 12:44:03 -07:00
Peter Sollich
69b0d16095
Vxsort (#37159)
* Initial snapshort of vxsort implementation incorporating source code from Dan Shechter.

* Bug fix from Dan.

* Use bigger mark list for experiments.

* Give up if the mark list size is bigger than a reasonable fraction of the ephemeral space.

* Latest version from Dan, disable for ARM64.

* Fixes for Linux compile, ended up disabling vxsort for Linux for now.

* Experimenting with 32-bit sort - the variation that gathers mark list entries pertaining to the local heap by reading the mark lists from all the heaps appears to be too slow and scales very badly with increasing number of heaps.

* 32-bit sort - preserve failing case.

* Do the pointer compression/decompression in place, to improve performance, optionally write mark lists and associated information to binary files for further analysis.

* Introduce runtime check whether CPU supports AVX2 instruction set.

* Implement mark list growth.

* Integrate new version including AVX512 code path.

* Implement runtime test for AVX512 support.

* Move the files for the vectorized sort to their own directory, add stubs to call AVX2 or AVX512 flavor of the sort.

* Get rid of unneeded #include statement in two files.

* Address codereview feedback to specifically say AVX512F instead of just AVX512 as there are multiple subsets.

* Fix CMakeLists.tx files for non-x64 non-Windows targets, introduce separate max mark list sizes for WKS, remove dead code from grow_mark_list, add #ifdef to AVX512 detection to make the other architectures build.

* Instead of modifying the tool-generated header file corinfoinstructionset.h, modify InstructionSetDesc.txt that it is generated from, and run the tools that generates all the files from it.

* Move AVX2/AVX512 instruction set detection to GC side.

* Use vectorized packer, switch packed range from uint32_t to int32_t, because that makes the sorting a bit more efficient.

* Add GCConfig setting to turn vectorized sorting off, streamline ISA detection (but require initialization), rename to IsSupportedInstructionSet.

* Several small improvements:
 - Don't waste time sorting the mark list if background GC is running as we are not going to use it.
 - Use smaller max mark list size if we cannot use AVX2/AVX512 instruction sets
 - Fix mark list overflow detection for server GC.

* Address codereview feedback - add constants for the thresholds above which we use AVX/AVX512F instruction sets.

Add space before parameter lists as per GC codebase coding conventions.

Improve some comments.

* Add license headers and entry in THIRD-PARTY_NOTICES.TXT for Dan's vectorized sorting code.

* Update license headers

* Address code review feedback:
 - fix typo in comment in InitSupportedInstructionSet
 - move test for full GC to beginning of sort_mark_list
 - in WKS GC, we can use the tighter range shigh - slow for the surviving objects instead of the full ephemeral range.
 - make the description for the new config setting GCEnabledInstructionSets more explicit by enumerating the legal values and their meanings.

* Snapshot for Linux changes

* Add more definitions to immintrinh.h

* Fix cmake warnings about mismatched endif clauses.

* Disable Linux support for now due to multiple compile & link errors.

* Address code review feedback:
 - add instructions to bitonic_gen.py
 - centralize range and instruction set checks in do_vxsort
 - add parentheses around expressions.
 - removed some printfs, converted others to dprintf
 - strengthened assert
2020-07-15 13:57:01 -07:00
Erhan Atesoglu
639f06df97
Add SIMD acceleration for Matrix4x4.Invert #34394 (#36323)
* Add SIMD acceleration for Matrix4x4.Invert #34394

Fix for #34394.

Added SIMD hardware acceleration support to the Matrix4x4.Invert function.

* Add link to source and update THIRD-PARTY-NOTICES.TXT

Added the link to Microsoft/DirectXMath source code and appended license to THIRD-PARTY-NOTICES.TXT

* Add test for non-invertable matrix.

Given a Matrix4x4 of only rank 3 test to see the matrix is non-invertable.

* Typo fixed in new test case

* Fixed formating for test matrix.

* Fix for missing return statement.

* Add suggested fixes to Matrix4x4.Invert

Update containing all suggested fixes.

* Added missing using statement

Added missing using statement for Internal.Runtime.CompilerServices.Unknown static object.

* Use abbreviated constructor for Vector128

* Moved implementations into local functions

Moved the SSE implementation and SoftwareFallback to local functions of Invert.
2020-05-26 07:51:23 -07:00
Jose Perez Rodriguez
adab8f20bb
Adding the support of reusing machine-wide credentials in the case where the machine is already domain-joined to the LDAP Server. (#36405)
* Adding the support of reusing machine-wide credentials in the case where
the machine is already domain-joined to the LDAP Server.

Co-authored-by: Alexander Chermyanin <flamencist@mail.ru>

* Addressing feedback and adding ldap4net to TPN

Co-authored-by: Alexander Chermyanin <flamencist@mail.ru>
2020-05-14 18:02:11 -07:00