Age | Commit message (Collapse) | Author | Files | Lines |
|
This allows to perform build for different arches in the same repository
|
|
* Update dependencies from https://github.com/dotnet/corefx build 20190411.2
- Microsoft.NETCore.Platforms - 3.0.0-preview5.19211.2
- Microsoft.Private.CoreFx.NETCoreApp - 4.6.0-preview5.19211.2
* Update dependencies from https://github.com/dotnet/corefx build 20190411.22
- Microsoft.NETCore.Platforms - 3.0.0-preview5.19211.22
- Microsoft.Private.CoreFx.NETCoreApp - 4.6.0-preview5.19211.22
* Removing renamed HWIntrinsic APIs from S.P.Corelib
* Updating the hwintrinsiclistxarch to match the new intrinsic API names
* Updating the HWIntrinsic generated tests to use the new API names
|
|
.Net -> .NET
|
|
(#22886)
* Removing the InsertVector128 and ExtractVector128 overloads that take an address from S.P.Corelib
* Removing the ExtractStore and InsertLoad tests.
* Fixing the PacketTracer test to use the appropriate Extract/InsertVector128 overloads
* Removing the JIT support for the Extract/InsertVector128 overloads that take an address.
|
|
LangVersion=8.0 (#22452)
* Update BuildTools to preview1-03713-01 (master)
* Updating CoreCLR to use LangVersion=8.0
* Moving the Windows scripts to default to `dotnet msbuild` for managed components
* Setting UseSharedCompilation=true
* Changing some additional callsites that were using msbuild to use dotnet msbuild
* Revert packages.builds to use Desktop msbuild on Windows
* Fixing runtest.cmd to always set DotNetCli
|
|
This change adds new "runincontext" option to the tests/runtest.cmd that
allows running tests inside of an unloadable AssemblyLoadContext.
It also adds new property that allows tests to be marked as incompatible
with running this way. All known tests that have such issue are marked
in this PR too.
|
|
Embed the following test files as the resources in their corresponding test assemblies:
* regexdna-input25.txt regexdna-input25000.txt in BenchmarksGame/regex-redux
* knucleotide-input.txt knucleotide-input-big.txt in BenchmarksGame/k-nucleotide
* revcomp-input25.txt revcomp-input25000.txt in BenchmarksGame/reverse-complement
|
|
replacements (#20994)
* Removing helper intrinsics from the x86 APIs in S.P.Corelib
* Removing JIT support for the removed x86 helper intrinsics
* Removing the x86 HardwareIntrinsics tests for the removed helper APIs
* Fixing up existing usages to no longer use the removed x86 helper intrinsics
* Skip CoreFX tests dependent on the removed x86 helper intrinsics
* Adding a GenerateTests.csx and templates for the new shared helper intrinsics
* Generating the new shared helper intrinsics from their templates
* Disabling some tests for arm and arm64 that are failing due to an assert
|
|
|
|
|
|
|
|
|
|
|
|
* Initial change to allow build wrappers and runtest.py
* Build xunit wrappers on unix
The generated wrapper needs to target netcoreapp on unix. I had to
exclude assets from the xunit package and introduce a dependency on
the private corefx bits, to resolve a dependency conflict in which the
generated wrapper was depending on an older System.Runtime.dll than
the helper library.
I also disabled binclash logging, because the wrapper build binplaces
the helper library to the same location multiple times. I couldn't
find a simple way to disable binclash logging for the wrapper build
only, since that requires passing an empty switch to run.exe, and bash
word splitting makes this nontrivial from build-test.
* Correctly generate TestEnv xplat
Note that this will still require changes to the test wrapper
to actually source the TestEnv on unix
* Build xunit wrappers using SDK
* Target netcoreapp2.0 in xunit wrappers
This way, the wrappers can build even if the 2.1 SDK isn't installed on
the machine.
* Restore to packages directory for xunit wrappers
* Move common properties out to dir.common.props
When building wrappers using the SDK, we need some basic
properties (like the build os/arch/config, and the output directories)
to be set. I factored out properties used by both the old test build
and the new SDK-project test build.
At first I tried using Directory.Build.props (which is automatically
imported by the SDK), but our test build already imports SDK targets
in various places, so this was resulting in duplicate
imports. Instead, I used dir.common.props, and made the imports
explicit.
* Remove desktop-specific test wrapper csproj
* Pass build os/arch/type and logsdir to msbuild from runtest.py
* Remove xunit wrapper helper library from traversal build
* Fix parameter passing in build-test.sh
Use bash arrays to pass parameters for the build command. This makes
it possible to pass arguments with spaces to build_Tests_internal. We
use this to disable binclashlogging selectively (for the xunit wrapper
build only).
* Clean up factored .props files
* Undo runtest.sh changes
* Use latest xunit console runner everywhere
* Remove extra StaticDependency on xunit.runner.console
* Eliminate tests/src/dir.common.props, and rename dir.sdkbuild.props
tests/src/dir.common.props was only used for the desktop-specific
xunit wrapper helper library. There's no need for it any more, so its
properties have been moved into tests/src/dir.props.
dir.sdkbuild.props has been renamed to dir.common.props, since it
contains properties used by SDK projects and buildtools projects.
This change also re-enables the test build.
* Reintroduce dir.sdkbuild.props as a place for SDK-only props
With this, some properties shared by SDK projects can go in a global
location. The TargetFramework is shared by all SDK projects in the
test tree.
This change also uses a property for the xunit package directory that
contains the xunit.console.dll we copy to core_root.
* Add xml namespace to dir.common.props
This fixes a failure in the windows build.
* Satisfy xunit analyzer
* Satisfy xunit analyzer again
* Use SDK msbuild to build wrappers
On windows, the use of run.exe, config.json, and msbuild.cmd uses
msbuild.exe on the path. This change will build wrappers using the
local SDK via "dotnet msbuild", bypassing run.exe. Run.exe will go
away entirely with the move from buildtools to arcade, so other build
invocatios should follow suit.
* Remove Microsoft.CSharp.Core.targets workaround
UseBuildTools used to be true all the time. Now that we are building
wrappers on core, UseBuildTools becomes false. However, the rest of
the runtest.proj expects to build using buildtools, so we keep
UseBuildTools true until we switch to arcade.
The CSharpCoreTargetsPath was imported when running on core only. This
used to happen only on unix, but now it also happens when building
runtest.proj for the xunit wrappers on windows. On unix, this targets
file was a symlink to itself to work around some buildtools logic that
expected the file to exist. This workaround no longer appears
necessary, and on windows, this was never used in the first place, so
this change removes it.
* Remove UseRoslynCompilers prop and unify roslyn import
UseRoslynCompilers was introduced in buildtools by
https://github.com/dotnet/buildtools/pull/947, with different
behaviors on windows/unix. It was removed by
https://github.com/dotnet/buildtools/pull/1974, so we can unify our
roslyn imports now.
* Don't copy xunit dlls to corefx test host
The corefx tests run on specific versions of xunit dlls, defined in
CoreFX.depproj. We want to use these versions in the test host, not
those in CORE_ROOT, so exclude these from being copied to the test host
directory. This fixes the failing corefx tests.
* Don't pass run.exe arguments through build-test.cmd in test pipeline
These arguments get passed along to the xunit wrapper build as
unprocessed build args. They need to work for "dotnet msbuild" (used
for the wrapper build) as well as for run.exe.
* Fix parameter passing of priority arg in build-test.cmd
UnprocessedBuildArgs should contain arguments in the format expected by
msbuild, not by run.exe.
* Fix parameter passing of unprocessed args in build-test.cmd
The "--" syntax is used by run.exe to pass everything following to
msbuild directly. It should not be a part of unprocessed args.
* Pass TargetsWindowsArg to wrapper build in build-test.cmd
Helix builds tests on windows and runs them on unix using the xunit
wrappers. When cross-building the wrappers like this, TargetsWindows
is set to false by the test build pipeline. This variable ensures that
the wrapper uses correct directory separators when invoking the test
.sh file.
* Pass BuildTestsAgainstPackages arg to exclude unix tests
Helix builds xunit wrappers on windows, and runs them on unix. The
BuildTestsAgainstPackages should currently be set to true in the
windows wrapper build to properly filter the .cmd files based on
exclusions in issues.targets.
|
|
|
|
This reverts commit 0598b6b8af0fb560837ce0bb8f3c8236c05bbdc9.
Updates to xunit console runner break things in Helix. So reverting
until we can get that part sorted.
Also undoes version updates from #16597; we can't move these forward
yet as we're back to netstandard 1.4 for the time being.
|
|
Remove the special benchmark configs and update benchmark projects accordingly.
Also update other random projects that were referencing benchmark configs.
Benchmarks now build against the default standard.
Addresses #14124, #16126.
|
|
|
|
|
|
|
|
(#15557)
* Make DangerousGetPinnableReference internal and remove DangerousTryGetArray
* Change DangerousGetPinnableReference to return ref readonly
|
|
* Convert uses of the Dangerous APIs to use MemoryMarshal.GetReference
* Adding Unsafe.AsRef(in...) and using that for ReadOnlySpan GetReference
* Fix typo - add missing bracket.
* Change AsRef(ref...) to AsRef(in...)
* Remove unnecessary whitespace
* Remove Unsafe.AsRef(in...) and its uses.
* Revert "Remove unnecessary whitespace"
This reverts commit 4dbe38cae472e868f74afbabde358f3a7609f6ae.
* Revert "Revert "Remove unnecessary whitespace""
This reverts commit 44d79483423ac9ffcf7c566b79d4a42c6aa15dac.
* Remove extra space to fix formatting.
|
|
|
|
* Change ReadOnlySpan indexer to return ref readonly.
Update JIT to handle changes to ReadOnlySpan indexer
Resolving merge conflict and fixing jit importer
Update ReadOnlySpan Enumerator Current to use indexer.
Removing readonly keyword.
* Temporarily disabling Span perf and other tests that use ReadOnlySpan
* Isolating the ref readonly indexer change only to CoreCLR for now.
Reverting the change to Enumerator Current for now
Fix file formatting
Enable Alpine CI (#15502)
* Enable Alpine CI
This enables Alpine CI leg on every PR using the pipelines.
compare type size instead of var_types
get rid of TYP_CHAR
Adding support for Acosh, Asinh, Atanh, and Cbrt to Math and MathF
Updating the PAL layer to support acosh, asinh, atanh, and cbrt
Adding some PAL tests for acosh, asinh, atanh, and cbrt
Adding valuenum support for acosh, asinh, atanh, and cbrt
Lsra Documentation
Update LinearScan section of ryujit-overview.md, and add lsra-detail.md
Refactor Unsafe.cs to get it more in sync with CoreRT. (#15510)
* Refactor Unsafe.cs to get it more in sync with CoreRT.
* Format the document.
* Unifying the copies of Unsafe using ifdefs
* Change exception thrown to PlatformNotSupportedException
* Addressing PR feedback and moving Unsafe to shared.
* Addressing PR feedback
* Addressing PR review - adding intrinsic attribute
Update CoreClr, CoreFx to preview1-26014-01, preview1-26013-12, respectively (#15513)
Revert "Add optional integer offset to OwnedMemory Pin (#15410)"
This reverts commit 8931cfa4ebe94f57698b4c1b3ab5689cd467cb8e.
Get rid of old -altjitcrossgen argument now that CI has been updated
Merge pull request dotnet/corert#5109 from dotnet/nmirror (#15518)
Merge nmirror to master
Signed-off-by: dotnet-bot <dotnet-bot@microsoft.com>
Revert " Revert "[Local GC] Move knowledge of overlapped I/O objects to the EE through four callbacks (#14982)""
Fix typo `_TARGET_ARM` to `_TARGET_ARM_`. This happens mostly in comments except lsra.cpp.
Update CoreClr, CoreFx, PgoData to preview1-26014-04, preview1-26014-03, master-20171214-0043, respectively (#15520)
* Disabling a test that uses ReadOnlySpan indexer
* Temporarily disabling the superpmi test and fixing nit
* Remove debug statements.
|
|
Separate large perf benchmarks into their own legs
This change splits the windows perf test stages into 6 pipelined legs per flavor to reduce the amount of time we spend running the perf tests and reduce the total time of the job. This change also decreases the size of the stashed bin directory by deleting the obj directory. Finally, we move the benchstones suite into one directory (moving BenchF and BenchI into a shared dir called Benchstones)
|
|
|
|
|
|
Mark `EqualityComparer<T>.Default`'s getter as `[Intrinsic]` so
the jit knows there is something special about it. Extend the jit's
named intrinsic recognizer to recognize this method.
Add a new jit interface method to determine the exact type returned
by `EqualityComparer<T>.Default`, given `T`. Compute the return type by
mirroring the logic used in the actual implementation. Bail out when
`T` is not final as those cases won't simplify down much and lead to
code bloat.
Invoke this interface method when trying to devirtualize calls where
the 'this' object in the call comes from `EqualityComparer<T>.Default`.
The devirtualized methods can then be inlined. Since the specific comparer
`Equal` and `GetHashCode` methods look more complicated in IL than they
really are, mark them with AggressiveInlining attributes.
If devirtualization and inlining happen, it is quite likely that the value
of the comparer object itself is not used in the body of the comparer. This
value comes from a static field cache on the comparer helper.
When the comparer value is ignored, the jit removes the field access since it
is non-faulting. It also removes the the class init helper that is there to
ensure that the (no-longer accessed) field is properly initialized. This helper
has relatively high overhead even in the fast case where the class has been
initialized aready.
Add a perf test.
Closes #6688.
|
|
This keeps it in sync with the copies in the release branches (the
release/1.1.0 branch required this since older C# compilers don't accept
the binary literals), and improves readability.
|
|
Otherwise iterations keep getting slower and slower.
Also bump inner iteration count to 10 to restore the nominal one second
duration per iteration.
|
|
The validation logic was testing against `chksum`, which actually can
vary depending on the number of processors (as that is used to determine
the number of threads across which the work is partitioned, and the
checksum is sensitive to the bucketing). Change it to test against
`maxflips` instead, which is stable.
Fixes #14040.
|
|
Reflecting recent updates to the snapshot of these tests.
|
|
Auto-formatting was leaving some new array expressions oddly indented.
|
|
This will make it easier to track changes in the future.
|
|
Name each variant after its index on the site, not its comparative
status.
|
|
|
|
- Add result validation
- Add [Benchmark] attributes and appropriate iteration counts
- Minor edits here and there to target .NET Standard 1.4
- Exception: pi-digits rewritten to use managed BitInteger instead of
p/invoke out to GMP.
|
|
Also insert namespace BenchmarksGame.
|
|
For each benchmark, grab the current best C# .NET entry, and also grab
the current best serial implementation (since these are easier to work
with from the benchmarking perspective).
|
|
Just what it says on the tin. Should fix #13697.
|
|
* Refactor AsSpan to AsReadOnlySpan
* Updated usages.
* Renamed test methods.
* Bring back AsSpan as obsolete method.
|
|
Reprioritize tests to improve inner-loop throughput.
|
|
These tests were too short-running to measure effectively. Add an inner
iteration count that makes the running time around 1 second (measured
locally).
|
|
|
|
|
|
* Add benchmarks mandelbrot and fannkuch
Adding mandelbrot and fankuch-redux from Benchmarks Game to
complete the representation of benchmarks from this list
http://benchmarksgame.alioth.debian.org/u64q/csharp.html
* Update source acknolegments and edit return codes
* Add checksums to verify benchmark runs
This commit adds checksums, which are pre-computed for each input
case, to verify that the fannkuch and mandelbrot benchmarks
actualy compute the desired function
* Revert version bump
* Remove XunitPerfHarness from Main
* Remove an unnecessary line
* Add iterations to fannkuch to inscrease runtime
|
|
|
|
|
|
This change updates the iteration behavior for the following benchmarks, so that
they generally run for about 1 second per iteration:
* Inline/InlineGCStruct
* Inline/NoThrowInline
* Span/IndexerBench/Indexer4
* Functions/MathTests/*
It also removes the length 1, 10, and 1000 variants of the Span/SpanBench
tests, leaving just the length 100 variants. Analysis has shown that there
is no need to test varying lengths here. Iteration counts for these tests
have been left as is and will be fixed subsequently.
Partially addresses #11654.
|
|
- Removing `[assembly: MeasureInstructionsRetired]` from performance tests.
- Due to this issue: https://github.com/Microsoft/xunit-performance/issues/231, we are blocked from running on performance tests on Linux.
The tag is not used by infrastructure and it is passed during runtime when profiling on Windows.
- Adding the option to execute CoreRun with the stability prefix.
- Moving file to be archived by Jenkins and updating groovy file.
- Setting the maximum number of iterations.
|