From 61d6a817e39d3bae0f47dbc09838d51db22a5d30 Mon Sep 17 00:00:00 2001 From: Jiyoung Yun Date: Tue, 13 Jun 2017 18:47:36 +0900 Subject: Imported Upstream version 2.0.0.11992 --- tests/src/CLRTest.CrossGen.targets | 22 +- tests/src/CLRTest.Execute.Bash.targets | 53 +-- tests/src/CLRTest.Execute.Batch.targets | 62 +--- tests/src/CLRTest.Jit.targets | 94 ++++- tests/src/Common/PerfHarness/PerfHarness.cs | 2 +- tests/src/Common/PerfHarness/PerfHarness.csproj | 12 + tests/src/Common/PerfHarness/project.json | 19 - .../build_against_pkg_dependencies.csproj | 25 +- .../build_against_pkg_dependencies/project.json | 35 -- tests/src/Common/empty/project.json | 19 - tests/src/Common/external/external.csproj | 13 - tests/src/Common/external/external.depproj | 46 ++- tests/src/Common/external/project.json | 26 -- tests/src/Common/netcoreapp/project.json | 9 - tests/src/Common/targeting_pack_ref/project.json | 25 -- .../targeting_pack_ref/targeting_pack_ref.csproj | 14 + tests/src/Common/test_dependencies/project.json | 34 -- .../test_dependencies/test_dependencies.csproj | 31 +- tests/src/Common/test_runtime/project.json | 33 -- tests/src/Common/test_runtime/test_runtime.csproj | 29 +- tests/src/GC/API/GCHandleCollector/Usage.cs | 13 +- .../src/GC/Features/HeapExpansion/pluggaps.csproj | 2 +- tests/src/GC/Scenarios/DoublinkList/dlcollect.cs | 37 +- tests/src/GC/Scenarios/DoublinkList/dlstack.cs | 49 ++- tests/src/GC/Scenarios/DoublinkList/doublinkgen.cs | 39 ++- .../Stress/Framework/ReliabilityFramework.csproj | 4 +- .../MarshalAPI/ReadWrite/ReadWriteObject.cs | 116 ++++++ .../MarshalAPI/ReadWrite/ReadWriteObject.csproj | 40 +++ .../MarshalAPI/String/StringMarshalingTest.cs | 34 ++ .../Interop/StringMarshalling/LPSTR/LPSTRTest.cs | 21 +- .../StringMarshalling/LPSTR/LPSTRTestNative.cpp | 12 +- tests/src/JIT/CheckProjects/CheckProjects.cs | 6 +- tests/src/JIT/CheckProjects/CheckProjects.csproj | 10 +- .../Directed/TypedReference/TypedReference.csproj | 7 +- .../src/JIT/Directed/UnrollLoop/loop6_cs_d.csproj | 7 +- .../src/JIT/Directed/UnrollLoop/loop6_cs_do.csproj | 7 +- .../src/JIT/Directed/UnrollLoop/loop6_cs_r.csproj | 7 +- .../src/JIT/Directed/UnrollLoop/loop6_cs_ro.csproj | 7 +- .../JIT/Generics/Coverage/chaos65204782cs.csproj | 2 +- .../JIT/Generics/Coverage/chaos65204782cs_o.csproj | 3 +- .../JIT/Methodical/Boxing/morph/sin3double.ilproj | 8 +- .../src/JIT/Methodical/VT/etc/_dbggc_nested.csproj | 7 +- tests/src/JIT/Methodical/VT/etc/_dbgnested.csproj | 7 +- .../src/JIT/Methodical/VT/etc/_relgc_nested.csproj | 7 +- tests/src/JIT/Methodical/VT/etc/_relnested.csproj | 7 +- .../Methodical/VT/etc/_speed_dbggc_nested.csproj | 7 +- .../JIT/Methodical/VT/etc/_speed_dbgnested.csproj | 7 +- .../Methodical/VT/etc/_speed_relgc_nested.csproj | 7 +- .../JIT/Methodical/VT/etc/_speed_relnested.csproj | 7 +- tests/src/JIT/Methodical/VT/etc/gc_nested.csproj | 7 +- tests/src/JIT/Methodical/VT/etc/nested.csproj | 7 +- .../Methodical/acceptance/Boxing/boxing001.ilproj | 8 +- .../src/JIT/Methodical/refany/_dbggcreport.csproj | 7 +- tests/src/JIT/Methodical/refany/_dbgnative.csproj | 7 +- tests/src/JIT/Methodical/refany/_dbgstress1.csproj | 7 +- tests/src/JIT/Methodical/refany/_dbgstress3.csproj | 7 +- .../src/JIT/Methodical/refany/_dbgvirtcall.csproj | 7 +- .../src/JIT/Methodical/refany/_relgcreport.csproj | 7 +- tests/src/JIT/Methodical/refany/_relnative.csproj | 7 +- tests/src/JIT/Methodical/refany/_relstress1.csproj | 7 +- tests/src/JIT/Methodical/refany/_relstress3.csproj | 7 +- .../src/JIT/Methodical/refany/_relvirtcall.csproj | 7 +- .../Methodical/refany/_speed_dbggcreport.csproj | 7 +- .../JIT/Methodical/refany/_speed_dbgnative.csproj | 7 +- .../JIT/Methodical/refany/_speed_dbgstress1.csproj | 7 +- .../JIT/Methodical/refany/_speed_dbgstress3.csproj | 7 +- .../Methodical/refany/_speed_dbgvirtcall.csproj | 7 +- .../Methodical/refany/_speed_relgcreport.csproj | 7 +- .../JIT/Methodical/refany/_speed_relnative.csproj | 7 +- .../JIT/Methodical/refany/_speed_relstress1.csproj | 7 +- .../JIT/Methodical/refany/_speed_relstress3.csproj | 7 +- .../Methodical/refany/_speed_relvirtcall.csproj | 7 +- tests/src/JIT/Methodical/refany/array1.csproj | 7 +- tests/src/JIT/Methodical/refany/array2.csproj | 7 +- tests/src/JIT/Methodical/refany/format.csproj | 7 +- tests/src/JIT/Methodical/refany/gcreport.csproj | 7 +- tests/src/JIT/Methodical/refany/lcs.csproj | 7 +- tests/src/JIT/Methodical/refany/native.csproj | 7 +- tests/src/JIT/Methodical/refany/virtcall.csproj | 7 +- tests/src/JIT/Methodical/tailcall_v4/smallFrame.il | 3 +- .../Methodical/xxobj/operand/_dbgrefanyval.csproj | 7 +- .../Methodical/xxobj/operand/_relrefanyval.csproj | 7 +- .../xxobj/operand/_speed_dbgrefanyval.csproj | 7 +- .../xxobj/operand/_speed_relrefanyval.csproj | 7 +- .../JIT/Methodical/xxobj/operand/refanyval.csproj | 7 +- .../Performance/CodeQuality/BenchF/Adams/Adams.cs | 1 - .../CodeQuality/BenchF/Adams/Adams.csproj | 8 +- .../CodeQuality/BenchF/BenchMk2/BenchMk2.cs | 1 - .../CodeQuality/BenchF/BenchMk2/BenchMk2.csproj | 8 +- .../CodeQuality/BenchF/BenchMrk/BenchMrk.cs | 1 - .../CodeQuality/BenchF/BenchMrk/BenchMrk.csproj | 8 +- .../CodeQuality/BenchF/Bisect/Bisect.cs | 1 - .../CodeQuality/BenchF/Bisect/Bisect.csproj | 8 +- .../Performance/CodeQuality/BenchF/DMath/DMath.cs | 1 - .../CodeQuality/BenchF/DMath/DMath.csproj | 8 +- .../JIT/Performance/CodeQuality/BenchF/FFT/FFT.cs | 1 - .../Performance/CodeQuality/BenchF/FFT/FFT.csproj | 8 +- .../CodeQuality/BenchF/InProd/InProd.cs | 1 - .../CodeQuality/BenchF/InProd/InProd.csproj | 8 +- .../Performance/CodeQuality/BenchF/InvMt/InvMt.cs | 1 - .../CodeQuality/BenchF/InvMt/InvMt.csproj | 8 +- .../CodeQuality/BenchF/LLoops/LLoops.cs | 1 - .../CodeQuality/BenchF/LLoops/LLoops.csproj | 8 +- .../CodeQuality/BenchF/Lorenz/Lorenz.cs | 1 - .../CodeQuality/BenchF/Lorenz/Lorenz.csproj | 8 +- .../CodeQuality/BenchF/MatInv4/MatInv4.cs | 1 - .../CodeQuality/BenchF/MatInv4/MatInv4.csproj | 8 +- .../Performance/CodeQuality/BenchF/NewtE/NewtE.cs | 1 - .../CodeQuality/BenchF/NewtE/NewtE.csproj | 8 +- .../Performance/CodeQuality/BenchF/NewtR/NewtR.cs | 1 - .../CodeQuality/BenchF/NewtR/NewtR.csproj | 8 +- .../CodeQuality/BenchF/Regula/Regula.cs | 1 - .../CodeQuality/BenchF/Regula/Regula.csproj | 8 +- .../CodeQuality/BenchF/Romber/Romber.cs | 1 - .../CodeQuality/BenchF/Romber/Romber.csproj | 8 +- .../CodeQuality/BenchF/Secant/Secant.cs | 1 - .../CodeQuality/BenchF/Secant/Secant.csproj | 8 +- .../CodeQuality/BenchF/Simpsn/Simpsn.cs | 1 - .../CodeQuality/BenchF/Simpsn/Simpsn.csproj | 8 +- .../Performance/CodeQuality/BenchF/SqMtx/SqMtx.cs | 1 - .../CodeQuality/BenchF/SqMtx/SqMtx.csproj | 8 +- .../Performance/CodeQuality/BenchF/Trap/Trap.cs | 1 - .../CodeQuality/BenchF/Trap/Trap.csproj | 8 +- .../CodeQuality/BenchF/Whetsto/Whetsto.cs | 1 - .../CodeQuality/BenchF/Whetsto/Whetsto.csproj | 8 +- .../CodeQuality/BenchI/8Queens/8Queens.cs | 1 - .../CodeQuality/BenchI/8Queens/8Queens.csproj | 8 +- .../CodeQuality/BenchI/Ackermann/Ackermann.cs | 1 - .../CodeQuality/BenchI/Ackermann/Ackermann.csproj | 8 +- .../CodeQuality/BenchI/AddArray/AddArray.cs | 1 - .../CodeQuality/BenchI/AddArray/AddArray.csproj | 8 +- .../CodeQuality/BenchI/AddArray2/AddArray2.cs | 1 - .../CodeQuality/BenchI/AddArray2/AddArray2.csproj | 8 +- .../CodeQuality/BenchI/Array1/Array1.cs | 1 - .../CodeQuality/BenchI/Array1/Array1.csproj | 8 +- .../CodeQuality/BenchI/Array2/Array2.cs | 1 - .../CodeQuality/BenchI/Array2/Array2.csproj | 8 +- .../CodeQuality/BenchI/BenchE/BenchE.cs | 1 - .../CodeQuality/BenchI/BenchE/BenchE.csproj | 8 +- .../CodeQuality/BenchI/BubbleSort/BubbleSort.cs | 1 - .../BenchI/BubbleSort/BubbleSort.csproj | 8 +- .../CodeQuality/BenchI/BubbleSort2/BubbleSort2.cs | 1 - .../BenchI/BubbleSort2/BubbleSort2.csproj | 8 +- .../CodeQuality/BenchI/CSieve/CSieve.cs | 1 - .../CodeQuality/BenchI/CSieve/CSieve.csproj | 8 +- .../JIT/Performance/CodeQuality/BenchI/Fib/Fib.cs | 1 - .../Performance/CodeQuality/BenchI/Fib/Fib.csproj | 8 +- .../CodeQuality/BenchI/HeapSort/HeapSort.cs | 1 - .../CodeQuality/BenchI/HeapSort/HeapSort.csproj | 8 +- .../CodeQuality/BenchI/IniArray/IniArray.cs | 1 - .../CodeQuality/BenchI/IniArray/IniArray.csproj | 8 +- .../CodeQuality/BenchI/LogicArray/LogicArray.cs | 1 - .../BenchI/LogicArray/LogicArray.csproj | 8 +- .../CodeQuality/BenchI/Midpoint/Midpoint.cs | 1 - .../CodeQuality/BenchI/Midpoint/Midpoint.csproj | 8 +- .../CodeQuality/BenchI/MulMatrix/MulMatrix.cs | 1 - .../CodeQuality/BenchI/MulMatrix/MulMatrix.csproj | 8 +- .../CodeQuality/BenchI/NDhrystone/NDhrystone.cs | 1 - .../BenchI/NDhrystone/NDhrystone.csproj | 8 +- .../CodeQuality/BenchI/Permutate/Permutate.cs | 1 - .../CodeQuality/BenchI/Permutate/Permutate.csproj | 8 +- .../JIT/Performance/CodeQuality/BenchI/Pi/Pi.cs | 1 - .../Performance/CodeQuality/BenchI/Pi/Pi.csproj | 8 +- .../CodeQuality/BenchI/Puzzle/Puzzle.cs | 1 - .../CodeQuality/BenchI/Puzzle/Puzzle.csproj | 8 +- .../CodeQuality/BenchI/QuickSort/QuickSort.cs | 1 - .../CodeQuality/BenchI/QuickSort/QuickSort.csproj | 8 +- .../CodeQuality/BenchI/TreeInsert/TreeInsert.cs | 1 - .../BenchI/TreeInsert/TreeInsert.csproj | 8 +- .../CodeQuality/BenchI/TreeSort/TreeSort.cs | 1 - .../CodeQuality/BenchI/TreeSort/TreeSort.csproj | 8 +- .../CodeQuality/BenchI/XposMatrix/XposMatrix.cs | 1 - .../BenchI/XposMatrix/XposMatrix.csproj | 8 +- .../binarytrees/binarytrees.csharp.cs | 1 - .../binarytrees/binarytrees.csharp3.cs | 1 - .../BenchmarksGame/binarytrees/binarytrees.csproj | 9 +- .../BenchmarksGame/binarytrees/binarytrees3.csproj | 9 +- .../BenchmarksGame/fasta/fasta.csharp-2.cs | 1 - .../CodeQuality/BenchmarksGame/fasta/fasta.csproj | 8 +- .../BenchmarksGame/fastaredux/fastaredux.csharp.cs | 1 - .../BenchmarksGame/fastaredux/fastaredux.csproj | 8 +- .../BenchmarksGame/k-nucleotide/k-nucleotide.cs | 13 +- .../k-nucleotide/k-nucleotide.csproj | 9 +- .../BenchmarksGame/nbody/nbody.csharp-3.cs | 1 - .../CodeQuality/BenchmarksGame/nbody/nbody.csproj | 8 +- .../BenchmarksGame/pidigits/pi-digits.cs | 1 - .../BenchmarksGame/pidigits/pi-digits.csproj | 8 +- .../BenchmarksGame/regexdna/regexdna.csharp-6.cs | 1 - .../BenchmarksGame/regexdna/regexdna.csproj | 9 +- .../BenchmarksGame/revcomp/revcomp.csharp-1.cs | 1 - .../BenchmarksGame/revcomp/revcomp.csproj | 9 +- .../BenchmarksGame/spectralnorm/spectralnorm.cs | 1 - .../spectralnorm/spectralnorm.csproj | 8 +- .../JIT/Performance/CodeQuality/Burgers/Burgers.cs | 5 +- .../Performance/CodeQuality/Burgers/Burgers.csproj | 8 +- .../Performance/CodeQuality/Bytemark/ByteMark.cs | 31 +- .../CodeQuality/Bytemark/Bytemark.csproj | 8 +- .../CodeQuality/FractalPerf/FractalPerf.cs | 11 +- .../CodeQuality/FractalPerf/FractalPerf.csproj | 8 +- .../CodeQuality/Inlining/InlineGCStruct.cs | 1 - .../CodeQuality/Inlining/InlineGCStruct.csproj | 8 +- .../CodeQuality/Inlining/NoThrowInline.cs | 1 - .../CodeQuality/Inlining/NoThrowInline.csproj | 9 +- tests/src/JIT/Performance/CodeQuality/Linq/Linq.cs | 1 - .../JIT/Performance/CodeQuality/Linq/Linq.csproj | 8 +- .../CodeQuality/Math/Functions/Double/AbsDouble.cs | 2 +- .../Math/Functions/Double/AcosDouble.cs | 2 +- .../Math/Functions/Double/AsinDouble.cs | 2 +- .../Math/Functions/Double/Atan2Double.cs | 2 +- .../Math/Functions/Double/AtanDouble.cs | 2 +- .../Math/Functions/Double/CeilingDouble.cs | 2 +- .../CodeQuality/Math/Functions/Double/CosDouble.cs | 2 +- .../Math/Functions/Double/CoshDouble.cs | 2 +- .../CodeQuality/Math/Functions/Double/ExpDouble.cs | 2 +- .../Math/Functions/Double/FloorDouble.cs | 2 +- .../Math/Functions/Double/Log10Double.cs | 2 +- .../CodeQuality/Math/Functions/Double/LogDouble.cs | 2 +- .../CodeQuality/Math/Functions/Double/PowDouble.cs | 2 +- .../Math/Functions/Double/RoundDouble.cs | 2 +- .../CodeQuality/Math/Functions/Double/SinDouble.cs | 2 +- .../Math/Functions/Double/SinhDouble.cs | 2 +- .../Math/Functions/Double/SqrtDouble.cs | 2 +- .../CodeQuality/Math/Functions/Double/TanDouble.cs | 2 +- .../Math/Functions/Double/TanhDouble.cs | 2 +- .../CodeQuality/Math/Functions/Functions.cs | 21 +- .../CodeQuality/Math/Functions/Functions.csproj | 33 +- .../CodeQuality/Math/Functions/Single/AbsSingle.cs | 2 +- .../Math/Functions/Single/AcosSingle.cs | 47 +++ .../Math/Functions/Single/AsinSingle.cs | 47 +++ .../Math/Functions/Single/Atan2Single.cs | 48 +++ .../Math/Functions/Single/AtanSingle.cs | 47 +++ .../Math/Functions/Single/CeilingSingle.cs | 47 +++ .../CodeQuality/Math/Functions/Single/CosSingle.cs | 47 +++ .../Math/Functions/Single/CoshSingle.cs | 47 +++ .../CodeQuality/Math/Functions/Single/ExpSingle.cs | 47 +++ .../Math/Functions/Single/FloorSingle.cs | 47 +++ .../Math/Functions/Single/Log10Single.cs | 47 +++ .../CodeQuality/Math/Functions/Single/LogSingle.cs | 48 +++ .../CodeQuality/Math/Functions/Single/PowSingle.cs | 48 +++ .../Math/Functions/Single/RoundSingle.cs | 47 +++ .../CodeQuality/Math/Functions/Single/SinSingle.cs | 47 +++ .../Math/Functions/Single/SinhSingle.cs | 47 +++ .../Math/Functions/Single/SqrtSingle.cs | 47 +++ .../CodeQuality/Math/Functions/Single/TanSingle.cs | 47 +++ .../Math/Functions/Single/TanhSingle.cs | 47 +++ .../JIT/Performance/CodeQuality/Roslyn/CscBench.cs | 1 - .../Performance/CodeQuality/Roslyn/CscBench.csproj | 8 +- .../SIMD/ConsoleMandel/ConsoleMandel.cs | 1 - .../SIMD/ConsoleMandel/ConsoleMandel.csproj | 8 +- .../CodeQuality/SIMD/RayTracer/RayTracer.csproj | 8 +- .../CodeQuality/SIMD/RayTracer/RayTracerBench.cs | 1 - .../CodeQuality/SIMD/SeekUnroll/SeekUnroll.cs | 1 - .../CodeQuality/SIMD/SeekUnroll/SeekUnroll.csproj | 8 +- .../Performance/CodeQuality/SciMark/SciMark.csproj | 8 +- .../JIT/Performance/CodeQuality/SciMark/kernel.cs | 7 +- .../CodeQuality/Serialization/Deserialize.cs | 1 - .../CodeQuality/Serialization/Deserialize.csproj | 8 +- .../CodeQuality/Serialization/Serialize.cs | 1 - .../CodeQuality/Serialization/Serialize.csproj | 8 +- .../JIT/Performance/CodeQuality/Span/Indexer.cs | 5 +- .../Performance/CodeQuality/Span/Indexer.csproj | 9 +- .../JIT/Performance/CodeQuality/Span/SpanBench.cs | 7 +- .../Performance/CodeQuality/Span/SpanBench.csproj | 9 +- .../Performance/CodeQuality/V8/Crypto/Crypto.cs | 1 - .../CodeQuality/V8/Crypto/Crypto.csproj | 8 +- .../CodeQuality/V8/Richards/Richards.cs | 1 - .../CodeQuality/V8/Richards/Richards.csproj | 8 +- .../Performance/RunBenchmarks/RunBenchmarks.csproj | 7 +- .../CLR-x86-JIT/V1-M12-Beta2/b51817/b51817.csproj | 7 +- .../CLR-x86-JIT/V1-M12-Beta2/b52593/b52593.csproj | 7 +- .../CLR-x86-JIT/V1-M12-Beta2/b52733/b52733.csproj | 7 +- .../CLR-x86-JIT/V1-M12-Beta2/b52840/b52840.csproj | 7 +- .../CLR-x86-JIT/V1-M12-Beta2/b53226/b53226a.csproj | 7 +- .../CLR-x86-JIT/V1-M12-Beta2/b53226/b53226b.csproj | 7 +- .../CLR-x86-JIT/V1-M12-Beta2/b66533/b66533.csproj | 7 +- .../JitBlue/GitHub_10780/GitHub_10780.cs | 52 +++ .../JitBlue/GitHub_10780/GitHub_10780.csproj | 56 +++ .../JitBlue/GitHub_11343/GitHub_11343.cs | 33 ++ .../JitBlue/GitHub_11343/GitHub_11343.csproj | 42 +++ .../JitBlue/GitHub_11408/GitHub_11408.cs | 45 +++ .../JitBlue/GitHub_11408/GitHub_11408.csproj | 53 +++ .../JitBlue/GitHub_11508/GitHub_11508.cs | 56 +++ .../JitBlue/GitHub_11508/GitHub_11508.csproj | 37 ++ .../JitBlue/GitHub_11574/GitHub_11574.cs | 44 +++ .../JitBlue/GitHub_11574/GitHub_11574.csproj | 37 ++ .../JitBlue/GitHub_11689/GitHub_11689.cs | 39 +++ .../JitBlue/GitHub_11689/GitHub_11689.csproj | 56 +++ .../JitBlue/GitHub_11733/GitHub_11733.cs | 26 ++ .../JitBlue/GitHub_11733/GitHub_11733.csproj | 42 +++ .../JitBlue/GitHub_11804/GitHub_11804.il | 85 +++++ .../JitBlue/GitHub_11804/GitHub_11804.ilproj | 37 ++ .../JitBlue/GitHub_7906/GitHub_7906.csproj | 8 +- .../JitBlue/GitHub_8220/GitHub_8220.csproj | 8 +- .../JitBlue/GitHub_8231/GitHub_8231.csproj | 7 +- .../VS-ia64-JIT/V1.2-Beta1/b302509/b302509.csproj | 7 +- tests/src/JIT/RyuJIT/DoWhileBndChk.csproj | 7 +- .../benchmark+roslyn/benchmark+roslyn.csproj | 99 ++++++ tests/src/JIT/config/benchmark+roslyn/project.json | 38 -- .../benchmark+serialize/benchmark+serialize.csproj | 99 ++++++ .../JIT/config/benchmark+serialize/project.json | 38 -- tests/src/JIT/config/benchmark/benchmark.csproj | 114 ++++++ tests/src/JIT/config/benchmark/project.json | 43 --- .../JIT/opt/Devirtualization/GitHub_9945_2.ilproj | 8 +- tests/src/JIT/opt/Devirtualization/override.ilproj | 8 +- .../TailcallVerifyTransparentLibraryWithPrefix.il | 6 +- .../JIT/opt/Tailcall/TailcallVerifyWithPrefix.il | 83 +++-- .../bigvtbl/bigvtbl_cs_d.csproj | 2 +- .../bigvtbl/bigvtbl_cs_r.csproj | 2 +- tests/src/JIT/superpmi/superpmicollect.csproj | 1 + .../Test6_ImplementingClass.ilproj | 1 + .../classloader/regressions/440935/Test.ilproj | 1 + .../src/Regressions/coreclr/9414/readonlyPrefix.cs | 36 ++ .../Regressions/coreclr/9414/readonlyPrefix.csproj | 31 ++ .../TestWrappersConfig/TestWrappersConfig.csproj | 38 ++ tests/src/TestWrappersConfig/project.json | 32 -- .../RuntimeWrappedException.cs | 21 +- tests/src/dir.props | 12 +- tests/src/dir.targets | 14 +- tests/src/dirs.proj | 4 +- .../linkbench/assets/MusicStore/Get-Crossgen.ps1 | 77 ++++ .../linkbench/assets/Roslyn/illinkcsproj | 7 +- tests/src/performance/linkbench/linkbench.cs | 387 +++++++++++++-------- tests/src/performance/linkbench/linkbench.csproj | 4 +- tests/src/performance/linkbench/scripts/build.cmd | 138 +++++--- tests/src/performance/linkbench/scripts/clone.cmd | 60 +++- tests/src/performance/perflab/PerfLab.csproj | 4 +- tests/src/performance/performance.csproj | 111 ++++++ tests/src/performance/project.json | 42 --- 328 files changed, 3911 insertions(+), 1484 deletions(-) create mode 100644 tests/src/Common/PerfHarness/PerfHarness.csproj delete mode 100644 tests/src/Common/PerfHarness/project.json delete mode 100644 tests/src/Common/build_against_pkg_dependencies/project.json delete mode 100644 tests/src/Common/empty/project.json delete mode 100644 tests/src/Common/external/external.csproj delete mode 100644 tests/src/Common/external/project.json delete mode 100644 tests/src/Common/netcoreapp/project.json delete mode 100644 tests/src/Common/targeting_pack_ref/project.json delete mode 100644 tests/src/Common/test_dependencies/project.json delete mode 100644 tests/src/Common/test_runtime/project.json create mode 100644 tests/src/Interop/MarshalAPI/ReadWrite/ReadWriteObject.cs create mode 100644 tests/src/Interop/MarshalAPI/ReadWrite/ReadWriteObject.csproj create mode 100644 tests/src/JIT/Performance/CodeQuality/Math/Functions/Single/AcosSingle.cs create mode 100644 tests/src/JIT/Performance/CodeQuality/Math/Functions/Single/AsinSingle.cs create mode 100644 tests/src/JIT/Performance/CodeQuality/Math/Functions/Single/Atan2Single.cs create mode 100644 tests/src/JIT/Performance/CodeQuality/Math/Functions/Single/AtanSingle.cs create mode 100644 tests/src/JIT/Performance/CodeQuality/Math/Functions/Single/CeilingSingle.cs create mode 100644 tests/src/JIT/Performance/CodeQuality/Math/Functions/Single/CosSingle.cs create mode 100644 tests/src/JIT/Performance/CodeQuality/Math/Functions/Single/CoshSingle.cs create mode 100644 tests/src/JIT/Performance/CodeQuality/Math/Functions/Single/ExpSingle.cs create mode 100644 tests/src/JIT/Performance/CodeQuality/Math/Functions/Single/FloorSingle.cs create mode 100644 tests/src/JIT/Performance/CodeQuality/Math/Functions/Single/Log10Single.cs create mode 100644 tests/src/JIT/Performance/CodeQuality/Math/Functions/Single/LogSingle.cs create mode 100644 tests/src/JIT/Performance/CodeQuality/Math/Functions/Single/PowSingle.cs create mode 100644 tests/src/JIT/Performance/CodeQuality/Math/Functions/Single/RoundSingle.cs create mode 100644 tests/src/JIT/Performance/CodeQuality/Math/Functions/Single/SinSingle.cs create mode 100644 tests/src/JIT/Performance/CodeQuality/Math/Functions/Single/SinhSingle.cs create mode 100644 tests/src/JIT/Performance/CodeQuality/Math/Functions/Single/SqrtSingle.cs create mode 100644 tests/src/JIT/Performance/CodeQuality/Math/Functions/Single/TanSingle.cs create mode 100644 tests/src/JIT/Performance/CodeQuality/Math/Functions/Single/TanhSingle.cs create mode 100644 tests/src/JIT/Regression/JitBlue/GitHub_10780/GitHub_10780.cs create mode 100644 tests/src/JIT/Regression/JitBlue/GitHub_10780/GitHub_10780.csproj create mode 100644 tests/src/JIT/Regression/JitBlue/GitHub_11343/GitHub_11343.cs create mode 100644 tests/src/JIT/Regression/JitBlue/GitHub_11343/GitHub_11343.csproj create mode 100644 tests/src/JIT/Regression/JitBlue/GitHub_11408/GitHub_11408.cs create mode 100644 tests/src/JIT/Regression/JitBlue/GitHub_11408/GitHub_11408.csproj create mode 100644 tests/src/JIT/Regression/JitBlue/GitHub_11508/GitHub_11508.cs create mode 100644 tests/src/JIT/Regression/JitBlue/GitHub_11508/GitHub_11508.csproj create mode 100644 tests/src/JIT/Regression/JitBlue/GitHub_11574/GitHub_11574.cs create mode 100644 tests/src/JIT/Regression/JitBlue/GitHub_11574/GitHub_11574.csproj create mode 100644 tests/src/JIT/Regression/JitBlue/GitHub_11689/GitHub_11689.cs create mode 100644 tests/src/JIT/Regression/JitBlue/GitHub_11689/GitHub_11689.csproj create mode 100644 tests/src/JIT/Regression/JitBlue/GitHub_11733/GitHub_11733.cs create mode 100644 tests/src/JIT/Regression/JitBlue/GitHub_11733/GitHub_11733.csproj create mode 100644 tests/src/JIT/Regression/JitBlue/GitHub_11804/GitHub_11804.il create mode 100644 tests/src/JIT/Regression/JitBlue/GitHub_11804/GitHub_11804.ilproj create mode 100644 tests/src/JIT/config/benchmark+roslyn/benchmark+roslyn.csproj delete mode 100644 tests/src/JIT/config/benchmark+roslyn/project.json create mode 100644 tests/src/JIT/config/benchmark+serialize/benchmark+serialize.csproj delete mode 100644 tests/src/JIT/config/benchmark+serialize/project.json create mode 100644 tests/src/JIT/config/benchmark/benchmark.csproj delete mode 100644 tests/src/JIT/config/benchmark/project.json create mode 100644 tests/src/Regressions/coreclr/9414/readonlyPrefix.cs create mode 100644 tests/src/Regressions/coreclr/9414/readonlyPrefix.csproj create mode 100644 tests/src/TestWrappersConfig/TestWrappersConfig.csproj delete mode 100644 tests/src/TestWrappersConfig/project.json create mode 100644 tests/src/performance/linkbench/assets/MusicStore/Get-Crossgen.ps1 create mode 100644 tests/src/performance/performance.csproj delete mode 100644 tests/src/performance/project.json (limited to 'tests/src') diff --git a/tests/src/CLRTest.CrossGen.targets b/tests/src/CLRTest.CrossGen.targets index d91bdcc7ea..6bb5cdb103 100644 --- a/tests/src/CLRTest.CrossGen.targets +++ b/tests/src/CLRTest.CrossGen.targets @@ -40,11 +40,14 @@ WARNING: When setting properties based on their current state (for example: if [ ! -z ${RunCrossGen+x} ]%3B then export COMPlus_ZapRequire=$(ZapRequire) export COMPlus_ZapRequireList=$(MSBuildProjectName) - if [ ! -f $(MSBuildProjectName).ni.exe ]%3B then + if [ ! -f $(MSBuildProjectName).org ]%3B then TakeLock - if [ ! -f $(MSBuildProjectName).ni.exe ]%3B then - echo $_DebuggerFullPath "$CORE_ROOT/crossgen" /Platform_Assemblies_Paths $CORE_ROOT%3A$PWD $(MSBuildProjectName).exe - $_DebuggerFullPath "$CORE_ROOT/crossgen" /Platform_Assemblies_Paths $CORE_ROOT%3A$PWD $(MSBuildProjectName).exe + if [ ! -f $(MSBuildProjectName).org ]%3B then + mkdir IL + cp $(MSBuildProjectName).exe IL/$(MSBuildProjectName).exe + mv $(MSBuildProjectName).exe $(MSBuildProjectName).org + echo $_DebuggerFullPath "$CORE_ROOT/crossgen" /Platform_Assemblies_Paths $CORE_ROOT%3A$PWD/IL%3A$PWD /in $(MSBuildProjectName).org /out $(MSBuildProjectName).exe + $_DebuggerFullPath "$CORE_ROOT/crossgen" /Platform_Assemblies_Paths $CORE_ROOT%3A$PWD/IL%3A$PWD /in $(MSBuildProjectName).org /out $(MSBuildProjectName).exe __cgExitCode=$? if [ $__cgExitCode -ne 0 ] then @@ -73,12 +76,15 @@ REM CrossGen Script if defined RunCrossGen ( set COMPlus_ZapRequire=$(ZapRequire) set COMPlus_ZapRequireList=$(MSBuildProjectName) - if not exist "$(MSBuildProjectName).ni.exe" ( + if not exist "$(MSBuildProjectName).org" ( call :TakeLock set CrossGenStatus=0 - if not exist "$(MSBuildProjectName).ni.exe" ( - echo "%_DebuggerFullPath% %CORE_ROOT%\crossgen.exe" /Platform_Assemblies_Paths %CORE_ROOT%%3B%25cd%25 $(MSBuildProjectName).exe - %_DebuggerFullPath% "%CORE_ROOT%\crossgen.exe" /Platform_Assemblies_Paths %CORE_ROOT%%3B%25cd%25 $(MSBuildProjectName).exe + if not exist "$(MSBuildProjectName).org" ( + mkdir IL + copy $(MSBuildProjectName).exe IL\$(MSBuildProjectName).exe + ren $(MSBuildProjectName).exe $(MSBuildProjectName).org + echo "%_DebuggerFullPath% %CORE_ROOT%\crossgen.exe" /Platform_Assemblies_Paths %CORE_ROOT%%3B%25cd%25\IL%3B%25cd%25 /in $(MSBuildProjectName).org /out $(MSBuildProjectName).exe + %_DebuggerFullPath% "%CORE_ROOT%\crossgen.exe" /Platform_Assemblies_Paths %CORE_ROOT%%3B%25cd%25\IL%3B%25cd%25 /in $(MSBuildProjectName).org /out $(MSBuildProjectName).exe set CrossGenStatus=!ERRORLEVEL! ) call :ReleaseLock diff --git a/tests/src/CLRTest.Execute.Bash.targets b/tests/src/CLRTest.Execute.Bash.targets index f015cc710d..f95408f512 100644 --- a/tests/src/CLRTest.Execute.Bash.targets +++ b/tests/src/CLRTest.Execute.Bash.targets @@ -18,45 +18,6 @@ WARNING: When setting properties based on their current state (for example: --> - - - $([MSBuild]::MakeRelative($(OutputPath), $(_CLRTestToRunFileFullPath)).Replace("\","/")) - $(MSBuildProjectName).exe - $(MSBuildProjectName).dasm.il - $(MSBuildProjectName).asm.exe - - - - - - - @@ -122,9 +83,9 @@ fi ]]> @@ -275,10 +236,11 @@ fi <_CLRTestRunFile Condition="'$(CLRTestIsHosted)'=='true'">"$CORE_ROOT/corerun" - - - - $([MSBuild]::MakeRelative($(OutputPath), $(_CLRTestToRunFileFullPath))) - $(MSBuildProjectName).exe - $(MSBuildProjectName).dasm.il - $(MSBuildProjectName).asm.exe - - - - - - - - @@ -105,13 +72,15 @@ IF NOT DEFINED DoLink ( $(BatchCLRTestEnvironmentCompatibilityCheck) IF NOT "%COMPlus_GCStress%"=="" ( ECHO SKIPPING EXECUTION BECAUSE COMPlus_GCStress IS SET + popd Exit /b 0 ) ]]> @@ -119,6 +88,7 @@ IF "%COMPlus_JitStress%"=="" IF "%COMPlus_JitStressRegs%"=="" IF "%COMPlus_JITMi $(BatchCLRTestEnvironmentCompatibilityCheck) IF NOT "%COMPlus_HeapVerify%"=="" ( ECHO SKIPPING EXECUTION BECAUSE COMPlus_HeapVerify IS SET + popd Exit /b 0 ) ]]> @@ -141,10 +111,12 @@ ECHO Actual: %CLRTestExitCode% IF NOT "%CLRTestExitCode%"=="%CLRTestExpectedExitCode%" ( ECHO END EXECUTION - FAILED ECHO FAILED + popd Exit /b 1 ) ELSE ( ECHO END EXECUTION - PASSED ECHO PASSED + popd Exit /b 0 ) @@ -215,6 +187,7 @@ set Assemblies=-a System.Private.CoreLib IF defined DoLink ( IF NOT EXIST !ILLINK! ( ECHO ILLink executable [%ILLINK%] Invalid + popd Exit /b 1 ) @@ -241,6 +214,7 @@ IF defined DoLink ( IF NOT defined KeepLinkedBinaries ( IF EXIST %LinkBin% rmdir /s /q %LinkBin% ) + popd Exit /b 1 ) @@ -270,7 +244,7 @@ if defined DoLink ( ) ]]> - + <_CLRTestRunFile Condition="'$(CLRTestIsHosted)'=='true'">"%CORE_ROOT%\corerun.exe" - 'ECHO -%(Identity) %(ParamName) ECHO %(Description)', ' ') +popd Exit /b 1 :ArgsDone @@ -404,7 +367,6 @@ $(BatchCLRTestEnvironmentCompatibilityCheck) $(JitDisasmBatchScript) -REM IlasmRoundTrip Script $(IlasmRoundTripBatchScript) REM Precommands diff --git a/tests/src/CLRTest.Jit.targets b/tests/src/CLRTest.Jit.targets index 1a0b5e3fce..1dd872c4af 100644 --- a/tests/src/CLRTest.Jit.targets +++ b/tests/src/CLRTest.Jit.targets @@ -67,7 +67,99 @@ if defined RunningJitDisasm ( - + + + + $([MSBuild]::MakeRelative($(OutputPath), $(_CLRTestToRunFileFullPath)).Replace("\","/")) + $(MSBuildProjectName).exe + $(MSBuildProjectName).dasm.il + $(MSBuildProjectName).asm.exe + + + + + + + + + + $([MSBuild]::MakeRelative($(OutputPath), $(_CLRTestToRunFileFullPath))) + $(MSBuildProjectName).exe + $(MSBuildProjectName).dasm.il + $(MSBuildProjectName).asm.exe + + + + + + + + + + + + + exe + netcoreapp2.0 + + + + + + + \ No newline at end of file diff --git a/tests/src/Common/PerfHarness/project.json b/tests/src/Common/PerfHarness/project.json deleted file mode 100644 index a1ecb2867e..0000000000 --- a/tests/src/Common/PerfHarness/project.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "version": "1.0.0-*", - "buildOptions": { - "debugType": "portable", - "emitEntryPoint": true - }, - "dependencies": {}, - "frameworks": { - "netcoreapp1.1": { - "dependencies": { - "Microsoft.NETCore.App": { - "type": "platform", - "version": "1.1.0" - }, - "xunit.performance.api": "1.0.0-beta-build0003" - } - } - } -} diff --git a/tests/src/Common/build_against_pkg_dependencies/build_against_pkg_dependencies.csproj b/tests/src/Common/build_against_pkg_dependencies/build_against_pkg_dependencies.csproj index 63c54488f2..dc74f7d4ad 100644 --- a/tests/src/Common/build_against_pkg_dependencies/build_against_pkg_dependencies.csproj +++ b/tests/src/Common/build_against_pkg_dependencies/build_against_pkg_dependencies.csproj @@ -5,10 +5,33 @@ Debug AnyCPU BuildOnly + false - + + $(CoreClrPackageVersion) + + + $(CoreClrPackageVersion) + + + $(CoreClrPackageVersion) + + + $(CoreClrPackageVersion) + + + $(CoreClrPackageVersion) + + + netcoreapp2.0 + .NETCoreApp + $(PackageTargetFallback);portable-net45+win8 + win-x64;win-x86;win7-x86;win7-x64;win10-arm64;ubuntu.14.04-x64;ubuntu.16.04-x64;ubuntu.16.10-x64;osx.10.12-x64;osx-x64;centos.7-x64;rhel.7-x64;debian.8-x64;fedora.24-x64;opensuse.42.1-x64;linux-x64 + true + false + diff --git a/tests/src/Common/build_against_pkg_dependencies/project.json b/tests/src/Common/build_against_pkg_dependencies/project.json deleted file mode 100644 index 327340f11d..0000000000 --- a/tests/src/Common/build_against_pkg_dependencies/project.json +++ /dev/null @@ -1,35 +0,0 @@ -{ - "dependencies": { - "Microsoft.NETCore.ILAsm": "2.0.0-preview1-25221-01", - "Microsoft.NETCore.ILDAsm": "2.0.0-preview1-25221-01", - "Microsoft.NETCore.Jit": "2.0.0-preview1-25221-01", - "Microsoft.NETCore.Runtime.CoreCLR": "2.0.0-preview1-25221-01", - "Microsoft.NETCore.TestHost": "2.0.0-preview1-25221-01" - }, - "frameworks": { - "netcoreapp2.0": { - "imports": [ - "dnxcore50", - "portable-net45+win8" - ] - } - }, - "runtimes": { - "win-x64": {}, - "win-x86": {}, - "win7-x86": {}, - "win7-x64": {}, - "win10-arm64": {}, - "ubuntu.14.04-x64": {}, - "ubuntu.16.04-x64": {}, - "ubuntu.16.10-x64": {}, - "osx.10.12-x64": {}, - "osx-x64": {}, - "centos.7-x64": {}, - "rhel.7-x64": {}, - "debian.8-x64": {}, - "fedora.24-x64": {}, - "opensuse.42.1-x64": {}, - "linux-x64": {} - } -} diff --git a/tests/src/Common/empty/project.json b/tests/src/Common/empty/project.json deleted file mode 100644 index e1ec3bfd42..0000000000 --- a/tests/src/Common/empty/project.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "dependencies": { - }, - "frameworks": { - "netcoreapp1.1": {} - }, - "runtimes": { - "win7-x86": {}, - "win7-x64": {}, - "ubuntu.14.04-x64": {}, - "ubuntu.16.04-x64": {}, - "ubuntu.16.10-x64": {}, - "osx.10.12-x64": {}, - "centos.7-x64": {}, - "rhel.7-x64": {}, - "debian.8-x64": {}, - "fedora.24-x64": {} - } -} diff --git a/tests/src/Common/external/external.csproj b/tests/src/Common/external/external.csproj deleted file mode 100644 index f7fa75ed32..0000000000 --- a/tests/src/Common/external/external.csproj +++ /dev/null @@ -1,13 +0,0 @@ - - - - - Debug - AnyCPU - BuildOnly - .NETCoreApp,Version=v1.1 - - - - \ No newline at end of file diff --git a/tests/src/Common/external/external.depproj b/tests/src/Common/external/external.depproj index 5a16122cdb..51b36208b6 100644 --- a/tests/src/Common/external/external.depproj +++ b/tests/src/Common/external/external.depproj @@ -5,19 +5,55 @@ - $(MSBuildThisFileDirectory)project.json - $(MSBuildThisFileDirectory)project.lock.json + $(MSBuildThisFileDirectory)obj C# .NETCoreApp,Version=v1.1 + netcoreapp1.1 win7-x64 + true $(TargetingPackPath) xunit.console.netcore xunit.runner.console SharedLibrary + false - + + 1.1.1 + + + $(XUnitPerformanceApiVersion) + + + $(XUnitPerformanceApiVersion) + + + $(XUnitPerformanceApiVersion) + + + $(XUnitPerformanceApiVersion) + + + $(MicrosoftDiagnosticsTracingLibraryVersion) + + + 9.0.1 + + + $(XunitPackageVersion) + + + $(XUnitConsoleNetCoreVersion) + + + $(XunitPackageVersion) + + + netcoreapp1.1 + $(PackageTargetFallback);dnxcore50;portable-net45+win8 + win7-x86;win7-x64 + @@ -40,6 +76,10 @@ + + $(SourceDir)Common\external\obj\project.assets.json + + Debug AnyCPU BuildOnly + false + + + + $(CoreClrPackageVersion) + + + + netcoreapp1.1 + .NETCoreApp + $(PackageTargetFallback);dnxcore50;portable-net45+win8 + win7-x86;win7-x64;ubuntu.14.04-x64;ubuntu.16.04-x64;ubuntu.16.10-x64;osx.10.12-x64;centos.7-x64;rhel.7-x64;debian.8-x64;fedora.24-x64 + true + false AnyCPU BuildOnly .NETCoreApp,Version=v2.0 + netcoreapp2.0 + false + + + + 1.0.1-prerelease-* + + + 4.4.0-$(CoreFxExpectedPrerelease) + + + 4.4.0-$(CoreFxExpectedPrerelease) + + + 4.4.0-$(CoreFxExpectedPrerelease) + + + 4.4.0-$(CoreFxExpectedPrerelease) + + + + netcoreapp2.0 + .NETCoreApp + $(PackageTargetFallback);dnxcore50;netcoreapp1.1;portable-net45+win8 + win-x64;win-x86;win7-x86;win7-x64;ubuntu.14.04-x64;ubuntu.16.04-x64;ubuntu.16.10-x64;osx.10.12-x64;osx-x64;centos.7-x64;rhel.7-x64;debian.8-x64;fedora.24-x64;linux-x64 + true + false - + DependsOnTargets="ResolveReferences" /> + \ No newline at end of file diff --git a/tests/src/Common/test_runtime/project.json b/tests/src/Common/test_runtime/project.json deleted file mode 100644 index 575d75d089..0000000000 --- a/tests/src/Common/test_runtime/project.json +++ /dev/null @@ -1,33 +0,0 @@ -{ - "dependencies": { - "Microsoft.NETCore.Platforms": "2.0.0-preview1-25221-01", - "Microsoft.DotNet.CoreCLR.TestDependencies": "1.0.0-prerelease", - "jit-dasm": "0.0.1.4", - "cijobs": "0.0.1.2", - "jit-analyze": "0.0.1.1" - }, - "frameworks": { - "netcoreapp2.0": { - "imports": [ - "dnxcore50", - "portable-net45+win8" - ] - } - }, - "runtimes": { - "win-x64": {}, - "win-x86": {}, - "win7-x86": {}, - "win7-x64": {}, - "ubuntu.14.04-x64": {}, - "ubuntu.16.04-x64": {}, - "ubuntu.16.10-x64": {}, - "osx.10.12-x64": {}, - "osx-x64": {}, - "centos.7-x64": {}, - "rhel.7-x64": {}, - "debian.8-x64": {}, - "fedora.24-x64": {}, - "linux-x64": {} - } -} diff --git a/tests/src/Common/test_runtime/test_runtime.csproj b/tests/src/Common/test_runtime/test_runtime.csproj index 3b55297f3d..0212b05274 100644 --- a/tests/src/Common/test_runtime/test_runtime.csproj +++ b/tests/src/Common/test_runtime/test_runtime.csproj @@ -5,14 +5,35 @@ Debug AnyCPU BuildOnly - - - .NETCoreApp,Version=v2.0 + netcoreapp2.0 + false - + + 2.0.0-$(CoreFxExpectedPrerelease) + + + 1.0.0-prerelease + + + 0.0.1.4 + + + 0.0.1.2 + + + 0.0.1.1 + + + netcoreapp2.0 + .NETCoreApp + $(PackageTargetFallback);dnxcore50;portable-net45+win8 + win-x64;win-x86;win7-x86;win7-x64;ubuntu.14.04-x64;ubuntu.16.04-x64;ubuntu.16.10-x64;osx.10.12-x64;osx-x64;centos.7-x64;rhel.7-x64;debian.8-x64;fedora.24-x64;linux-x64 + true + false + diff --git a/tests/src/GC/API/GCHandleCollector/Usage.cs b/tests/src/GC/API/GCHandleCollector/Usage.cs index b78271b243..f346966a6b 100644 --- a/tests/src/GC/API/GCHandleCollector/Usage.cs +++ b/tests/src/GC/API/GCHandleCollector/Usage.cs @@ -146,9 +146,16 @@ public class Usage // ensure threshold is increasing if (!CheckPercentageIncrease(handleCount, prevHandleCount)) { - // see github#4093 for the rationale for fail-fast in this test. - Environment.FailFast(string.Empty); - return false; + Console.WriteLine("Percentage not increasing, performing Collect/WFPF/Collect cycle"); + GC.Collect(); + GC.WaitForPendingFinalizers(); + GC.Collect(); + + if (handleCount == HandleCollectorTest.Count) + { + Console.WriteLine("No handles finalized in Collect/WFPF/Collect cycle"); + return false; + } } prevHandleCount = handleCount; } diff --git a/tests/src/GC/Features/HeapExpansion/pluggaps.csproj b/tests/src/GC/Features/HeapExpansion/pluggaps.csproj index 8a1f7a47e2..0250cab230 100644 --- a/tests/src/GC/Features/HeapExpansion/pluggaps.csproj +++ b/tests/src/GC/Features/HeapExpansion/pluggaps.csproj @@ -10,7 +10,7 @@ {786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} ..\..\ true - true + true diff --git a/tests/src/GC/Scenarios/DoublinkList/dlcollect.cs b/tests/src/GC/Scenarios/DoublinkList/dlcollect.cs index a17e95a270..f7aa10dccb 100644 --- a/tests/src/GC/Scenarios/DoublinkList/dlcollect.cs +++ b/tests/src/GC/Scenarios/DoublinkList/dlcollect.cs @@ -11,6 +11,7 @@ namespace DoubLink { using System; using System.Collections.Generic; + using System.Runtime.CompilerServices; public class DLCollect { @@ -63,11 +64,38 @@ namespace DoubLink { } + [MethodImpl(MethodImplOptions.NoInlining)] + public bool DrainFinalizerQueue(int iRep, int iObj) + { + int lastValue = DLinkNode.FinalCount; + while (true) + { + GC.Collect(); + GC.WaitForPendingFinalizers(); + GC.Collect(); + + if (DLinkNode.FinalCount == iRep * iObj * 10) + { + return true; + } + + if (DLinkNode.FinalCount != lastValue) + { + Console.WriteLine(" Performing Collect/Wait/Collect cycle again"); + lastValue = DLinkNode.FinalCount; + continue; + } + + Console.WriteLine(" Finalized number stable at " + lastValue); + return false; + } + } public bool runTest(int iRep, int iObj) { Mv_Collect = new List(iRep); + bool success = false; for(int i=0; i <10; i++) { SetLink(iRep, iObj); @@ -75,16 +103,13 @@ namespace DoubLink { GC.Collect(); } - GC.WaitForPendingFinalizers(); - - if (DLinkNode.FinalCount != iRep * iObj * 10) + if (DrainFinalizerQueue(iRep, iObj)) { - // see github#4093 for the rationale for fail-fast in this test. - Environment.FailFast(string.Empty); + success = true; } Console.WriteLine("{0} DLinkNodes finalized", DLinkNode.FinalCount); - return (DLinkNode.FinalCount==iRep*iObj*10); + return success; } diff --git a/tests/src/GC/Scenarios/DoublinkList/dlstack.cs b/tests/src/GC/Scenarios/DoublinkList/dlstack.cs index 5e207bec52..8fa63bf8fd 100644 --- a/tests/src/GC/Scenarios/DoublinkList/dlstack.cs +++ b/tests/src/GC/Scenarios/DoublinkList/dlstack.cs @@ -13,6 +13,7 @@ namespace DoubLink { using System; + using System.Runtime.CompilerServices; public class DLStack { @@ -63,36 +64,50 @@ namespace DoubLink { } + [MethodImpl(MethodImplOptions.NoInlining)] + public bool DrainFinalizerQueue(int iRep, int iObj) + { + int lastValue = DLinkNode.FinalCount; + while (true) + { + GC.Collect(); + GC.WaitForPendingFinalizers(); + GC.Collect(); + + if (DLinkNode.FinalCount == iRep * iObj * 10) + { + return true; + } + + if (DLinkNode.FinalCount != lastValue) + { + Console.WriteLine(" Performing Collect/Wait/Collect cycle again"); + lastValue = DLinkNode.FinalCount; + continue; + } + + Console.WriteLine(" Finalized number stable at " + lastValue); + return false; + } + } + public bool runTest(int iRep, int iObj) { - + bool success = false; for(int i=0; i <10; i++) { SetLink(iRep, iObj); MakeLeak(iRep); } - long lastTotalMemory = long.MaxValue; - long curTotalMemory = GC.GetTotalMemory(false); - - while (lastTotalMemory != curTotalMemory) - { - GC.Collect(); - GC.WaitForPendingFinalizers(); - - lastTotalMemory = curTotalMemory; - curTotalMemory = GC.GetTotalMemory(false); - } - - if (DLinkNode.FinalCount != iRep * iObj * 10) + if (DrainFinalizerQueue(iRep, iObj)) { - // see github#4093 for the rationale for fail-fast in this test. - Environment.FailFast(string.Empty); + success = true; } Console.WriteLine("{0} DLinkNodes finalized", DLinkNode.FinalCount); - return (DLinkNode.FinalCount==iRep*iObj*10); + return success; } diff --git a/tests/src/GC/Scenarios/DoublinkList/doublinkgen.cs b/tests/src/GC/Scenarios/DoublinkList/doublinkgen.cs index 76436ea7fe..0f1016c3d0 100644 --- a/tests/src/GC/Scenarios/DoublinkList/doublinkgen.cs +++ b/tests/src/GC/Scenarios/DoublinkList/doublinkgen.cs @@ -11,6 +11,7 @@ namespace DoubLink { using System; + using System.Runtime.CompilerServices; public class DoubLinkGen { @@ -61,25 +62,47 @@ namespace DoubLink { return 1; } + [MethodImpl(MethodImplOptions.NoInlining)] + public bool DrainFinalizerQueue(int iRep, int iObj) + { + int lastValue = DLinkNode.FinalCount; + while (true) + { + GC.Collect(); + GC.WaitForPendingFinalizers(); + GC.Collect(); + + if (DLinkNode.FinalCount == iRep * iObj) + { + return true; + } + + if (DLinkNode.FinalCount != lastValue) + { + Console.WriteLine(" Performing Collect/Wait/Collect cycle again"); + lastValue = DLinkNode.FinalCount; + continue; + } + + Console.WriteLine(" Finalized number stable at " + lastValue); + return false; + } + } public bool runTest(int iRep, int iObj) { SetLink(iRep, iObj); Mv_Doub = null; + bool success = false; - GC.Collect(); - GC.WaitForPendingFinalizers(); - GC.Collect(); - - if (DLinkNode.FinalCount != iRep * iObj) + if (DrainFinalizerQueue(iRep, iObj)) { - // see github#4093 for the rationale for fail-fast in this test. - Environment.FailFast(string.Empty); + success = true; } Console.Write(DLinkNode.FinalCount); Console.WriteLine(" DLinkNodes finalized"); - return (DLinkNode.FinalCount==iRep*iObj); + return success; } diff --git a/tests/src/GC/Stress/Framework/ReliabilityFramework.csproj b/tests/src/GC/Stress/Framework/ReliabilityFramework.csproj index 7b42bd1b34..91921abba7 100644 --- a/tests/src/GC/Stress/Framework/ReliabilityFramework.csproj +++ b/tests/src/GC/Stress/Framework/ReliabilityFramework.csproj @@ -10,9 +10,9 @@ Exe {786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} ..\..\ - BuildAndRun + BuildOnly + false 1 - testmix_gc.config /maximumExecutionTime:-1 $(DefineConstants);STATIC;PROJECTK_BUILD diff --git a/tests/src/Interop/MarshalAPI/ReadWrite/ReadWriteObject.cs b/tests/src/Interop/MarshalAPI/ReadWrite/ReadWriteObject.cs new file mode 100644 index 0000000000..a11c10b01b --- /dev/null +++ b/tests/src/Interop/MarshalAPI/ReadWrite/ReadWriteObject.cs @@ -0,0 +1,116 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Runtime.InteropServices; +using System.Text; +using System.Threading.Tasks; + +using CoreFXTestLibrary; + +internal struct BlittableStruct +{ + internal int a; + internal int b; + internal byte c; + internal short d; + internal IntPtr p; +} + +internal struct StructWithReferenceTypes +{ + internal IntPtr ptr; + internal string str; + [MarshalAs(UnmanagedType.ByValArray, SizeConst = 10)] + internal int[] byValArr; +} + +class Test +{ + static int Main(string[] args) + { + TestNegativeCases(); + TestBlittableStruct(); + TestStructWithReferenceType(); + + return 100; + } + + static void TestNegativeCases() + { + Assert.Throws(() => { Marshal.WriteByte(null, 0, 0); }); + Assert.Throws(() => { Marshal.WriteInt16(null, 0, 0); }); + Assert.Throws(() => { Marshal.WriteInt32(null, 0, 0); }); + Assert.Throws(() => { Marshal.WriteInt64(null, 0, 0); }); + Assert.Throws(() => { Marshal.WriteIntPtr(null, 0, IntPtr.Zero); }); + Assert.Throws(() => { Marshal.ReadByte(null, 0); }); + Assert.Throws(() => { Marshal.ReadInt16(null, 0); }); + Assert.Throws(() => { Marshal.ReadInt32(null, 0); }); + Assert.Throws(() => { Marshal.ReadIntPtr(null, 0); }); + } + + static void TestBlittableStruct() + { + Console.WriteLine("TestBlittableStruct"); + + BlittableStruct blittableStruct = new BlittableStruct(); + blittableStruct.a = 200; + blittableStruct.b = 300; + blittableStruct.c = 10; + blittableStruct.d = 123; + blittableStruct.p = new IntPtr(100); + + object boxedBlittableStruct = (object)blittableStruct; + + int offsetOfB = Marshal.OffsetOf("b").ToInt32(); + int offsetOfC = Marshal.OffsetOf("c").ToInt32(); + int offsetOfD = Marshal.OffsetOf("d").ToInt32(); + int offsetOfP = Marshal.OffsetOf("p").ToInt32(); + + Assert.AreEqual(Marshal.ReadInt32(boxedBlittableStruct, 0), 200); + Assert.AreEqual(Marshal.ReadInt32(boxedBlittableStruct, offsetOfB), 300); + Assert.AreEqual(Marshal.ReadByte(boxedBlittableStruct, offsetOfC), 10); + Assert.AreEqual(Marshal.ReadInt16(boxedBlittableStruct, offsetOfD), 123); + Assert.AreEqual(Marshal.ReadIntPtr(boxedBlittableStruct, offsetOfP), new IntPtr(100)); + + Marshal.WriteInt32(boxedBlittableStruct, 0, 300); + Marshal.WriteInt32(boxedBlittableStruct, offsetOfB, 400); + Marshal.WriteByte(boxedBlittableStruct, offsetOfC, 20); + Marshal.WriteInt16(boxedBlittableStruct, offsetOfD, 144); + + Marshal.WriteIntPtr(boxedBlittableStruct, offsetOfP, new IntPtr(500)); + + Assert.AreEqual(((BlittableStruct)boxedBlittableStruct).a, 300); + Assert.AreEqual(((BlittableStruct)boxedBlittableStruct).b, 400); + Assert.AreEqual(((BlittableStruct)boxedBlittableStruct).c, 20); + Assert.AreEqual(((BlittableStruct)boxedBlittableStruct).d, 144); + Assert.AreEqual(((BlittableStruct)boxedBlittableStruct).p, new IntPtr(500)); + } + + static void TestStructWithReferenceType() + { + Console.WriteLine("TestStructWithReferenceType"); + + StructWithReferenceTypes structWithReferenceTypes = new StructWithReferenceTypes(); + structWithReferenceTypes.ptr = new IntPtr(100); + structWithReferenceTypes.str = "ABC"; + structWithReferenceTypes.byValArr = new int[10] { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 }; + + object boxedStruct = (object)structWithReferenceTypes; + + int offsetOfStr = Marshal.OffsetOf("str").ToInt32(); + int offsetOfByValArr = Marshal.OffsetOf("byValArr").ToInt32(); + + Assert.AreEqual(Marshal.ReadInt32(boxedStruct, 0), 100); + Assert.AreNotEqual(Marshal.ReadIntPtr(boxedStruct, offsetOfStr), IntPtr.Zero); + Assert.AreEqual(Marshal.ReadInt32(boxedStruct, offsetOfByValArr + sizeof(int) * 2), 3); + + Marshal.WriteInt32(boxedStruct, 0, 200); + Marshal.WriteInt32(boxedStruct, offsetOfByValArr + sizeof(int) * 9, 100); + + Assert.AreEqual(((StructWithReferenceTypes)boxedStruct).ptr, new IntPtr(200)); + Assert.AreEqual(((StructWithReferenceTypes)boxedStruct).byValArr[9], 100); + Assert.AreEqual(((StructWithReferenceTypes)boxedStruct).byValArr[8], 9); + Assert.AreEqual(((StructWithReferenceTypes)boxedStruct).str, "ABC"); + } +} + diff --git a/tests/src/Interop/MarshalAPI/ReadWrite/ReadWriteObject.csproj b/tests/src/Interop/MarshalAPI/ReadWrite/ReadWriteObject.csproj new file mode 100644 index 0000000000..14fcd2c97d --- /dev/null +++ b/tests/src/Interop/MarshalAPI/ReadWrite/ReadWriteObject.csproj @@ -0,0 +1,40 @@ + + + + + Debug + AnyCPU + ReadWriteObject + 2.0 + {F1E66554-8C8E-4141-85CF-D0CD6A0CD0B0} + Exe + {786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} + ..\..\ + + $(DefineConstants);STATIC + + + + + + + + + False + + + + + + + + + + + + {c8c0dc74-fac4-45b1-81fe-70c4808366e0} + CoreCLRTestLibrary + + + + diff --git a/tests/src/Interop/MarshalAPI/String/StringMarshalingTest.cs b/tests/src/Interop/MarshalAPI/String/StringMarshalingTest.cs index 714dac83e4..29ee83a8c0 100644 --- a/tests/src/Interop/MarshalAPI/String/StringMarshalingTest.cs +++ b/tests/src/Interop/MarshalAPI/String/StringMarshalingTest.cs @@ -52,6 +52,39 @@ public class StringMarshalingTest } } + private unsafe void SecureStringToBSTRToString() + { + foreach (String ts in TestStrings) + { + SecureString secureString = new SecureString(); + foreach (char character in ts) + { + secureString.AppendChar(character); + } + + IntPtr BStr = IntPtr.Zero; + String str; + + try + { + BStr = Marshal.SecureStringToBSTR(secureString); + str = Marshal.PtrToStringBSTR(BStr); + } + finally + { + if (BStr != IntPtr.Zero) + { + Marshal.ZeroFreeBSTR(BStr); + } + } + + if (!str.Equals(ts)) + { + throw new Exception(); + } + } + } + private void StringToCoTaskMemAnsiToString() { foreach (String ts in TestStrings) @@ -201,6 +234,7 @@ public class StringMarshalingTest public bool RunTests() { StringToBStrToString(); + SecureStringToBSTRToString(); StringToCoTaskMemAnsiToString(); StringToCoTaskMemUniToString(); StringToHGlobalAnsiToString(); diff --git a/tests/src/Interop/StringMarshalling/LPSTR/LPSTRTest.cs b/tests/src/Interop/StringMarshalling/LPSTR/LPSTRTest.cs index 12cff70438..74a2087eca 100644 --- a/tests/src/Interop/StringMarshalling/LPSTR/LPSTRTest.cs +++ b/tests/src/Interop/StringMarshalling/LPSTR/LPSTRTest.cs @@ -31,6 +31,25 @@ class Test } #endregion + #region "Helper" + // ************************************************************ + // Returns the appropriate exit code + // ************************************************************* + static int ExitTest() + { + if (fails == 0) + { + Console.WriteLine("PASS"); + return 100; + } + else + { + Console.WriteLine("FAIL - " + fails + " failure(s) occurred"); + return 101; + } + } + #endregion + #region ReversePInvoke public static string Call_DelMarshal_InOut(string s) @@ -219,6 +238,6 @@ class Test ReportFailure("Method ReverseP_MarshalStrB_InOut[Managed Side],return value is false"); } #endregion - return 100; + return ExitTest(); } } diff --git a/tests/src/Interop/StringMarshalling/LPSTR/LPSTRTestNative.cpp b/tests/src/Interop/StringMarshalling/LPSTR/LPSTRTestNative.cpp index b440c52ef5..485d949abb 100644 --- a/tests/src/Interop/StringMarshalling/LPSTR/LPSTRTestNative.cpp +++ b/tests/src/Interop/StringMarshalling/LPSTR/LPSTRTestNative.cpp @@ -123,16 +123,16 @@ extern "C" DLL_EXPORT int __cdecl Writeline(char * pFormat, int i, char c, doubl } -typedef LPCTSTR (__stdcall * Test_DelMarshal_InOut)(/*[in]*/ LPCSTR s); +typedef LPCWSTR (__stdcall * Test_DelMarshal_InOut)(/*[in]*/ LPCSTR s); extern "C" DLL_EXPORT BOOL __cdecl RPinvoke_DelMarshal_InOut(Test_DelMarshal_InOut d, /*[in]*/ LPCSTR s) { - LPCTSTR str = d(s); - const char *ret = "Return"; + LPCWSTR str = d(s); + LPCWSTR ret = W("Return"); - size_t lenstr = _tcslen(str); - size_t lenret = _tcslen(ret); + size_t lenstr = wcslen(str); + size_t lenret = wcslen(ret); - if((lenret != lenstr)||(_tcsncmp(str,ret,lenstr)!=0)) + if((lenret != lenstr)||(wcsncmp(str,ret,lenstr)!=0)) { printf("Error in RPinvoke_DelMarshal_InOut, Returned value didn't match\n"); return FALSE; diff --git a/tests/src/JIT/CheckProjects/CheckProjects.cs b/tests/src/JIT/CheckProjects/CheckProjects.cs index be42ab9cfe..28cc10d174 100644 --- a/tests/src/JIT/CheckProjects/CheckProjects.cs +++ b/tests/src/JIT/CheckProjects/CheckProjects.cs @@ -86,7 +86,11 @@ internal class ScanProjectFiles foreach (FileInfo f in projectRootDir.GetFiles("*.*proj", SearchOption.AllDirectories)) { - ParseAndUpdateProj(f.FullName, s_tryAndFix); + if (!f.FullName.Contains("JIT\\config") && !f.FullName.Contains("JIT/config")) + { + ParseAndUpdateProj(f.FullName, s_tryAndFix); + } + } Console.WriteLine("{0} projects, {1} needed fixes, {2} fixes deferred, {3} were fixed", diff --git a/tests/src/JIT/CheckProjects/CheckProjects.csproj b/tests/src/JIT/CheckProjects/CheckProjects.csproj index 3bc83992bb..02d073a3fb 100644 --- a/tests/src/JIT/CheckProjects/CheckProjects.csproj +++ b/tests/src/JIT/CheckProjects/CheckProjects.csproj @@ -9,6 +9,7 @@ Exe {786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} ..\..\ + true @@ -28,10 +29,9 @@ - - $(JitPackagesConfigFileDirectory)benchmark\project.json - $(JitPackagesConfigFileDirectory)benchmark\project.lock.json - - \ No newline at end of file + + $(JitPackagesConfigFileDirectory)benchmark\obj\project.assets.json + + diff --git a/tests/src/JIT/Directed/TypedReference/TypedReference.csproj b/tests/src/JIT/Directed/TypedReference/TypedReference.csproj index 36cd9b760b..13a728059d 100644 --- a/tests/src/JIT/Directed/TypedReference/TypedReference.csproj +++ b/tests/src/JIT/Directed/TypedReference/TypedReference.csproj @@ -27,9 +27,10 @@ - - - + + netcoreapp1.1 + win7-x86;win7-x64;ubuntu.14.04-x64;ubuntu.16.04-x64;ubuntu.16.10-x64;osx.10.12-x64;centos.7-x64;rhel.7-x64;debian.8-x64;fedora.24-x64 + diff --git a/tests/src/JIT/Directed/UnrollLoop/loop6_cs_d.csproj b/tests/src/JIT/Directed/UnrollLoop/loop6_cs_d.csproj index 953edac964..dcef420e0a 100644 --- a/tests/src/JIT/Directed/UnrollLoop/loop6_cs_d.csproj +++ b/tests/src/JIT/Directed/UnrollLoop/loop6_cs_d.csproj @@ -28,9 +28,10 @@ - - - + + netcoreapp1.1 + win7-x86;win7-x64;ubuntu.14.04-x64;ubuntu.16.04-x64;ubuntu.16.10-x64;osx.10.12-x64;centos.7-x64;rhel.7-x64;debian.8-x64;fedora.24-x64 + diff --git a/tests/src/JIT/Directed/UnrollLoop/loop6_cs_do.csproj b/tests/src/JIT/Directed/UnrollLoop/loop6_cs_do.csproj index 829c62c4c4..84ef3caf97 100644 --- a/tests/src/JIT/Directed/UnrollLoop/loop6_cs_do.csproj +++ b/tests/src/JIT/Directed/UnrollLoop/loop6_cs_do.csproj @@ -28,9 +28,10 @@ - - - + + netcoreapp1.1 + win7-x86;win7-x64;ubuntu.14.04-x64;ubuntu.16.04-x64;ubuntu.16.10-x64;osx.10.12-x64;centos.7-x64;rhel.7-x64;debian.8-x64;fedora.24-x64 + diff --git a/tests/src/JIT/Directed/UnrollLoop/loop6_cs_r.csproj b/tests/src/JIT/Directed/UnrollLoop/loop6_cs_r.csproj index 3c5f1cc245..22e4d5e32d 100644 --- a/tests/src/JIT/Directed/UnrollLoop/loop6_cs_r.csproj +++ b/tests/src/JIT/Directed/UnrollLoop/loop6_cs_r.csproj @@ -28,9 +28,10 @@ - - - + + netcoreapp1.1 + win7-x86;win7-x64;ubuntu.14.04-x64;ubuntu.16.04-x64;ubuntu.16.10-x64;osx.10.12-x64;centos.7-x64;rhel.7-x64;debian.8-x64;fedora.24-x64 + diff --git a/tests/src/JIT/Directed/UnrollLoop/loop6_cs_ro.csproj b/tests/src/JIT/Directed/UnrollLoop/loop6_cs_ro.csproj index a41f31a39d..1b0800a1af 100644 --- a/tests/src/JIT/Directed/UnrollLoop/loop6_cs_ro.csproj +++ b/tests/src/JIT/Directed/UnrollLoop/loop6_cs_ro.csproj @@ -28,9 +28,10 @@ - - - + + netcoreapp1.1 + win7-x86;win7-x64;ubuntu.14.04-x64;ubuntu.16.04-x64;ubuntu.16.10-x64;osx.10.12-x64;centos.7-x64;rhel.7-x64;debian.8-x64;fedora.24-x64 + diff --git a/tests/src/JIT/Generics/Coverage/chaos65204782cs.csproj b/tests/src/JIT/Generics/Coverage/chaos65204782cs.csproj index 9cd1843162..2271820bbd 100644 --- a/tests/src/JIT/Generics/Coverage/chaos65204782cs.csproj +++ b/tests/src/JIT/Generics/Coverage/chaos65204782cs.csproj @@ -33,4 +33,4 @@ - \ No newline at end of file + diff --git a/tests/src/JIT/Generics/Coverage/chaos65204782cs_o.csproj b/tests/src/JIT/Generics/Coverage/chaos65204782cs_o.csproj index c5f459d9aa..6311f4eb47 100644 --- a/tests/src/JIT/Generics/Coverage/chaos65204782cs_o.csproj +++ b/tests/src/JIT/Generics/Coverage/chaos65204782cs_o.csproj @@ -10,6 +10,7 @@ Exe {786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} ..\..\ + true @@ -34,4 +35,4 @@ - \ No newline at end of file + diff --git a/tests/src/JIT/Methodical/Boxing/morph/sin3double.ilproj b/tests/src/JIT/Methodical/Boxing/morph/sin3double.ilproj index d8ec34de75..0ae44d99ef 100644 --- a/tests/src/JIT/Methodical/Boxing/morph/sin3double.ilproj +++ b/tests/src/JIT/Methodical/Boxing/morph/sin3double.ilproj @@ -32,11 +32,9 @@ - - $(JitPackagesConfigFileDirectory)benchmark\project.json - $(JitPackagesConfigFileDirectory)benchmark\project.lock.json - - + + + $(JitPackagesConfigFileDirectory)benchmark\obj\project.assets.json \ No newline at end of file diff --git a/tests/src/JIT/Methodical/VT/etc/_dbggc_nested.csproj b/tests/src/JIT/Methodical/VT/etc/_dbggc_nested.csproj index afe15bbe2d..2edd488ce0 100644 --- a/tests/src/JIT/Methodical/VT/etc/_dbggc_nested.csproj +++ b/tests/src/JIT/Methodical/VT/etc/_dbggc_nested.csproj @@ -28,9 +28,10 @@ - - - + + netcoreapp1.1 + win7-x86;win7-x64;ubuntu.14.04-x64;ubuntu.16.04-x64;ubuntu.16.10-x64;osx.10.12-x64;centos.7-x64;rhel.7-x64;debian.8-x64;fedora.24-x64 + diff --git a/tests/src/JIT/Methodical/VT/etc/_dbgnested.csproj b/tests/src/JIT/Methodical/VT/etc/_dbgnested.csproj index 33039679f7..3579d2647e 100644 --- a/tests/src/JIT/Methodical/VT/etc/_dbgnested.csproj +++ b/tests/src/JIT/Methodical/VT/etc/_dbgnested.csproj @@ -28,9 +28,10 @@ - - - + + netcoreapp1.1 + win7-x86;win7-x64;ubuntu.14.04-x64;ubuntu.16.04-x64;ubuntu.16.10-x64;osx.10.12-x64;centos.7-x64;rhel.7-x64;debian.8-x64;fedora.24-x64 + diff --git a/tests/src/JIT/Methodical/VT/etc/_relgc_nested.csproj b/tests/src/JIT/Methodical/VT/etc/_relgc_nested.csproj index 7ec8612274..2638322546 100644 --- a/tests/src/JIT/Methodical/VT/etc/_relgc_nested.csproj +++ b/tests/src/JIT/Methodical/VT/etc/_relgc_nested.csproj @@ -28,9 +28,10 @@ - - - + + netcoreapp1.1 + win7-x86;win7-x64;ubuntu.14.04-x64;ubuntu.16.04-x64;ubuntu.16.10-x64;osx.10.12-x64;centos.7-x64;rhel.7-x64;debian.8-x64;fedora.24-x64 + diff --git a/tests/src/JIT/Methodical/VT/etc/_relnested.csproj b/tests/src/JIT/Methodical/VT/etc/_relnested.csproj index b0b398de80..0298dde5d2 100644 --- a/tests/src/JIT/Methodical/VT/etc/_relnested.csproj +++ b/tests/src/JIT/Methodical/VT/etc/_relnested.csproj @@ -28,9 +28,10 @@ - - - + + netcoreapp1.1 + win7-x86;win7-x64;ubuntu.14.04-x64;ubuntu.16.04-x64;ubuntu.16.10-x64;osx.10.12-x64;centos.7-x64;rhel.7-x64;debian.8-x64;fedora.24-x64 + diff --git a/tests/src/JIT/Methodical/VT/etc/_speed_dbggc_nested.csproj b/tests/src/JIT/Methodical/VT/etc/_speed_dbggc_nested.csproj index 2b1acc4a5c..d3849b1a14 100644 --- a/tests/src/JIT/Methodical/VT/etc/_speed_dbggc_nested.csproj +++ b/tests/src/JIT/Methodical/VT/etc/_speed_dbggc_nested.csproj @@ -28,9 +28,10 @@ - - - + + netcoreapp1.1 + win7-x86;win7-x64;ubuntu.14.04-x64;ubuntu.16.04-x64;ubuntu.16.10-x64;osx.10.12-x64;centos.7-x64;rhel.7-x64;debian.8-x64;fedora.24-x64 + diff --git a/tests/src/JIT/Methodical/VT/etc/_speed_dbgnested.csproj b/tests/src/JIT/Methodical/VT/etc/_speed_dbgnested.csproj index 97be5fecbd..4a165d377d 100644 --- a/tests/src/JIT/Methodical/VT/etc/_speed_dbgnested.csproj +++ b/tests/src/JIT/Methodical/VT/etc/_speed_dbgnested.csproj @@ -28,9 +28,10 @@ - - - + + netcoreapp1.1 + win7-x86;win7-x64;ubuntu.14.04-x64;ubuntu.16.04-x64;ubuntu.16.10-x64;osx.10.12-x64;centos.7-x64;rhel.7-x64;debian.8-x64;fedora.24-x64 + diff --git a/tests/src/JIT/Methodical/VT/etc/_speed_relgc_nested.csproj b/tests/src/JIT/Methodical/VT/etc/_speed_relgc_nested.csproj index 592c20a7b8..694363a0ce 100644 --- a/tests/src/JIT/Methodical/VT/etc/_speed_relgc_nested.csproj +++ b/tests/src/JIT/Methodical/VT/etc/_speed_relgc_nested.csproj @@ -28,9 +28,10 @@ - - - + + netcoreapp1.1 + win7-x86;win7-x64;ubuntu.14.04-x64;ubuntu.16.04-x64;ubuntu.16.10-x64;osx.10.12-x64;centos.7-x64;rhel.7-x64;debian.8-x64;fedora.24-x64 + diff --git a/tests/src/JIT/Methodical/VT/etc/_speed_relnested.csproj b/tests/src/JIT/Methodical/VT/etc/_speed_relnested.csproj index 817c22f9c3..ca5a53abba 100644 --- a/tests/src/JIT/Methodical/VT/etc/_speed_relnested.csproj +++ b/tests/src/JIT/Methodical/VT/etc/_speed_relnested.csproj @@ -28,9 +28,10 @@ - - - + + netcoreapp1.1 + win7-x86;win7-x64;ubuntu.14.04-x64;ubuntu.16.04-x64;ubuntu.16.10-x64;osx.10.12-x64;centos.7-x64;rhel.7-x64;debian.8-x64;fedora.24-x64 + diff --git a/tests/src/JIT/Methodical/VT/etc/gc_nested.csproj b/tests/src/JIT/Methodical/VT/etc/gc_nested.csproj index f858d0f6bd..9601e61e1e 100644 --- a/tests/src/JIT/Methodical/VT/etc/gc_nested.csproj +++ b/tests/src/JIT/Methodical/VT/etc/gc_nested.csproj @@ -28,9 +28,10 @@ - - - + + netcoreapp1.1 + win7-x86;win7-x64;ubuntu.14.04-x64;ubuntu.16.04-x64;ubuntu.16.10-x64;osx.10.12-x64;centos.7-x64;rhel.7-x64;debian.8-x64;fedora.24-x64 + diff --git a/tests/src/JIT/Methodical/VT/etc/nested.csproj b/tests/src/JIT/Methodical/VT/etc/nested.csproj index 11babc3182..c2ba77845c 100644 --- a/tests/src/JIT/Methodical/VT/etc/nested.csproj +++ b/tests/src/JIT/Methodical/VT/etc/nested.csproj @@ -28,9 +28,10 @@ - - - + + netcoreapp1.1 + win7-x86;win7-x64;ubuntu.14.04-x64;ubuntu.16.04-x64;ubuntu.16.10-x64;osx.10.12-x64;centos.7-x64;rhel.7-x64;debian.8-x64;fedora.24-x64 + diff --git a/tests/src/JIT/Methodical/acceptance/Boxing/boxing001.ilproj b/tests/src/JIT/Methodical/acceptance/Boxing/boxing001.ilproj index 3d7729f5e7..cfbf44f7b0 100644 --- a/tests/src/JIT/Methodical/acceptance/Boxing/boxing001.ilproj +++ b/tests/src/JIT/Methodical/acceptance/Boxing/boxing001.ilproj @@ -32,11 +32,9 @@ - - $(JitPackagesConfigFileDirectory)benchmark\project.json - $(JitPackagesConfigFileDirectory)benchmark\project.lock.json - - + + + $(JitPackagesConfigFileDirectory)benchmark\obj\project.assets.json \ No newline at end of file diff --git a/tests/src/JIT/Methodical/refany/_dbggcreport.csproj b/tests/src/JIT/Methodical/refany/_dbggcreport.csproj index c8dd1da34c..0e77a28947 100644 --- a/tests/src/JIT/Methodical/refany/_dbggcreport.csproj +++ b/tests/src/JIT/Methodical/refany/_dbggcreport.csproj @@ -28,9 +28,10 @@ - - - + + netcoreapp1.1 + win7-x86;win7-x64;ubuntu.14.04-x64;ubuntu.16.04-x64;ubuntu.16.10-x64;osx.10.12-x64;centos.7-x64;rhel.7-x64;debian.8-x64;fedora.24-x64 + diff --git a/tests/src/JIT/Methodical/refany/_dbgnative.csproj b/tests/src/JIT/Methodical/refany/_dbgnative.csproj index 1ffea88844..e8edef3a7c 100644 --- a/tests/src/JIT/Methodical/refany/_dbgnative.csproj +++ b/tests/src/JIT/Methodical/refany/_dbgnative.csproj @@ -28,9 +28,10 @@ - - - + + netcoreapp1.1 + win7-x86;win7-x64;ubuntu.14.04-x64;ubuntu.16.04-x64;ubuntu.16.10-x64;osx.10.12-x64;centos.7-x64;rhel.7-x64;debian.8-x64;fedora.24-x64 + diff --git a/tests/src/JIT/Methodical/refany/_dbgstress1.csproj b/tests/src/JIT/Methodical/refany/_dbgstress1.csproj index eb5c6626f3..9704560fab 100644 --- a/tests/src/JIT/Methodical/refany/_dbgstress1.csproj +++ b/tests/src/JIT/Methodical/refany/_dbgstress1.csproj @@ -29,9 +29,10 @@ - - - + + netcoreapp1.1 + win7-x86;win7-x64;ubuntu.14.04-x64;ubuntu.16.04-x64;ubuntu.16.10-x64;osx.10.12-x64;centos.7-x64;rhel.7-x64;debian.8-x64;fedora.24-x64 + diff --git a/tests/src/JIT/Methodical/refany/_dbgstress3.csproj b/tests/src/JIT/Methodical/refany/_dbgstress3.csproj index c41462c110..540ee3c8dc 100644 --- a/tests/src/JIT/Methodical/refany/_dbgstress3.csproj +++ b/tests/src/JIT/Methodical/refany/_dbgstress3.csproj @@ -28,9 +28,10 @@ - - - + + netcoreapp1.1 + win7-x86;win7-x64;ubuntu.14.04-x64;ubuntu.16.04-x64;ubuntu.16.10-x64;osx.10.12-x64;centos.7-x64;rhel.7-x64;debian.8-x64;fedora.24-x64 + diff --git a/tests/src/JIT/Methodical/refany/_dbgvirtcall.csproj b/tests/src/JIT/Methodical/refany/_dbgvirtcall.csproj index f1b1b10a24..50a1e714c2 100644 --- a/tests/src/JIT/Methodical/refany/_dbgvirtcall.csproj +++ b/tests/src/JIT/Methodical/refany/_dbgvirtcall.csproj @@ -29,9 +29,10 @@ - - - + + netcoreapp1.1 + win7-x86;win7-x64;ubuntu.14.04-x64;ubuntu.16.04-x64;ubuntu.16.10-x64;osx.10.12-x64;centos.7-x64;rhel.7-x64;debian.8-x64;fedora.24-x64 + diff --git a/tests/src/JIT/Methodical/refany/_relgcreport.csproj b/tests/src/JIT/Methodical/refany/_relgcreport.csproj index 8781f33cdb..da3914fcdb 100644 --- a/tests/src/JIT/Methodical/refany/_relgcreport.csproj +++ b/tests/src/JIT/Methodical/refany/_relgcreport.csproj @@ -28,9 +28,10 @@ - - - + + netcoreapp1.1 + win7-x86;win7-x64;ubuntu.14.04-x64;ubuntu.16.04-x64;ubuntu.16.10-x64;osx.10.12-x64;centos.7-x64;rhel.7-x64;debian.8-x64;fedora.24-x64 + diff --git a/tests/src/JIT/Methodical/refany/_relnative.csproj b/tests/src/JIT/Methodical/refany/_relnative.csproj index 50bccd2c9d..88e840991c 100644 --- a/tests/src/JIT/Methodical/refany/_relnative.csproj +++ b/tests/src/JIT/Methodical/refany/_relnative.csproj @@ -28,9 +28,10 @@ - - - + + netcoreapp1.1 + win7-x86;win7-x64;ubuntu.14.04-x64;ubuntu.16.04-x64;ubuntu.16.10-x64;osx.10.12-x64;centos.7-x64;rhel.7-x64;debian.8-x64;fedora.24-x64 + diff --git a/tests/src/JIT/Methodical/refany/_relstress1.csproj b/tests/src/JIT/Methodical/refany/_relstress1.csproj index 08cfb0238f..19a9a55226 100644 --- a/tests/src/JIT/Methodical/refany/_relstress1.csproj +++ b/tests/src/JIT/Methodical/refany/_relstress1.csproj @@ -29,9 +29,10 @@ - - - + + netcoreapp1.1 + win7-x86;win7-x64;ubuntu.14.04-x64;ubuntu.16.04-x64;ubuntu.16.10-x64;osx.10.12-x64;centos.7-x64;rhel.7-x64;debian.8-x64;fedora.24-x64 + diff --git a/tests/src/JIT/Methodical/refany/_relstress3.csproj b/tests/src/JIT/Methodical/refany/_relstress3.csproj index 03c37ce533..65da5b03e3 100644 --- a/tests/src/JIT/Methodical/refany/_relstress3.csproj +++ b/tests/src/JIT/Methodical/refany/_relstress3.csproj @@ -28,9 +28,10 @@ - - - + + netcoreapp1.1 + win7-x86;win7-x64;ubuntu.14.04-x64;ubuntu.16.04-x64;ubuntu.16.10-x64;osx.10.12-x64;centos.7-x64;rhel.7-x64;debian.8-x64;fedora.24-x64 + diff --git a/tests/src/JIT/Methodical/refany/_relvirtcall.csproj b/tests/src/JIT/Methodical/refany/_relvirtcall.csproj index 459da7d647..d1e9e6767c 100644 --- a/tests/src/JIT/Methodical/refany/_relvirtcall.csproj +++ b/tests/src/JIT/Methodical/refany/_relvirtcall.csproj @@ -29,9 +29,10 @@ - - - + + netcoreapp1.1 + win7-x86;win7-x64;ubuntu.14.04-x64;ubuntu.16.04-x64;ubuntu.16.10-x64;osx.10.12-x64;centos.7-x64;rhel.7-x64;debian.8-x64;fedora.24-x64 + diff --git a/tests/src/JIT/Methodical/refany/_speed_dbggcreport.csproj b/tests/src/JIT/Methodical/refany/_speed_dbggcreport.csproj index 21e1dfb876..2e39368075 100644 --- a/tests/src/JIT/Methodical/refany/_speed_dbggcreport.csproj +++ b/tests/src/JIT/Methodical/refany/_speed_dbggcreport.csproj @@ -28,9 +28,10 @@ - - - + + netcoreapp1.1 + win7-x86;win7-x64;ubuntu.14.04-x64;ubuntu.16.04-x64;ubuntu.16.10-x64;osx.10.12-x64;centos.7-x64;rhel.7-x64;debian.8-x64;fedora.24-x64 + diff --git a/tests/src/JIT/Methodical/refany/_speed_dbgnative.csproj b/tests/src/JIT/Methodical/refany/_speed_dbgnative.csproj index f7fde093de..8757d50b1a 100644 --- a/tests/src/JIT/Methodical/refany/_speed_dbgnative.csproj +++ b/tests/src/JIT/Methodical/refany/_speed_dbgnative.csproj @@ -28,9 +28,10 @@ - - - + + netcoreapp1.1 + win7-x86;win7-x64;ubuntu.14.04-x64;ubuntu.16.04-x64;ubuntu.16.10-x64;osx.10.12-x64;centos.7-x64;rhel.7-x64;debian.8-x64;fedora.24-x64 + diff --git a/tests/src/JIT/Methodical/refany/_speed_dbgstress1.csproj b/tests/src/JIT/Methodical/refany/_speed_dbgstress1.csproj index 10d26819f4..10a8cd5f6a 100644 --- a/tests/src/JIT/Methodical/refany/_speed_dbgstress1.csproj +++ b/tests/src/JIT/Methodical/refany/_speed_dbgstress1.csproj @@ -28,9 +28,10 @@ - - - + + netcoreapp1.1 + win7-x86;win7-x64;ubuntu.14.04-x64;ubuntu.16.04-x64;ubuntu.16.10-x64;osx.10.12-x64;centos.7-x64;rhel.7-x64;debian.8-x64;fedora.24-x64 + diff --git a/tests/src/JIT/Methodical/refany/_speed_dbgstress3.csproj b/tests/src/JIT/Methodical/refany/_speed_dbgstress3.csproj index cfd702ecae..124554ed79 100644 --- a/tests/src/JIT/Methodical/refany/_speed_dbgstress3.csproj +++ b/tests/src/JIT/Methodical/refany/_speed_dbgstress3.csproj @@ -28,9 +28,10 @@ - - - + + netcoreapp1.1 + win7-x86;win7-x64;ubuntu.14.04-x64;ubuntu.16.04-x64;ubuntu.16.10-x64;osx.10.12-x64;centos.7-x64;rhel.7-x64;debian.8-x64;fedora.24-x64 + diff --git a/tests/src/JIT/Methodical/refany/_speed_dbgvirtcall.csproj b/tests/src/JIT/Methodical/refany/_speed_dbgvirtcall.csproj index 531b47a9bc..45aad43acc 100644 --- a/tests/src/JIT/Methodical/refany/_speed_dbgvirtcall.csproj +++ b/tests/src/JIT/Methodical/refany/_speed_dbgvirtcall.csproj @@ -29,9 +29,10 @@ - - - + + netcoreapp1.1 + win7-x86;win7-x64;ubuntu.14.04-x64;ubuntu.16.04-x64;ubuntu.16.10-x64;osx.10.12-x64;centos.7-x64;rhel.7-x64;debian.8-x64;fedora.24-x64 + diff --git a/tests/src/JIT/Methodical/refany/_speed_relgcreport.csproj b/tests/src/JIT/Methodical/refany/_speed_relgcreport.csproj index 3fb0a8d27f..a0bc8fff61 100644 --- a/tests/src/JIT/Methodical/refany/_speed_relgcreport.csproj +++ b/tests/src/JIT/Methodical/refany/_speed_relgcreport.csproj @@ -28,9 +28,10 @@ - - - + + netcoreapp1.1 + win7-x86;win7-x64;ubuntu.14.04-x64;ubuntu.16.04-x64;ubuntu.16.10-x64;osx.10.12-x64;centos.7-x64;rhel.7-x64;debian.8-x64;fedora.24-x64 + diff --git a/tests/src/JIT/Methodical/refany/_speed_relnative.csproj b/tests/src/JIT/Methodical/refany/_speed_relnative.csproj index 11e2afd4be..30045fba82 100644 --- a/tests/src/JIT/Methodical/refany/_speed_relnative.csproj +++ b/tests/src/JIT/Methodical/refany/_speed_relnative.csproj @@ -28,9 +28,10 @@ - - - + + netcoreapp1.1 + win7-x86;win7-x64;ubuntu.14.04-x64;ubuntu.16.04-x64;ubuntu.16.10-x64;osx.10.12-x64;centos.7-x64;rhel.7-x64;debian.8-x64;fedora.24-x64 + diff --git a/tests/src/JIT/Methodical/refany/_speed_relstress1.csproj b/tests/src/JIT/Methodical/refany/_speed_relstress1.csproj index f300ebc4aa..0e484466b1 100644 --- a/tests/src/JIT/Methodical/refany/_speed_relstress1.csproj +++ b/tests/src/JIT/Methodical/refany/_speed_relstress1.csproj @@ -29,9 +29,10 @@ - - - + + netcoreapp1.1 + win7-x86;win7-x64;ubuntu.14.04-x64;ubuntu.16.04-x64;ubuntu.16.10-x64;osx.10.12-x64;centos.7-x64;rhel.7-x64;debian.8-x64;fedora.24-x64 + diff --git a/tests/src/JIT/Methodical/refany/_speed_relstress3.csproj b/tests/src/JIT/Methodical/refany/_speed_relstress3.csproj index fd6a9aedb9..6e160e6e01 100644 --- a/tests/src/JIT/Methodical/refany/_speed_relstress3.csproj +++ b/tests/src/JIT/Methodical/refany/_speed_relstress3.csproj @@ -28,9 +28,10 @@ - - - + + netcoreapp1.1 + win7-x86;win7-x64;ubuntu.14.04-x64;ubuntu.16.04-x64;ubuntu.16.10-x64;osx.10.12-x64;centos.7-x64;rhel.7-x64;debian.8-x64;fedora.24-x64 + diff --git a/tests/src/JIT/Methodical/refany/_speed_relvirtcall.csproj b/tests/src/JIT/Methodical/refany/_speed_relvirtcall.csproj index ecae4158e9..ab78d753e8 100644 --- a/tests/src/JIT/Methodical/refany/_speed_relvirtcall.csproj +++ b/tests/src/JIT/Methodical/refany/_speed_relvirtcall.csproj @@ -28,9 +28,10 @@ - - - + + netcoreapp1.1 + win7-x86;win7-x64;ubuntu.14.04-x64;ubuntu.16.04-x64;ubuntu.16.10-x64;osx.10.12-x64;centos.7-x64;rhel.7-x64;debian.8-x64;fedora.24-x64 + diff --git a/tests/src/JIT/Methodical/refany/array1.csproj b/tests/src/JIT/Methodical/refany/array1.csproj index 83c8927f2d..8c713ad864 100644 --- a/tests/src/JIT/Methodical/refany/array1.csproj +++ b/tests/src/JIT/Methodical/refany/array1.csproj @@ -28,9 +28,10 @@ - - - + + netcoreapp1.1 + win7-x86;win7-x64;ubuntu.14.04-x64;ubuntu.16.04-x64;ubuntu.16.10-x64;osx.10.12-x64;centos.7-x64;rhel.7-x64;debian.8-x64;fedora.24-x64 + diff --git a/tests/src/JIT/Methodical/refany/array2.csproj b/tests/src/JIT/Methodical/refany/array2.csproj index 1890a9c9d0..1d57843df2 100644 --- a/tests/src/JIT/Methodical/refany/array2.csproj +++ b/tests/src/JIT/Methodical/refany/array2.csproj @@ -28,9 +28,10 @@ - - - + + netcoreapp1.1 + win7-x86;win7-x64;ubuntu.14.04-x64;ubuntu.16.04-x64;ubuntu.16.10-x64;osx.10.12-x64;centos.7-x64;rhel.7-x64;debian.8-x64;fedora.24-x64 + diff --git a/tests/src/JIT/Methodical/refany/format.csproj b/tests/src/JIT/Methodical/refany/format.csproj index 18b8fa8e87..008ec5fad3 100644 --- a/tests/src/JIT/Methodical/refany/format.csproj +++ b/tests/src/JIT/Methodical/refany/format.csproj @@ -28,9 +28,10 @@ - - - + + netcoreapp1.1 + win7-x86;win7-x64;ubuntu.14.04-x64;ubuntu.16.04-x64;ubuntu.16.10-x64;osx.10.12-x64;centos.7-x64;rhel.7-x64;debian.8-x64;fedora.24-x64 + diff --git a/tests/src/JIT/Methodical/refany/gcreport.csproj b/tests/src/JIT/Methodical/refany/gcreport.csproj index 04d0fffb01..c40ea0504b 100644 --- a/tests/src/JIT/Methodical/refany/gcreport.csproj +++ b/tests/src/JIT/Methodical/refany/gcreport.csproj @@ -28,9 +28,10 @@ - - - + + netcoreapp1.1 + win7-x86;win7-x64;ubuntu.14.04-x64;ubuntu.16.04-x64;ubuntu.16.10-x64;osx.10.12-x64;centos.7-x64;rhel.7-x64;debian.8-x64;fedora.24-x64 + diff --git a/tests/src/JIT/Methodical/refany/lcs.csproj b/tests/src/JIT/Methodical/refany/lcs.csproj index 122a161b4a..187948b805 100644 --- a/tests/src/JIT/Methodical/refany/lcs.csproj +++ b/tests/src/JIT/Methodical/refany/lcs.csproj @@ -28,9 +28,10 @@ - - - + + netcoreapp1.1 + win7-x86;win7-x64;ubuntu.14.04-x64;ubuntu.16.04-x64;ubuntu.16.10-x64;osx.10.12-x64;centos.7-x64;rhel.7-x64;debian.8-x64;fedora.24-x64 + diff --git a/tests/src/JIT/Methodical/refany/native.csproj b/tests/src/JIT/Methodical/refany/native.csproj index db30722d05..a100b56c0d 100644 --- a/tests/src/JIT/Methodical/refany/native.csproj +++ b/tests/src/JIT/Methodical/refany/native.csproj @@ -28,9 +28,10 @@ - - - + + netcoreapp1.1 + win7-x86;win7-x64;ubuntu.14.04-x64;ubuntu.16.04-x64;ubuntu.16.10-x64;osx.10.12-x64;centos.7-x64;rhel.7-x64;debian.8-x64;fedora.24-x64 + diff --git a/tests/src/JIT/Methodical/refany/virtcall.csproj b/tests/src/JIT/Methodical/refany/virtcall.csproj index fecf6cc43e..1f7727308c 100644 --- a/tests/src/JIT/Methodical/refany/virtcall.csproj +++ b/tests/src/JIT/Methodical/refany/virtcall.csproj @@ -29,9 +29,10 @@ - - - + + netcoreapp1.1 + win7-x86;win7-x64;ubuntu.14.04-x64;ubuntu.16.04-x64;ubuntu.16.10-x64;osx.10.12-x64;centos.7-x64;rhel.7-x64;debian.8-x64;fedora.24-x64 + diff --git a/tests/src/JIT/Methodical/tailcall_v4/smallFrame.il b/tests/src/JIT/Methodical/tailcall_v4/smallFrame.il index dad77eadf2..eb2ac39bf2 100644 --- a/tests/src/JIT/Methodical/tailcall_v4/smallFrame.il +++ b/tests/src/JIT/Methodical/tailcall_v4/smallFrame.il @@ -358,7 +358,8 @@ // Code size 7 (0x7) .maxstack 8 //.line 114,114 : 3,16 '' - IL_0000: tail. call valuetype RetBuff RetBufferBug::TailCallee() +// tail. // tail.call, pop, ret sequence is never valid for .NET Core (but is accepted by .NET x64) + IL_0000: call valuetype RetBuff RetBufferBug::TailCallee() IL_0005: pop //.line 115,115 : 2,3 '' IL_0006: ret diff --git a/tests/src/JIT/Methodical/xxobj/operand/_dbgrefanyval.csproj b/tests/src/JIT/Methodical/xxobj/operand/_dbgrefanyval.csproj index 0225a059b7..b15027176f 100644 --- a/tests/src/JIT/Methodical/xxobj/operand/_dbgrefanyval.csproj +++ b/tests/src/JIT/Methodical/xxobj/operand/_dbgrefanyval.csproj @@ -28,9 +28,10 @@ - - - + + netcoreapp1.1 + win7-x86;win7-x64;ubuntu.14.04-x64;ubuntu.16.04-x64;ubuntu.16.10-x64;osx.10.12-x64;centos.7-x64;rhel.7-x64;debian.8-x64;fedora.24-x64 + diff --git a/tests/src/JIT/Methodical/xxobj/operand/_relrefanyval.csproj b/tests/src/JIT/Methodical/xxobj/operand/_relrefanyval.csproj index faf18d60df..10128517d2 100644 --- a/tests/src/JIT/Methodical/xxobj/operand/_relrefanyval.csproj +++ b/tests/src/JIT/Methodical/xxobj/operand/_relrefanyval.csproj @@ -28,9 +28,10 @@ - - - + + netcoreapp1.1 + win7-x86;win7-x64;ubuntu.14.04-x64;ubuntu.16.04-x64;ubuntu.16.10-x64;osx.10.12-x64;centos.7-x64;rhel.7-x64;debian.8-x64;fedora.24-x64 + diff --git a/tests/src/JIT/Methodical/xxobj/operand/_speed_dbgrefanyval.csproj b/tests/src/JIT/Methodical/xxobj/operand/_speed_dbgrefanyval.csproj index 82d5593bcd..7ff0df3280 100644 --- a/tests/src/JIT/Methodical/xxobj/operand/_speed_dbgrefanyval.csproj +++ b/tests/src/JIT/Methodical/xxobj/operand/_speed_dbgrefanyval.csproj @@ -28,9 +28,10 @@ - - - + + netcoreapp1.1 + win7-x86;win7-x64;ubuntu.14.04-x64;ubuntu.16.04-x64;ubuntu.16.10-x64;osx.10.12-x64;centos.7-x64;rhel.7-x64;debian.8-x64;fedora.24-x64 + diff --git a/tests/src/JIT/Methodical/xxobj/operand/_speed_relrefanyval.csproj b/tests/src/JIT/Methodical/xxobj/operand/_speed_relrefanyval.csproj index f7e7aafbeb..7089fece10 100644 --- a/tests/src/JIT/Methodical/xxobj/operand/_speed_relrefanyval.csproj +++ b/tests/src/JIT/Methodical/xxobj/operand/_speed_relrefanyval.csproj @@ -28,9 +28,10 @@ - - - + + netcoreapp1.1 + win7-x86;win7-x64;ubuntu.14.04-x64;ubuntu.16.04-x64;ubuntu.16.10-x64;osx.10.12-x64;centos.7-x64;rhel.7-x64;debian.8-x64;fedora.24-x64 + diff --git a/tests/src/JIT/Methodical/xxobj/operand/refanyval.csproj b/tests/src/JIT/Methodical/xxobj/operand/refanyval.csproj index 8f35c4bb65..fa8199743a 100644 --- a/tests/src/JIT/Methodical/xxobj/operand/refanyval.csproj +++ b/tests/src/JIT/Methodical/xxobj/operand/refanyval.csproj @@ -28,9 +28,10 @@ - - - + + netcoreapp1.1 + win7-x86;win7-x64;ubuntu.14.04-x64;ubuntu.16.04-x64;ubuntu.16.10-x64;osx.10.12-x64;centos.7-x64;rhel.7-x64;debian.8-x64;fedora.24-x64 + diff --git a/tests/src/JIT/Performance/CodeQuality/BenchF/Adams/Adams.cs b/tests/src/JIT/Performance/CodeQuality/BenchF/Adams/Adams.cs index 431d857f16..3f21d9cd4c 100644 --- a/tests/src/JIT/Performance/CodeQuality/BenchF/Adams/Adams.cs +++ b/tests/src/JIT/Performance/CodeQuality/BenchF/Adams/Adams.cs @@ -15,7 +15,6 @@ using Microsoft.Xunit.Performance; #if XUNIT_PERF [assembly: OptimizeForBenchmarks] -[assembly: MeasureInstructionsRetired] #endif // XUNIT_PERF namespace Benchstone.BenchF diff --git a/tests/src/JIT/Performance/CodeQuality/BenchF/Adams/Adams.csproj b/tests/src/JIT/Performance/CodeQuality/BenchF/Adams/Adams.csproj index 80afc6699a..9d5cf5d0e6 100644 --- a/tests/src/JIT/Performance/CodeQuality/BenchF/Adams/Adams.csproj +++ b/tests/src/JIT/Performance/CodeQuality/BenchF/Adams/Adams.csproj @@ -10,6 +10,7 @@ {786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} ..\..\ .NETStandard,Version=v1.4 + netstandard1.4 @@ -29,10 +30,9 @@ - - $(JitPackagesConfigFileDirectory)benchmark\project.json - $(JitPackagesConfigFileDirectory)benchmark\project.lock.json - + + $(JitPackagesConfigFileDirectory)benchmark\obj\project.assets.json + \ No newline at end of file diff --git a/tests/src/JIT/Performance/CodeQuality/BenchF/BenchMk2/BenchMk2.cs b/tests/src/JIT/Performance/CodeQuality/BenchF/BenchMk2/BenchMk2.cs index c4cfc0b217..5c616a5b6c 100644 --- a/tests/src/JIT/Performance/CodeQuality/BenchF/BenchMk2/BenchMk2.cs +++ b/tests/src/JIT/Performance/CodeQuality/BenchF/BenchMk2/BenchMk2.cs @@ -9,7 +9,6 @@ using System.Runtime.CompilerServices; using Xunit; [assembly: OptimizeForBenchmarks] -[assembly: MeasureInstructionsRetired] namespace Benchstone.BenchF { diff --git a/tests/src/JIT/Performance/CodeQuality/BenchF/BenchMk2/BenchMk2.csproj b/tests/src/JIT/Performance/CodeQuality/BenchF/BenchMk2/BenchMk2.csproj index 174ee76e18..c42c73625c 100644 --- a/tests/src/JIT/Performance/CodeQuality/BenchF/BenchMk2/BenchMk2.csproj +++ b/tests/src/JIT/Performance/CodeQuality/BenchF/BenchMk2/BenchMk2.csproj @@ -10,6 +10,7 @@ {786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} ..\..\ .NETStandard,Version=v1.4 + netstandard1.4 @@ -29,10 +30,9 @@ - - $(JitPackagesConfigFileDirectory)benchmark\project.json - $(JitPackagesConfigFileDirectory)benchmark\project.lock.json - + + $(JitPackagesConfigFileDirectory)benchmark\obj\project.assets.json + \ No newline at end of file diff --git a/tests/src/JIT/Performance/CodeQuality/BenchF/BenchMrk/BenchMrk.cs b/tests/src/JIT/Performance/CodeQuality/BenchF/BenchMrk/BenchMrk.cs index f342b2d84e..ec70102f27 100644 --- a/tests/src/JIT/Performance/CodeQuality/BenchF/BenchMrk/BenchMrk.cs +++ b/tests/src/JIT/Performance/CodeQuality/BenchF/BenchMrk/BenchMrk.cs @@ -9,7 +9,6 @@ using System.Runtime.CompilerServices; using Xunit; [assembly: OptimizeForBenchmarks] -[assembly: MeasureInstructionsRetired] namespace Benchstone.BenchF { diff --git a/tests/src/JIT/Performance/CodeQuality/BenchF/BenchMrk/BenchMrk.csproj b/tests/src/JIT/Performance/CodeQuality/BenchF/BenchMrk/BenchMrk.csproj index 1594ae0a45..e26289d3f4 100644 --- a/tests/src/JIT/Performance/CodeQuality/BenchF/BenchMrk/BenchMrk.csproj +++ b/tests/src/JIT/Performance/CodeQuality/BenchF/BenchMrk/BenchMrk.csproj @@ -10,6 +10,7 @@ {786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} ..\..\ .NETStandard,Version=v1.4 + netstandard1.4 @@ -29,10 +30,9 @@ - - $(JitPackagesConfigFileDirectory)benchmark\project.json - $(JitPackagesConfigFileDirectory)benchmark\project.lock.json - + + $(JitPackagesConfigFileDirectory)benchmark\obj\project.assets.json + \ No newline at end of file diff --git a/tests/src/JIT/Performance/CodeQuality/BenchF/Bisect/Bisect.cs b/tests/src/JIT/Performance/CodeQuality/BenchF/Bisect/Bisect.cs index 724416a626..cd44b1c83e 100644 --- a/tests/src/JIT/Performance/CodeQuality/BenchF/Bisect/Bisect.cs +++ b/tests/src/JIT/Performance/CodeQuality/BenchF/Bisect/Bisect.cs @@ -10,7 +10,6 @@ using System.Runtime.CompilerServices; using Xunit; [assembly: OptimizeForBenchmarks] -[assembly: MeasureInstructionsRetired] namespace Benchstone.BenchF { diff --git a/tests/src/JIT/Performance/CodeQuality/BenchF/Bisect/Bisect.csproj b/tests/src/JIT/Performance/CodeQuality/BenchF/Bisect/Bisect.csproj index 70fdb06897..345ee32477 100644 --- a/tests/src/JIT/Performance/CodeQuality/BenchF/Bisect/Bisect.csproj +++ b/tests/src/JIT/Performance/CodeQuality/BenchF/Bisect/Bisect.csproj @@ -10,6 +10,7 @@ {786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} ..\..\ .NETStandard,Version=v1.4 + netstandard1.4 @@ -29,10 +30,9 @@ - - $(JitPackagesConfigFileDirectory)benchmark\project.json - $(JitPackagesConfigFileDirectory)benchmark\project.lock.json - + + $(JitPackagesConfigFileDirectory)benchmark\obj\project.assets.json + \ No newline at end of file diff --git a/tests/src/JIT/Performance/CodeQuality/BenchF/DMath/DMath.cs b/tests/src/JIT/Performance/CodeQuality/BenchF/DMath/DMath.cs index 47c5e20285..dbce024099 100644 --- a/tests/src/JIT/Performance/CodeQuality/BenchF/DMath/DMath.cs +++ b/tests/src/JIT/Performance/CodeQuality/BenchF/DMath/DMath.cs @@ -9,7 +9,6 @@ using System.Runtime.CompilerServices; using Xunit; [assembly: OptimizeForBenchmarks] -[assembly: MeasureInstructionsRetired] namespace Benchstone.BenchF { diff --git a/tests/src/JIT/Performance/CodeQuality/BenchF/DMath/DMath.csproj b/tests/src/JIT/Performance/CodeQuality/BenchF/DMath/DMath.csproj index bd1b084df5..9eb733599a 100644 --- a/tests/src/JIT/Performance/CodeQuality/BenchF/DMath/DMath.csproj +++ b/tests/src/JIT/Performance/CodeQuality/BenchF/DMath/DMath.csproj @@ -10,6 +10,7 @@ {786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} ..\..\ .NETStandard,Version=v1.4 + netstandard1.4 @@ -29,10 +30,9 @@ - - $(JitPackagesConfigFileDirectory)benchmark\project.json - $(JitPackagesConfigFileDirectory)benchmark\project.lock.json - + + $(JitPackagesConfigFileDirectory)benchmark\obj\project.assets.json + \ No newline at end of file diff --git a/tests/src/JIT/Performance/CodeQuality/BenchF/FFT/FFT.cs b/tests/src/JIT/Performance/CodeQuality/BenchF/FFT/FFT.cs index 8881eae6c6..3ddd75491d 100644 --- a/tests/src/JIT/Performance/CodeQuality/BenchF/FFT/FFT.cs +++ b/tests/src/JIT/Performance/CodeQuality/BenchF/FFT/FFT.cs @@ -11,7 +11,6 @@ using System.Runtime.CompilerServices; using Xunit; [assembly: OptimizeForBenchmarks] -[assembly: MeasureInstructionsRetired] namespace Benchstone.BenchF { diff --git a/tests/src/JIT/Performance/CodeQuality/BenchF/FFT/FFT.csproj b/tests/src/JIT/Performance/CodeQuality/BenchF/FFT/FFT.csproj index 10f39efd08..28b1fa42a7 100644 --- a/tests/src/JIT/Performance/CodeQuality/BenchF/FFT/FFT.csproj +++ b/tests/src/JIT/Performance/CodeQuality/BenchF/FFT/FFT.csproj @@ -10,6 +10,7 @@ {786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} ..\..\ .NETStandard,Version=v1.4 + netstandard1.4 @@ -29,10 +30,9 @@ - - $(JitPackagesConfigFileDirectory)benchmark\project.json - $(JitPackagesConfigFileDirectory)benchmark\project.lock.json - + + $(JitPackagesConfigFileDirectory)benchmark\obj\project.assets.json + \ No newline at end of file diff --git a/tests/src/JIT/Performance/CodeQuality/BenchF/InProd/InProd.cs b/tests/src/JIT/Performance/CodeQuality/BenchF/InProd/InProd.cs index 26096b736e..08665a8950 100644 --- a/tests/src/JIT/Performance/CodeQuality/BenchF/InProd/InProd.cs +++ b/tests/src/JIT/Performance/CodeQuality/BenchF/InProd/InProd.cs @@ -9,7 +9,6 @@ using System.Runtime.CompilerServices; using Xunit; [assembly: OptimizeForBenchmarks] -[assembly: MeasureInstructionsRetired] namespace Benchstone.BenchF { diff --git a/tests/src/JIT/Performance/CodeQuality/BenchF/InProd/InProd.csproj b/tests/src/JIT/Performance/CodeQuality/BenchF/InProd/InProd.csproj index 975bf96f92..0d3d9d324a 100644 --- a/tests/src/JIT/Performance/CodeQuality/BenchF/InProd/InProd.csproj +++ b/tests/src/JIT/Performance/CodeQuality/BenchF/InProd/InProd.csproj @@ -10,6 +10,7 @@ {786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} ..\..\ .NETStandard,Version=v1.4 + netstandard1.4 @@ -29,10 +30,9 @@ - - $(JitPackagesConfigFileDirectory)benchmark\project.json - $(JitPackagesConfigFileDirectory)benchmark\project.lock.json - + + $(JitPackagesConfigFileDirectory)benchmark\obj\project.assets.json + \ No newline at end of file diff --git a/tests/src/JIT/Performance/CodeQuality/BenchF/InvMt/InvMt.cs b/tests/src/JIT/Performance/CodeQuality/BenchF/InvMt/InvMt.cs index 6ecfb62d91..ee0af77b59 100644 --- a/tests/src/JIT/Performance/CodeQuality/BenchF/InvMt/InvMt.cs +++ b/tests/src/JIT/Performance/CodeQuality/BenchF/InvMt/InvMt.cs @@ -10,7 +10,6 @@ using System.Runtime.CompilerServices; using Xunit; [assembly: OptimizeForBenchmarks] -[assembly: MeasureInstructionsRetired] namespace Benchstone.BenchF { diff --git a/tests/src/JIT/Performance/CodeQuality/BenchF/InvMt/InvMt.csproj b/tests/src/JIT/Performance/CodeQuality/BenchF/InvMt/InvMt.csproj index 417f1c5631..8971e8aa78 100644 --- a/tests/src/JIT/Performance/CodeQuality/BenchF/InvMt/InvMt.csproj +++ b/tests/src/JIT/Performance/CodeQuality/BenchF/InvMt/InvMt.csproj @@ -10,6 +10,7 @@ {786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} ..\..\ .NETStandard,Version=v1.4 + netstandard1.4 @@ -29,10 +30,9 @@ - - $(JitPackagesConfigFileDirectory)benchmark\project.json - $(JitPackagesConfigFileDirectory)benchmark\project.lock.json - + + $(JitPackagesConfigFileDirectory)benchmark\obj\project.assets.json + \ No newline at end of file diff --git a/tests/src/JIT/Performance/CodeQuality/BenchF/LLoops/LLoops.cs b/tests/src/JIT/Performance/CodeQuality/BenchF/LLoops/LLoops.cs index 73ec09aa04..d7d7eb8259 100644 --- a/tests/src/JIT/Performance/CodeQuality/BenchF/LLoops/LLoops.cs +++ b/tests/src/JIT/Performance/CodeQuality/BenchF/LLoops/LLoops.cs @@ -58,7 +58,6 @@ using System.Runtime.CompilerServices; using Xunit; [assembly: OptimizeForBenchmarks] -[assembly: MeasureInstructionsRetired] namespace Benchstone.BenchF { diff --git a/tests/src/JIT/Performance/CodeQuality/BenchF/LLoops/LLoops.csproj b/tests/src/JIT/Performance/CodeQuality/BenchF/LLoops/LLoops.csproj index 6751cc2492..2b4d20a5c3 100644 --- a/tests/src/JIT/Performance/CodeQuality/BenchF/LLoops/LLoops.csproj +++ b/tests/src/JIT/Performance/CodeQuality/BenchF/LLoops/LLoops.csproj @@ -10,6 +10,7 @@ {786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} ..\..\ .NETStandard,Version=v1.4 + netstandard1.4 @@ -29,10 +30,9 @@ - - $(JitPackagesConfigFileDirectory)benchmark\project.json - $(JitPackagesConfigFileDirectory)benchmark\project.lock.json - + + $(JitPackagesConfigFileDirectory)benchmark\obj\project.assets.json + \ No newline at end of file diff --git a/tests/src/JIT/Performance/CodeQuality/BenchF/Lorenz/Lorenz.cs b/tests/src/JIT/Performance/CodeQuality/BenchF/Lorenz/Lorenz.cs index 5819446bf0..5fe7ef34e4 100644 --- a/tests/src/JIT/Performance/CodeQuality/BenchF/Lorenz/Lorenz.cs +++ b/tests/src/JIT/Performance/CodeQuality/BenchF/Lorenz/Lorenz.cs @@ -10,7 +10,6 @@ using System.Runtime.CompilerServices; using Xunit; [assembly: OptimizeForBenchmarks] -[assembly: MeasureInstructionsRetired] namespace Benchstone.BenchF { diff --git a/tests/src/JIT/Performance/CodeQuality/BenchF/Lorenz/Lorenz.csproj b/tests/src/JIT/Performance/CodeQuality/BenchF/Lorenz/Lorenz.csproj index 1ab94d40c8..0a309d0b35 100644 --- a/tests/src/JIT/Performance/CodeQuality/BenchF/Lorenz/Lorenz.csproj +++ b/tests/src/JIT/Performance/CodeQuality/BenchF/Lorenz/Lorenz.csproj @@ -10,6 +10,7 @@ {786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} ..\..\ .NETStandard,Version=v1.4 + netstandard1.4 @@ -29,10 +30,9 @@ - - $(JitPackagesConfigFileDirectory)benchmark\project.json - $(JitPackagesConfigFileDirectory)benchmark\project.lock.json - + + $(JitPackagesConfigFileDirectory)benchmark\obj\project.assets.json + \ No newline at end of file diff --git a/tests/src/JIT/Performance/CodeQuality/BenchF/MatInv4/MatInv4.cs b/tests/src/JIT/Performance/CodeQuality/BenchF/MatInv4/MatInv4.cs index a00c29b843..02588e18ed 100644 --- a/tests/src/JIT/Performance/CodeQuality/BenchF/MatInv4/MatInv4.cs +++ b/tests/src/JIT/Performance/CodeQuality/BenchF/MatInv4/MatInv4.cs @@ -8,7 +8,6 @@ using System.Runtime.CompilerServices; using Xunit; [assembly: OptimizeForBenchmarks] -[assembly: MeasureInstructionsRetired] namespace Benchstone.BenchF { diff --git a/tests/src/JIT/Performance/CodeQuality/BenchF/MatInv4/MatInv4.csproj b/tests/src/JIT/Performance/CodeQuality/BenchF/MatInv4/MatInv4.csproj index 09454d9218..2c43dba6cd 100644 --- a/tests/src/JIT/Performance/CodeQuality/BenchF/MatInv4/MatInv4.csproj +++ b/tests/src/JIT/Performance/CodeQuality/BenchF/MatInv4/MatInv4.csproj @@ -10,6 +10,7 @@ {786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} ..\..\ .NETStandard,Version=v1.4 + netstandard1.4 @@ -29,10 +30,9 @@ - - $(JitPackagesConfigFileDirectory)benchmark\project.json - $(JitPackagesConfigFileDirectory)benchmark\project.lock.json - + + $(JitPackagesConfigFileDirectory)benchmark\obj\project.assets.json + \ No newline at end of file diff --git a/tests/src/JIT/Performance/CodeQuality/BenchF/NewtE/NewtE.cs b/tests/src/JIT/Performance/CodeQuality/BenchF/NewtE/NewtE.cs index 47f90d8616..cc698f44dd 100644 --- a/tests/src/JIT/Performance/CodeQuality/BenchF/NewtE/NewtE.cs +++ b/tests/src/JIT/Performance/CodeQuality/BenchF/NewtE/NewtE.cs @@ -11,7 +11,6 @@ using System.Runtime.CompilerServices; using Xunit; [assembly: OptimizeForBenchmarks] -[assembly: MeasureInstructionsRetired] namespace Benchstone.BenchF { diff --git a/tests/src/JIT/Performance/CodeQuality/BenchF/NewtE/NewtE.csproj b/tests/src/JIT/Performance/CodeQuality/BenchF/NewtE/NewtE.csproj index 1213cae10a..a0978c2c6a 100644 --- a/tests/src/JIT/Performance/CodeQuality/BenchF/NewtE/NewtE.csproj +++ b/tests/src/JIT/Performance/CodeQuality/BenchF/NewtE/NewtE.csproj @@ -10,6 +10,7 @@ {786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} ..\..\ .NETStandard,Version=v1.4 + netstandard1.4 @@ -29,10 +30,9 @@ - - $(JitPackagesConfigFileDirectory)benchmark\project.json - $(JitPackagesConfigFileDirectory)benchmark\project.lock.json - + + $(JitPackagesConfigFileDirectory)benchmark\obj\project.assets.json + \ No newline at end of file diff --git a/tests/src/JIT/Performance/CodeQuality/BenchF/NewtR/NewtR.cs b/tests/src/JIT/Performance/CodeQuality/BenchF/NewtR/NewtR.cs index c590f6e570..bfb6546a38 100644 --- a/tests/src/JIT/Performance/CodeQuality/BenchF/NewtR/NewtR.cs +++ b/tests/src/JIT/Performance/CodeQuality/BenchF/NewtR/NewtR.cs @@ -10,7 +10,6 @@ using System.Runtime.CompilerServices; using Xunit; [assembly: OptimizeForBenchmarks] -[assembly: MeasureInstructionsRetired] namespace Benchstone.BenchF { diff --git a/tests/src/JIT/Performance/CodeQuality/BenchF/NewtR/NewtR.csproj b/tests/src/JIT/Performance/CodeQuality/BenchF/NewtR/NewtR.csproj index a6f11c0f06..3fffb1b1b8 100644 --- a/tests/src/JIT/Performance/CodeQuality/BenchF/NewtR/NewtR.csproj +++ b/tests/src/JIT/Performance/CodeQuality/BenchF/NewtR/NewtR.csproj @@ -10,6 +10,7 @@ {786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} ..\..\ .NETStandard,Version=v1.4 + netstandard1.4 @@ -29,10 +30,9 @@ - - $(JitPackagesConfigFileDirectory)benchmark\project.json - $(JitPackagesConfigFileDirectory)benchmark\project.lock.json - + + $(JitPackagesConfigFileDirectory)benchmark\obj\project.assets.json + \ No newline at end of file diff --git a/tests/src/JIT/Performance/CodeQuality/BenchF/Regula/Regula.cs b/tests/src/JIT/Performance/CodeQuality/BenchF/Regula/Regula.cs index 0011288e55..c2978914b2 100644 --- a/tests/src/JIT/Performance/CodeQuality/BenchF/Regula/Regula.cs +++ b/tests/src/JIT/Performance/CodeQuality/BenchF/Regula/Regula.cs @@ -10,7 +10,6 @@ using System.Runtime.CompilerServices; using Xunit; [assembly: OptimizeForBenchmarks] -[assembly: MeasureInstructionsRetired] namespace Benchstone.BenchF { diff --git a/tests/src/JIT/Performance/CodeQuality/BenchF/Regula/Regula.csproj b/tests/src/JIT/Performance/CodeQuality/BenchF/Regula/Regula.csproj index 37fa54eda8..b674da9031 100644 --- a/tests/src/JIT/Performance/CodeQuality/BenchF/Regula/Regula.csproj +++ b/tests/src/JIT/Performance/CodeQuality/BenchF/Regula/Regula.csproj @@ -10,6 +10,7 @@ {786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} ..\..\ .NETStandard,Version=v1.4 + netstandard1.4 @@ -29,10 +30,9 @@ - - $(JitPackagesConfigFileDirectory)benchmark\project.json - $(JitPackagesConfigFileDirectory)benchmark\project.lock.json - + + $(JitPackagesConfigFileDirectory)benchmark\obj\project.assets.json + \ No newline at end of file diff --git a/tests/src/JIT/Performance/CodeQuality/BenchF/Romber/Romber.cs b/tests/src/JIT/Performance/CodeQuality/BenchF/Romber/Romber.cs index a4d56f7b0f..1e7c6879ad 100644 --- a/tests/src/JIT/Performance/CodeQuality/BenchF/Romber/Romber.cs +++ b/tests/src/JIT/Performance/CodeQuality/BenchF/Romber/Romber.cs @@ -10,7 +10,6 @@ using System.Runtime.CompilerServices; using Xunit; [assembly: OptimizeForBenchmarks] -[assembly: MeasureInstructionsRetired] namespace Benchstone.BenchF { diff --git a/tests/src/JIT/Performance/CodeQuality/BenchF/Romber/Romber.csproj b/tests/src/JIT/Performance/CodeQuality/BenchF/Romber/Romber.csproj index ca2c525458..147ae342a4 100644 --- a/tests/src/JIT/Performance/CodeQuality/BenchF/Romber/Romber.csproj +++ b/tests/src/JIT/Performance/CodeQuality/BenchF/Romber/Romber.csproj @@ -10,6 +10,7 @@ {786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} ..\..\ .NETStandard,Version=v1.4 + netstandard1.4 @@ -29,10 +30,9 @@ - - $(JitPackagesConfigFileDirectory)benchmark\project.json - $(JitPackagesConfigFileDirectory)benchmark\project.lock.json - + + $(JitPackagesConfigFileDirectory)benchmark\obj\project.assets.json + \ No newline at end of file diff --git a/tests/src/JIT/Performance/CodeQuality/BenchF/Secant/Secant.cs b/tests/src/JIT/Performance/CodeQuality/BenchF/Secant/Secant.cs index 060fb5b0a4..9dcc1feb3f 100644 --- a/tests/src/JIT/Performance/CodeQuality/BenchF/Secant/Secant.cs +++ b/tests/src/JIT/Performance/CodeQuality/BenchF/Secant/Secant.cs @@ -10,7 +10,6 @@ using System.Runtime.CompilerServices; using Xunit; [assembly: OptimizeForBenchmarks] -[assembly: MeasureInstructionsRetired] namespace Benchstone.BenchF { diff --git a/tests/src/JIT/Performance/CodeQuality/BenchF/Secant/Secant.csproj b/tests/src/JIT/Performance/CodeQuality/BenchF/Secant/Secant.csproj index 27e3773834..9bc41d95aa 100644 --- a/tests/src/JIT/Performance/CodeQuality/BenchF/Secant/Secant.csproj +++ b/tests/src/JIT/Performance/CodeQuality/BenchF/Secant/Secant.csproj @@ -10,6 +10,7 @@ {786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} ..\..\ .NETStandard,Version=v1.4 + netstandard1.4 @@ -29,10 +30,9 @@ - - $(JitPackagesConfigFileDirectory)benchmark\project.json - $(JitPackagesConfigFileDirectory)benchmark\project.lock.json - + + $(JitPackagesConfigFileDirectory)benchmark\obj\project.assets.json + \ No newline at end of file diff --git a/tests/src/JIT/Performance/CodeQuality/BenchF/Simpsn/Simpsn.cs b/tests/src/JIT/Performance/CodeQuality/BenchF/Simpsn/Simpsn.cs index 5b2df292af..34c6c56230 100644 --- a/tests/src/JIT/Performance/CodeQuality/BenchF/Simpsn/Simpsn.cs +++ b/tests/src/JIT/Performance/CodeQuality/BenchF/Simpsn/Simpsn.cs @@ -10,7 +10,6 @@ using System.Runtime.CompilerServices; using Xunit; [assembly: OptimizeForBenchmarks] -[assembly: MeasureInstructionsRetired] namespace Benchstone.BenchF { diff --git a/tests/src/JIT/Performance/CodeQuality/BenchF/Simpsn/Simpsn.csproj b/tests/src/JIT/Performance/CodeQuality/BenchF/Simpsn/Simpsn.csproj index d7b09af860..b63153a388 100644 --- a/tests/src/JIT/Performance/CodeQuality/BenchF/Simpsn/Simpsn.csproj +++ b/tests/src/JIT/Performance/CodeQuality/BenchF/Simpsn/Simpsn.csproj @@ -10,6 +10,7 @@ {786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} ..\..\ .NETStandard,Version=v1.4 + netstandard1.4 @@ -29,10 +30,9 @@ - - $(JitPackagesConfigFileDirectory)benchmark\project.json - $(JitPackagesConfigFileDirectory)benchmark\project.lock.json - + + $(JitPackagesConfigFileDirectory)benchmark\obj\project.assets.json + \ No newline at end of file diff --git a/tests/src/JIT/Performance/CodeQuality/BenchF/SqMtx/SqMtx.cs b/tests/src/JIT/Performance/CodeQuality/BenchF/SqMtx/SqMtx.cs index b22aad88b7..8ea7556d56 100644 --- a/tests/src/JIT/Performance/CodeQuality/BenchF/SqMtx/SqMtx.cs +++ b/tests/src/JIT/Performance/CodeQuality/BenchF/SqMtx/SqMtx.cs @@ -9,7 +9,6 @@ using System.Runtime.CompilerServices; using Xunit; [assembly: OptimizeForBenchmarks] -[assembly: MeasureInstructionsRetired] namespace Benchstone.BenchF { diff --git a/tests/src/JIT/Performance/CodeQuality/BenchF/SqMtx/SqMtx.csproj b/tests/src/JIT/Performance/CodeQuality/BenchF/SqMtx/SqMtx.csproj index 90d780e258..daf711df07 100644 --- a/tests/src/JIT/Performance/CodeQuality/BenchF/SqMtx/SqMtx.csproj +++ b/tests/src/JIT/Performance/CodeQuality/BenchF/SqMtx/SqMtx.csproj @@ -10,6 +10,7 @@ {786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} ..\..\ .NETStandard,Version=v1.4 + netstandard1.4 @@ -29,10 +30,9 @@ - - $(JitPackagesConfigFileDirectory)benchmark\project.json - $(JitPackagesConfigFileDirectory)benchmark\project.lock.json - + + $(JitPackagesConfigFileDirectory)benchmark\obj\project.assets.json + \ No newline at end of file diff --git a/tests/src/JIT/Performance/CodeQuality/BenchF/Trap/Trap.cs b/tests/src/JIT/Performance/CodeQuality/BenchF/Trap/Trap.cs index 3a0de102ed..33895ccc0c 100644 --- a/tests/src/JIT/Performance/CodeQuality/BenchF/Trap/Trap.cs +++ b/tests/src/JIT/Performance/CodeQuality/BenchF/Trap/Trap.cs @@ -10,7 +10,6 @@ using System.Runtime.CompilerServices; using Xunit; [assembly: OptimizeForBenchmarks] -[assembly: MeasureInstructionsRetired] namespace Benchstone.BenchF { diff --git a/tests/src/JIT/Performance/CodeQuality/BenchF/Trap/Trap.csproj b/tests/src/JIT/Performance/CodeQuality/BenchF/Trap/Trap.csproj index e9f704cf6b..97909f61d0 100644 --- a/tests/src/JIT/Performance/CodeQuality/BenchF/Trap/Trap.csproj +++ b/tests/src/JIT/Performance/CodeQuality/BenchF/Trap/Trap.csproj @@ -10,6 +10,7 @@ {786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} ..\..\ .NETStandard,Version=v1.4 + netstandard1.4 @@ -29,10 +30,9 @@ - - $(JitPackagesConfigFileDirectory)benchmark\project.json - $(JitPackagesConfigFileDirectory)benchmark\project.lock.json - + + $(JitPackagesConfigFileDirectory)benchmark\obj\project.assets.json + \ No newline at end of file diff --git a/tests/src/JIT/Performance/CodeQuality/BenchF/Whetsto/Whetsto.cs b/tests/src/JIT/Performance/CodeQuality/BenchF/Whetsto/Whetsto.cs index ffe3fa5d8b..d72e58789d 100644 --- a/tests/src/JIT/Performance/CodeQuality/BenchF/Whetsto/Whetsto.cs +++ b/tests/src/JIT/Performance/CodeQuality/BenchF/Whetsto/Whetsto.cs @@ -10,7 +10,6 @@ using System.Runtime.CompilerServices; using Xunit; [assembly: OptimizeForBenchmarks] -[assembly: MeasureInstructionsRetired] namespace Benchstone.BenchF { diff --git a/tests/src/JIT/Performance/CodeQuality/BenchF/Whetsto/Whetsto.csproj b/tests/src/JIT/Performance/CodeQuality/BenchF/Whetsto/Whetsto.csproj index 02eaf525e9..c08f3ff969 100644 --- a/tests/src/JIT/Performance/CodeQuality/BenchF/Whetsto/Whetsto.csproj +++ b/tests/src/JIT/Performance/CodeQuality/BenchF/Whetsto/Whetsto.csproj @@ -10,6 +10,7 @@ {786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} ..\..\ .NETStandard,Version=v1.4 + netstandard1.4 @@ -29,10 +30,9 @@ - - $(JitPackagesConfigFileDirectory)benchmark\project.json - $(JitPackagesConfigFileDirectory)benchmark\project.lock.json - + + $(JitPackagesConfigFileDirectory)benchmark\obj\project.assets.json + \ No newline at end of file diff --git a/tests/src/JIT/Performance/CodeQuality/BenchI/8Queens/8Queens.cs b/tests/src/JIT/Performance/CodeQuality/BenchI/8Queens/8Queens.cs index e641ee0a74..d499441822 100644 --- a/tests/src/JIT/Performance/CodeQuality/BenchI/8Queens/8Queens.cs +++ b/tests/src/JIT/Performance/CodeQuality/BenchI/8Queens/8Queens.cs @@ -9,7 +9,6 @@ using System.Runtime.CompilerServices; using Xunit; [assembly: OptimizeForBenchmarks] -[assembly: MeasureInstructionsRetired] namespace Benchstone.BenchI { diff --git a/tests/src/JIT/Performance/CodeQuality/BenchI/8Queens/8Queens.csproj b/tests/src/JIT/Performance/CodeQuality/BenchI/8Queens/8Queens.csproj index a4c3de5674..5db8e820ac 100644 --- a/tests/src/JIT/Performance/CodeQuality/BenchI/8Queens/8Queens.csproj +++ b/tests/src/JIT/Performance/CodeQuality/BenchI/8Queens/8Queens.csproj @@ -10,6 +10,7 @@ {786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} ..\..\ .NETStandard,Version=v1.4 + netstandard1.4 @@ -29,10 +30,9 @@ - - $(JitPackagesConfigFileDirectory)benchmark\project.json - $(JitPackagesConfigFileDirectory)benchmark\project.lock.json - + + $(JitPackagesConfigFileDirectory)benchmark\obj\project.assets.json + \ No newline at end of file diff --git a/tests/src/JIT/Performance/CodeQuality/BenchI/Ackermann/Ackermann.cs b/tests/src/JIT/Performance/CodeQuality/BenchI/Ackermann/Ackermann.cs index 5bfa196527..5188571c91 100644 --- a/tests/src/JIT/Performance/CodeQuality/BenchI/Ackermann/Ackermann.cs +++ b/tests/src/JIT/Performance/CodeQuality/BenchI/Ackermann/Ackermann.cs @@ -9,7 +9,6 @@ using System.Runtime.CompilerServices; using Xunit; [assembly: OptimizeForBenchmarks] -[assembly: MeasureInstructionsRetired] namespace Benchstone.BenchI { diff --git a/tests/src/JIT/Performance/CodeQuality/BenchI/Ackermann/Ackermann.csproj b/tests/src/JIT/Performance/CodeQuality/BenchI/Ackermann/Ackermann.csproj index 8f72e1c87e..08dfa01a1a 100644 --- a/tests/src/JIT/Performance/CodeQuality/BenchI/Ackermann/Ackermann.csproj +++ b/tests/src/JIT/Performance/CodeQuality/BenchI/Ackermann/Ackermann.csproj @@ -10,6 +10,7 @@ {786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} ..\..\ .NETStandard,Version=v1.4 + netstandard1.4 @@ -29,10 +30,9 @@ - - $(JitPackagesConfigFileDirectory)benchmark\project.json - $(JitPackagesConfigFileDirectory)benchmark\project.lock.json - + + $(JitPackagesConfigFileDirectory)benchmark\obj\project.assets.json + \ No newline at end of file diff --git a/tests/src/JIT/Performance/CodeQuality/BenchI/AddArray/AddArray.cs b/tests/src/JIT/Performance/CodeQuality/BenchI/AddArray/AddArray.cs index d38e6b4475..16da08250d 100644 --- a/tests/src/JIT/Performance/CodeQuality/BenchI/AddArray/AddArray.cs +++ b/tests/src/JIT/Performance/CodeQuality/BenchI/AddArray/AddArray.cs @@ -9,7 +9,6 @@ using System.Runtime.CompilerServices; using Xunit; [assembly: OptimizeForBenchmarks] -[assembly: MeasureInstructionsRetired] namespace Benchstone.BenchI { diff --git a/tests/src/JIT/Performance/CodeQuality/BenchI/AddArray/AddArray.csproj b/tests/src/JIT/Performance/CodeQuality/BenchI/AddArray/AddArray.csproj index ffadd54595..9c260fe837 100644 --- a/tests/src/JIT/Performance/CodeQuality/BenchI/AddArray/AddArray.csproj +++ b/tests/src/JIT/Performance/CodeQuality/BenchI/AddArray/AddArray.csproj @@ -10,6 +10,7 @@ {786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} ..\..\ .NETStandard,Version=v1.4 + netstandard1.4 @@ -29,10 +30,9 @@ - - $(JitPackagesConfigFileDirectory)benchmark\project.json - $(JitPackagesConfigFileDirectory)benchmark\project.lock.json - + + $(JitPackagesConfigFileDirectory)benchmark\obj\project.assets.json + \ No newline at end of file diff --git a/tests/src/JIT/Performance/CodeQuality/BenchI/AddArray2/AddArray2.cs b/tests/src/JIT/Performance/CodeQuality/BenchI/AddArray2/AddArray2.cs index a6004f0309..3ce1a98f9f 100644 --- a/tests/src/JIT/Performance/CodeQuality/BenchI/AddArray2/AddArray2.cs +++ b/tests/src/JIT/Performance/CodeQuality/BenchI/AddArray2/AddArray2.cs @@ -9,7 +9,6 @@ using System.Runtime.CompilerServices; using Xunit; [assembly: OptimizeForBenchmarks] -[assembly: MeasureInstructionsRetired] namespace Benchstone.BenchI { diff --git a/tests/src/JIT/Performance/CodeQuality/BenchI/AddArray2/AddArray2.csproj b/tests/src/JIT/Performance/CodeQuality/BenchI/AddArray2/AddArray2.csproj index 2619b38c0c..265b099233 100644 --- a/tests/src/JIT/Performance/CodeQuality/BenchI/AddArray2/AddArray2.csproj +++ b/tests/src/JIT/Performance/CodeQuality/BenchI/AddArray2/AddArray2.csproj @@ -10,6 +10,7 @@ {786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} ..\..\ .NETStandard,Version=v1.4 + netstandard1.4 @@ -29,10 +30,9 @@ - - $(JitPackagesConfigFileDirectory)benchmark\project.json - $(JitPackagesConfigFileDirectory)benchmark\project.lock.json - + + $(JitPackagesConfigFileDirectory)benchmark\obj\project.assets.json + \ No newline at end of file diff --git a/tests/src/JIT/Performance/CodeQuality/BenchI/Array1/Array1.cs b/tests/src/JIT/Performance/CodeQuality/BenchI/Array1/Array1.cs index 780b7ce66f..5e383ace66 100644 --- a/tests/src/JIT/Performance/CodeQuality/BenchI/Array1/Array1.cs +++ b/tests/src/JIT/Performance/CodeQuality/BenchI/Array1/Array1.cs @@ -16,7 +16,6 @@ using System.Runtime.CompilerServices; using Xunit; [assembly: OptimizeForBenchmarks] -[assembly: MeasureInstructionsRetired] namespace Benchstone.BenchI { diff --git a/tests/src/JIT/Performance/CodeQuality/BenchI/Array1/Array1.csproj b/tests/src/JIT/Performance/CodeQuality/BenchI/Array1/Array1.csproj index cb1ed7b648..3bbd8afc30 100644 --- a/tests/src/JIT/Performance/CodeQuality/BenchI/Array1/Array1.csproj +++ b/tests/src/JIT/Performance/CodeQuality/BenchI/Array1/Array1.csproj @@ -10,6 +10,7 @@ {786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} ..\..\ .NETStandard,Version=v1.4 + netstandard1.4 @@ -29,10 +30,9 @@ - - $(JitPackagesConfigFileDirectory)benchmark\project.json - $(JitPackagesConfigFileDirectory)benchmark\project.lock.json - + + $(JitPackagesConfigFileDirectory)benchmark\obj\project.assets.json + \ No newline at end of file diff --git a/tests/src/JIT/Performance/CodeQuality/BenchI/Array2/Array2.cs b/tests/src/JIT/Performance/CodeQuality/BenchI/Array2/Array2.cs index dac100c5a7..45a4a9765b 100644 --- a/tests/src/JIT/Performance/CodeQuality/BenchI/Array2/Array2.cs +++ b/tests/src/JIT/Performance/CodeQuality/BenchI/Array2/Array2.cs @@ -9,7 +9,6 @@ using System.Runtime.CompilerServices; using Xunit; [assembly: OptimizeForBenchmarks] -[assembly: MeasureInstructionsRetired] namespace Benchstone.BenchI { diff --git a/tests/src/JIT/Performance/CodeQuality/BenchI/Array2/Array2.csproj b/tests/src/JIT/Performance/CodeQuality/BenchI/Array2/Array2.csproj index b368d85bda..9a3f889660 100644 --- a/tests/src/JIT/Performance/CodeQuality/BenchI/Array2/Array2.csproj +++ b/tests/src/JIT/Performance/CodeQuality/BenchI/Array2/Array2.csproj @@ -10,6 +10,7 @@ {786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} ..\..\ .NETStandard,Version=v1.4 + netstandard1.4 @@ -29,10 +30,9 @@ - - $(JitPackagesConfigFileDirectory)benchmark\project.json - $(JitPackagesConfigFileDirectory)benchmark\project.lock.json - + + $(JitPackagesConfigFileDirectory)benchmark\obj\project.assets.json + \ No newline at end of file diff --git a/tests/src/JIT/Performance/CodeQuality/BenchI/BenchE/BenchE.cs b/tests/src/JIT/Performance/CodeQuality/BenchI/BenchE/BenchE.cs index b16c48280b..5d9a7f10cb 100644 --- a/tests/src/JIT/Performance/CodeQuality/BenchI/BenchE/BenchE.cs +++ b/tests/src/JIT/Performance/CodeQuality/BenchI/BenchE/BenchE.cs @@ -9,7 +9,6 @@ using System.Runtime.CompilerServices; using Xunit; [assembly: OptimizeForBenchmarks] -[assembly: MeasureInstructionsRetired] namespace Benchstone.BenchI { diff --git a/tests/src/JIT/Performance/CodeQuality/BenchI/BenchE/BenchE.csproj b/tests/src/JIT/Performance/CodeQuality/BenchI/BenchE/BenchE.csproj index 6d58dc402f..05e511d32b 100644 --- a/tests/src/JIT/Performance/CodeQuality/BenchI/BenchE/BenchE.csproj +++ b/tests/src/JIT/Performance/CodeQuality/BenchI/BenchE/BenchE.csproj @@ -10,6 +10,7 @@ {786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} ..\..\ .NETStandard,Version=v1.4 + netstandard1.4 @@ -29,10 +30,9 @@ - - $(JitPackagesConfigFileDirectory)benchmark\project.json - $(JitPackagesConfigFileDirectory)benchmark\project.lock.json - + + $(JitPackagesConfigFileDirectory)benchmark\obj\project.assets.json + \ No newline at end of file diff --git a/tests/src/JIT/Performance/CodeQuality/BenchI/BubbleSort/BubbleSort.cs b/tests/src/JIT/Performance/CodeQuality/BenchI/BubbleSort/BubbleSort.cs index 558484d3d6..a2fbbcee30 100644 --- a/tests/src/JIT/Performance/CodeQuality/BenchI/BubbleSort/BubbleSort.cs +++ b/tests/src/JIT/Performance/CodeQuality/BenchI/BubbleSort/BubbleSort.cs @@ -9,7 +9,6 @@ using System.Runtime.CompilerServices; using Xunit; [assembly: OptimizeForBenchmarks] -[assembly: MeasureInstructionsRetired] namespace Benchstone.BenchI { diff --git a/tests/src/JIT/Performance/CodeQuality/BenchI/BubbleSort/BubbleSort.csproj b/tests/src/JIT/Performance/CodeQuality/BenchI/BubbleSort/BubbleSort.csproj index 776afa72c0..674e4f687a 100644 --- a/tests/src/JIT/Performance/CodeQuality/BenchI/BubbleSort/BubbleSort.csproj +++ b/tests/src/JIT/Performance/CodeQuality/BenchI/BubbleSort/BubbleSort.csproj @@ -10,6 +10,7 @@ {786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} ..\..\ .NETStandard,Version=v1.4 + netstandard1.4 @@ -29,10 +30,9 @@ - - $(JitPackagesConfigFileDirectory)benchmark\project.json - $(JitPackagesConfigFileDirectory)benchmark\project.lock.json - + + $(JitPackagesConfigFileDirectory)benchmark\obj\project.assets.json + \ No newline at end of file diff --git a/tests/src/JIT/Performance/CodeQuality/BenchI/BubbleSort2/BubbleSort2.cs b/tests/src/JIT/Performance/CodeQuality/BenchI/BubbleSort2/BubbleSort2.cs index 8c2e63a954..2dba59a793 100644 --- a/tests/src/JIT/Performance/CodeQuality/BenchI/BubbleSort2/BubbleSort2.cs +++ b/tests/src/JIT/Performance/CodeQuality/BenchI/BubbleSort2/BubbleSort2.cs @@ -9,7 +9,6 @@ using System.Runtime.CompilerServices; using Xunit; [assembly: OptimizeForBenchmarks] -[assembly: MeasureInstructionsRetired] namespace Benchstone.BenchI { diff --git a/tests/src/JIT/Performance/CodeQuality/BenchI/BubbleSort2/BubbleSort2.csproj b/tests/src/JIT/Performance/CodeQuality/BenchI/BubbleSort2/BubbleSort2.csproj index 448892e8eb..d5870cd244 100644 --- a/tests/src/JIT/Performance/CodeQuality/BenchI/BubbleSort2/BubbleSort2.csproj +++ b/tests/src/JIT/Performance/CodeQuality/BenchI/BubbleSort2/BubbleSort2.csproj @@ -10,6 +10,7 @@ {786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} ..\..\ .NETStandard,Version=v1.4 + netstandard1.4 @@ -29,10 +30,9 @@ - - $(JitPackagesConfigFileDirectory)benchmark\project.json - $(JitPackagesConfigFileDirectory)benchmark\project.lock.json - + + $(JitPackagesConfigFileDirectory)benchmark\obj\project.assets.json + \ No newline at end of file diff --git a/tests/src/JIT/Performance/CodeQuality/BenchI/CSieve/CSieve.cs b/tests/src/JIT/Performance/CodeQuality/BenchI/CSieve/CSieve.cs index aca263711d..67544bae59 100644 --- a/tests/src/JIT/Performance/CodeQuality/BenchI/CSieve/CSieve.cs +++ b/tests/src/JIT/Performance/CodeQuality/BenchI/CSieve/CSieve.cs @@ -10,7 +10,6 @@ using System.Runtime.CompilerServices; using Xunit; [assembly: OptimizeForBenchmarks] -[assembly: MeasureInstructionsRetired] namespace Benchstone.BenchI { diff --git a/tests/src/JIT/Performance/CodeQuality/BenchI/CSieve/CSieve.csproj b/tests/src/JIT/Performance/CodeQuality/BenchI/CSieve/CSieve.csproj index edbab6006b..85a1aea481 100644 --- a/tests/src/JIT/Performance/CodeQuality/BenchI/CSieve/CSieve.csproj +++ b/tests/src/JIT/Performance/CodeQuality/BenchI/CSieve/CSieve.csproj @@ -10,6 +10,7 @@ {786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} ..\..\ .NETStandard,Version=v1.4 + netstandard1.4 @@ -29,10 +30,9 @@ - - $(JitPackagesConfigFileDirectory)benchmark\project.json - $(JitPackagesConfigFileDirectory)benchmark\project.lock.json - + + $(JitPackagesConfigFileDirectory)benchmark\obj\project.assets.json + \ No newline at end of file diff --git a/tests/src/JIT/Performance/CodeQuality/BenchI/Fib/Fib.cs b/tests/src/JIT/Performance/CodeQuality/BenchI/Fib/Fib.cs index ee028db20f..3dd897db0f 100644 --- a/tests/src/JIT/Performance/CodeQuality/BenchI/Fib/Fib.cs +++ b/tests/src/JIT/Performance/CodeQuality/BenchI/Fib/Fib.cs @@ -9,7 +9,6 @@ using System.Runtime.CompilerServices; using Xunit; [assembly: OptimizeForBenchmarks] -[assembly: MeasureInstructionsRetired] namespace Benchstone.BenchI { diff --git a/tests/src/JIT/Performance/CodeQuality/BenchI/Fib/Fib.csproj b/tests/src/JIT/Performance/CodeQuality/BenchI/Fib/Fib.csproj index ff30f8ccf7..91763f28fa 100644 --- a/tests/src/JIT/Performance/CodeQuality/BenchI/Fib/Fib.csproj +++ b/tests/src/JIT/Performance/CodeQuality/BenchI/Fib/Fib.csproj @@ -10,6 +10,7 @@ {786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} ..\..\ .NETStandard,Version=v1.4 + netstandard1.4 @@ -29,10 +30,9 @@ - - $(JitPackagesConfigFileDirectory)benchmark\project.json - $(JitPackagesConfigFileDirectory)benchmark\project.lock.json - + + $(JitPackagesConfigFileDirectory)benchmark\obj\project.assets.json + \ No newline at end of file diff --git a/tests/src/JIT/Performance/CodeQuality/BenchI/HeapSort/HeapSort.cs b/tests/src/JIT/Performance/CodeQuality/BenchI/HeapSort/HeapSort.cs index 64b5c8f33b..b33087bd8e 100644 --- a/tests/src/JIT/Performance/CodeQuality/BenchI/HeapSort/HeapSort.cs +++ b/tests/src/JIT/Performance/CodeQuality/BenchI/HeapSort/HeapSort.cs @@ -9,7 +9,6 @@ using System.Runtime.CompilerServices; using Xunit; [assembly: OptimizeForBenchmarks] -[assembly: MeasureInstructionsRetired] namespace Benchstone.BenchI { diff --git a/tests/src/JIT/Performance/CodeQuality/BenchI/HeapSort/HeapSort.csproj b/tests/src/JIT/Performance/CodeQuality/BenchI/HeapSort/HeapSort.csproj index 270e55060f..7aed611204 100644 --- a/tests/src/JIT/Performance/CodeQuality/BenchI/HeapSort/HeapSort.csproj +++ b/tests/src/JIT/Performance/CodeQuality/BenchI/HeapSort/HeapSort.csproj @@ -10,6 +10,7 @@ {786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} ..\..\ .NETStandard,Version=v1.4 + netstandard1.4 @@ -29,10 +30,9 @@ - - $(JitPackagesConfigFileDirectory)benchmark\project.json - $(JitPackagesConfigFileDirectory)benchmark\project.lock.json - + + $(JitPackagesConfigFileDirectory)benchmark\obj\project.assets.json + \ No newline at end of file diff --git a/tests/src/JIT/Performance/CodeQuality/BenchI/IniArray/IniArray.cs b/tests/src/JIT/Performance/CodeQuality/BenchI/IniArray/IniArray.cs index 268af7b779..ff878d6127 100644 --- a/tests/src/JIT/Performance/CodeQuality/BenchI/IniArray/IniArray.cs +++ b/tests/src/JIT/Performance/CodeQuality/BenchI/IniArray/IniArray.cs @@ -9,7 +9,6 @@ using System.Runtime.CompilerServices; using Xunit; [assembly: OptimizeForBenchmarks] -[assembly: MeasureInstructionsRetired] namespace Benchstone.BenchI { diff --git a/tests/src/JIT/Performance/CodeQuality/BenchI/IniArray/IniArray.csproj b/tests/src/JIT/Performance/CodeQuality/BenchI/IniArray/IniArray.csproj index bcf7b40d72..15e50078ac 100644 --- a/tests/src/JIT/Performance/CodeQuality/BenchI/IniArray/IniArray.csproj +++ b/tests/src/JIT/Performance/CodeQuality/BenchI/IniArray/IniArray.csproj @@ -10,6 +10,7 @@ {786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} ..\..\ .NETStandard,Version=v1.4 + netstandard1.4 @@ -29,10 +30,9 @@ - - $(JitPackagesConfigFileDirectory)benchmark\project.json - $(JitPackagesConfigFileDirectory)benchmark\project.lock.json - + + $(JitPackagesConfigFileDirectory)benchmark\obj\project.assets.json + \ No newline at end of file diff --git a/tests/src/JIT/Performance/CodeQuality/BenchI/LogicArray/LogicArray.cs b/tests/src/JIT/Performance/CodeQuality/BenchI/LogicArray/LogicArray.cs index c5b4e3b0d8..c82b1e1e8b 100644 --- a/tests/src/JIT/Performance/CodeQuality/BenchI/LogicArray/LogicArray.cs +++ b/tests/src/JIT/Performance/CodeQuality/BenchI/LogicArray/LogicArray.cs @@ -9,7 +9,6 @@ using System.Runtime.CompilerServices; using Xunit; [assembly: OptimizeForBenchmarks] -[assembly: MeasureInstructionsRetired] namespace Benchstone.BenchI { diff --git a/tests/src/JIT/Performance/CodeQuality/BenchI/LogicArray/LogicArray.csproj b/tests/src/JIT/Performance/CodeQuality/BenchI/LogicArray/LogicArray.csproj index 669a0efdd5..3ab835d461 100644 --- a/tests/src/JIT/Performance/CodeQuality/BenchI/LogicArray/LogicArray.csproj +++ b/tests/src/JIT/Performance/CodeQuality/BenchI/LogicArray/LogicArray.csproj @@ -10,6 +10,7 @@ {786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} ..\..\ .NETStandard,Version=v1.4 + netstandard1.4 @@ -29,10 +30,9 @@ - - $(JitPackagesConfigFileDirectory)benchmark\project.json - $(JitPackagesConfigFileDirectory)benchmark\project.lock.json - + + $(JitPackagesConfigFileDirectory)benchmark\obj\project.assets.json + \ No newline at end of file diff --git a/tests/src/JIT/Performance/CodeQuality/BenchI/Midpoint/Midpoint.cs b/tests/src/JIT/Performance/CodeQuality/BenchI/Midpoint/Midpoint.cs index 9146874358..f04fa9ff60 100644 --- a/tests/src/JIT/Performance/CodeQuality/BenchI/Midpoint/Midpoint.cs +++ b/tests/src/JIT/Performance/CodeQuality/BenchI/Midpoint/Midpoint.cs @@ -9,7 +9,6 @@ using System.Runtime.CompilerServices; using Xunit; [assembly: OptimizeForBenchmarks] -[assembly: MeasureInstructionsRetired] namespace Benchstone.BenchI { diff --git a/tests/src/JIT/Performance/CodeQuality/BenchI/Midpoint/Midpoint.csproj b/tests/src/JIT/Performance/CodeQuality/BenchI/Midpoint/Midpoint.csproj index 666ba47ce2..76d2a5a391 100644 --- a/tests/src/JIT/Performance/CodeQuality/BenchI/Midpoint/Midpoint.csproj +++ b/tests/src/JIT/Performance/CodeQuality/BenchI/Midpoint/Midpoint.csproj @@ -10,6 +10,7 @@ {786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} ..\..\ .NETStandard,Version=v1.4 + netstandard1.4 @@ -29,10 +30,9 @@ - - $(JitPackagesConfigFileDirectory)benchmark\project.json - $(JitPackagesConfigFileDirectory)benchmark\project.lock.json - + + $(JitPackagesConfigFileDirectory)benchmark\obj\project.assets.json + \ No newline at end of file diff --git a/tests/src/JIT/Performance/CodeQuality/BenchI/MulMatrix/MulMatrix.cs b/tests/src/JIT/Performance/CodeQuality/BenchI/MulMatrix/MulMatrix.cs index a45c012984..202ed3c052 100644 --- a/tests/src/JIT/Performance/CodeQuality/BenchI/MulMatrix/MulMatrix.cs +++ b/tests/src/JIT/Performance/CodeQuality/BenchI/MulMatrix/MulMatrix.cs @@ -9,7 +9,6 @@ using System.Runtime.CompilerServices; using Xunit; [assembly: OptimizeForBenchmarks] -[assembly: MeasureInstructionsRetired] namespace Benchstone.BenchI { diff --git a/tests/src/JIT/Performance/CodeQuality/BenchI/MulMatrix/MulMatrix.csproj b/tests/src/JIT/Performance/CodeQuality/BenchI/MulMatrix/MulMatrix.csproj index 78573f88cc..4c73bd6564 100644 --- a/tests/src/JIT/Performance/CodeQuality/BenchI/MulMatrix/MulMatrix.csproj +++ b/tests/src/JIT/Performance/CodeQuality/BenchI/MulMatrix/MulMatrix.csproj @@ -10,6 +10,7 @@ {786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} ..\..\ .NETStandard,Version=v1.4 + netstandard1.4 @@ -29,10 +30,9 @@ - - $(JitPackagesConfigFileDirectory)benchmark\project.json - $(JitPackagesConfigFileDirectory)benchmark\project.lock.json - + + $(JitPackagesConfigFileDirectory)benchmark\obj\project.assets.json + \ No newline at end of file diff --git a/tests/src/JIT/Performance/CodeQuality/BenchI/NDhrystone/NDhrystone.cs b/tests/src/JIT/Performance/CodeQuality/BenchI/NDhrystone/NDhrystone.cs index 33effcbf40..7a28c97cf7 100644 --- a/tests/src/JIT/Performance/CodeQuality/BenchI/NDhrystone/NDhrystone.cs +++ b/tests/src/JIT/Performance/CodeQuality/BenchI/NDhrystone/NDhrystone.cs @@ -14,7 +14,6 @@ using System.Runtime.CompilerServices; using Xunit; [assembly: OptimizeForBenchmarks] -[assembly: MeasureInstructionsRetired] namespace Benchstone.BenchI { diff --git a/tests/src/JIT/Performance/CodeQuality/BenchI/NDhrystone/NDhrystone.csproj b/tests/src/JIT/Performance/CodeQuality/BenchI/NDhrystone/NDhrystone.csproj index 5622ad71d2..b8eb815e06 100644 --- a/tests/src/JIT/Performance/CodeQuality/BenchI/NDhrystone/NDhrystone.csproj +++ b/tests/src/JIT/Performance/CodeQuality/BenchI/NDhrystone/NDhrystone.csproj @@ -10,6 +10,7 @@ {786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} ..\..\ .NETStandard,Version=v1.4 + netstandard1.4 @@ -29,10 +30,9 @@ - - $(JitPackagesConfigFileDirectory)benchmark\project.json - $(JitPackagesConfigFileDirectory)benchmark\project.lock.json - + + $(JitPackagesConfigFileDirectory)benchmark\obj\project.assets.json + \ No newline at end of file diff --git a/tests/src/JIT/Performance/CodeQuality/BenchI/Permutate/Permutate.cs b/tests/src/JIT/Performance/CodeQuality/BenchI/Permutate/Permutate.cs index 43fc28b370..5dda2631b2 100644 --- a/tests/src/JIT/Performance/CodeQuality/BenchI/Permutate/Permutate.cs +++ b/tests/src/JIT/Performance/CodeQuality/BenchI/Permutate/Permutate.cs @@ -9,7 +9,6 @@ using System.Runtime.CompilerServices; using Xunit; [assembly: OptimizeForBenchmarks] -[assembly: MeasureInstructionsRetired] namespace Benchstone.BenchI { diff --git a/tests/src/JIT/Performance/CodeQuality/BenchI/Permutate/Permutate.csproj b/tests/src/JIT/Performance/CodeQuality/BenchI/Permutate/Permutate.csproj index 63339c8903..76d7b9ded5 100644 --- a/tests/src/JIT/Performance/CodeQuality/BenchI/Permutate/Permutate.csproj +++ b/tests/src/JIT/Performance/CodeQuality/BenchI/Permutate/Permutate.csproj @@ -10,6 +10,7 @@ {786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} ..\..\ .NETStandard,Version=v1.4 + netstandard1.4 @@ -29,10 +30,9 @@ - - $(JitPackagesConfigFileDirectory)benchmark\project.json - $(JitPackagesConfigFileDirectory)benchmark\project.lock.json - + + $(JitPackagesConfigFileDirectory)benchmark\obj\project.assets.json + \ No newline at end of file diff --git a/tests/src/JIT/Performance/CodeQuality/BenchI/Pi/Pi.cs b/tests/src/JIT/Performance/CodeQuality/BenchI/Pi/Pi.cs index 2fe0918784..7a6bed7dd7 100644 --- a/tests/src/JIT/Performance/CodeQuality/BenchI/Pi/Pi.cs +++ b/tests/src/JIT/Performance/CodeQuality/BenchI/Pi/Pi.cs @@ -9,7 +9,6 @@ using System.Runtime.CompilerServices; using Xunit; [assembly: OptimizeForBenchmarks] -[assembly: MeasureInstructionsRetired] namespace Benchstone.BenchI { diff --git a/tests/src/JIT/Performance/CodeQuality/BenchI/Pi/Pi.csproj b/tests/src/JIT/Performance/CodeQuality/BenchI/Pi/Pi.csproj index 5228f957ba..c2368e0d35 100644 --- a/tests/src/JIT/Performance/CodeQuality/BenchI/Pi/Pi.csproj +++ b/tests/src/JIT/Performance/CodeQuality/BenchI/Pi/Pi.csproj @@ -10,6 +10,7 @@ {786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} ..\..\ .NETStandard,Version=v1.4 + netstandard1.4 @@ -29,10 +30,9 @@ - - $(JitPackagesConfigFileDirectory)benchmark\project.json - $(JitPackagesConfigFileDirectory)benchmark\project.lock.json - + + $(JitPackagesConfigFileDirectory)benchmark\obj\project.assets.json + \ No newline at end of file diff --git a/tests/src/JIT/Performance/CodeQuality/BenchI/Puzzle/Puzzle.cs b/tests/src/JIT/Performance/CodeQuality/BenchI/Puzzle/Puzzle.cs index 2271e02455..220b5c7023 100644 --- a/tests/src/JIT/Performance/CodeQuality/BenchI/Puzzle/Puzzle.cs +++ b/tests/src/JIT/Performance/CodeQuality/BenchI/Puzzle/Puzzle.cs @@ -9,7 +9,6 @@ using System.Runtime.CompilerServices; using Xunit; [assembly: OptimizeForBenchmarks] -[assembly: MeasureInstructionsRetired] namespace Benchstone.BenchI { diff --git a/tests/src/JIT/Performance/CodeQuality/BenchI/Puzzle/Puzzle.csproj b/tests/src/JIT/Performance/CodeQuality/BenchI/Puzzle/Puzzle.csproj index ea10a44d83..66d9b49550 100644 --- a/tests/src/JIT/Performance/CodeQuality/BenchI/Puzzle/Puzzle.csproj +++ b/tests/src/JIT/Performance/CodeQuality/BenchI/Puzzle/Puzzle.csproj @@ -10,6 +10,7 @@ {786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} ..\..\ .NETStandard,Version=v1.4 + netstandard1.4 @@ -29,10 +30,9 @@ - - $(JitPackagesConfigFileDirectory)benchmark\project.json - $(JitPackagesConfigFileDirectory)benchmark\project.lock.json - + + $(JitPackagesConfigFileDirectory)benchmark\obj\project.assets.json + \ No newline at end of file diff --git a/tests/src/JIT/Performance/CodeQuality/BenchI/QuickSort/QuickSort.cs b/tests/src/JIT/Performance/CodeQuality/BenchI/QuickSort/QuickSort.cs index 7cdac96a69..b5bbc47913 100644 --- a/tests/src/JIT/Performance/CodeQuality/BenchI/QuickSort/QuickSort.cs +++ b/tests/src/JIT/Performance/CodeQuality/BenchI/QuickSort/QuickSort.cs @@ -9,7 +9,6 @@ using System.Runtime.CompilerServices; using Xunit; [assembly: OptimizeForBenchmarks] -[assembly: MeasureInstructionsRetired] namespace Benchstone.BenchI { diff --git a/tests/src/JIT/Performance/CodeQuality/BenchI/QuickSort/QuickSort.csproj b/tests/src/JIT/Performance/CodeQuality/BenchI/QuickSort/QuickSort.csproj index f16d1d38b1..87408cd0b4 100644 --- a/tests/src/JIT/Performance/CodeQuality/BenchI/QuickSort/QuickSort.csproj +++ b/tests/src/JIT/Performance/CodeQuality/BenchI/QuickSort/QuickSort.csproj @@ -10,6 +10,7 @@ {786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} ..\..\ .NETStandard,Version=v1.4 + netstandard1.4 @@ -29,10 +30,9 @@ - - $(JitPackagesConfigFileDirectory)benchmark\project.json - $(JitPackagesConfigFileDirectory)benchmark\project.lock.json - + + $(JitPackagesConfigFileDirectory)benchmark\obj\project.assets.json + \ No newline at end of file diff --git a/tests/src/JIT/Performance/CodeQuality/BenchI/TreeInsert/TreeInsert.cs b/tests/src/JIT/Performance/CodeQuality/BenchI/TreeInsert/TreeInsert.cs index 2867abc4d4..76d04d607a 100644 --- a/tests/src/JIT/Performance/CodeQuality/BenchI/TreeInsert/TreeInsert.cs +++ b/tests/src/JIT/Performance/CodeQuality/BenchI/TreeInsert/TreeInsert.cs @@ -9,7 +9,6 @@ using System.Runtime.CompilerServices; using Xunit; [assembly: OptimizeForBenchmarks] -[assembly: MeasureInstructionsRetired] namespace Benchstone.BenchI { diff --git a/tests/src/JIT/Performance/CodeQuality/BenchI/TreeInsert/TreeInsert.csproj b/tests/src/JIT/Performance/CodeQuality/BenchI/TreeInsert/TreeInsert.csproj index caa2de7720..a768a01d95 100644 --- a/tests/src/JIT/Performance/CodeQuality/BenchI/TreeInsert/TreeInsert.csproj +++ b/tests/src/JIT/Performance/CodeQuality/BenchI/TreeInsert/TreeInsert.csproj @@ -10,6 +10,7 @@ {786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} ..\..\ .NETStandard,Version=v1.4 + netstandard1.4 @@ -29,10 +30,9 @@ - - $(JitPackagesConfigFileDirectory)benchmark\project.json - $(JitPackagesConfigFileDirectory)benchmark\project.lock.json - + + $(JitPackagesConfigFileDirectory)benchmark\obj\project.assets.json + \ No newline at end of file diff --git a/tests/src/JIT/Performance/CodeQuality/BenchI/TreeSort/TreeSort.cs b/tests/src/JIT/Performance/CodeQuality/BenchI/TreeSort/TreeSort.cs index e0971346cf..07c7c29877 100644 --- a/tests/src/JIT/Performance/CodeQuality/BenchI/TreeSort/TreeSort.cs +++ b/tests/src/JIT/Performance/CodeQuality/BenchI/TreeSort/TreeSort.cs @@ -9,7 +9,6 @@ using System.Runtime.CompilerServices; using Xunit; [assembly: OptimizeForBenchmarks] -[assembly: MeasureInstructionsRetired] namespace Benchstone.BenchI { diff --git a/tests/src/JIT/Performance/CodeQuality/BenchI/TreeSort/TreeSort.csproj b/tests/src/JIT/Performance/CodeQuality/BenchI/TreeSort/TreeSort.csproj index 9d253e28b4..770b495ac5 100644 --- a/tests/src/JIT/Performance/CodeQuality/BenchI/TreeSort/TreeSort.csproj +++ b/tests/src/JIT/Performance/CodeQuality/BenchI/TreeSort/TreeSort.csproj @@ -10,6 +10,7 @@ {786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} ..\..\ .NETStandard,Version=v1.4 + netstandard1.4 @@ -29,10 +30,9 @@ - - $(JitPackagesConfigFileDirectory)benchmark\project.json - $(JitPackagesConfigFileDirectory)benchmark\project.lock.json - + + $(JitPackagesConfigFileDirectory)benchmark\obj\project.assets.json + \ No newline at end of file diff --git a/tests/src/JIT/Performance/CodeQuality/BenchI/XposMatrix/XposMatrix.cs b/tests/src/JIT/Performance/CodeQuality/BenchI/XposMatrix/XposMatrix.cs index de8b486049..47fbf3730a 100644 --- a/tests/src/JIT/Performance/CodeQuality/BenchI/XposMatrix/XposMatrix.cs +++ b/tests/src/JIT/Performance/CodeQuality/BenchI/XposMatrix/XposMatrix.cs @@ -9,7 +9,6 @@ using System.Runtime.CompilerServices; using Xunit; [assembly: OptimizeForBenchmarks] -[assembly: MeasureInstructionsRetired] namespace Benchstone.BenchI { diff --git a/tests/src/JIT/Performance/CodeQuality/BenchI/XposMatrix/XposMatrix.csproj b/tests/src/JIT/Performance/CodeQuality/BenchI/XposMatrix/XposMatrix.csproj index a234c09352..a18aa8811a 100644 --- a/tests/src/JIT/Performance/CodeQuality/BenchI/XposMatrix/XposMatrix.csproj +++ b/tests/src/JIT/Performance/CodeQuality/BenchI/XposMatrix/XposMatrix.csproj @@ -10,6 +10,7 @@ {786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} ..\..\ .NETStandard,Version=v1.4 + netstandard1.4 @@ -29,10 +30,9 @@ - - $(JitPackagesConfigFileDirectory)benchmark\project.json - $(JitPackagesConfigFileDirectory)benchmark\project.lock.json - + + $(JitPackagesConfigFileDirectory)benchmark\obj\project.assets.json + \ No newline at end of file diff --git a/tests/src/JIT/Performance/CodeQuality/BenchmarksGame/binarytrees/binarytrees.csharp.cs b/tests/src/JIT/Performance/CodeQuality/BenchmarksGame/binarytrees/binarytrees.csharp.cs index 05dbe94f09..6e44629499 100644 --- a/tests/src/JIT/Performance/CodeQuality/BenchmarksGame/binarytrees/binarytrees.csharp.cs +++ b/tests/src/JIT/Performance/CodeQuality/BenchmarksGame/binarytrees/binarytrees.csharp.cs @@ -15,7 +15,6 @@ using System.Runtime.CompilerServices; using Xunit; [assembly: OptimizeForBenchmarks] -[assembly: MeasureInstructionsRetired] [assembly: MeasureGCCounts] namespace BenchmarksGame diff --git a/tests/src/JIT/Performance/CodeQuality/BenchmarksGame/binarytrees/binarytrees.csharp3.cs b/tests/src/JIT/Performance/CodeQuality/BenchmarksGame/binarytrees/binarytrees.csharp3.cs index 6dcf48a422..0cc239274b 100644 --- a/tests/src/JIT/Performance/CodeQuality/BenchmarksGame/binarytrees/binarytrees.csharp3.cs +++ b/tests/src/JIT/Performance/CodeQuality/BenchmarksGame/binarytrees/binarytrees.csharp3.cs @@ -16,7 +16,6 @@ using System.Runtime.CompilerServices; using Xunit; [assembly: OptimizeForBenchmarks] -[assembly: MeasureInstructionsRetired] [assembly: MeasureGCCounts] namespace BenchmarksGame diff --git a/tests/src/JIT/Performance/CodeQuality/BenchmarksGame/binarytrees/binarytrees.csproj b/tests/src/JIT/Performance/CodeQuality/BenchmarksGame/binarytrees/binarytrees.csproj index 3cbf952833..d10772f2af 100644 --- a/tests/src/JIT/Performance/CodeQuality/BenchmarksGame/binarytrees/binarytrees.csproj +++ b/tests/src/JIT/Performance/CodeQuality/BenchmarksGame/binarytrees/binarytrees.csproj @@ -10,6 +10,7 @@ {786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} ..\..\ .NETStandard,Version=v1.4 + netstandard1.4 true @@ -32,11 +33,9 @@ - - $(JitPackagesConfigFileDirectory)benchmark\project.json - $(JitPackagesConfigFileDirectory)benchmark\project.lock.json - - + + + $(JitPackagesConfigFileDirectory)benchmark\obj\project.assets.json diff --git a/tests/src/JIT/Performance/CodeQuality/BenchmarksGame/binarytrees/binarytrees3.csproj b/tests/src/JIT/Performance/CodeQuality/BenchmarksGame/binarytrees/binarytrees3.csproj index a7c8f2daf3..3dffd5e4bf 100644 --- a/tests/src/JIT/Performance/CodeQuality/BenchmarksGame/binarytrees/binarytrees3.csproj +++ b/tests/src/JIT/Performance/CodeQuality/BenchmarksGame/binarytrees/binarytrees3.csproj @@ -10,6 +10,7 @@ {786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} ..\..\ .NETStandard,Version=v1.4 + netstandard1.4 true @@ -32,11 +33,9 @@ - - $(JitPackagesConfigFileDirectory)benchmark\project.json - $(JitPackagesConfigFileDirectory)benchmark\project.lock.json - - + + + $(JitPackagesConfigFileDirectory)benchmark\obj\project.assets.json diff --git a/tests/src/JIT/Performance/CodeQuality/BenchmarksGame/fasta/fasta.csharp-2.cs b/tests/src/JIT/Performance/CodeQuality/BenchmarksGame/fasta/fasta.csharp-2.cs index 92fbceb692..3e97d64429 100644 --- a/tests/src/JIT/Performance/CodeQuality/BenchmarksGame/fasta/fasta.csharp-2.cs +++ b/tests/src/JIT/Performance/CodeQuality/BenchmarksGame/fasta/fasta.csharp-2.cs @@ -16,7 +16,6 @@ using System.IO; using System.Text; [assembly: OptimizeForBenchmarks] -[assembly: MeasureInstructionsRetired] namespace BenchmarksGame { diff --git a/tests/src/JIT/Performance/CodeQuality/BenchmarksGame/fasta/fasta.csproj b/tests/src/JIT/Performance/CodeQuality/BenchmarksGame/fasta/fasta.csproj index 259d5e8ff3..5d5c7f72c6 100644 --- a/tests/src/JIT/Performance/CodeQuality/BenchmarksGame/fasta/fasta.csproj +++ b/tests/src/JIT/Performance/CodeQuality/BenchmarksGame/fasta/fasta.csproj @@ -10,6 +10,7 @@ {786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} ..\..\ .NETStandard,Version=v1.4 + netstandard1.4 @@ -29,10 +30,9 @@ - - $(JitPackagesConfigFileDirectory)benchmark\project.json - $(JitPackagesConfigFileDirectory)benchmark\project.lock.json - + + $(JitPackagesConfigFileDirectory)benchmark\obj\project.assets.json + \ No newline at end of file diff --git a/tests/src/JIT/Performance/CodeQuality/BenchmarksGame/fastaredux/fastaredux.csharp.cs b/tests/src/JIT/Performance/CodeQuality/BenchmarksGame/fastaredux/fastaredux.csharp.cs index df8999a2de..c7a786a77e 100644 --- a/tests/src/JIT/Performance/CodeQuality/BenchmarksGame/fastaredux/fastaredux.csharp.cs +++ b/tests/src/JIT/Performance/CodeQuality/BenchmarksGame/fastaredux/fastaredux.csharp.cs @@ -16,7 +16,6 @@ using System.IO; using System.Text; [assembly: OptimizeForBenchmarks] -[assembly: MeasureInstructionsRetired] namespace BenchmarksGame { diff --git a/tests/src/JIT/Performance/CodeQuality/BenchmarksGame/fastaredux/fastaredux.csproj b/tests/src/JIT/Performance/CodeQuality/BenchmarksGame/fastaredux/fastaredux.csproj index 8d77905de9..30c542ee27 100644 --- a/tests/src/JIT/Performance/CodeQuality/BenchmarksGame/fastaredux/fastaredux.csproj +++ b/tests/src/JIT/Performance/CodeQuality/BenchmarksGame/fastaredux/fastaredux.csproj @@ -10,6 +10,7 @@ {786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} ..\..\ .NETStandard,Version=v1.4 + netstandard1.4 @@ -29,10 +30,9 @@ - - $(JitPackagesConfigFileDirectory)benchmark\project.json - $(JitPackagesConfigFileDirectory)benchmark\project.lock.json - + + $(JitPackagesConfigFileDirectory)benchmark\obj\project.assets.json + \ No newline at end of file diff --git a/tests/src/JIT/Performance/CodeQuality/BenchmarksGame/k-nucleotide/k-nucleotide.cs b/tests/src/JIT/Performance/CodeQuality/BenchmarksGame/k-nucleotide/k-nucleotide.cs index 54bd10702c..3325a61926 100644 --- a/tests/src/JIT/Performance/CodeQuality/BenchmarksGame/k-nucleotide/k-nucleotide.cs +++ b/tests/src/JIT/Performance/CodeQuality/BenchmarksGame/k-nucleotide/k-nucleotide.cs @@ -2,7 +2,7 @@ http://benchmarksgame.alioth.debian.org/ * * submitted by Josh Goldfoot - * + * */ using System; @@ -14,7 +14,6 @@ using Microsoft.Xunit.Performance; using Xunit; [assembly: OptimizeForBenchmarks] -[assembly: MeasureInstructionsRetired] [assembly: MeasureGCCounts] namespace BenchmarksGame @@ -24,13 +23,13 @@ public class knucleotide { #if DEBUG const int Iterations = 1; - const string InputFile = "knucleotide-input.txt"; + const string InputFile = "knucleotide-input.txt"; static int[] expectedCountLetter = new int[] { 1480, 974, 970, 1576 }; static int[] expectedCountPairs = new int[] { 420, 272, 292, 496, 273, 202, 201, 298, 316, 185, 167, 302, 470, 315, 310, 480 }; static int[] expectedCountFragments = new int[] { 54, 24, 4, 0, 0 }; #else const int Iterations = 10; - const string InputFile = "knucleotide-input-big.txt"; + const string InputFile = "knucleotide-input-big.txt"; static int[] expectedCountLetter = new int[] { 302923, 198136, 197566, 301375 }; static int[] expectedCountPairs = new int[] { 91779, 60030, 59889, 91225, 60096, 39203, 39081, 59756, 59795, 39190, 39023, 59557, 91253, 59713, 59572, 90837 }; static int[] expectedCountFragments = new int[] { 11765, 3572, 380, 7, 7 }; @@ -90,7 +89,7 @@ public class knucleotide public static int Main(string[] args) { int iterations = Iterations; - + string inputFile = FindInput(InputFile); if (inputFile == null) { @@ -258,7 +257,7 @@ public class knucleotide { throw new Exception("unable to find input"); } - foreach (var iteration in Benchmark.Iterations) + foreach (var iteration in Benchmark.Iterations) { using (iteration.StartMeasurement()) { @@ -284,7 +283,7 @@ public class knucleotide { throw new Exception("unable to find input"); } - foreach (var iteration in Benchmark.Iterations) + foreach (var iteration in Benchmark.Iterations) { using (iteration.StartMeasurement()) { diff --git a/tests/src/JIT/Performance/CodeQuality/BenchmarksGame/k-nucleotide/k-nucleotide.csproj b/tests/src/JIT/Performance/CodeQuality/BenchmarksGame/k-nucleotide/k-nucleotide.csproj index 097a3a2534..89c8ad5c47 100644 --- a/tests/src/JIT/Performance/CodeQuality/BenchmarksGame/k-nucleotide/k-nucleotide.csproj +++ b/tests/src/JIT/Performance/CodeQuality/BenchmarksGame/k-nucleotide/k-nucleotide.csproj @@ -10,6 +10,7 @@ {786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} ..\..\ .NETStandard,Version=v1.4 + netstandard1.4 @@ -39,11 +40,9 @@ Always - - $(JitPackagesConfigFileDirectory)benchmark\project.json - $(JitPackagesConfigFileDirectory)benchmark\project.lock.json - - + + + $(JitPackagesConfigFileDirectory)benchmark\obj\project.assets.json \ No newline at end of file diff --git a/tests/src/JIT/Performance/CodeQuality/BenchmarksGame/nbody/nbody.csharp-3.cs b/tests/src/JIT/Performance/CodeQuality/BenchmarksGame/nbody/nbody.csharp-3.cs index 2124cf4d9e..60e083ad11 100644 --- a/tests/src/JIT/Performance/CodeQuality/BenchmarksGame/nbody/nbody.csharp-3.cs +++ b/tests/src/JIT/Performance/CodeQuality/BenchmarksGame/nbody/nbody.csharp-3.cs @@ -13,7 +13,6 @@ using Microsoft.Xunit.Performance; using System; [assembly: OptimizeForBenchmarks] -[assembly: MeasureInstructionsRetired] namespace BenchmarksGame { diff --git a/tests/src/JIT/Performance/CodeQuality/BenchmarksGame/nbody/nbody.csproj b/tests/src/JIT/Performance/CodeQuality/BenchmarksGame/nbody/nbody.csproj index f8c3785f54..be7e66e2a3 100644 --- a/tests/src/JIT/Performance/CodeQuality/BenchmarksGame/nbody/nbody.csproj +++ b/tests/src/JIT/Performance/CodeQuality/BenchmarksGame/nbody/nbody.csproj @@ -10,6 +10,7 @@ {786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} ..\..\ .NETStandard,Version=v1.4 + netstandard1.4 @@ -29,10 +30,9 @@ - - $(JitPackagesConfigFileDirectory)benchmark\project.json - $(JitPackagesConfigFileDirectory)benchmark\project.lock.json - + + $(JitPackagesConfigFileDirectory)benchmark\obj\project.assets.json + \ No newline at end of file diff --git a/tests/src/JIT/Performance/CodeQuality/BenchmarksGame/pidigits/pi-digits.cs b/tests/src/JIT/Performance/CodeQuality/BenchmarksGame/pidigits/pi-digits.cs index 7e36f0e424..3c79a89edc 100644 --- a/tests/src/JIT/Performance/CodeQuality/BenchmarksGame/pidigits/pi-digits.cs +++ b/tests/src/JIT/Performance/CodeQuality/BenchmarksGame/pidigits/pi-digits.cs @@ -18,7 +18,6 @@ using System.Numerics; using System.Text; [assembly: OptimizeForBenchmarks] -[assembly: MeasureInstructionsRetired] namespace BenchmarksGame { diff --git a/tests/src/JIT/Performance/CodeQuality/BenchmarksGame/pidigits/pi-digits.csproj b/tests/src/JIT/Performance/CodeQuality/BenchmarksGame/pidigits/pi-digits.csproj index 7396e3b00f..003871e447 100644 --- a/tests/src/JIT/Performance/CodeQuality/BenchmarksGame/pidigits/pi-digits.csproj +++ b/tests/src/JIT/Performance/CodeQuality/BenchmarksGame/pidigits/pi-digits.csproj @@ -10,6 +10,7 @@ {786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} ..\..\ .NETStandard,Version=v1.4 + netstandard1.4 @@ -29,10 +30,9 @@ - - $(JitPackagesConfigFileDirectory)benchmark\project.json - $(JitPackagesConfigFileDirectory)benchmark\project.lock.json - + + $(JitPackagesConfigFileDirectory)benchmark\obj\project.assets.json + \ No newline at end of file diff --git a/tests/src/JIT/Performance/CodeQuality/BenchmarksGame/regexdna/regexdna.csharp-6.cs b/tests/src/JIT/Performance/CodeQuality/BenchmarksGame/regexdna/regexdna.csharp-6.cs index 19928012ba..882bfd23f9 100644 --- a/tests/src/JIT/Performance/CodeQuality/BenchmarksGame/regexdna/regexdna.csharp-6.cs +++ b/tests/src/JIT/Performance/CodeQuality/BenchmarksGame/regexdna/regexdna.csharp-6.cs @@ -19,7 +19,6 @@ using System.Text.RegularExpressions; using System.Threading; [assembly: OptimizeForBenchmarks] -[assembly: MeasureInstructionsRetired] namespace BenchmarksGame { diff --git a/tests/src/JIT/Performance/CodeQuality/BenchmarksGame/regexdna/regexdna.csproj b/tests/src/JIT/Performance/CodeQuality/BenchmarksGame/regexdna/regexdna.csproj index 6f334e9afb..e7b9d42bd0 100644 --- a/tests/src/JIT/Performance/CodeQuality/BenchmarksGame/regexdna/regexdna.csproj +++ b/tests/src/JIT/Performance/CodeQuality/BenchmarksGame/regexdna/regexdna.csproj @@ -10,6 +10,7 @@ {786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} ..\..\ .NETStandard,Version=v1.4 + netstandard1.4 @@ -39,11 +40,9 @@ Always - - $(JitPackagesConfigFileDirectory)benchmark\project.json - $(JitPackagesConfigFileDirectory)benchmark\project.lock.json - - + + + $(JitPackagesConfigFileDirectory)benchmark\obj\project.assets.json diff --git a/tests/src/JIT/Performance/CodeQuality/BenchmarksGame/revcomp/revcomp.csharp-1.cs b/tests/src/JIT/Performance/CodeQuality/BenchmarksGame/revcomp/revcomp.csharp-1.cs index 4e875742e8..bca63bd00e 100644 --- a/tests/src/JIT/Performance/CodeQuality/BenchmarksGame/revcomp/revcomp.csharp-1.cs +++ b/tests/src/JIT/Performance/CodeQuality/BenchmarksGame/revcomp/revcomp.csharp-1.cs @@ -16,7 +16,6 @@ using System.Diagnostics; using System.IO; [assembly: OptimizeForBenchmarks] -[assembly: MeasureInstructionsRetired] namespace BenchmarksGame { diff --git a/tests/src/JIT/Performance/CodeQuality/BenchmarksGame/revcomp/revcomp.csproj b/tests/src/JIT/Performance/CodeQuality/BenchmarksGame/revcomp/revcomp.csproj index 69d39df429..00789ed3a5 100644 --- a/tests/src/JIT/Performance/CodeQuality/BenchmarksGame/revcomp/revcomp.csproj +++ b/tests/src/JIT/Performance/CodeQuality/BenchmarksGame/revcomp/revcomp.csproj @@ -10,6 +10,7 @@ {786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} ..\..\ .NETStandard,Version=v1.4 + netstandard1.4 @@ -39,11 +40,9 @@ Always - - $(JitPackagesConfigFileDirectory)benchmark\project.json - $(JitPackagesConfigFileDirectory)benchmark\project.lock.json - - + + + $(JitPackagesConfigFileDirectory)benchmark\obj\project.assets.json diff --git a/tests/src/JIT/Performance/CodeQuality/BenchmarksGame/spectralnorm/spectralnorm.cs b/tests/src/JIT/Performance/CodeQuality/BenchmarksGame/spectralnorm/spectralnorm.cs index 01eeea07bf..5f2b1aed5f 100644 --- a/tests/src/JIT/Performance/CodeQuality/BenchmarksGame/spectralnorm/spectralnorm.cs +++ b/tests/src/JIT/Performance/CodeQuality/BenchmarksGame/spectralnorm/spectralnorm.cs @@ -13,7 +13,6 @@ using Microsoft.Xunit.Performance; using System; [assembly: OptimizeForBenchmarks] -[assembly: MeasureInstructionsRetired] namespace BenchmarksGame { diff --git a/tests/src/JIT/Performance/CodeQuality/BenchmarksGame/spectralnorm/spectralnorm.csproj b/tests/src/JIT/Performance/CodeQuality/BenchmarksGame/spectralnorm/spectralnorm.csproj index e12feab89a..3cbd6d32db 100644 --- a/tests/src/JIT/Performance/CodeQuality/BenchmarksGame/spectralnorm/spectralnorm.csproj +++ b/tests/src/JIT/Performance/CodeQuality/BenchmarksGame/spectralnorm/spectralnorm.csproj @@ -10,6 +10,7 @@ {786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} ..\..\ .NETStandard,Version=v1.4 + netstandard1.4 @@ -29,10 +30,9 @@ - - $(JitPackagesConfigFileDirectory)benchmark\project.json - $(JitPackagesConfigFileDirectory)benchmark\project.lock.json - + + $(JitPackagesConfigFileDirectory)benchmark\obj\project.assets.json + \ No newline at end of file diff --git a/tests/src/JIT/Performance/CodeQuality/Burgers/Burgers.cs b/tests/src/JIT/Performance/CodeQuality/Burgers/Burgers.cs index 02dafa2dda..9880ee511f 100644 --- a/tests/src/JIT/Performance/CodeQuality/Burgers/Burgers.cs +++ b/tests/src/JIT/Performance/CodeQuality/Burgers/Burgers.cs @@ -4,7 +4,7 @@ // // .NET SIMD to solve Burgers' equation // -// Benchmark based on +// Benchmark based on // https://github.com/taumuon/SIMD-Vectorisation-Burgers-Equation-CSharp // http://www.taumuon.co.uk/2014/10/net-simd-to-solve-burgers-equation.html @@ -15,7 +15,6 @@ using System.Numerics; using System.Runtime.CompilerServices; [assembly: OptimizeForBenchmarks] -[assembly: MeasureInstructionsRetired] public class Burgers { @@ -192,7 +191,7 @@ public class Burgers double[] x = linspace(0.0, 2.0 * Math.PI, nx); double[] initial = GetAnalytical(x, 0.0, nu); - // Warmup + // Warmup GetCalculated0(1, nx, dx, dt, nu, initial); GetCalculated1(1, nx, dx, dt, nu, initial); diff --git a/tests/src/JIT/Performance/CodeQuality/Burgers/Burgers.csproj b/tests/src/JIT/Performance/CodeQuality/Burgers/Burgers.csproj index 0f57308962..bb0aca7f14 100644 --- a/tests/src/JIT/Performance/CodeQuality/Burgers/Burgers.csproj +++ b/tests/src/JIT/Performance/CodeQuality/Burgers/Burgers.csproj @@ -10,6 +10,7 @@ {786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} ..\..\ .NETStandard,Version=v1.4 + netstandard1.4 @@ -29,10 +30,9 @@ - - $(JitPackagesConfigFileDirectory)benchmark\project.json - $(JitPackagesConfigFileDirectory)benchmark\project.lock.json - + + $(JitPackagesConfigFileDirectory)benchmark\obj\project.assets.json + \ No newline at end of file diff --git a/tests/src/JIT/Performance/CodeQuality/Bytemark/ByteMark.cs b/tests/src/JIT/Performance/CodeQuality/Bytemark/ByteMark.cs index 280744bf5b..79e7c5e709 100644 --- a/tests/src/JIT/Performance/CodeQuality/Bytemark/ByteMark.cs +++ b/tests/src/JIT/Performance/CodeQuality/Bytemark/ByteMark.cs @@ -3,7 +3,7 @@ // See the LICENSE file in the project root for more information. /* ** This program was translated to C# and adapted for xunit-performance. -** New variants of several tests were added to compare class versus +** New variants of several tests were added to compare class versus ** struct and to compare jagged arrays vs multi-dimensional arrays. */ @@ -24,7 +24,7 @@ ** are error-free. Consequently, McGraw-HIll and BYTE Magazine make ** no claims in regard to the fitness of the source code, executable ** code, and documentation of the BYTEmark. -** +** ** Furthermore, BYTE Magazine, McGraw-Hill, and all employees ** of McGraw-Hill cannot be held responsible for any damages resulting ** from the use of this code or the results obtained from using @@ -36,7 +36,6 @@ using System; using System.IO; [assembly: OptimizeForBenchmarks] -[assembly: MeasureInstructionsRetired] internal class global { @@ -1273,7 +1272,7 @@ public class ByteMark { using (iteration.StartMeasurement()) { - for (int i = 0; i < NumericSortJaggedIterations; i++) + for (int i = 0; i < NumericSortJaggedIterations; i++) { t.Run(); } @@ -1295,7 +1294,7 @@ public class ByteMark { using (iteration.StartMeasurement()) { - for (int i = 0; i < NumericSortRectangularIterations; i++) + for (int i = 0; i < NumericSortRectangularIterations; i++) { t.Run(); } @@ -1317,7 +1316,7 @@ public class ByteMark { using (iteration.StartMeasurement()) { - for (int i = 0; i < StringSortIterations; i++) + for (int i = 0; i < StringSortIterations; i++) { t.Run(); } @@ -1338,7 +1337,7 @@ public class ByteMark { using (iteration.StartMeasurement()) { - for (int i = 0; i < BitOpsIterations; i++) + for (int i = 0; i < BitOpsIterations; i++) { t.Run(); } @@ -1360,7 +1359,7 @@ public class ByteMark { using (iteration.StartMeasurement()) { - for (int i = 0; i < EmFloatIterations; i++) + for (int i = 0; i < EmFloatIterations; i++) { t.Run(); } @@ -1382,7 +1381,7 @@ public class ByteMark { using (iteration.StartMeasurement()) { - for (int i = 0; i < EmFloatClassIterations; i++) + for (int i = 0; i < EmFloatClassIterations; i++) { t.Run(); } @@ -1403,7 +1402,7 @@ public class ByteMark { using (iteration.StartMeasurement()) { - for (int i = 0; i < FourierIterations; i++) + for (int i = 0; i < FourierIterations; i++) { t.Run(); } @@ -1425,7 +1424,7 @@ public class ByteMark { using (iteration.StartMeasurement()) { - for (int i = 0; i < AssignJaggedIterations; i++) + for (int i = 0; i < AssignJaggedIterations; i++) { t.Run(); } @@ -1447,7 +1446,7 @@ public class ByteMark { using (iteration.StartMeasurement()) { - for (int i = 0; i < AssignRectangularIterations; i++) + for (int i = 0; i < AssignRectangularIterations; i++) { t.Run(); } @@ -1469,7 +1468,7 @@ public class ByteMark { using (iteration.StartMeasurement()) { - for (int i = 0; i < IDEAEncryptionIterations; i++) + for (int i = 0; i < IDEAEncryptionIterations; i++) { t.Run(); } @@ -1491,7 +1490,7 @@ public class ByteMark { using (iteration.StartMeasurement()) { - for (int i = 0; i < NeuralJaggedIterations; i++) + for (int i = 0; i < NeuralJaggedIterations; i++) { t.Run(); } @@ -1513,7 +1512,7 @@ public class ByteMark { using (iteration.StartMeasurement()) { - for (int i = 0; i < NeuralIterations; i++) + for (int i = 0; i < NeuralIterations; i++) { t.Run(); } @@ -1535,7 +1534,7 @@ public class ByteMark { using (iteration.StartMeasurement()) { - for (int i = 0; i < LUDecompIterations; i++) + for (int i = 0; i < LUDecompIterations; i++) { t.Run(); } diff --git a/tests/src/JIT/Performance/CodeQuality/Bytemark/Bytemark.csproj b/tests/src/JIT/Performance/CodeQuality/Bytemark/Bytemark.csproj index 26a64c6e89..a293c23987 100644 --- a/tests/src/JIT/Performance/CodeQuality/Bytemark/Bytemark.csproj +++ b/tests/src/JIT/Performance/CodeQuality/Bytemark/Bytemark.csproj @@ -10,6 +10,7 @@ {786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} ..\..\ .NETStandard,Version=v1.4 + netstandard1.4 true @@ -45,10 +46,9 @@ - - $(JitPackagesConfigFileDirectory)benchmark\project.json - $(JitPackagesConfigFileDirectory)benchmark\project.lock.json - + + $(JitPackagesConfigFileDirectory)benchmark\obj\project.assets.json + \ No newline at end of file diff --git a/tests/src/JIT/Performance/CodeQuality/FractalPerf/FractalPerf.cs b/tests/src/JIT/Performance/CodeQuality/FractalPerf/FractalPerf.cs index cbaad45df5..d5761da4c2 100644 --- a/tests/src/JIT/Performance/CodeQuality/FractalPerf/FractalPerf.cs +++ b/tests/src/JIT/Performance/CodeQuality/FractalPerf/FractalPerf.cs @@ -13,7 +13,6 @@ using System.Threading.Tasks; using Xunit; [assembly: OptimizeForBenchmarks] -[assembly: MeasureInstructionsRetired] namespace FractalPerf { @@ -103,11 +102,11 @@ namespace FractalPerf // set the Julia Set constant complex seed = new complex(Real, Imaginary); - // run through every point on the screen, setting + // run through every point on the screen, setting // m and n to the coordinates for (double m = XB; m < XE; m += XS) { for (double n = YB; n < YE; n += YS) { - // the initial z value is the current pixel, + // the initial z value is the current pixel, // so x and y have to be set to m and n complex accum = new complex(m, n); // perform the iteration @@ -120,8 +119,8 @@ namespace FractalPerf accum = accum.square() + seed; } // determine the color using the number of - // iterations it took for the number to become too big - // char color = num % number_of_colors; + // iterations it took for the number to become too big + // char color = num % number_of_colors; // plot the point result += num; } @@ -168,7 +167,7 @@ namespace FractalPerf } return result; } - + public static int Main() { bool result = TestBase(); return (result ? 100 : -1); diff --git a/tests/src/JIT/Performance/CodeQuality/FractalPerf/FractalPerf.csproj b/tests/src/JIT/Performance/CodeQuality/FractalPerf/FractalPerf.csproj index af7ce3b4c9..7bac1f4bdf 100644 --- a/tests/src/JIT/Performance/CodeQuality/FractalPerf/FractalPerf.csproj +++ b/tests/src/JIT/Performance/CodeQuality/FractalPerf/FractalPerf.csproj @@ -10,6 +10,7 @@ {786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} ..\..\ .NETStandard,Version=v1.4 + netstandard1.4 @@ -29,10 +30,9 @@ - - $(JitPackagesConfigFileDirectory)benchmark\project.json - $(JitPackagesConfigFileDirectory)benchmark\project.lock.json - + + $(JitPackagesConfigFileDirectory)benchmark\obj\project.assets.json + \ No newline at end of file diff --git a/tests/src/JIT/Performance/CodeQuality/Inlining/InlineGCStruct.cs b/tests/src/JIT/Performance/CodeQuality/Inlining/InlineGCStruct.cs index 660627cc72..1439c77dd9 100644 --- a/tests/src/JIT/Performance/CodeQuality/Inlining/InlineGCStruct.cs +++ b/tests/src/JIT/Performance/CodeQuality/Inlining/InlineGCStruct.cs @@ -20,7 +20,6 @@ using System.Runtime.CompilerServices; using Xunit; [assembly: OptimizeForBenchmarks] -[assembly: MeasureInstructionsRetired] namespace Inlining { diff --git a/tests/src/JIT/Performance/CodeQuality/Inlining/InlineGCStruct.csproj b/tests/src/JIT/Performance/CodeQuality/Inlining/InlineGCStruct.csproj index 7ecdbab687..7d26fcb734 100644 --- a/tests/src/JIT/Performance/CodeQuality/Inlining/InlineGCStruct.csproj +++ b/tests/src/JIT/Performance/CodeQuality/Inlining/InlineGCStruct.csproj @@ -30,11 +30,9 @@ - - $(JitPackagesConfigFileDirectory)benchmark\project.json - $(JitPackagesConfigFileDirectory)benchmark\project.lock.json - - + + + $(JitPackagesConfigFileDirectory)benchmark\obj\project.assets.json diff --git a/tests/src/JIT/Performance/CodeQuality/Inlining/NoThrowInline.cs b/tests/src/JIT/Performance/CodeQuality/Inlining/NoThrowInline.cs index dc05f44b33..f28d4caf81 100644 --- a/tests/src/JIT/Performance/CodeQuality/Inlining/NoThrowInline.cs +++ b/tests/src/JIT/Performance/CodeQuality/Inlining/NoThrowInline.cs @@ -11,7 +11,6 @@ using System.Collections.Generic; using Xunit; [assembly: OptimizeForBenchmarks] -[assembly: MeasureInstructionsRetired] namespace Inlining { diff --git a/tests/src/JIT/Performance/CodeQuality/Inlining/NoThrowInline.csproj b/tests/src/JIT/Performance/CodeQuality/Inlining/NoThrowInline.csproj index 34b42c389f..965618d15d 100644 --- a/tests/src/JIT/Performance/CodeQuality/Inlining/NoThrowInline.csproj +++ b/tests/src/JIT/Performance/CodeQuality/Inlining/NoThrowInline.csproj @@ -10,6 +10,7 @@ {786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} ..\..\ .NETStandard,Version=v1.4 + netstandard1.4 @@ -31,11 +32,9 @@ - - $(JitPackagesConfigFileDirectory)benchmark\project.json - $(JitPackagesConfigFileDirectory)benchmark\project.lock.json - - + + + $(JitPackagesConfigFileDirectory)benchmark\obj\project.assets.json diff --git a/tests/src/JIT/Performance/CodeQuality/Linq/Linq.cs b/tests/src/JIT/Performance/CodeQuality/Linq/Linq.cs index 58ea46a0c9..2a0fd27890 100644 --- a/tests/src/JIT/Performance/CodeQuality/Linq/Linq.cs +++ b/tests/src/JIT/Performance/CodeQuality/Linq/Linq.cs @@ -9,7 +9,6 @@ using System.Collections.Generic; using System.Linq; [assembly: OptimizeForBenchmarks] -[assembly: MeasureInstructionsRetired] public class Product { diff --git a/tests/src/JIT/Performance/CodeQuality/Linq/Linq.csproj b/tests/src/JIT/Performance/CodeQuality/Linq/Linq.csproj index 2fc6cb0419..6fac3b034a 100644 --- a/tests/src/JIT/Performance/CodeQuality/Linq/Linq.csproj +++ b/tests/src/JIT/Performance/CodeQuality/Linq/Linq.csproj @@ -10,6 +10,7 @@ {786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} ..\..\ .NETStandard,Version=v1.4 + netstandard1.4 @@ -29,10 +30,9 @@ - - $(JitPackagesConfigFileDirectory)benchmark\project.json - $(JitPackagesConfigFileDirectory)benchmark\project.lock.json - + + $(JitPackagesConfigFileDirectory)benchmark\obj\project.assets.json + \ No newline at end of file diff --git a/tests/src/JIT/Performance/CodeQuality/Math/Functions/Double/AbsDouble.cs b/tests/src/JIT/Performance/CodeQuality/Math/Functions/Double/AbsDouble.cs index 6429a39ce4..f5650ab2c7 100644 --- a/tests/src/JIT/Performance/CodeQuality/Math/Functions/Double/AbsDouble.cs +++ b/tests/src/JIT/Performance/CodeQuality/Math/Functions/Double/AbsDouble.cs @@ -40,7 +40,7 @@ namespace Functions if (diff > doubleEpsilon) { - throw new Exception($"Expected Result {absDoubleExpectedResult}; Actual Result {result}"); + throw new Exception($"Expected Result {absDoubleExpectedResult,20:g17}; Actual Result {result,20:g17}"); } } } diff --git a/tests/src/JIT/Performance/CodeQuality/Math/Functions/Double/AcosDouble.cs b/tests/src/JIT/Performance/CodeQuality/Math/Functions/Double/AcosDouble.cs index 3ba2867a8e..4df08bd063 100644 --- a/tests/src/JIT/Performance/CodeQuality/Math/Functions/Double/AcosDouble.cs +++ b/tests/src/JIT/Performance/CodeQuality/Math/Functions/Double/AcosDouble.cs @@ -40,7 +40,7 @@ namespace Functions if (diff > doubleEpsilon) { - throw new Exception($"Expected Result {acosDoubleExpectedResult}; Actual Result {result}"); + throw new Exception($"Expected Result {acosDoubleExpectedResult,20:g17}; Actual Result {result,20:g17}"); } } } diff --git a/tests/src/JIT/Performance/CodeQuality/Math/Functions/Double/AsinDouble.cs b/tests/src/JIT/Performance/CodeQuality/Math/Functions/Double/AsinDouble.cs index 030756ce44..e20b65c422 100644 --- a/tests/src/JIT/Performance/CodeQuality/Math/Functions/Double/AsinDouble.cs +++ b/tests/src/JIT/Performance/CodeQuality/Math/Functions/Double/AsinDouble.cs @@ -40,7 +40,7 @@ namespace Functions if (diff > doubleEpsilon) { - throw new Exception($"Expected Result {asinDoubleExpectedResult}; Actual Result {result}"); + throw new Exception($"Expected Result {asinDoubleExpectedResult,20:g17}; Actual Result {result,20:g17}"); } } } diff --git a/tests/src/JIT/Performance/CodeQuality/Math/Functions/Double/Atan2Double.cs b/tests/src/JIT/Performance/CodeQuality/Math/Functions/Double/Atan2Double.cs index 82831e6412..1fcde440af 100644 --- a/tests/src/JIT/Performance/CodeQuality/Math/Functions/Double/Atan2Double.cs +++ b/tests/src/JIT/Performance/CodeQuality/Math/Functions/Double/Atan2Double.cs @@ -41,7 +41,7 @@ namespace Functions if (diff > doubleEpsilon) { - throw new Exception($"Expected Result {atan2DoubleExpectedResult}; Actual Result {result}"); + throw new Exception($"Expected Result {atan2DoubleExpectedResult,20:g17}; Actual Result {result,20:g17}"); } } } diff --git a/tests/src/JIT/Performance/CodeQuality/Math/Functions/Double/AtanDouble.cs b/tests/src/JIT/Performance/CodeQuality/Math/Functions/Double/AtanDouble.cs index ec2ebe389e..28619e8527 100644 --- a/tests/src/JIT/Performance/CodeQuality/Math/Functions/Double/AtanDouble.cs +++ b/tests/src/JIT/Performance/CodeQuality/Math/Functions/Double/AtanDouble.cs @@ -40,7 +40,7 @@ namespace Functions if (diff > doubleEpsilon) { - throw new Exception($"Expected Result {atanDoubleExpectedResult}; Actual Result {result}"); + throw new Exception($"Expected Result {atanDoubleExpectedResult,20:g17}; Actual Result {result,20:g17}"); } } } diff --git a/tests/src/JIT/Performance/CodeQuality/Math/Functions/Double/CeilingDouble.cs b/tests/src/JIT/Performance/CodeQuality/Math/Functions/Double/CeilingDouble.cs index f822aae256..e28e9e67a5 100644 --- a/tests/src/JIT/Performance/CodeQuality/Math/Functions/Double/CeilingDouble.cs +++ b/tests/src/JIT/Performance/CodeQuality/Math/Functions/Double/CeilingDouble.cs @@ -40,7 +40,7 @@ namespace Functions if (diff > doubleEpsilon) { - throw new Exception($"Expected Result {ceilingDoubleExpectedResult}; Actual Result {result}"); + throw new Exception($"Expected Result {ceilingDoubleExpectedResult,20:g17}; Actual Result {result,20:g17}"); } } } diff --git a/tests/src/JIT/Performance/CodeQuality/Math/Functions/Double/CosDouble.cs b/tests/src/JIT/Performance/CodeQuality/Math/Functions/Double/CosDouble.cs index e95ab5c241..faf69b0439 100644 --- a/tests/src/JIT/Performance/CodeQuality/Math/Functions/Double/CosDouble.cs +++ b/tests/src/JIT/Performance/CodeQuality/Math/Functions/Double/CosDouble.cs @@ -40,7 +40,7 @@ namespace Functions if (diff > doubleEpsilon) { - throw new Exception($"Expected Result {cosDoubleExpectedResult}; Actual Result {result}"); + throw new Exception($"Expected Result {cosDoubleExpectedResult,20:g17}; Actual Result {result,20:g17}"); } } } diff --git a/tests/src/JIT/Performance/CodeQuality/Math/Functions/Double/CoshDouble.cs b/tests/src/JIT/Performance/CodeQuality/Math/Functions/Double/CoshDouble.cs index c8b7fb68cc..3a7e36d107 100644 --- a/tests/src/JIT/Performance/CodeQuality/Math/Functions/Double/CoshDouble.cs +++ b/tests/src/JIT/Performance/CodeQuality/Math/Functions/Double/CoshDouble.cs @@ -40,7 +40,7 @@ namespace Functions if (diff > doubleEpsilon) { - throw new Exception($"Expected Result {coshDoubleExpectedResult}; Actual Result {result}"); + throw new Exception($"Expected Result {coshDoubleExpectedResult,20:g17}; Actual Result {result,20:g17}"); } } } diff --git a/tests/src/JIT/Performance/CodeQuality/Math/Functions/Double/ExpDouble.cs b/tests/src/JIT/Performance/CodeQuality/Math/Functions/Double/ExpDouble.cs index 64be83972f..9af1cb8e8b 100644 --- a/tests/src/JIT/Performance/CodeQuality/Math/Functions/Double/ExpDouble.cs +++ b/tests/src/JIT/Performance/CodeQuality/Math/Functions/Double/ExpDouble.cs @@ -40,7 +40,7 @@ namespace Functions if (diff > doubleEpsilon) { - throw new Exception($"Expected Result {expDoubleExpectedResult}; Actual Result {result}"); + throw new Exception($"Expected Result {expDoubleExpectedResult,20:g17}; Actual Result {result,20:g17}"); } } } diff --git a/tests/src/JIT/Performance/CodeQuality/Math/Functions/Double/FloorDouble.cs b/tests/src/JIT/Performance/CodeQuality/Math/Functions/Double/FloorDouble.cs index 4d4b4f2f1b..158cc490df 100644 --- a/tests/src/JIT/Performance/CodeQuality/Math/Functions/Double/FloorDouble.cs +++ b/tests/src/JIT/Performance/CodeQuality/Math/Functions/Double/FloorDouble.cs @@ -40,7 +40,7 @@ namespace Functions if (diff > doubleEpsilon) { - throw new Exception($"Expected Result {floorDoubleExpectedResult}; Actual Result {result}"); + throw new Exception($"Expected Result {floorDoubleExpectedResult,20:g17}; Actual Result {result,20:g17}"); } } } diff --git a/tests/src/JIT/Performance/CodeQuality/Math/Functions/Double/Log10Double.cs b/tests/src/JIT/Performance/CodeQuality/Math/Functions/Double/Log10Double.cs index 330d8a726b..32cd2163a5 100644 --- a/tests/src/JIT/Performance/CodeQuality/Math/Functions/Double/Log10Double.cs +++ b/tests/src/JIT/Performance/CodeQuality/Math/Functions/Double/Log10Double.cs @@ -40,7 +40,7 @@ namespace Functions if (diff > doubleEpsilon) { - throw new Exception($"Expected Result {log10DoubleExpectedResult}; Actual Result {result}"); + throw new Exception($"Expected Result {log10DoubleExpectedResult,20:g17}; Actual Result {result,20:g17}"); } } } diff --git a/tests/src/JIT/Performance/CodeQuality/Math/Functions/Double/LogDouble.cs b/tests/src/JIT/Performance/CodeQuality/Math/Functions/Double/LogDouble.cs index bddb84b59c..38edbfbbd9 100644 --- a/tests/src/JIT/Performance/CodeQuality/Math/Functions/Double/LogDouble.cs +++ b/tests/src/JIT/Performance/CodeQuality/Math/Functions/Double/LogDouble.cs @@ -40,7 +40,7 @@ namespace Functions if (diff > doubleEpsilon) { - throw new Exception($"Expected Result {logDoubleExpectedResult}; Actual Result {result}"); + throw new Exception($"Expected Result {logDoubleExpectedResult,20:g17}; Actual Result {result,20:g17}"); } } } diff --git a/tests/src/JIT/Performance/CodeQuality/Math/Functions/Double/PowDouble.cs b/tests/src/JIT/Performance/CodeQuality/Math/Functions/Double/PowDouble.cs index c8248072b7..f36d84e179 100644 --- a/tests/src/JIT/Performance/CodeQuality/Math/Functions/Double/PowDouble.cs +++ b/tests/src/JIT/Performance/CodeQuality/Math/Functions/Double/PowDouble.cs @@ -41,7 +41,7 @@ namespace Functions if (diff > doubleEpsilon) { - throw new Exception($"Expected Result {powDoubleExpectedResult}; Actual Result {result}"); + throw new Exception($"Expected Result {powDoubleExpectedResult,20:g17}; Actual Result {result,20:g17}"); } } } diff --git a/tests/src/JIT/Performance/CodeQuality/Math/Functions/Double/RoundDouble.cs b/tests/src/JIT/Performance/CodeQuality/Math/Functions/Double/RoundDouble.cs index 9c5dcc9141..6c7a46992a 100644 --- a/tests/src/JIT/Performance/CodeQuality/Math/Functions/Double/RoundDouble.cs +++ b/tests/src/JIT/Performance/CodeQuality/Math/Functions/Double/RoundDouble.cs @@ -40,7 +40,7 @@ namespace Functions if (diff > doubleEpsilon) { - throw new Exception($"Expected Result {roundDoubleExpectedResult}; Actual Result {result}"); + throw new Exception($"Expected Result {roundDoubleExpectedResult,20:g17}; Actual Result {result,20:g17}"); } } } diff --git a/tests/src/JIT/Performance/CodeQuality/Math/Functions/Double/SinDouble.cs b/tests/src/JIT/Performance/CodeQuality/Math/Functions/Double/SinDouble.cs index 73886aaa3a..c684b9530b 100644 --- a/tests/src/JIT/Performance/CodeQuality/Math/Functions/Double/SinDouble.cs +++ b/tests/src/JIT/Performance/CodeQuality/Math/Functions/Double/SinDouble.cs @@ -40,7 +40,7 @@ namespace Functions if (diff > doubleEpsilon) { - throw new Exception($"Expected Result {sinDoubleExpectedResult}; Actual Result {result}"); + throw new Exception($"Expected Result {sinDoubleExpectedResult,20:g17}; Actual Result {result,20:g17}"); } } } diff --git a/tests/src/JIT/Performance/CodeQuality/Math/Functions/Double/SinhDouble.cs b/tests/src/JIT/Performance/CodeQuality/Math/Functions/Double/SinhDouble.cs index 8f79cc9576..69d1cb80da 100644 --- a/tests/src/JIT/Performance/CodeQuality/Math/Functions/Double/SinhDouble.cs +++ b/tests/src/JIT/Performance/CodeQuality/Math/Functions/Double/SinhDouble.cs @@ -40,7 +40,7 @@ namespace Functions if (diff > doubleEpsilon) { - throw new Exception($"Expected Result {sinhDoubleExpectedResult}; Actual Result {result}"); + throw new Exception($"Expected Result {sinhDoubleExpectedResult,20:g17}; Actual Result {result,20:g17}"); } } } diff --git a/tests/src/JIT/Performance/CodeQuality/Math/Functions/Double/SqrtDouble.cs b/tests/src/JIT/Performance/CodeQuality/Math/Functions/Double/SqrtDouble.cs index 5d9e554684..59e73b3fcb 100644 --- a/tests/src/JIT/Performance/CodeQuality/Math/Functions/Double/SqrtDouble.cs +++ b/tests/src/JIT/Performance/CodeQuality/Math/Functions/Double/SqrtDouble.cs @@ -40,7 +40,7 @@ namespace Functions if (diff > doubleEpsilon) { - throw new Exception($"Expected Result {sqrtDoubleExpectedResult}; Actual Result {result}"); + throw new Exception($"Expected Result {sqrtDoubleExpectedResult,20:g17}; Actual Result {result,20:g17}"); } } } diff --git a/tests/src/JIT/Performance/CodeQuality/Math/Functions/Double/TanDouble.cs b/tests/src/JIT/Performance/CodeQuality/Math/Functions/Double/TanDouble.cs index 6988c675dc..123948419f 100644 --- a/tests/src/JIT/Performance/CodeQuality/Math/Functions/Double/TanDouble.cs +++ b/tests/src/JIT/Performance/CodeQuality/Math/Functions/Double/TanDouble.cs @@ -40,7 +40,7 @@ namespace Functions if (diff > doubleEpsilon) { - throw new Exception($"Expected Result {tanDoubleExpectedResult}; Actual Result {result}"); + throw new Exception($"Expected Result {tanDoubleExpectedResult,20:g17}; Actual Result {result,20:g17}"); } } } diff --git a/tests/src/JIT/Performance/CodeQuality/Math/Functions/Double/TanhDouble.cs b/tests/src/JIT/Performance/CodeQuality/Math/Functions/Double/TanhDouble.cs index c4809e53a3..526a428069 100644 --- a/tests/src/JIT/Performance/CodeQuality/Math/Functions/Double/TanhDouble.cs +++ b/tests/src/JIT/Performance/CodeQuality/Math/Functions/Double/TanhDouble.cs @@ -40,7 +40,7 @@ namespace Functions if (diff > doubleEpsilon) { - throw new Exception($"Expected Result {tanhDoubleExpectedResult}; Actual Result {result}"); + throw new Exception($"Expected Result {tanhDoubleExpectedResult,20:g17}; Actual Result {result,20:g17}"); } } } diff --git a/tests/src/JIT/Performance/CodeQuality/Math/Functions/Functions.cs b/tests/src/JIT/Performance/CodeQuality/Math/Functions/Functions.cs index 8ddc6ad73b..aff91ba844 100644 --- a/tests/src/JIT/Performance/CodeQuality/Math/Functions/Functions.cs +++ b/tests/src/JIT/Performance/CodeQuality/Math/Functions/Functions.cs @@ -8,7 +8,6 @@ using System.Diagnostics; using Microsoft.Xunit.Performance; [assembly: OptimizeForBenchmarks] -[assembly: MeasureInstructionsRetired] namespace Functions { @@ -24,23 +23,41 @@ namespace Functions ["absdouble"] = MathTests.AbsDoubleTest, ["abssingle"] = MathTests.AbsSingleTest, ["acosdouble"] = MathTests.AcosDoubleTest, + ["acossingle"] = MathTests.AcosSingleTest, ["asindouble"] = MathTests.AsinDoubleTest, + ["asinsingle"] = MathTests.AsinSingleTest, ["atandouble"] = MathTests.AtanDoubleTest, + ["atansingle"] = MathTests.AtanSingleTest, ["atan2double"] = MathTests.Atan2DoubleTest, + ["atan2single"] = MathTests.Atan2SingleTest, ["ceilingdouble"] = MathTests.CeilingDoubleTest, + ["ceilingsingle"] = MathTests.CeilingSingleTest, ["cosdouble"] = MathTests.CosDoubleTest, + ["cossingle"] = MathTests.CosSingleTest, ["coshdouble"] = MathTests.CoshDoubleTest, + ["coshsingle"] = MathTests.CoshSingleTest, ["expdouble"] = MathTests.ExpDoubleTest, + ["expsingle"] = MathTests.ExpSingleTest, ["floordouble"] = MathTests.FloorDoubleTest, + ["floorsingle"] = MathTests.FloorSingleTest, ["logdouble"] = MathTests.LogDoubleTest, + ["logsingle"] = MathTests.LogSingleTest, ["log10double"] = MathTests.Log10DoubleTest, + ["log10single"] = MathTests.Log10SingleTest, ["powdouble"] = MathTests.PowDoubleTest, + ["powsingle"] = MathTests.PowSingleTest, ["rounddouble"] = MathTests.RoundDoubleTest, + ["roundsingle"] = MathTests.RoundSingleTest, ["sindouble"] = MathTests.SinDoubleTest, + ["sinsingle"] = MathTests.SinSingleTest, ["sinhdouble"] = MathTests.SinhDoubleTest, + ["sinhsingle"] = MathTests.SinhSingleTest, ["sqrtdouble"] = MathTests.SqrtDoubleTest, + ["sqrtsingle"] = MathTests.SqrtSingleTest, ["tandouble"] = MathTests.TanDoubleTest, - ["tanhdouble"] = MathTests.TanhDoubleTest + ["tansingle"] = MathTests.TanSingleTest, + ["tanhdouble"] = MathTests.TanhDoubleTest, + ["tanhsingle"] = MathTests.TanhSingleTest }; private static int Main(string[] args) diff --git a/tests/src/JIT/Performance/CodeQuality/Math/Functions/Functions.csproj b/tests/src/JIT/Performance/CodeQuality/Math/Functions/Functions.csproj index 773472d4a4..067ea9f7e0 100644 --- a/tests/src/JIT/Performance/CodeQuality/Math/Functions/Functions.csproj +++ b/tests/src/JIT/Performance/CodeQuality/Math/Functions/Functions.csproj @@ -9,7 +9,8 @@ Exe {786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} ..\..\ - .NETStandard,Version=v1.4 + .NETCoreApp,Version=v1.1 + netcoreapp1.1 @@ -29,8 +30,9 @@ + + - @@ -40,10 +42,8 @@ - - @@ -51,12 +51,27 @@ + + + + + + + + + + + + + + + + + + + - - $(JitPackagesConfigFileDirectory)benchmark\project.json - $(JitPackagesConfigFileDirectory)benchmark\project.lock.json - - + \ No newline at end of file diff --git a/tests/src/JIT/Performance/CodeQuality/Math/Functions/Single/AbsSingle.cs b/tests/src/JIT/Performance/CodeQuality/Math/Functions/Single/AbsSingle.cs index 6168991297..8100c37e1d 100644 --- a/tests/src/JIT/Performance/CodeQuality/Math/Functions/Single/AbsSingle.cs +++ b/tests/src/JIT/Performance/CodeQuality/Math/Functions/Single/AbsSingle.cs @@ -40,7 +40,7 @@ namespace Functions if (diff > singleEpsilon) { - throw new Exception($"Expected Result {absSingleExpectedResult}; Actual Result {result}"); + throw new Exception($"Expected Result {absSingleExpectedResult,10:g9}; Actual Result {result,10:g9}"); } } } diff --git a/tests/src/JIT/Performance/CodeQuality/Math/Functions/Single/AcosSingle.cs b/tests/src/JIT/Performance/CodeQuality/Math/Functions/Single/AcosSingle.cs new file mode 100644 index 0000000000..b958cc1bb4 --- /dev/null +++ b/tests/src/JIT/Performance/CodeQuality/Math/Functions/Single/AcosSingle.cs @@ -0,0 +1,47 @@ +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. +// See the LICENSE file in the project root for more information. + +using System; +using Microsoft.Xunit.Performance; + +namespace Functions +{ + public static partial class MathTests + { + // Tests MathF.Acos(float) over 5000 iterations for the domain -1, +1 + + private const float acosSingleDelta = 0.0004f; + private const float acosSingleExpectedResult = 7852.41084f; + + [Benchmark] + public static void AcosSingleBenchmark() + { + foreach (var iteration in Benchmark.Iterations) + { + using (iteration.StartMeasurement()) + { + AcosSingleTest(); + } + } + } + + public static void AcosSingleTest() + { + var result = 0.0f; var value = -1.0f; + + for (var iteration = 0; iteration < iterations; iteration++) + { + value += acosSingleDelta; + result += MathF.Acos(value); + } + + var diff = MathF.Abs(acosSingleExpectedResult - result); + + if (diff > singleEpsilon) + { + throw new Exception($"Expected Result {acosSingleExpectedResult,10:g9}; Actual Result {result,10:g9}"); + } + } + } +} diff --git a/tests/src/JIT/Performance/CodeQuality/Math/Functions/Single/AsinSingle.cs b/tests/src/JIT/Performance/CodeQuality/Math/Functions/Single/AsinSingle.cs new file mode 100644 index 0000000000..917c49288f --- /dev/null +++ b/tests/src/JIT/Performance/CodeQuality/Math/Functions/Single/AsinSingle.cs @@ -0,0 +1,47 @@ +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. +// See the LICENSE file in the project root for more information. + +using System; +using Microsoft.Xunit.Performance; + +namespace Functions +{ + public static partial class MathTests + { + // Tests MathF.Asin(float) over 5000 iterations for the domain -1, +1 + + private const float asinSingleDelta = 0.0004f; + private const float asinSingleExpectedResult = 1.57079590f; + + [Benchmark] + public static void AsinSingleBenchmark() + { + foreach (var iteration in Benchmark.Iterations) + { + using (iteration.StartMeasurement()) + { + AsinSingleTest(); + } + } + } + + public static void AsinSingleTest() + { + var result = 0.0f; var value = -1.0f; + + for (var iteration = 0; iteration < iterations; iteration++) + { + value += asinSingleDelta; + result += MathF.Asin(value); + } + + var diff = MathF.Abs(asinSingleExpectedResult - result); + + if (diff > singleEpsilon) + { + throw new Exception($"Expected Result {asinSingleExpectedResult,10:g9}; Actual Result {result,10:g9}"); + } + } + } +} diff --git a/tests/src/JIT/Performance/CodeQuality/Math/Functions/Single/Atan2Single.cs b/tests/src/JIT/Performance/CodeQuality/Math/Functions/Single/Atan2Single.cs new file mode 100644 index 0000000000..a3a4577947 --- /dev/null +++ b/tests/src/JIT/Performance/CodeQuality/Math/Functions/Single/Atan2Single.cs @@ -0,0 +1,48 @@ +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. +// See the LICENSE file in the project root for more information. + +using System; +using Microsoft.Xunit.Performance; + +namespace Functions +{ + public static partial class MathTests + { + // Tests MathF.Atan2(float, float) over 5000 iterations for the domain y: -1, +1; x: +1, -1 + + private const float atan2SingleDeltaX = -0.0004f; + private const float atan2SingleDeltaY = 0.0004f; + private const float atan2SingleExpectedResult = 3930.14282f; + + [Benchmark] + public static void Atan2SingleBenchmark() + { + foreach (var iteration in Benchmark.Iterations) + { + using (iteration.StartMeasurement()) + { + Atan2SingleTest(); + } + } + } + + public static void Atan2SingleTest() + { + var result = 0.0f; var valueX = 1.0f; var valueY = -1.0f; + + for (var iteration = 0; iteration < iterations; iteration++) + { + valueX += atan2SingleDeltaX; valueY += atan2SingleDeltaY; + result += MathF.Atan2(valueY, valueX); + } + + var diff = MathF.Abs(atan2SingleExpectedResult - result); + + if (diff > singleEpsilon) + { + throw new Exception($"Expected Result {atan2SingleExpectedResult,10:g9}; Actual Result {result,10:g9}"); + } + } + } +} diff --git a/tests/src/JIT/Performance/CodeQuality/Math/Functions/Single/AtanSingle.cs b/tests/src/JIT/Performance/CodeQuality/Math/Functions/Single/AtanSingle.cs new file mode 100644 index 0000000000..95cc0e226e --- /dev/null +++ b/tests/src/JIT/Performance/CodeQuality/Math/Functions/Single/AtanSingle.cs @@ -0,0 +1,47 @@ +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. +// See the LICENSE file in the project root for more information. + +using System; +using Microsoft.Xunit.Performance; + +namespace Functions +{ + public static partial class MathTests + { + // Tests MathF.Atan(float) over 5000 iterations for the domain -1, +1 + + private const float atanSingleDelta = 0.0004f; + private const float atanSingleExpectedResult = 0.841940999f; + + [Benchmark] + public static void AtanSingleBenchmark() + { + foreach (var iteration in Benchmark.Iterations) + { + using (iteration.StartMeasurement()) + { + AtanSingleTest(); + } + } + } + + public static void AtanSingleTest() + { + var result = 0.0f; var value = -1.0f; + + for (var iteration = 0; iteration < iterations; iteration++) + { + value += atanSingleDelta; + result += MathF.Atan(value); + } + + var diff = MathF.Abs(atanSingleExpectedResult - result); + + if (diff > singleEpsilon) + { + throw new Exception($"Expected Result {atanSingleExpectedResult,10:g9}; Actual Result {result,10:g9}"); + } + } + } +} diff --git a/tests/src/JIT/Performance/CodeQuality/Math/Functions/Single/CeilingSingle.cs b/tests/src/JIT/Performance/CodeQuality/Math/Functions/Single/CeilingSingle.cs new file mode 100644 index 0000000000..85454f1cc8 --- /dev/null +++ b/tests/src/JIT/Performance/CodeQuality/Math/Functions/Single/CeilingSingle.cs @@ -0,0 +1,47 @@ +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. +// See the LICENSE file in the project root for more information. + +using System; +using Microsoft.Xunit.Performance; + +namespace Functions +{ + public static partial class MathTests + { + // Tests MathF.Ceiling(float) over 5000 iterations for the domain -1, +1 + + private const float ceilingSingleDelta = 0.0004f; + private const float ceilingSingleExpectedResult = 2502.0f; + + [Benchmark] + public static void CeilingSingleBenchmark() + { + foreach (var iteration in Benchmark.Iterations) + { + using (iteration.StartMeasurement()) + { + CeilingSingleTest(); + } + } + } + + public static void CeilingSingleTest() + { + var result = 0.0f; var value = -1.0f; + + for (var iteration = 0; iteration < iterations; iteration++) + { + value += ceilingSingleDelta; + result += MathF.Ceiling(value); + } + + var diff = MathF.Abs(ceilingSingleExpectedResult - result); + + if (diff > singleEpsilon) + { + throw new Exception($"Expected Result {ceilingSingleExpectedResult,10:g9}; Actual Result {result,10:g9}"); + } + } + } +} diff --git a/tests/src/JIT/Performance/CodeQuality/Math/Functions/Single/CosSingle.cs b/tests/src/JIT/Performance/CodeQuality/Math/Functions/Single/CosSingle.cs new file mode 100644 index 0000000000..3d1d6a3b58 --- /dev/null +++ b/tests/src/JIT/Performance/CodeQuality/Math/Functions/Single/CosSingle.cs @@ -0,0 +1,47 @@ +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. +// See the LICENSE file in the project root for more information. + +using System; +using Microsoft.Xunit.Performance; + +namespace Functions +{ + public static partial class MathTests + { + // Tests MathF.Cos(float) over 5000 iterations for the domain 0, PI + + private const float cosSingleDelta = 0.000628318531f; + private const float cosSingleExpectedResult = -0.993487537f; + + [Benchmark] + public static void CosSingleBenchmark() + { + foreach (var iteration in Benchmark.Iterations) + { + using (iteration.StartMeasurement()) + { + CosSingleTest(); + } + } + } + + public static void CosSingleTest() + { + var result = 0.0f; var value = 0.0f; + + for (var iteration = 0; iteration < iterations; iteration++) + { + value += cosSingleDelta; + result += MathF.Cos(value); + } + + var diff = MathF.Abs(cosSingleExpectedResult - result); + + if (diff > singleEpsilon) + { + throw new Exception($"Expected Result {cosSingleExpectedResult,10:g9}; Actual Result {result,10:g9}"); + } + } + } +} diff --git a/tests/src/JIT/Performance/CodeQuality/Math/Functions/Single/CoshSingle.cs b/tests/src/JIT/Performance/CodeQuality/Math/Functions/Single/CoshSingle.cs new file mode 100644 index 0000000000..072a0dcf66 --- /dev/null +++ b/tests/src/JIT/Performance/CodeQuality/Math/Functions/Single/CoshSingle.cs @@ -0,0 +1,47 @@ +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. +// See the LICENSE file in the project root for more information. + +using System; +using Microsoft.Xunit.Performance; + +namespace Functions +{ + public static partial class MathTests + { + // Tests MathF.Cosh(float) over 5000 iterations for the domain -1, +1 + + private const float coshSingleDelta = 0.0004f; + private const float coshSingleExpectedResult = 5876.02588f; + + [Benchmark] + public static void CoshSingleBenchmark() + { + foreach (var iteration in Benchmark.Iterations) + { + using (iteration.StartMeasurement()) + { + CoshSingleTest(); + } + } + } + + public static void CoshSingleTest() + { + var result = 0.0f; var value = -1.0f; + + for (var iteration = 0; iteration < iterations; iteration++) + { + value += coshSingleDelta; + result += MathF.Cosh(value); + } + + var diff = MathF.Abs(coshSingleExpectedResult - result); + + if (diff > singleEpsilon) + { + throw new Exception($"Expected Result {coshSingleExpectedResult,10:g9}; Actual Result {result,10:g9}"); + } + } + } +} diff --git a/tests/src/JIT/Performance/CodeQuality/Math/Functions/Single/ExpSingle.cs b/tests/src/JIT/Performance/CodeQuality/Math/Functions/Single/ExpSingle.cs new file mode 100644 index 0000000000..e9d61c9f5d --- /dev/null +++ b/tests/src/JIT/Performance/CodeQuality/Math/Functions/Single/ExpSingle.cs @@ -0,0 +1,47 @@ +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. +// See the LICENSE file in the project root for more information. + +using System; +using Microsoft.Xunit.Performance; + +namespace Functions +{ + public static partial class MathTests + { + // Tests MathF.Exp(float) over 5000 iterations for the domain -1, +1 + + private const float expSingleDelta = 0.0004f; + private const float expSingleExpectedResult = 5877.28564f; + + [Benchmark] + public static void ExpSingleBenchmark() + { + foreach (var iteration in Benchmark.Iterations) + { + using (iteration.StartMeasurement()) + { + ExpSingleTest(); + } + } + } + + public static void ExpSingleTest() + { + var result = 0.0f; var value = -1.0f; + + for (var iteration = 0; iteration < iterations; iteration++) + { + value += expSingleDelta; + result += MathF.Exp(value); + } + + var diff = MathF.Abs(expSingleExpectedResult - result); + + if (diff > singleEpsilon) + { + throw new Exception($"Expected Result {expSingleExpectedResult,10:g9}; Actual Result {result,10:g9}"); + } + } + } +} diff --git a/tests/src/JIT/Performance/CodeQuality/Math/Functions/Single/FloorSingle.cs b/tests/src/JIT/Performance/CodeQuality/Math/Functions/Single/FloorSingle.cs new file mode 100644 index 0000000000..ce1febb178 --- /dev/null +++ b/tests/src/JIT/Performance/CodeQuality/Math/Functions/Single/FloorSingle.cs @@ -0,0 +1,47 @@ +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. +// See the LICENSE file in the project root for more information. + +using System; +using Microsoft.Xunit.Performance; + +namespace Functions +{ + public static partial class MathTests + { + // Tests MathF.Floor(float) over 5000 iterations for the domain -1, +1 + + private const float floorSingleDelta = 0.0004f; + private const float floorSingleExpectedResult = -2498.0f; + + [Benchmark] + public static void FloorSingleBenchmark() + { + foreach (var iteration in Benchmark.Iterations) + { + using (iteration.StartMeasurement()) + { + FloorSingleTest(); + } + } + } + + public static void FloorSingleTest() + { + var result = 0.0f; var value = -1.0f; + + for (var iteration = 0; iteration < iterations; iteration++) + { + value += floorSingleDelta; + result += MathF.Floor(value); + } + + var diff = MathF.Abs(floorSingleExpectedResult - result); + + if (diff > singleEpsilon) + { + throw new Exception($"Expected Result {floorSingleExpectedResult,10:g9}; Actual Result {result,10:g9}"); + } + } + } +} diff --git a/tests/src/JIT/Performance/CodeQuality/Math/Functions/Single/Log10Single.cs b/tests/src/JIT/Performance/CodeQuality/Math/Functions/Single/Log10Single.cs new file mode 100644 index 0000000000..80f00b3ec8 --- /dev/null +++ b/tests/src/JIT/Performance/CodeQuality/Math/Functions/Single/Log10Single.cs @@ -0,0 +1,47 @@ +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. +// See the LICENSE file in the project root for more information. + +using System; +using Microsoft.Xunit.Performance; + +namespace Functions +{ + public static partial class MathTests + { + // Tests MathF.Log10(float) over 5000 iterations for the domain -1, +1 + + private const float log10SingleDelta = 0.0004f; + private const float log10SingleExpectedResult = -664.094971f; + + [Benchmark] + public static void Log10SingleBenchmark() + { + foreach (var iteration in Benchmark.Iterations) + { + using (iteration.StartMeasurement()) + { + Log10SingleTest(); + } + } + } + + public static void Log10SingleTest() + { + var result = 0.0f; var value = 0.0f; + + for (var iteration = 0; iteration < iterations; iteration++) + { + value += log10SingleDelta; + result += MathF.Log10(value); + } + + var diff = MathF.Abs(log10SingleExpectedResult - result); + + if (diff > singleEpsilon) + { + throw new Exception($"Expected Result {log10SingleExpectedResult,10:g9}; Actual Result {result,10:g9}"); + } + } + } +} diff --git a/tests/src/JIT/Performance/CodeQuality/Math/Functions/Single/LogSingle.cs b/tests/src/JIT/Performance/CodeQuality/Math/Functions/Single/LogSingle.cs new file mode 100644 index 0000000000..3f07ef16ab --- /dev/null +++ b/tests/src/JIT/Performance/CodeQuality/Math/Functions/Single/LogSingle.cs @@ -0,0 +1,48 @@ +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. +// See the LICENSE file in the project root for more information. + +using System; +using Microsoft.Xunit.Performance; + +namespace Functions +{ + public static partial class MathTests + { + // Tests MathF.Log(float) over 5000 iterations for the domain -1, +1 + + private const float logSingleDelta = 0.0004f; + private const float logSingleExpectedResult = -1529.14014f; + + [Benchmark] + public static void LogSingleBenchmark() + { + foreach (var iteration in Benchmark.Iterations) + { + using (iteration.StartMeasurement()) + { + LogSingleTest(); + } + } + } + + public static void LogSingleTest() + { + var result = 0.0f; var value = 0.0f; + + for (var iteration = 0; iteration < iterations; iteration++) + { + value += logSingleDelta; + result += MathF.Log(value); + } + + var diff = MathF.Abs(logSingleExpectedResult - result); + + if (diff > singleEpsilon) + { + throw new Exception($"Expected Result {logSingleExpectedResult,10:g9}; Actual Result {result,10:g9}"); + } + } + } + +} diff --git a/tests/src/JIT/Performance/CodeQuality/Math/Functions/Single/PowSingle.cs b/tests/src/JIT/Performance/CodeQuality/Math/Functions/Single/PowSingle.cs new file mode 100644 index 0000000000..49de8a0101 --- /dev/null +++ b/tests/src/JIT/Performance/CodeQuality/Math/Functions/Single/PowSingle.cs @@ -0,0 +1,48 @@ +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. +// See the LICENSE file in the project root for more information. + +using System; +using Microsoft.Xunit.Performance; + +namespace Functions +{ + public static partial class MathTests + { + // Tests MathF.Pow(float, float) over 5000 iterations for the domain x: +2, +1; y: -2, -1 + + private const float powSingleDeltaX = -0.0004f; + private const float powSingleDeltaY = 0.0004f; + private const float powSingleExpectedResult = 4659.30762f; + + [Benchmark] + public static void PowSingleBenchmark() + { + foreach (var iteration in Benchmark.Iterations) + { + using (iteration.StartMeasurement()) + { + PowSingleTest(); + } + } + } + + public static void PowSingleTest() + { + var result = 0.0f; var valueX = 2.0f; var valueY = -2.0f; + + for (var iteration = 0; iteration < iterations; iteration++) + { + valueX += powSingleDeltaX; valueY += powSingleDeltaY; + result += MathF.Pow(valueX, valueY); + } + + var diff = MathF.Abs(powSingleExpectedResult - result); + + if (diff > singleEpsilon) + { + throw new Exception($"Expected Result {powSingleExpectedResult,10:g9}; Actual Result {result,10:g9}"); + } + } + } +} diff --git a/tests/src/JIT/Performance/CodeQuality/Math/Functions/Single/RoundSingle.cs b/tests/src/JIT/Performance/CodeQuality/Math/Functions/Single/RoundSingle.cs new file mode 100644 index 0000000000..b494a2a985 --- /dev/null +++ b/tests/src/JIT/Performance/CodeQuality/Math/Functions/Single/RoundSingle.cs @@ -0,0 +1,47 @@ +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. +// See the LICENSE file in the project root for more information. + +using System; +using Microsoft.Xunit.Performance; + +namespace Functions +{ + public static partial class MathTests + { + // Tests MathF.Round(float) over 5000 iterations for the domain -PI/2, +PI/2 + + private const float roundSingleDelta = 0.000628318531f; + private const float roundSingleExpectedResult = 2.0f; + + [Benchmark] + public static void RoundSingleBenchmark() + { + foreach (var iteration in Benchmark.Iterations) + { + using (iteration.StartMeasurement()) + { + RoundSingleTest(); + } + } + } + + public static void RoundSingleTest() + { + var result = 0.0f; var value = -1.57079633f; + + for (var iteration = 0; iteration < iterations; iteration++) + { + value += roundSingleDelta; + result += MathF.Round(value); + } + + var diff = MathF.Abs(roundSingleExpectedResult - result); + + if (diff > singleEpsilon) + { + throw new Exception($"Expected Result {roundSingleExpectedResult,10:g9}; Actual Result {result,10:g9}"); + } + } + } +} diff --git a/tests/src/JIT/Performance/CodeQuality/Math/Functions/Single/SinSingle.cs b/tests/src/JIT/Performance/CodeQuality/Math/Functions/Single/SinSingle.cs new file mode 100644 index 0000000000..4d6228361e --- /dev/null +++ b/tests/src/JIT/Performance/CodeQuality/Math/Functions/Single/SinSingle.cs @@ -0,0 +1,47 @@ +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. +// See the LICENSE file in the project root for more information. + +using System; +using Microsoft.Xunit.Performance; + +namespace Functions +{ + public static partial class MathTests + { + // Tests MathF.Sin(float) over 5000 iterations for the domain -PI/2, +PI/2 + + private const float sinSingleDelta = 0.000628318531f; + private const float sinSingleExpectedResult = 1.03592682f; + + [Benchmark] + public static void SinSingleBenchmark() + { + foreach (var iteration in Benchmark.Iterations) + { + using (iteration.StartMeasurement()) + { + SinSingleTest(); + } + } + } + + public static void SinSingleTest() + { + var result = 0.0f; var value = -1.57079633f; + + for (var iteration = 0; iteration < iterations; iteration++) + { + value += sinSingleDelta; + result += MathF.Sin(value); + } + + var diff = MathF.Abs(sinSingleExpectedResult - result); + + if (diff > singleEpsilon) + { + throw new Exception($"Expected Result {sinSingleExpectedResult,10:g9}; Actual Result {result,10:g9}"); + } + } + } +} diff --git a/tests/src/JIT/Performance/CodeQuality/Math/Functions/Single/SinhSingle.cs b/tests/src/JIT/Performance/CodeQuality/Math/Functions/Single/SinhSingle.cs new file mode 100644 index 0000000000..9ed01e4f55 --- /dev/null +++ b/tests/src/JIT/Performance/CodeQuality/Math/Functions/Single/SinhSingle.cs @@ -0,0 +1,47 @@ +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. +// See the LICENSE file in the project root for more information. + +using System; +using Microsoft.Xunit.Performance; + +namespace Functions +{ + public static partial class MathTests + { + // Tests MathF.Sinh(float) over 5000 iterations for the domain -1, +1 + + private const float sinhSingleDelta = 0.0004f; + private const float sinhSingleExpectedResult = 1.26028216f; + + [Benchmark] + public static void SinhSingleBenchmark() + { + foreach (var iteration in Benchmark.Iterations) + { + using (iteration.StartMeasurement()) + { + SinhSingleTest(); + } + } + } + + public static void SinhSingleTest() + { + var result = 0.0f; var value = -1.0f; + + for (var iteration = 0; iteration < iterations; iteration++) + { + value += sinhSingleDelta; + result += MathF.Sinh(value); + } + + var diff = MathF.Abs(sinhSingleExpectedResult - result); + + if (diff > singleEpsilon) + { + throw new Exception($"Expected Result {sinhSingleExpectedResult,10:g9}; Actual Result {result,10:g9}"); + } + } + } +} diff --git a/tests/src/JIT/Performance/CodeQuality/Math/Functions/Single/SqrtSingle.cs b/tests/src/JIT/Performance/CodeQuality/Math/Functions/Single/SqrtSingle.cs new file mode 100644 index 0000000000..f7349c1a5f --- /dev/null +++ b/tests/src/JIT/Performance/CodeQuality/Math/Functions/Single/SqrtSingle.cs @@ -0,0 +1,47 @@ +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. +// See the LICENSE file in the project root for more information. + +using System; +using Microsoft.Xunit.Performance; + +namespace Functions +{ + public static partial class MathTests + { + // Tests MathF.Sqrt(float) over 5000 iterations for the domain 0, PI + + private const float sqrtSingleDelta = 0.000628318531f; + private const float sqrtSingleExpectedResult = 5909.03027f; + + [Benchmark] + public static void SqrtSingleBenchmark() + { + foreach (var iteration in Benchmark.Iterations) + { + using (iteration.StartMeasurement()) + { + SqrtSingleTest(); + } + } + } + + public static void SqrtSingleTest() + { + var result = 0.0f; var value = 0.0f; + + for (var iteration = 0; iteration < iterations; iteration++) + { + value += sqrtSingleDelta; + result += MathF.Sqrt(value); + } + + var diff = MathF.Abs(sqrtSingleExpectedResult - result); + + if (diff > singleEpsilon) + { + throw new Exception($"Expected Result {sqrtSingleExpectedResult,10:g9}; Actual Result {result,10:g9}"); + } + } + } +} diff --git a/tests/src/JIT/Performance/CodeQuality/Math/Functions/Single/TanSingle.cs b/tests/src/JIT/Performance/CodeQuality/Math/Functions/Single/TanSingle.cs new file mode 100644 index 0000000000..b81050bfa3 --- /dev/null +++ b/tests/src/JIT/Performance/CodeQuality/Math/Functions/Single/TanSingle.cs @@ -0,0 +1,47 @@ +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. +// See the LICENSE file in the project root for more information. + +using System; +using Microsoft.Xunit.Performance; + +namespace Functions +{ + public static partial class MathTests + { + // Tests MathF.Tan(float) over 5000 iterations for the domain -PI/2, +PI/2 + + private const float tanSingleDelta = 0.0004f; + private const float tanSingleExpectedResult = 1.66717815f; + + [Benchmark] + public static void TanSingleBenchmark() + { + foreach (var iteration in Benchmark.Iterations) + { + using (iteration.StartMeasurement()) + { + TanSingleTest(); + } + } + } + + public static void TanSingleTest() + { + var result = 0.0f; var value = -1.0f; + + for (var iteration = 0; iteration < iterations; iteration++) + { + value += tanSingleDelta; + result += MathF.Tan(value); + } + + var diff = MathF.Abs(tanSingleExpectedResult - result); + + if (diff > singleEpsilon) + { + throw new Exception($"Expected Result {tanSingleExpectedResult,10:g9}; Actual Result {result,10:g9}"); + } + } + } +} diff --git a/tests/src/JIT/Performance/CodeQuality/Math/Functions/Single/TanhSingle.cs b/tests/src/JIT/Performance/CodeQuality/Math/Functions/Single/TanhSingle.cs new file mode 100644 index 0000000000..160e1135bf --- /dev/null +++ b/tests/src/JIT/Performance/CodeQuality/Math/Functions/Single/TanhSingle.cs @@ -0,0 +1,47 @@ +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. +// See the LICENSE file in the project root for more information. + +using System; +using Microsoft.Xunit.Performance; + +namespace Functions +{ + public static partial class MathTests + { + // Tests MathF.Tanh(float) over 5000 iterations for the domain -1, +1 + + private const float tanhSingleDelta = 0.0004f; + private const float tanhSingleExpectedResult = 0.816701353f; + + [Benchmark] + public static void TanhSingleBenchmark() + { + foreach (var iteration in Benchmark.Iterations) + { + using (iteration.StartMeasurement()) + { + TanhSingleTest(); + } + } + } + + public static void TanhSingleTest() + { + var result = 0.0f; var value = -1.0f; + + for (var iteration = 0; iteration < iterations; iteration++) + { + value += tanhSingleDelta; + result += MathF.Tanh(value); + } + + var diff = MathF.Abs(tanhSingleExpectedResult - result); + + if (diff > singleEpsilon) + { + throw new Exception($"Expected Result {tanhSingleExpectedResult,10:g9}; Actual Result {result,10:g9}"); + } + } + } +} diff --git a/tests/src/JIT/Performance/CodeQuality/Roslyn/CscBench.cs b/tests/src/JIT/Performance/CodeQuality/Roslyn/CscBench.cs index e3337d115b..704e728c55 100644 --- a/tests/src/JIT/Performance/CodeQuality/Roslyn/CscBench.cs +++ b/tests/src/JIT/Performance/CodeQuality/Roslyn/CscBench.cs @@ -13,7 +13,6 @@ using System.Linq; using System.Runtime.CompilerServices; [assembly: OptimizeForBenchmarks] -[assembly: MeasureInstructionsRetired] public static class CscBench { diff --git a/tests/src/JIT/Performance/CodeQuality/Roslyn/CscBench.csproj b/tests/src/JIT/Performance/CodeQuality/Roslyn/CscBench.csproj index baea313f2c..bb5226e58c 100644 --- a/tests/src/JIT/Performance/CodeQuality/Roslyn/CscBench.csproj +++ b/tests/src/JIT/Performance/CodeQuality/Roslyn/CscBench.csproj @@ -10,6 +10,7 @@ {786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} ..\..\ .NETStandard,Version=v1.4 + netstandard1.4 true @@ -30,10 +31,9 @@ - - $(JitPackagesConfigFileDirectory)benchmark+roslyn\project.json - $(JitPackagesConfigFileDirectory)benchmark+roslyn\project.lock.json - + + $(JitPackagesConfigFileDirectory)benchmark+roslyn\obj\project.assets.json + \ No newline at end of file diff --git a/tests/src/JIT/Performance/CodeQuality/SIMD/ConsoleMandel/ConsoleMandel.cs b/tests/src/JIT/Performance/CodeQuality/SIMD/ConsoleMandel/ConsoleMandel.cs index 5ab08202b6..c5058dcfac 100644 --- a/tests/src/JIT/Performance/CodeQuality/SIMD/ConsoleMandel/ConsoleMandel.cs +++ b/tests/src/JIT/Performance/CodeQuality/SIMD/ConsoleMandel/ConsoleMandel.cs @@ -9,7 +9,6 @@ using System.Diagnostics; using Xunit; [assembly: OptimizeForBenchmarks] -[assembly: MeasureInstructionsRetired] namespace SIMD { diff --git a/tests/src/JIT/Performance/CodeQuality/SIMD/ConsoleMandel/ConsoleMandel.csproj b/tests/src/JIT/Performance/CodeQuality/SIMD/ConsoleMandel/ConsoleMandel.csproj index b6224770fa..dc256858fa 100644 --- a/tests/src/JIT/Performance/CodeQuality/SIMD/ConsoleMandel/ConsoleMandel.csproj +++ b/tests/src/JIT/Performance/CodeQuality/SIMD/ConsoleMandel/ConsoleMandel.csproj @@ -10,6 +10,7 @@ {786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} ..\..\ .NETStandard,Version=v1.4 + netstandard1.4 @@ -38,10 +39,9 @@ - - $(JitPackagesConfigFileDirectory)benchmark\project.json - $(JitPackagesConfigFileDirectory)benchmark\project.lock.json - + + $(JitPackagesConfigFileDirectory)benchmark\obj\project.assets.json + \ No newline at end of file diff --git a/tests/src/JIT/Performance/CodeQuality/SIMD/RayTracer/RayTracer.csproj b/tests/src/JIT/Performance/CodeQuality/SIMD/RayTracer/RayTracer.csproj index 0b1e5be0ae..ea19938bd5 100644 --- a/tests/src/JIT/Performance/CodeQuality/SIMD/RayTracer/RayTracer.csproj +++ b/tests/src/JIT/Performance/CodeQuality/SIMD/RayTracer/RayTracer.csproj @@ -10,6 +10,7 @@ {786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} ..\..\ .NETStandard,Version=v1.4 + netstandard1.4 @@ -44,10 +45,9 @@ - - $(JitPackagesConfigFileDirectory)benchmark\project.json - $(JitPackagesConfigFileDirectory)benchmark\project.lock.json - + + $(JitPackagesConfigFileDirectory)benchmark\obj\project.assets.json + \ No newline at end of file diff --git a/tests/src/JIT/Performance/CodeQuality/SIMD/RayTracer/RayTracerBench.cs b/tests/src/JIT/Performance/CodeQuality/SIMD/RayTracer/RayTracerBench.cs index 254672b462..715e0e2a89 100644 --- a/tests/src/JIT/Performance/CodeQuality/SIMD/RayTracer/RayTracerBench.cs +++ b/tests/src/JIT/Performance/CodeQuality/SIMD/RayTracer/RayTracerBench.cs @@ -14,7 +14,6 @@ using System.Threading.Tasks; using System.Collections.Concurrent; [assembly: OptimizeForBenchmarks] -[assembly: MeasureInstructionsRetired] namespace SIMD { diff --git a/tests/src/JIT/Performance/CodeQuality/SIMD/SeekUnroll/SeekUnroll.cs b/tests/src/JIT/Performance/CodeQuality/SIMD/SeekUnroll/SeekUnroll.cs index 81d9c0952f..bfa1f43a5f 100644 --- a/tests/src/JIT/Performance/CodeQuality/SIMD/SeekUnroll/SeekUnroll.cs +++ b/tests/src/JIT/Performance/CodeQuality/SIMD/SeekUnroll/SeekUnroll.cs @@ -12,7 +12,6 @@ using System.Collections.Generic; using Xunit; [assembly: OptimizeForBenchmarks] -[assembly: MeasureInstructionsRetired] public static class SeekUnroll { diff --git a/tests/src/JIT/Performance/CodeQuality/SIMD/SeekUnroll/SeekUnroll.csproj b/tests/src/JIT/Performance/CodeQuality/SIMD/SeekUnroll/SeekUnroll.csproj index d5c72559ec..dc31f186a2 100644 --- a/tests/src/JIT/Performance/CodeQuality/SIMD/SeekUnroll/SeekUnroll.csproj +++ b/tests/src/JIT/Performance/CodeQuality/SIMD/SeekUnroll/SeekUnroll.csproj @@ -30,11 +30,9 @@ - - $(JitPackagesConfigFileDirectory)benchmark\project.json - $(JitPackagesConfigFileDirectory)benchmark\project.lock.json - - + + + $(JitPackagesConfigFileDirectory)benchmark\obj\project.assets.json diff --git a/tests/src/JIT/Performance/CodeQuality/SciMark/SciMark.csproj b/tests/src/JIT/Performance/CodeQuality/SciMark/SciMark.csproj index 917d749d41..65726fce85 100644 --- a/tests/src/JIT/Performance/CodeQuality/SciMark/SciMark.csproj +++ b/tests/src/JIT/Performance/CodeQuality/SciMark/SciMark.csproj @@ -10,6 +10,7 @@ {786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} ..\..\ .NETStandard,Version=v1.4 + netstandard1.4 SciMark @@ -39,10 +40,9 @@ - - $(JitPackagesConfigFileDirectory)benchmark\project.json - $(JitPackagesConfigFileDirectory)benchmark\project.lock.json - + + $(JitPackagesConfigFileDirectory)benchmark\obj\project.assets.json + \ No newline at end of file diff --git a/tests/src/JIT/Performance/CodeQuality/SciMark/kernel.cs b/tests/src/JIT/Performance/CodeQuality/SciMark/kernel.cs index 3cba0c16c8..e06d7ff093 100644 --- a/tests/src/JIT/Performance/CodeQuality/SciMark/kernel.cs +++ b/tests/src/JIT/Performance/CodeQuality/SciMark/kernel.cs @@ -4,9 +4,9 @@ /// /// This is a port of the SciMark2a Java Benchmark to C# by /// Chris Re (cmr28@cornell.edu) and Werner Vogels (vogels@cs.cornell.edu) -/// +/// /// For details on the original authors see http://math.nist.gov/scimark2 -/// +/// /// This software is likely to burn your processor, bitflip your memory chips /// anihilate your screen and corrupt all your disks, so you it at your /// own risk. @@ -17,7 +17,6 @@ using Microsoft.Xunit.Performance; using System; [assembly: OptimizeForBenchmarks] -[assembly: MeasureInstructionsRetired] namespace SciMark2 { @@ -217,7 +216,7 @@ namespace SciMark2 // +** * * + // +* * * * + // +* * * * + - // +* * * * + + // +* * * * + // +-----------------+ // // (as best reproducible with integer artihmetic) diff --git a/tests/src/JIT/Performance/CodeQuality/Serialization/Deserialize.cs b/tests/src/JIT/Performance/CodeQuality/Serialization/Deserialize.cs index 56fc2665ad..5658161644 100644 --- a/tests/src/JIT/Performance/CodeQuality/Serialization/Deserialize.cs +++ b/tests/src/JIT/Performance/CodeQuality/Serialization/Deserialize.cs @@ -13,7 +13,6 @@ using Newtonsoft.Json.Bson; using Microsoft.Xunit.Performance; [assembly: OptimizeForBenchmarks] -[assembly: MeasureInstructionsRetired] namespace Serialization { diff --git a/tests/src/JIT/Performance/CodeQuality/Serialization/Deserialize.csproj b/tests/src/JIT/Performance/CodeQuality/Serialization/Deserialize.csproj index c08d1cd14b..e28565bb52 100644 --- a/tests/src/JIT/Performance/CodeQuality/Serialization/Deserialize.csproj +++ b/tests/src/JIT/Performance/CodeQuality/Serialization/Deserialize.csproj @@ -10,6 +10,7 @@ {786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} ..\..\ .NETStandard,Version=v1.4 + netstandard1.4 @@ -29,10 +30,9 @@ - - $(JitPackagesConfigFileDirectory)benchmark+serialize\project.json - $(JitPackagesConfigFileDirectory)benchmark+serialize\project.lock.json - + + $(JitPackagesConfigFileDirectory)benchmark+serialize\obj\project.assets.json + \ No newline at end of file diff --git a/tests/src/JIT/Performance/CodeQuality/Serialization/Serialize.cs b/tests/src/JIT/Performance/CodeQuality/Serialization/Serialize.cs index 39ab5876c9..6e2c41a6d1 100644 --- a/tests/src/JIT/Performance/CodeQuality/Serialization/Serialize.cs +++ b/tests/src/JIT/Performance/CodeQuality/Serialization/Serialize.cs @@ -12,7 +12,6 @@ using Newtonsoft.Json.Bson; using Microsoft.Xunit.Performance; [assembly: OptimizeForBenchmarks] -[assembly: MeasureInstructionsRetired] namespace Serialization { diff --git a/tests/src/JIT/Performance/CodeQuality/Serialization/Serialize.csproj b/tests/src/JIT/Performance/CodeQuality/Serialization/Serialize.csproj index 04798526f9..235de76463 100644 --- a/tests/src/JIT/Performance/CodeQuality/Serialization/Serialize.csproj +++ b/tests/src/JIT/Performance/CodeQuality/Serialization/Serialize.csproj @@ -10,6 +10,7 @@ {786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} ..\..\ .NETStandard,Version=v1.4 + netstandard1.4 @@ -29,10 +30,9 @@ - - $(JitPackagesConfigFileDirectory)benchmark+serialize\project.json - $(JitPackagesConfigFileDirectory)benchmark+serialize\project.lock.json - + + $(JitPackagesConfigFileDirectory)benchmark+serialize\obj\project.assets.json + \ No newline at end of file diff --git a/tests/src/JIT/Performance/CodeQuality/Span/Indexer.cs b/tests/src/JIT/Performance/CodeQuality/Span/Indexer.cs index 4a7264ba92..c7f4846548 100644 --- a/tests/src/JIT/Performance/CodeQuality/Span/Indexer.cs +++ b/tests/src/JIT/Performance/CodeQuality/Span/Indexer.cs @@ -14,7 +14,6 @@ using Xunit; using Microsoft.Xunit.Performance; [assembly: OptimizeForBenchmarks] -[assembly: MeasureInstructionsRetired] namespace Span { @@ -526,7 +525,7 @@ namespace Span Invoke((int innerIterationCount) => { byte result = TestKnownSizeArray(innerIterationCount); - return result; + return result; }, "KnownSizeArray({0})", length); } @@ -1014,7 +1013,7 @@ namespace Span Console.WriteLine("Some tests failed validation"); return -1; } - + return 100; } } diff --git a/tests/src/JIT/Performance/CodeQuality/Span/Indexer.csproj b/tests/src/JIT/Performance/CodeQuality/Span/Indexer.csproj index a871713d1d..0427657cf5 100644 --- a/tests/src/JIT/Performance/CodeQuality/Span/Indexer.csproj +++ b/tests/src/JIT/Performance/CodeQuality/Span/Indexer.csproj @@ -12,6 +12,7 @@ {786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} ..\..\ .NETStandard,Version=v1.4 + netstandard1.4 @@ -34,11 +35,9 @@ - - $(JitPackagesConfigFileDirectory)benchmark\project.json - $(JitPackagesConfigFileDirectory)benchmark\project.lock.json - - + + + $(JitPackagesConfigFileDirectory)benchmark\obj\project.assets.json diff --git a/tests/src/JIT/Performance/CodeQuality/Span/SpanBench.cs b/tests/src/JIT/Performance/CodeQuality/Span/SpanBench.cs index d84152132d..ef694421ef 100644 --- a/tests/src/JIT/Performance/CodeQuality/Span/SpanBench.cs +++ b/tests/src/JIT/Performance/CodeQuality/Span/SpanBench.cs @@ -14,7 +14,6 @@ using Xunit; using Microsoft.Xunit.Performance; [assembly: OptimizeForBenchmarks] -[assembly: MeasureInstructionsRetired] namespace Span { @@ -1109,7 +1108,7 @@ namespace Span #endregion #region TestSpanAsSpanStringChar - + [Benchmark(InnerIterationCount = BaseIterations)] [InlineData(1)] [InlineData(10)] @@ -1146,7 +1145,7 @@ namespace Span } } - #endregion + #endregion #endregion // TestSpanAPIs @@ -1186,7 +1185,7 @@ namespace Span } } } - + // The only failure modes are crash/exception. return 100; } diff --git a/tests/src/JIT/Performance/CodeQuality/Span/SpanBench.csproj b/tests/src/JIT/Performance/CodeQuality/Span/SpanBench.csproj index 7404828bcd..f3bcfa2ed9 100644 --- a/tests/src/JIT/Performance/CodeQuality/Span/SpanBench.csproj +++ b/tests/src/JIT/Performance/CodeQuality/Span/SpanBench.csproj @@ -12,6 +12,7 @@ {786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} ..\..\ .NETStandard,Version=v1.4 + netstandard1.4 @@ -33,11 +34,9 @@ - - $(JitPackagesConfigFileDirectory)benchmark\project.json - $(JitPackagesConfigFileDirectory)benchmark\project.lock.json - - + + + $(JitPackagesConfigFileDirectory)benchmark\obj\project.assets.json diff --git a/tests/src/JIT/Performance/CodeQuality/V8/Crypto/Crypto.cs b/tests/src/JIT/Performance/CodeQuality/V8/Crypto/Crypto.cs index 620e012848..f49f92f8db 100644 --- a/tests/src/JIT/Performance/CodeQuality/V8/Crypto/Crypto.cs +++ b/tests/src/JIT/Performance/CodeQuality/V8/Crypto/Crypto.cs @@ -44,7 +44,6 @@ using System.Collections.Generic; using System.Globalization; [assembly: OptimizeForBenchmarks] -[assembly: MeasureInstructionsRetired] namespace V8.Crypto { diff --git a/tests/src/JIT/Performance/CodeQuality/V8/Crypto/Crypto.csproj b/tests/src/JIT/Performance/CodeQuality/V8/Crypto/Crypto.csproj index ec9e4e1bbf..ff54fab733 100644 --- a/tests/src/JIT/Performance/CodeQuality/V8/Crypto/Crypto.csproj +++ b/tests/src/JIT/Performance/CodeQuality/V8/Crypto/Crypto.csproj @@ -10,6 +10,7 @@ {786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} ..\..\ .NETStandard,Version=v1.4 + netstandard1.4 @@ -29,10 +30,9 @@ - - $(JitPackagesConfigFileDirectory)benchmark\project.json - $(JitPackagesConfigFileDirectory)benchmark\project.lock.json - + + $(JitPackagesConfigFileDirectory)benchmark\obj\project.assets.json + \ No newline at end of file diff --git a/tests/src/JIT/Performance/CodeQuality/V8/Richards/Richards.cs b/tests/src/JIT/Performance/CodeQuality/V8/Richards/Richards.cs index 5095d22ad7..33f00ad8aa 100644 --- a/tests/src/JIT/Performance/CodeQuality/V8/Richards/Richards.cs +++ b/tests/src/JIT/Performance/CodeQuality/V8/Richards/Richards.cs @@ -15,7 +15,6 @@ using System; using System.Collections.Generic; [assembly: OptimizeForBenchmarks] -[assembly: MeasureInstructionsRetired] // using System.Diagnostics; // using System.Text.RegularExpressions; diff --git a/tests/src/JIT/Performance/CodeQuality/V8/Richards/Richards.csproj b/tests/src/JIT/Performance/CodeQuality/V8/Richards/Richards.csproj index f81039d693..50c8420691 100644 --- a/tests/src/JIT/Performance/CodeQuality/V8/Richards/Richards.csproj +++ b/tests/src/JIT/Performance/CodeQuality/V8/Richards/Richards.csproj @@ -10,6 +10,7 @@ {786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} ..\..\ .NETStandard,Version=v1.4 + netstandard1.4 @@ -29,10 +30,9 @@ - - $(JitPackagesConfigFileDirectory)benchmark\project.json - $(JitPackagesConfigFileDirectory)benchmark\project.lock.json - + + $(JitPackagesConfigFileDirectory)benchmark\obj\project.assets.json + \ No newline at end of file diff --git a/tests/src/JIT/Performance/RunBenchmarks/RunBenchmarks.csproj b/tests/src/JIT/Performance/RunBenchmarks/RunBenchmarks.csproj index 0489b0a8b0..6932f71cae 100644 --- a/tests/src/JIT/Performance/RunBenchmarks/RunBenchmarks.csproj +++ b/tests/src/JIT/Performance/RunBenchmarks/RunBenchmarks.csproj @@ -28,10 +28,9 @@ - - $(JitPackagesConfigFileDirectory)benchmark\project.json - $(JitPackagesConfigFileDirectory)benchmark\project.lock.json - + + $(JitPackagesConfigFileDirectory)benchmark\obj\project.assets.json + \ No newline at end of file diff --git a/tests/src/JIT/Regression/CLR-x86-JIT/V1-M12-Beta2/b51817/b51817.csproj b/tests/src/JIT/Regression/CLR-x86-JIT/V1-M12-Beta2/b51817/b51817.csproj index 46b4b8e24f..949136259b 100644 --- a/tests/src/JIT/Regression/CLR-x86-JIT/V1-M12-Beta2/b51817/b51817.csproj +++ b/tests/src/JIT/Regression/CLR-x86-JIT/V1-M12-Beta2/b51817/b51817.csproj @@ -27,9 +27,10 @@ - - - + + netcoreapp1.1 + win7-x86;win7-x64;ubuntu.14.04-x64;ubuntu.16.04-x64;ubuntu.16.10-x64;osx.10.12-x64;centos.7-x64;rhel.7-x64;debian.8-x64;fedora.24-x64 + diff --git a/tests/src/JIT/Regression/CLR-x86-JIT/V1-M12-Beta2/b52593/b52593.csproj b/tests/src/JIT/Regression/CLR-x86-JIT/V1-M12-Beta2/b52593/b52593.csproj index fb24d78107..bb1bf4d139 100644 --- a/tests/src/JIT/Regression/CLR-x86-JIT/V1-M12-Beta2/b52593/b52593.csproj +++ b/tests/src/JIT/Regression/CLR-x86-JIT/V1-M12-Beta2/b52593/b52593.csproj @@ -27,9 +27,10 @@ - - - + + netcoreapp1.1 + win7-x86;win7-x64;ubuntu.14.04-x64;ubuntu.16.04-x64;ubuntu.16.10-x64;osx.10.12-x64;centos.7-x64;rhel.7-x64;debian.8-x64;fedora.24-x64 + diff --git a/tests/src/JIT/Regression/CLR-x86-JIT/V1-M12-Beta2/b52733/b52733.csproj b/tests/src/JIT/Regression/CLR-x86-JIT/V1-M12-Beta2/b52733/b52733.csproj index 2358d4970f..68a40de4bd 100644 --- a/tests/src/JIT/Regression/CLR-x86-JIT/V1-M12-Beta2/b52733/b52733.csproj +++ b/tests/src/JIT/Regression/CLR-x86-JIT/V1-M12-Beta2/b52733/b52733.csproj @@ -27,9 +27,10 @@ - - - + + netcoreapp1.1 + win7-x86;win7-x64;ubuntu.14.04-x64;ubuntu.16.04-x64;ubuntu.16.10-x64;osx.10.12-x64;centos.7-x64;rhel.7-x64;debian.8-x64;fedora.24-x64 + diff --git a/tests/src/JIT/Regression/CLR-x86-JIT/V1-M12-Beta2/b52840/b52840.csproj b/tests/src/JIT/Regression/CLR-x86-JIT/V1-M12-Beta2/b52840/b52840.csproj index 26cd0e80c3..509a6628ea 100644 --- a/tests/src/JIT/Regression/CLR-x86-JIT/V1-M12-Beta2/b52840/b52840.csproj +++ b/tests/src/JIT/Regression/CLR-x86-JIT/V1-M12-Beta2/b52840/b52840.csproj @@ -27,9 +27,10 @@ - - - + + netcoreapp1.1 + win7-x86;win7-x64;ubuntu.14.04-x64;ubuntu.16.04-x64;ubuntu.16.10-x64;osx.10.12-x64;centos.7-x64;rhel.7-x64;debian.8-x64;fedora.24-x64 + diff --git a/tests/src/JIT/Regression/CLR-x86-JIT/V1-M12-Beta2/b53226/b53226a.csproj b/tests/src/JIT/Regression/CLR-x86-JIT/V1-M12-Beta2/b53226/b53226a.csproj index 3c046ea754..99cdb6ebbb 100644 --- a/tests/src/JIT/Regression/CLR-x86-JIT/V1-M12-Beta2/b53226/b53226a.csproj +++ b/tests/src/JIT/Regression/CLR-x86-JIT/V1-M12-Beta2/b53226/b53226a.csproj @@ -27,9 +27,10 @@ - - - + + netcoreapp1.1 + win7-x86;win7-x64;ubuntu.14.04-x64;ubuntu.16.04-x64;ubuntu.16.10-x64;osx.10.12-x64;centos.7-x64;rhel.7-x64;debian.8-x64;fedora.24-x64 + diff --git a/tests/src/JIT/Regression/CLR-x86-JIT/V1-M12-Beta2/b53226/b53226b.csproj b/tests/src/JIT/Regression/CLR-x86-JIT/V1-M12-Beta2/b53226/b53226b.csproj index 9acb19163a..3bd0fa0fa7 100644 --- a/tests/src/JIT/Regression/CLR-x86-JIT/V1-M12-Beta2/b53226/b53226b.csproj +++ b/tests/src/JIT/Regression/CLR-x86-JIT/V1-M12-Beta2/b53226/b53226b.csproj @@ -27,9 +27,10 @@ - - - + + netcoreapp1.1 + win7-x86;win7-x64;ubuntu.14.04-x64;ubuntu.16.04-x64;ubuntu.16.10-x64;osx.10.12-x64;centos.7-x64;rhel.7-x64;debian.8-x64;fedora.24-x64 + diff --git a/tests/src/JIT/Regression/CLR-x86-JIT/V1-M12-Beta2/b66533/b66533.csproj b/tests/src/JIT/Regression/CLR-x86-JIT/V1-M12-Beta2/b66533/b66533.csproj index 1067ba1e42..390448cfd3 100644 --- a/tests/src/JIT/Regression/CLR-x86-JIT/V1-M12-Beta2/b66533/b66533.csproj +++ b/tests/src/JIT/Regression/CLR-x86-JIT/V1-M12-Beta2/b66533/b66533.csproj @@ -27,9 +27,10 @@ - - - + + netcoreapp1.1 + win7-x86;win7-x64;ubuntu.14.04-x64;ubuntu.16.04-x64;ubuntu.16.10-x64;osx.10.12-x64;centos.7-x64;rhel.7-x64;debian.8-x64;fedora.24-x64 + diff --git a/tests/src/JIT/Regression/JitBlue/GitHub_10780/GitHub_10780.cs b/tests/src/JIT/Regression/JitBlue/GitHub_10780/GitHub_10780.cs new file mode 100644 index 0000000000..7b69838a3a --- /dev/null +++ b/tests/src/JIT/Regression/JitBlue/GitHub_10780/GitHub_10780.cs @@ -0,0 +1,52 @@ +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. +// See the LICENSE file in the project root for more information. + +// Repro case for a bug involving hoisting of static field loads out of +// loops and (illegally) above the corresponding type initializer calls. + +using System.Runtime.CompilerServices; + +namespace N +{ + public struct Pair + { + public int Left; + public int Right; + + public static Pair TenFour = new Pair() { Left = 10, Right = 4 }; + } + + static class C + { + static int Sum; + static int Two; + + // Bug repro requires a use of a Pair value; this is a small fn that takes + // a Pair by value to serve as that use. Inline it aggressively so that + // we won't think the call might kill the static field. + [MethodImpl(MethodImplOptions.AggressiveInlining)] + static void Accumulate(Pair pair) + { + Sum += pair.Left + pair.Right; + } + + + [MethodImpl(MethodImplOptions.NoInlining)] + static void SumNFourteens(int n) + { + for (int i = 0; i < n; ++i) + { + Two = 2; // Store to C.Two here is a global side-effect above which we won't hoist the static initializer (since it may throw). + Accumulate(Pair.TenFour); // Hoisting the load of Pair.TenFour above the static init call is incorrect. + } + } + + public static int Main(string[] args) + { + Sum = 0; + SumNFourteens(7); // Now Sum = 14 * 7 = 98 (and Two = 2) + return Sum + Two; // 98 + 2 = 100 on success + } + } +} diff --git a/tests/src/JIT/Regression/JitBlue/GitHub_10780/GitHub_10780.csproj b/tests/src/JIT/Regression/JitBlue/GitHub_10780/GitHub_10780.csproj new file mode 100644 index 0000000000..6223cb9edd --- /dev/null +++ b/tests/src/JIT/Regression/JitBlue/GitHub_10780/GitHub_10780.csproj @@ -0,0 +1,56 @@ + + + + + Debug + AnyCPU + $(MSBuildProjectName) + 2.0 + {1D93D1C3-458A-44ED-ABCC-7D0739B28C92} + Exe + Properties + 512 + {786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} + $(ProgramFiles)\Common Files\microsoft shared\VSTT\11.0\UITestExtensionPackages + ..\..\ + + 7a9bfb7d + + + + + + + + + False + + + + + True + True + + + + + + + + + + + + + + + + diff --git a/tests/src/JIT/Regression/JitBlue/GitHub_11343/GitHub_11343.cs b/tests/src/JIT/Regression/JitBlue/GitHub_11343/GitHub_11343.cs new file mode 100644 index 0000000000..e23d9fc76c --- /dev/null +++ b/tests/src/JIT/Regression/JitBlue/GitHub_11343/GitHub_11343.cs @@ -0,0 +1,33 @@ +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. +// See the LICENSE file in the project root for more information. + +using System; +using System.Runtime.CompilerServices; + +class GitHub_11343 +{ + const int Passed = 100; + const int Failed = 0; + + [MethodImpl(MethodImplOptions.NoInlining)] + static void Test() + { + string s = null; + // Should throw NullReferenceException even if the result is not used + int unused = s.Length; + } + + static int Main() + { + try + { + Test(); + return Failed; + } + catch (NullReferenceException) + { + return Passed; + } + } +} diff --git a/tests/src/JIT/Regression/JitBlue/GitHub_11343/GitHub_11343.csproj b/tests/src/JIT/Regression/JitBlue/GitHub_11343/GitHub_11343.csproj new file mode 100644 index 0000000000..c493c4ed35 --- /dev/null +++ b/tests/src/JIT/Regression/JitBlue/GitHub_11343/GitHub_11343.csproj @@ -0,0 +1,42 @@ + + + + + Debug + AnyCPU + $(MSBuildProjectName) + 2.0 + {95DFC527-4DC1-495E-97D7-E94EE1F7140D} + Exe + Properties + 512 + {786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} + $(ProgramFiles)\Common Files\microsoft shared\VSTT\11.0\UITestExtensionPackages + ..\..\ + + 7a9bfb7d + + + + + + + + + False + + + + + True + + + + + + + + + + + diff --git a/tests/src/JIT/Regression/JitBlue/GitHub_11408/GitHub_11408.cs b/tests/src/JIT/Regression/JitBlue/GitHub_11408/GitHub_11408.cs new file mode 100644 index 0000000000..715cd5f0cf --- /dev/null +++ b/tests/src/JIT/Regression/JitBlue/GitHub_11408/GitHub_11408.cs @@ -0,0 +1,45 @@ +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. +// See the LICENSE file in the project root for more information. + +using System; +using System.Runtime.CompilerServices; + +class GitHub_11408 +{ + const int Pass = 100; + const int Fail = -1; + + unsafe class Program + { + static int save = 7; + + static void foo(IntPtr x) + { + save = *(int*)x; + Console.WriteLine(*(int*)x); + } + + static void bar() + { + int x = 42; + foo((IntPtr)(&x)); + } + + public static int Main(string[] args) + { + bar(); + + if (save == 42) + { + Console.WriteLine("Pass"); + return Pass; + } + else + { + Console.WriteLine("Fail"); + return Fail; + } + } + } +} diff --git a/tests/src/JIT/Regression/JitBlue/GitHub_11408/GitHub_11408.csproj b/tests/src/JIT/Regression/JitBlue/GitHub_11408/GitHub_11408.csproj new file mode 100644 index 0000000000..251856c956 --- /dev/null +++ b/tests/src/JIT/Regression/JitBlue/GitHub_11408/GitHub_11408.csproj @@ -0,0 +1,53 @@ + + + + + Debug + AnyCPU + $(MSBuildProjectName) + 2.0 + {95DFC527-4DC1-495E-97D7-E94EE1F7140D} + Exe + Properties + 512 + {786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} + $(ProgramFiles)\Common Files\microsoft shared\VSTT\11.0\UITestExtensionPackages + ..\..\ + + 7a9bfb7d + + + + + + + + + False + + + + + True + True + + + + + + + + + + + + + + + diff --git a/tests/src/JIT/Regression/JitBlue/GitHub_11508/GitHub_11508.cs b/tests/src/JIT/Regression/JitBlue/GitHub_11508/GitHub_11508.cs new file mode 100644 index 0000000000..11081ba9ae --- /dev/null +++ b/tests/src/JIT/Regression/JitBlue/GitHub_11508/GitHub_11508.cs @@ -0,0 +1,56 @@ +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. +// See the LICENSE file in the project root for more information. + +using System; +using System.Collections.Generic; +using System.Runtime.CompilerServices; + +namespace TestApp +{ + public struct StructWithValue : IEquatable + { + private ushort value; + + public StructWithValue(ushort v) + { + value = v; + } + + + public bool Equals(StructWithValue other) + { + if (value.Equals (other.value)) + return true; + else + return false; + } + } + + class Program + { + [MethodImpl(MethodImplOptions.NoOptimization)] + static int Main(string[] args) + { + var comparer = EqualityComparer.Default; + + for (ushort i = 0; ; i++) + { + var a = new StructWithValue(i); + var b = new StructWithValue(i); + + if (!comparer.Equals(a, b)) + { + return 0; + } + + if (i == ushort.MaxValue) + { + break; + } + } + + return 100; + } + } +} diff --git a/tests/src/JIT/Regression/JitBlue/GitHub_11508/GitHub_11508.csproj b/tests/src/JIT/Regression/JitBlue/GitHub_11508/GitHub_11508.csproj new file mode 100644 index 0000000000..4c38b3e92c --- /dev/null +++ b/tests/src/JIT/Regression/JitBlue/GitHub_11508/GitHub_11508.csproj @@ -0,0 +1,37 @@ + + + + + Debug + AnyCPU + 2.0 + {95DFC527-4DC1-495E-97D7-E94EE1F7140D} + Exe + {786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} + ..\..\ + + + + + + + False + + + + None + True + + + + + + + + + + + diff --git a/tests/src/JIT/Regression/JitBlue/GitHub_11574/GitHub_11574.cs b/tests/src/JIT/Regression/JitBlue/GitHub_11574/GitHub_11574.cs new file mode 100644 index 0000000000..9e6e5d94cd --- /dev/null +++ b/tests/src/JIT/Regression/JitBlue/GitHub_11574/GitHub_11574.cs @@ -0,0 +1,44 @@ +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. +// See the LICENSE file in the project root for more information. + +using System.Runtime.CompilerServices; + +class Program +{ + static byte[] s_arr2; + static byte[] s_arr3; + + static void Init() + { + s_arr2 = new byte[] { 0x11, 0x12, 0x13 }; + s_arr3 = new byte[] { 0x21, 0x22, 0x33 }; + } + + [MethodImpl(MethodImplOptions.NoInlining)] + static int Check(int actual, int added, int expected, int rv) + { + return (actual == expected) ? rv : 0; + } + + static int Main(string[] args) + { + Init(); + + byte[] arr1 = new byte[] { 2 }; + byte[] arr2 = s_arr2; + byte[] arr3 = s_arr3; + + int rv = 100; + int len = arr1.Length + arr2.Length + arr3.Length; + int cur = 0; + rv = Check(cur, 0, 0, rv); + cur += arr1.Length; + rv = Check(cur, arr1.Length, 1, rv); + cur += arr2.Length; + rv = Check(cur, arr2.Length, 4, rv); + cur += arr3.Length; + rv = Check(cur, arr3.Length, 7, rv); + return Check(cur, 0, len, rv); + } +} diff --git a/tests/src/JIT/Regression/JitBlue/GitHub_11574/GitHub_11574.csproj b/tests/src/JIT/Regression/JitBlue/GitHub_11574/GitHub_11574.csproj new file mode 100644 index 0000000000..e5e41eab5a --- /dev/null +++ b/tests/src/JIT/Regression/JitBlue/GitHub_11574/GitHub_11574.csproj @@ -0,0 +1,37 @@ + + + + + Debug + AnyCPU + 2.0 + {95DFC527-4DC1-495E-97D7-E94EE1F7140D} + Exe + {786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} + ..\..\ + + + + + + + False + + + + None + True + + + + + + + + + + + diff --git a/tests/src/JIT/Regression/JitBlue/GitHub_11689/GitHub_11689.cs b/tests/src/JIT/Regression/JitBlue/GitHub_11689/GitHub_11689.cs new file mode 100644 index 0000000000..3d8428c928 --- /dev/null +++ b/tests/src/JIT/Regression/JitBlue/GitHub_11689/GitHub_11689.cs @@ -0,0 +1,39 @@ +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. +// See the LICENSE file in the project root for more information. + +// Repro case for a bug involving hoisting of static field loads out of +// loops and (illegally) above the corresponding type initializer calls. + +using System.Runtime.CompilerServices; + +namespace N +{ + struct WrappedInt + { + public int Value; + + public static WrappedInt Twenty = new WrappedInt() { Value = 20 }; + } + public static class C + { + [MethodImpl(MethodImplOptions.AggressiveInlining)] + static int unwrap(WrappedInt wi) => wi.Value; + + [MethodImpl(MethodImplOptions.NoInlining)] + static int foo(int s, int n) + { + for (int i = 0; i < n; ++i) + { + s += unwrap(WrappedInt.Twenty); // Loading WrappedInt.Twenty must happen after calling the cctor + } + + return s; + } + + public static int Main(string[] args) + { + return foo(20, 4); + } + } +} diff --git a/tests/src/JIT/Regression/JitBlue/GitHub_11689/GitHub_11689.csproj b/tests/src/JIT/Regression/JitBlue/GitHub_11689/GitHub_11689.csproj new file mode 100644 index 0000000000..63b9927c67 --- /dev/null +++ b/tests/src/JIT/Regression/JitBlue/GitHub_11689/GitHub_11689.csproj @@ -0,0 +1,56 @@ + + + + + Debug + AnyCPU + $(MSBuildProjectName) + 2.0 + {A04B4F1F-62D3-4799-94AB-ABFB220415BE} + Exe + Properties + 512 + {786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} + $(ProgramFiles)\Common Files\microsoft shared\VSTT\11.0\UITestExtensionPackages + ..\..\ + + 7a9bfb7d + + + + + + + + + False + + + + + True + True + + + + + + + + + + + + + + + + diff --git a/tests/src/JIT/Regression/JitBlue/GitHub_11733/GitHub_11733.cs b/tests/src/JIT/Regression/JitBlue/GitHub_11733/GitHub_11733.cs new file mode 100644 index 0000000000..2c49d298d8 --- /dev/null +++ b/tests/src/JIT/Regression/JitBlue/GitHub_11733/GitHub_11733.cs @@ -0,0 +1,26 @@ +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. +// See the LICENSE file in the project root for more information. + +using System; +using System.Runtime.CompilerServices; + +class C +{ + [MethodImpl(MethodImplOptions.NoInlining)] + static float L(float a) + { + return M(float.NegativeInfinity, a); + } + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + static float M(float a, float b) + { + return (float)Math.Pow(a, (float)Math.Pow(b, a)); + } + + static int Main() + { + return L(0) == M(float.NegativeInfinity, 0) ? 100 : 0; + } +} diff --git a/tests/src/JIT/Regression/JitBlue/GitHub_11733/GitHub_11733.csproj b/tests/src/JIT/Regression/JitBlue/GitHub_11733/GitHub_11733.csproj new file mode 100644 index 0000000000..4caef234a1 --- /dev/null +++ b/tests/src/JIT/Regression/JitBlue/GitHub_11733/GitHub_11733.csproj @@ -0,0 +1,42 @@ + + + + + Debug + AnyCPU + $(MSBuildProjectName) + 2.0 + {95DFC527-4DC1-495E-97D7-E94EE1F7140D} + Exe + Properties + 512 + {786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} + $(ProgramFiles)\Common Files\microsoft shared\VSTT\11.0\UITestExtensionPackages + ..\..\ + + 7a9bfb7d + + + + + + + + + False + + + + + True + + + + + + + + + + + diff --git a/tests/src/JIT/Regression/JitBlue/GitHub_11804/GitHub_11804.il b/tests/src/JIT/Regression/JitBlue/GitHub_11804/GitHub_11804.il new file mode 100644 index 0000000000..50d89734d9 --- /dev/null +++ b/tests/src/JIT/Regression/JitBlue/GitHub_11804/GitHub_11804.il @@ -0,0 +1,85 @@ +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. +// See the LICENSE file in the project root for more information. + +.assembly extern System.Private.CoreLib +{ + .publickeytoken = (7C EC 85 D7 BE A7 79 8E ) // |.....y. + .ver 4:0:0:0 +} +.assembly extern System.Numerics.Vectors +{ + .publickeytoken = (B0 3F 5F 7F 11 D5 0A 3A ) // .?_....: + .ver 4:1:3:0 +} +.assembly extern System.Runtime.CompilerServices.Unsafe +{ + .publickeytoken = (B0 3F 5F 7F 11 D5 0A 3A ) // .?_....: + .ver 4:0:3:0 +} +.assembly GitHub_11804 +{ + .custom instance void [System.Private.CoreLib]System.Runtime.CompilerServices.CompilationRelaxationsAttribute::.ctor(int32) = ( 01 00 08 00 00 00 00 00 ) + .custom instance void [System.Private.CoreLib]System.Runtime.CompilerServices.RuntimeCompatibilityAttribute::.ctor() = ( 01 00 01 00 54 02 16 57 72 61 70 4E 6F 6E 45 78 // ....T..WrapNonEx + 63 65 70 74 69 6F 6E 54 68 72 6F 77 73 01 ) // ceptionThrows. + + .hash algorithm 0x00008004 + .ver 0:0:0:0 +} +.module GitHub_11804.exe +// MVID: {9CC2AC15-DDA3-4ADF-9566-89AB25A8CF63} +.imagebase 0x00400000 +.file alignment 0x00000200 +.stackreserve 0x00100000 +.subsystem 0x0003 // WINDOWS_CUI +.corflags 0x00000001 // ILONLY +// Image base: 0x01590000 + + +.class private abstract auto ansi sealed beforefieldinit C + extends [System.Private.CoreLib]System.Object +{ + .method private hidebysig static int32 + UnsafeGrab() cil managed noinlining + { + // Code size 18 (0x12) + .maxstack 2 + .locals init (valuetype [System.Numerics.Vectors]System.Numerics.Vector`1 V_0) + IL_0000: ldloca.s V_0 + IL_0002: ldc.i4.s 50 + IL_0004: call instance void valuetype [System.Numerics.Vectors]System.Numerics.Vector`1::.ctor(!0) + IL_0009: ldloca.s V_0 + IL_000b: call !!1& [System.Runtime.CompilerServices.Unsafe]System.Runtime.CompilerServices.Unsafe::As,int32>(!!0&) + IL_0010: ldind.i4 + IL_0011: ret + } // end of method C::UnsafeGrab + + .method private hidebysig static int32 + IndexerGrab() cil managed noinlining + { + // Code size 18 (0x12) + .maxstack 2 + .locals init (valuetype [System.Numerics.Vectors]System.Numerics.Vector`1 V_0) + IL_0000: ldloca.s V_0 + IL_0002: ldc.i4.s 50 + IL_0004: call instance void valuetype [System.Numerics.Vectors]System.Numerics.Vector`1::.ctor(!0) + IL_0009: ldloca.s V_0 + IL_000b: ldc.i4.0 + IL_000c: call instance !0 valuetype [System.Numerics.Vectors]System.Numerics.Vector`1::get_Item(int32) + IL_0011: ret + } // end of method C::IndexerGrab + + .method private hidebysig static int32 + Main() cil managed + { + .entrypoint + // Code size 20 (0x14) + .maxstack 8 + + IL_0008: call int32 C::IndexerGrab() + IL_000d: call int32 C::UnsafeGrab() + IL_0012: add + IL_0013: ret + } // end of method C::Main + +} // end of class C diff --git a/tests/src/JIT/Regression/JitBlue/GitHub_11804/GitHub_11804.ilproj b/tests/src/JIT/Regression/JitBlue/GitHub_11804/GitHub_11804.ilproj new file mode 100644 index 0000000000..93c281624b --- /dev/null +++ b/tests/src/JIT/Regression/JitBlue/GitHub_11804/GitHub_11804.ilproj @@ -0,0 +1,37 @@ + + + + + Debug + AnyCPU + $(MSBuildProjectName) + 2.0 + {95DFC527-4DC1-495E-97D7-E94EE1F7140D} + Exe + {786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} + ..\..\ + + + + + + + + + False + + + + None + True + + + + + + + + + + + diff --git a/tests/src/JIT/Regression/JitBlue/GitHub_7906/GitHub_7906.csproj b/tests/src/JIT/Regression/JitBlue/GitHub_7906/GitHub_7906.csproj index 2d330449a1..d6d753abaa 100644 --- a/tests/src/JIT/Regression/JitBlue/GitHub_7906/GitHub_7906.csproj +++ b/tests/src/JIT/Regression/JitBlue/GitHub_7906/GitHub_7906.csproj @@ -32,11 +32,9 @@ - - $(JitPackagesConfigFileDirectory)benchmark\project.json - $(JitPackagesConfigFileDirectory)benchmark\project.lock.json - - + + + $(JitPackagesConfigFileDirectory)benchmark\obj\project.assets.json diff --git a/tests/src/JIT/Regression/JitBlue/GitHub_8220/GitHub_8220.csproj b/tests/src/JIT/Regression/JitBlue/GitHub_8220/GitHub_8220.csproj index 1d20f00012..1b7f8a70b5 100644 --- a/tests/src/JIT/Regression/JitBlue/GitHub_8220/GitHub_8220.csproj +++ b/tests/src/JIT/Regression/JitBlue/GitHub_8220/GitHub_8220.csproj @@ -33,11 +33,9 @@ - - $(JitPackagesConfigFileDirectory)benchmark\project.json - $(JitPackagesConfigFileDirectory)benchmark\project.lock.json - - + + + $(JitPackagesConfigFileDirectory)benchmark\obj\project.assets.json diff --git a/tests/src/JIT/Regression/JitBlue/GitHub_8231/GitHub_8231.csproj b/tests/src/JIT/Regression/JitBlue/GitHub_8231/GitHub_8231.csproj index 6107b7f18d..7bdd3d7238 100644 --- a/tests/src/JIT/Regression/JitBlue/GitHub_8231/GitHub_8231.csproj +++ b/tests/src/JIT/Regression/JitBlue/GitHub_8231/GitHub_8231.csproj @@ -28,10 +28,9 @@ - - $(JitPackagesConfigFileDirectory)benchmark\project.json - $(JitPackagesConfigFileDirectory)benchmark\project.lock.json - + + $(JitPackagesConfigFileDirectory)benchmark\obj\project.assets.json + \ No newline at end of file diff --git a/tests/src/JIT/Regression/VS-ia64-JIT/V1.2-Beta1/b302509/b302509.csproj b/tests/src/JIT/Regression/VS-ia64-JIT/V1.2-Beta1/b302509/b302509.csproj index 238a9b609a..db2490dda9 100644 --- a/tests/src/JIT/Regression/VS-ia64-JIT/V1.2-Beta1/b302509/b302509.csproj +++ b/tests/src/JIT/Regression/VS-ia64-JIT/V1.2-Beta1/b302509/b302509.csproj @@ -28,9 +28,10 @@ - - - + + netcoreapp1.1 + win7-x86;win7-x64;ubuntu.14.04-x64;ubuntu.16.04-x64;ubuntu.16.10-x64;osx.10.12-x64;centos.7-x64;rhel.7-x64;debian.8-x64;fedora.24-x64 + diff --git a/tests/src/JIT/RyuJIT/DoWhileBndChk.csproj b/tests/src/JIT/RyuJIT/DoWhileBndChk.csproj index 30b8c4b97e..a3fbd8a948 100644 --- a/tests/src/JIT/RyuJIT/DoWhileBndChk.csproj +++ b/tests/src/JIT/RyuJIT/DoWhileBndChk.csproj @@ -20,9 +20,10 @@ - - - + + netcoreapp1.1 + win7-x86;win7-x64;ubuntu.14.04-x64;ubuntu.16.04-x64;ubuntu.16.10-x64;osx.10.12-x64;centos.7-x64;rhel.7-x64;debian.8-x64;fedora.24-x64 + diff --git a/tests/src/JIT/config/benchmark+roslyn/benchmark+roslyn.csproj b/tests/src/JIT/config/benchmark+roslyn/benchmark+roslyn.csproj new file mode 100644 index 0000000000..9155703cd3 --- /dev/null +++ b/tests/src/JIT/config/benchmark+roslyn/benchmark+roslyn.csproj @@ -0,0 +1,99 @@ + + + + + .NETStandard,Version=v1.4 + netstandard1.4 + false + + + + 1.1.1 + + + $(XUnitPerformanceApiVersion) + + + $(XUnitPerformanceApiVersion) + + + $(XUnitPerformanceApiVersion) + + + $(XUnitPerformanceApiVersion) + + + $(MicrosoftDiagnosticsTracingLibraryVersion) + + + 2.0.0-preview2-25302-03 + + + 4.4.0-beta-24913-02 + + + 4.4.0-beta-24913-02 + + + 4.4.0-beta-24913-02 + + + 4.4.0-beta-24913-02 + + + 4.4.0-preview2-25302-03 + + + 4.4.0-beta-24913-02 + + + 4.4.0-beta-24913-02 + + + 4.4.0-preview2-25302-03 + + + 4.4.0-beta-24913-02 + + + 4.4.0-beta-24913-02 + + + 4.4.0-beta-24913-02 + + + 4.4.0-beta-24913-02 + + + 4.4.0-beta-24913-02 + + + 4.4.0-beta-24913-02 + + + 4.4.0-beta-24913-02 + + + 4.4.0-beta-24913-02 + + + $(XunitPackageVersion) + + + $(XUnitConsoleNetCoreVersion) + + + $(XunitPackageVersion) + + + + netstandard1.4 + .NETStandard + $(PackageTargetFallback);dnxcore50;portable-net45+win8 + true + false + + + + \ No newline at end of file diff --git a/tests/src/JIT/config/benchmark+roslyn/project.json b/tests/src/JIT/config/benchmark+roslyn/project.json deleted file mode 100644 index 18907a1214..0000000000 --- a/tests/src/JIT/config/benchmark+roslyn/project.json +++ /dev/null @@ -1,38 +0,0 @@ -{ - "dependencies": { - "Microsoft.CodeAnalysis.Compilers": "1.1.1", - "xunit.performance.api": "1.0.0-beta-build0003", - "xunit.performance.core": "1.0.0-beta-build0003", - "xunit.performance.execution": "1.0.0-beta-build0003", - "xunit.performance.metrics": "1.0.0-beta-build0003", - "Microsoft.Diagnostics.Tracing.TraceEvent": "1.0.3-alpha-experimental", - "Microsoft.NETCore.Platforms": "2.0.0-preview1-25221-01", - "System.Console": "4.4.0-beta-24913-02", - "System.Dynamic.Runtime": "4.4.0-beta-24913-02", - "System.Linq": "4.4.0-beta-24913-02", - "System.IO.FileSystem": "4.4.0-beta-24913-02", - "System.Numerics.Vectors": "4.4.0-preview1-25221-01", - "System.Reflection": "4.4.0-beta-24913-02", - "System.Reflection.Extensions": "4.4.0-beta-24913-02", - "System.Reflection.TypeExtensions": "4.4.0-preview1-25221-01", - "System.Runtime": "4.4.0-beta-24913-02", - "System.Runtime.Extensions": "4.4.0-beta-24913-02", - "System.Runtime.Numerics": "4.4.0-beta-24913-02", - "System.Text.RegularExpressions": "4.4.0-beta-24913-02", - "System.Threading": "4.4.0-beta-24913-02", - "System.Threading.Tasks": "4.4.0-beta-24913-02", - "System.Threading.Tasks.Parallel": "4.4.0-beta-24913-02", - "System.Security.Cryptography.Algorithms": "4.4.0-beta-24913-02", - "xunit": "2.2.0-beta2-build3300", - "xunit.console.netcore": "1.0.2-prerelease-00177", - "xunit.runner.utility": "2.2.0-beta2-build3300" - }, - "frameworks": { - "netstandard1.4": { - "imports": [ - "dnxcore50", - "portable-net45+win8" - ] - } - } -} diff --git a/tests/src/JIT/config/benchmark+serialize/benchmark+serialize.csproj b/tests/src/JIT/config/benchmark+serialize/benchmark+serialize.csproj new file mode 100644 index 0000000000..36181432d2 --- /dev/null +++ b/tests/src/JIT/config/benchmark+serialize/benchmark+serialize.csproj @@ -0,0 +1,99 @@ + + + + + .NETStandard,Version=v1.4 + netstandard1.4 + false + + + + $(XUnitPerformanceApiVersion) + + + $(XUnitPerformanceApiVersion) + + + $(XUnitPerformanceApiVersion) + + + $(XUnitPerformanceApiVersion) + + + $(MicrosoftDiagnosticsTracingLibraryVersion) + + + 2.0.0-preview2-25302-03 + + + 7.0.1 + + + 4.4.0-beta-24913-02 + + + 4.4.0-beta-24913-02 + + + 4.4.0-beta-24913-02 + + + 4.4.0-beta-24913-02 + + + 4.4.0-beta-24913-02 + + + 4.4.0-beta-24913-02 + + + 4.4.0-beta-24913-02 + + + 4.4.0-beta-24913-02 + + + 4.4.0-preview2-25302-03 + + + 4.4.0-beta-24913-02 + + + 4.4.0-beta-24913-02 + + + 4.4.0-beta-24913-02 + + + 4.4.0-beta-24913-02 + + + 4.4.0-beta-24913-02 + + + 4.4.0-beta-24913-02 + + + 4.4.0-beta-24913-02 + + + $(XunitPackageVersion) + + + $(XUnitConsoleNetCoreVersion) + + + $(XunitPackageVersion) + + + + netstandard1.4 + .NETStandard + $(PackageTargetFallback);dnxcore50;portable-net45+win8 + true + false + + + + diff --git a/tests/src/JIT/config/benchmark+serialize/project.json b/tests/src/JIT/config/benchmark+serialize/project.json deleted file mode 100644 index b71701f9ef..0000000000 --- a/tests/src/JIT/config/benchmark+serialize/project.json +++ /dev/null @@ -1,38 +0,0 @@ -{ - "dependencies": { - "xunit.performance.api": "1.0.0-beta-build0003", - "xunit.performance.core": "1.0.0-beta-build0003", - "xunit.performance.execution": "1.0.0-beta-build0003", - "xunit.performance.metrics": "1.0.0-beta-build0003", - "Microsoft.Diagnostics.Tracing.TraceEvent": "1.0.3-alpha-experimental", - "Microsoft.NETCore.Platforms": "2.0.0-preview1-25221-01", - "Newtonsoft.Json": "7.0.1", - "System.Console": "4.4.0-beta-24913-02", - "System.IO": "4.4.0-beta-24913-02", - "System.IO.FileSystem": "4.4.0-beta-24913-02", - "System.Linq": "4.4.0-beta-24913-02", - "System.ObjectModel": "4.4.0-beta-24913-02", - "System.Dynamic.Runtime": "4.4.0-beta-24913-02", - "System.Reflection": "4.4.0-beta-24913-02", - "System.Reflection.Extensions": "4.4.0-beta-24913-02", - "System.Reflection.TypeExtensions": "4.4.0-preview1-25221-01", - "System.Runtime": "4.4.0-beta-24913-02", - "System.Runtime.Serialization.Json": "4.4.0-beta-24913-02", - "System.Runtime.Serialization.Primitives": "4.4.0-beta-24913-02", - "System.Runtime.Serialization.Xml": "4.4.0-beta-24913-02", - "System.Text.RegularExpressions": "4.4.0-beta-24913-02", - "System.Xml.XmlDocument": "4.4.0-beta-24913-02", - "System.Xml.XmlSerializer": "4.4.0-beta-24913-02", - "xunit": "2.2.0-beta2-build3300", - "xunit.console.netcore": "1.0.2-prerelease-00177", - "xunit.runner.utility": "2.2.0-beta2-build3300" - }, - "frameworks": { - "netstandard1.4": { - "imports": [ - "dnxcore50", - "portable-net45+win8" - ] - } - } -} diff --git a/tests/src/JIT/config/benchmark/benchmark.csproj b/tests/src/JIT/config/benchmark/benchmark.csproj new file mode 100644 index 0000000000..f739151181 --- /dev/null +++ b/tests/src/JIT/config/benchmark/benchmark.csproj @@ -0,0 +1,114 @@ + + + + + .NETStandard,Version=v1.4 + netstandard1.4 + false + + + + $(XUnitPerformanceApiVersion) + + + $(XUnitPerformanceApiVersion) + + + $(XUnitPerformanceApiVersion) + + + $(XUnitPerformanceApiVersion) + + + $(MicrosoftDiagnosticsTracingLibraryVersion) + + + 2.0.0-preview2-25302-03 + + + 4.4.0-beta-24913-02 + + + 4.4.0-beta-24913-02 + + + 4.4.0-beta-24913-02 + + + 4.4.0-beta-24913-02 + + + 4.4.0-beta-24913-02 + + + 4.4.0-beta-24913-02 + + + 4.4.0-preview2-25302-03 + + + 4.4.0-preview2-25302-03 + + + 4.4.0-beta-24913-02 + + + 4.4.0-beta-24913-02 + + + 4.4.0-preview2-25302-03 + + + 4.4.0-beta-24913-02 + + + 4.4.0-preview2-25302-03 + + + 4.4.0-beta-24913-02 + + + 4.4.0-beta-24913-02 + + + 4.4.0-beta-24913-02 + + + 4.4.0-beta-24913-02 + + + 4.4.0-beta-24913-02 + + + 4.4.0-beta-24913-02 + + + 4.4.0-beta-24913-02 + + + 4.4.0-beta-24913-02 + + + 4.4.0-beta-24913-02 + + + $(XunitPackageVersion) + + + $(XUnitConsoleNetCoreVersion) + + + $(XunitPackageVersion) + + + + netstandard1.4 + .NETStandard + $(PackageTargetFallback);dnxcore50;portable-net45+win8 + true + false + + + + \ No newline at end of file diff --git a/tests/src/JIT/config/benchmark/project.json b/tests/src/JIT/config/benchmark/project.json deleted file mode 100644 index aac92ecc0b..0000000000 --- a/tests/src/JIT/config/benchmark/project.json +++ /dev/null @@ -1,43 +0,0 @@ -{ - "dependencies": { - "xunit.performance.api": "1.0.0-beta-build0003", - "xunit.performance.core": "1.0.0-beta-build0003", - "xunit.performance.execution": "1.0.0-beta-build0003", - "xunit.performance.metrics": "1.0.0-beta-build0003", - "Microsoft.Diagnostics.Tracing.TraceEvent": "1.0.3-alpha-experimental", - "Microsoft.NETCore.Platforms": "2.0.0-preview1-25221-01", - "System.Collections.NonGeneric": "4.4.0-beta-24913-02", - "System.Console": "4.4.0-beta-24913-02", - "System.IO.FileSystem": "4.4.0-beta-24913-02", - "System.Linq": "4.4.0-beta-24913-02", - "System.Linq.Parallel": "4.4.0-beta-24913-02", - "System.Linq.Expressions": "4.4.0-beta-24913-02", - "System.Memory": "4.4.0-preview1-25221-01", - "System.Numerics.Vectors": "4.4.0-preview1-25221-01", - "System.Reflection": "4.4.0-beta-24913-02", - "System.Reflection.Extensions": "4.4.0-beta-24913-02", - "System.Reflection.TypeExtensions": "4.4.0-preview1-25221-01", - "System.Runtime": "4.4.0-beta-24913-02", - "System.Runtime.CompilerServices.Unsafe": "4.4.0-preview1-25221-01", - "System.Runtime.Extensions": "4.4.0-beta-24913-02", - "System.Runtime.Numerics": "4.4.0-beta-24913-02", - "System.Text.RegularExpressions": "4.4.0-beta-24913-02", - "System.Threading": "4.4.0-beta-24913-02", - "System.Threading.Tasks": "4.4.0-beta-24913-02", - "System.Threading.Tasks.Parallel": "4.4.0-beta-24913-02", - "System.Threading.ThreadPool": "4.4.0-beta-24913-02", - "System.Diagnostics.Process": "4.4.0-beta-24913-02", - "System.Xml.XmlDocument": "4.4.0-beta-24913-02", - "xunit": "2.2.0-beta2-build3300", - "xunit.console.netcore": "1.0.2-prerelease-00177", - "xunit.runner.utility": "2.2.0-beta2-build3300" - }, - "frameworks": { - "netstandard1.4": { - "imports": [ - "dnxcore50", - "portable-net45+win8" - ] - } - } -} diff --git a/tests/src/JIT/opt/Devirtualization/GitHub_9945_2.ilproj b/tests/src/JIT/opt/Devirtualization/GitHub_9945_2.ilproj index f71ad15a05..8be1cb04bf 100644 --- a/tests/src/JIT/opt/Devirtualization/GitHub_9945_2.ilproj +++ b/tests/src/JIT/opt/Devirtualization/GitHub_9945_2.ilproj @@ -32,11 +32,9 @@ - - $(JitPackagesConfigFileDirectory)benchmark\project.json - $(JitPackagesConfigFileDirectory)benchmark\project.lock.json - - + + + $(JitPackagesConfigFileDirectory)benchmark\obj\project.assets.json \ No newline at end of file diff --git a/tests/src/JIT/opt/Devirtualization/override.ilproj b/tests/src/JIT/opt/Devirtualization/override.ilproj index 0bfc25ff45..75da709ced 100644 --- a/tests/src/JIT/opt/Devirtualization/override.ilproj +++ b/tests/src/JIT/opt/Devirtualization/override.ilproj @@ -32,11 +32,9 @@ - - $(JitPackagesConfigFileDirectory)benchmark\project.json - $(JitPackagesConfigFileDirectory)benchmark\project.lock.json - - + + + $(JitPackagesConfigFileDirectory)benchmark\obj\project.assets.json \ No newline at end of file diff --git a/tests/src/JIT/opt/Tailcall/TailcallVerifyTransparentLibraryWithPrefix.il b/tests/src/JIT/opt/Tailcall/TailcallVerifyTransparentLibraryWithPrefix.il index e295a99a01..ca789a673f 100644 --- a/tests/src/JIT/opt/Tailcall/TailcallVerifyTransparentLibraryWithPrefix.il +++ b/tests/src/JIT/opt/Tailcall/TailcallVerifyTransparentLibraryWithPrefix.il @@ -198,7 +198,8 @@ IL_0022: call void [mscorlib]System.Console::WriteLine(string) IL_0027: ldc.i4.s 101 IL_0029: stsfld int32 TailcallVerify.Condition22::Result - IL_002e: tail. call int32 TailcallVerify.Condition22::Callee2() +// tail. // tail.call, pop, ret sequence is never valid for .NET Core (but is accepted by .NET x64) + IL_002e: call int32 TailcallVerify.Condition22::Callee2() IL_0033: pop IL_0034: ret } // end of method Condition22::Caller2 @@ -307,7 +308,8 @@ IL_0027: ldc.i4.s 101 IL_0029: stsfld int32 TailcallVerify.Condition22::Result IL_002e: ldarg.0 - IL_002f: tail. callvirt instance int32 TailcallVerify.Condition22::Callee3() +// tail. // tail.call, pop, ret sequence is never valid for .NET Core (but is accepted by .NET x64) + IL_002f: callvirt instance int32 TailcallVerify.Condition22::Callee3() IL_0034: pop IL_0035: ret } // end of method Condition22::Caller3 diff --git a/tests/src/JIT/opt/Tailcall/TailcallVerifyWithPrefix.il b/tests/src/JIT/opt/Tailcall/TailcallVerifyWithPrefix.il index 1c354b7cdb..565451803b 100644 --- a/tests/src/JIT/opt/Tailcall/TailcallVerifyWithPrefix.il +++ b/tests/src/JIT/opt/Tailcall/TailcallVerifyWithPrefix.il @@ -13,6 +13,11 @@ .publickeytoken = (B0 3F 5F 7F 11 D5 0A 3A ) .ver 4:0:0:0 } +.assembly extern System.Threading.Thread +{ + .publickeytoken = (B0 3F 5F 7F 11 D5 0A 3A ) + .ver 4:0:0:0 +} .assembly extern System.Linq { .publickeytoken = (B0 3F 5F 7F 11 D5 0A 3A ) @@ -2786,21 +2791,22 @@ .entrypoint .maxstack 1 - ldstr "Condition1.Test1" - call int32 TailcallVerify.Program::Run(string) - pop - ldstr "Condition1.Test2" - call int32 TailcallVerify.Program::Run(string) - pop - ldstr "Condition1.Test3" - call int32 TailcallVerify.Program::Run(string) - pop - ldstr "Condition2.Test1" - call int32 TailcallVerify.Program::Run(string) - pop - ldstr "Condition2.Test2" - call int32 TailcallVerify.Program::Run(string) - pop + // Disable tests intending to test tail.call,pop,ret sequence. + //ldstr "Condition1.Test1" + //call int32 TailcallVerify.Program::Run(string) + //pop + //ldstr "Condition1.Test2" + //call int32 TailcallVerify.Program::Run(string) + //pop + //ldstr "Condition1.Test3" + //call int32 TailcallVerify.Program::Run(string) + //pop + //ldstr "Condition2.Test1" + //call int32 TailcallVerify.Program::Run(string) + //pop + //ldstr "Condition2.Test2" + //call int32 TailcallVerify.Program::Run(string) + //pop ldstr "Condition3.Test1" call int32 TailcallVerify.Program::Run(string) pop @@ -2935,12 +2941,13 @@ ldstr "Condition20.Test1" call int32 TailcallVerify.Program::Run(string) pop - ldstr "Condition21.Test1" - call int32 TailcallVerify.Program::Run(string) - pop - ldstr "Condition21.Test2" - call int32 TailcallVerify.Program::Run(string) - pop + // Disable tests intending to test tail.call,pop,ret sequence. + //ldstr "Condition21.Test1" + //call int32 TailcallVerify.Program::Run(string) + //pop + //ldstr "Condition21.Test2" + //call int32 TailcallVerify.Program::Run(string) + //pop ldstr "Condition21.Test3" call int32 TailcallVerify.Program::Run(string) pop @@ -2950,9 +2957,10 @@ ldstr "Condition21.Test7" call int32 TailcallVerify.Program::Run(string) pop - ldstr "Condition22.Test2" - call int32 TailcallVerify.Program::Run(string) - pop + // Disable tests intending to test tail.call,pop,ret sequence. + //ldstr "Condition22.Test2" + //call int32 TailcallVerify.Program::Run(string) + //pop ldstr "Condition22.Test4" call int32 TailcallVerify.Program::Run(string) ret @@ -3561,7 +3569,8 @@ IL_0056: ldc.i4.3 IL_0057: ldc.i4.4 IL_0058: ldloc.0 - IL_0059: tail. call valuetype TailcallVerify.ValueType3Bytes TailcallVerify.Condition21::CalleeIsOdd1(int32, +// tail. // tail.call, pop, ret sequence is never valid for .NET Core (but is accepted by .NET x64) + IL_0059: call valuetype TailcallVerify.ValueType3Bytes TailcallVerify.Condition21::CalleeIsOdd1(int32, int32, int32, int32, @@ -3940,7 +3949,8 @@ IL_0032: ldloca.s CS$0$0000 IL_0034: initobj TailcallVerify.ValueType3Bytes IL_003a: ldloc.0 - IL_003b: tail. call valuetype TailcallVerify.ValueType3Bytes TailcallVerify.Condition21::CalleeIsEven2(int32, +// tail. // tail.call, pop, ret sequence is never valid for .NET Core (but is accepted by .NET x64) + IL_003b: call valuetype TailcallVerify.ValueType3Bytes TailcallVerify.Condition21::CalleeIsEven2(int32, int32, int32, valuetype TailcallVerify.ValueType3Bytes) @@ -4610,7 +4620,8 @@ IL_0037: ldloca.s CS$0$0000 IL_0039: initobj TailcallVerify.ValueType3Bytes IL_003f: ldloc.0 - IL_0040: tail. call valuetype TailcallVerify.ValueType3Bytes TailcallVerify.Condition21::CalleeE4(int32, +// tail. // tail.call, pop, ret sequence is never valid for .NET Core (but is accepted by .NET x64) + IL_0040: call valuetype TailcallVerify.ValueType3Bytes TailcallVerify.Condition21::CalleeE4(int32, int32, int32, int32, @@ -9265,7 +9276,8 @@ IL_0022: call void [System.Console]System.Console::WriteLine(string) IL_0027: ldc.i4.s 101 IL_0029: stsfld int32 TailcallVerify.Condition2::Result - IL_002e: tail. call int32 TailcallVerify.Condition2::Callee1() +// tail. // tail.call, pop, ret sequence is never valid for .NET Core (but is accepted by .NET x64) + IL_002e: call int32 TailcallVerify.Condition2::Callee1() IL_0033: pop IL_0034: ret } // end of method Condition2::Caller1 @@ -9366,7 +9378,8 @@ IL_0027: ldc.i4.s 101 IL_0029: stsfld int32 TailcallVerify.Condition2::Result IL_002e: ldc.i4.0 - IL_002f: tail. call string TailcallVerify.Condition2::Callee2(int32) +// tail. // tail.call, pop, ret sequence is never valid for .NET Core (but is accepted by .NET x64) + IL_002f: call string TailcallVerify.Condition2::Callee2(int32) IL_0034: pop IL_0035: ret } // end of method Condition2::Caller2 @@ -9501,7 +9514,8 @@ IL_0022: call void [System.Console]System.Console::WriteLine(string) IL_0027: ldc.i4.s 101 IL_0029: stsfld int32 TailcallVerify.Condition1::Result - IL_002e: tail. call valuetype TailcallVerify.ValueType3Bytes TailcallVerify.Condition1::Callee1() +// tail. // tail.call, pop, ret sequence is never valid for .NET Core (but is accepted by .NET x64) + IL_002e: call valuetype TailcallVerify.ValueType3Bytes TailcallVerify.Condition1::Callee1() IL_0033: pop IL_0034: ret } // end of method Condition1::Caller1 @@ -9607,7 +9621,8 @@ IL_0027: ldc.i4.s 101 IL_0029: stsfld int32 TailcallVerify.Condition1::Result IL_002e: ldc.i4.0 - IL_002f: tail. call valuetype TailcallVerify.ValueType3Bytes TailcallVerify.Condition1::Callee2(int32) +// tail. // tail.call, pop, ret sequence is never valid for .NET Core (but is accepted by .NET x64) + IL_002f: call valuetype TailcallVerify.ValueType3Bytes TailcallVerify.Condition1::Callee2(int32) IL_0034: pop IL_0035: ret } // end of method Condition1::Caller2 @@ -9720,7 +9735,8 @@ IL_0047: ldc.i4 0x7fffffff IL_004c: ldc.i4 0x80000000 IL_0051: ldc.i4 0x7fffffff - IL_0056: tail. call valuetype TailcallVerify.ValueType3Bytes TailcallVerify.Condition1::Callee3(int32, +// tail. // tail.call, pop, ret sequence is never valid for .NET Core (but is accepted by .NET x64) + IL_0056: call valuetype TailcallVerify.ValueType3Bytes TailcallVerify.Condition1::Callee3(int32, int32, int32, int32, @@ -9914,7 +9930,8 @@ IL_0099: ldc.r8 -1.7976931348623157e+308 IL_00a2: ldc.r4 3.4028235e+038 IL_00a7: ldloc.1 - IL_00a8: tail. call valuetype TailcallVerify.ValueType3Bytes TailcallVerify.Condition1::Callee4(int32, +// tail. // tail.call, pop, ret sequence is never valid for .NET Core (but is accepted by .NET x64) + IL_00a8: call valuetype TailcallVerify.ValueType3Bytes TailcallVerify.Condition1::Callee4(int32, int64, valuetype TailcallVerify.ValueType3Bytes, int16, diff --git a/tests/src/JIT/opt/virtualstubdispatch/bigvtbl/bigvtbl_cs_d.csproj b/tests/src/JIT/opt/virtualstubdispatch/bigvtbl/bigvtbl_cs_d.csproj index 79560c536a..db9b40619d 100644 --- a/tests/src/JIT/opt/virtualstubdispatch/bigvtbl/bigvtbl_cs_d.csproj +++ b/tests/src/JIT/opt/virtualstubdispatch/bigvtbl/bigvtbl_cs_d.csproj @@ -12,7 +12,7 @@ ..\..\ - true + true true diff --git a/tests/src/JIT/opt/virtualstubdispatch/bigvtbl/bigvtbl_cs_r.csproj b/tests/src/JIT/opt/virtualstubdispatch/bigvtbl/bigvtbl_cs_r.csproj index df11c8210e..8316681204 100644 --- a/tests/src/JIT/opt/virtualstubdispatch/bigvtbl/bigvtbl_cs_r.csproj +++ b/tests/src/JIT/opt/virtualstubdispatch/bigvtbl/bigvtbl_cs_r.csproj @@ -12,7 +12,7 @@ ..\..\ - true + true true diff --git a/tests/src/JIT/superpmi/superpmicollect.csproj b/tests/src/JIT/superpmi/superpmicollect.csproj index 18d15ed9df..f9e8bb1313 100644 --- a/tests/src/JIT/superpmi/superpmicollect.csproj +++ b/tests/src/JIT/superpmi/superpmicollect.csproj @@ -10,6 +10,7 @@ Exe {786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} ..\..\ + true diff --git a/tests/src/Loader/classloader/PrivateInterfaceImpl/Test6_ImplementingClass.ilproj b/tests/src/Loader/classloader/PrivateInterfaceImpl/Test6_ImplementingClass.ilproj index d050b73331..695c21365a 100644 --- a/tests/src/Loader/classloader/PrivateInterfaceImpl/Test6_ImplementingClass.ilproj +++ b/tests/src/Loader/classloader/PrivateInterfaceImpl/Test6_ImplementingClass.ilproj @@ -27,6 +27,7 @@ + diff --git a/tests/src/Loader/classloader/regressions/440935/Test.ilproj b/tests/src/Loader/classloader/regressions/440935/Test.ilproj index 221ac0d672..89396c2dc4 100644 --- a/tests/src/Loader/classloader/regressions/440935/Test.ilproj +++ b/tests/src/Loader/classloader/regressions/440935/Test.ilproj @@ -27,6 +27,7 @@ + diff --git a/tests/src/Regressions/coreclr/9414/readonlyPrefix.cs b/tests/src/Regressions/coreclr/9414/readonlyPrefix.cs new file mode 100644 index 0000000000..05148a1800 --- /dev/null +++ b/tests/src/Regressions/coreclr/9414/readonlyPrefix.cs @@ -0,0 +1,36 @@ +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. +// See the LICENSE file in the project root for more information. + +class Program +{ + interface IFrobber + { + void Frob(); + } + + class Frobber : IFrobber + { + public void Frob() + { + } + } + + class Foo where T : IFrobber + { + public static void FrobAll(T[,] arr) + { + for (int i = 0; i < arr.Length; i++) + { + // 'readonly' prefix on call to array's Address method must be respected, and the type check bypassed + arr[0, i].Frob(); + } + } + } + + private static int Main() + { + Foo.FrobAll(new Frobber[,] { { new Frobber() } }); + return 100; + } +} diff --git a/tests/src/Regressions/coreclr/9414/readonlyPrefix.csproj b/tests/src/Regressions/coreclr/9414/readonlyPrefix.csproj new file mode 100644 index 0000000000..560073c0d1 --- /dev/null +++ b/tests/src/Regressions/coreclr/9414/readonlyPrefix.csproj @@ -0,0 +1,31 @@ + + + + + Debug + AnyCPU + 2.0 + {CBD0D777-3583-49CC-8538-DD84447F6522} + Exe + {786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} + ..\..\ + true + BuildAndRun + 0 + + + + + + + + + False + + + + + + + + \ No newline at end of file diff --git a/tests/src/TestWrappersConfig/TestWrappersConfig.csproj b/tests/src/TestWrappersConfig/TestWrappersConfig.csproj new file mode 100644 index 0000000000..b108d48de7 --- /dev/null +++ b/tests/src/TestWrappersConfig/TestWrappersConfig.csproj @@ -0,0 +1,38 @@ + + + + + Debug + AnyCPU + BuildOnly + false + + + + 2.0.0-$(CoreFxExpectedPrerelease) + + + $(XunitPackageVersion) + + + $(XunitPackageVersion) + + + $(XunitPackageVersion) + + + $(XunitPackageVersion) + + + + netcoreapp1.1;net45 + .NETCoreApp + $(PackageTargetFallback);dnxcore50;portable-net45+win8 + win7-x86;win7-x64;ubuntu.14.04-x64;ubuntu.16.04-x64;ubuntu.16.10-x64;osx.10.12-x64;centos.7-x64;rhel.7-x64;debian.8-x64;fedora.24-x64 + true + false + + + + \ No newline at end of file diff --git a/tests/src/TestWrappersConfig/project.json b/tests/src/TestWrappersConfig/project.json deleted file mode 100644 index 56585e12b7..0000000000 --- a/tests/src/TestWrappersConfig/project.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "dependencies": { - "Microsoft.NETCore.Platforms": "2.0.0-preview1-25221-01", - "xunit": "2.2.0-beta2-build3300", - "xunit.assert": "2.2.0-beta2-build3300", - "xunit.core": "2.2.0-beta2-build3300", - "xunit.runner.msbuild": "2.2.0-beta2-build3300" - }, - "frameworks": { - "netcoreapp1.1": { - "imports": [ - "dnxcore50", - "portable-net45+win8" - ] - }, - "net45": { - "imports": "portable-net45+win8" - } - }, - "runtimes": { - "win7-x86": {}, - "win7-x64": {}, - "ubuntu.14.04-x64": {}, - "ubuntu.16.04-x64": {}, - "ubuntu.16.10-x64": {}, - "osx.10.12-x64": {}, - "centos.7-x64": {}, - "rhel.7-x64": {}, - "debian.8-x64": {}, - "fedora.24-x64": {} - } -} diff --git a/tests/src/baseservices/compilerservices/RuntimeWrappedException/RuntimeWrappedException.cs b/tests/src/baseservices/compilerservices/RuntimeWrappedException/RuntimeWrappedException.cs index 29fb347ae1..00f1db420c 100644 --- a/tests/src/baseservices/compilerservices/RuntimeWrappedException/RuntimeWrappedException.cs +++ b/tests/src/baseservices/compilerservices/RuntimeWrappedException/RuntimeWrappedException.cs @@ -25,27 +25,12 @@ class Test { // Console.WriteLine("Incorrect exception and/or message. Expected RuntimeWrappedException: An object that does not derive "+ // "from System.Exception has been wrapped in a RuntimeWrappedException.\n But actually got: " + ex.InnerException); - retVal = -1; + return -1; } StreamingContext ctx; - -// TODO: Expose once we have access to FormatterConverter -// var info = new SerializationInfo(typeof(RuntimeWrappedException), new FormatterConverter()); -// ex.GetObjectData(info,ctx); -// - try - { - ex.GetObjectData(null,ctx); - } - catch (ArgumentNullException ex1) - { - retVal = 100; - } - catch (Exception ex1) - { - retVal = -1; - } + + retVal = 100; } diff --git a/tests/src/dir.props b/tests/src/dir.props index cb976cc081..245e9f7982 100644 --- a/tests/src/dir.props +++ b/tests/src/dir.props @@ -13,6 +13,7 @@ true $(MSBuildThisFileDirectory)TestWrappersConfig\ + Test @@ -75,16 +76,23 @@ true + + + true + + 2 - $(SourceDir)Common\test_dependencies\project.json - $(SourceDir)Common\test_dependencies\project.lock.json + $(MSBuildProjectDirectory)\obj .NETCoreApp,Version=v2.0 + netcoreapp2.0 + true + diff --git a/tests/src/dir.targets b/tests/src/dir.targets index 08c77df7cf..4e6c618021 100644 --- a/tests/src/dir.targets +++ b/tests/src/dir.targets @@ -50,11 +50,6 @@ <_CLRTestNeedsProjectToRun Condition=" '$(_CLRTestNeedsToRun)' and '!$(_CLRTestBuildsExecutable)' ">true - - $(SourceDir)Common/empty/project.json - $(SourceDir)Common/empty/project.lock.json - - @@ -189,4 +184,13 @@ DestinationFolder="$(OutputPath)" Condition="Exists('$(AssemblyName).reflect.xml')"/> + + + $(SourceDir)Common\test_dependencies\obj\project.assets.json + + + + + + diff --git a/tests/src/dirs.proj b/tests/src/dirs.proj index e49ab945a7..6ae2b7c09e 100644 --- a/tests/src/dirs.proj +++ b/tests/src/dirs.proj @@ -23,9 +23,11 @@ - + + + diff --git a/tests/src/performance/linkbench/assets/MusicStore/Get-Crossgen.ps1 b/tests/src/performance/linkbench/assets/MusicStore/Get-Crossgen.ps1 new file mode 100644 index 0000000000..9a7cdf9802 --- /dev/null +++ b/tests/src/performance/linkbench/assets/MusicStore/Get-Crossgen.ps1 @@ -0,0 +1,77 @@ +# Gets crossgen.exe +# +# Downloads NuGet.exe +# Installs crossgen.exe and clrjit.dll using NuGet +# Copies the files to $path + +param([string]$path = ".") + +$ErrorActionPreference = "Stop" + +Write-Host -ForegroundColor Green "Installing crossgen.exe to $path" + +if (-not (Test-Path $path)) +{ + New-Item -Path $path -ItemType Directory -Force | Out-Null +} + +$path = Get-Item $path + +function Get-NETCoreAppVersion() +{ + if (-not (Test-Path $PSScriptRoot\obj\project.assets.json)) + { + Write-Error "project.assets.json is missing. do a dotnet restore." + exit + } + + # ConvertFrom-Json can't be used here as it has an arbitrary size limit. + [void][System.Reflection.Assembly]::LoadWithPartialName("System.Web.Extensions") + $serializer = New-Object -TypeName System.Web.Script.Serialization.JavaScriptSerializer + $serializer.MaxJsonLength = 67108864 + + $json = $serializer.DeserializeObject((Get-Content $PSScriptRoot\obj\project.assets.json -Raw)) + + foreach ($name in $json["libraries"].Keys) + { + if ($name.StartsWith("Microsoft.NETCore.App/")) + { + $version = $name.SubString("Microsoft.NETCore.App/".Length) + break + } + } + + return $version +} + +$version = Get-NETCoreAppVersion +Write-Host -ForegroundColor Green "autodetected shared framework version $version" + +$platform = "win-x64" + +$netcoreapppackage = "runtime.$platform.microsoft.netcore.app" +$netcoreappversion = $version + +Write-Host -ForegroundColor Green "Getting NuGet.exe" + +$nugeturl = "https://dist.nuget.org/win-x86-commandline/v3.4.4/NuGet.exe" +$nugetfeed = "https://dotnet.myget.org/F/dotnet-core/api/v3/index.json" +$nugetexepath = "$path\NuGet.exe" +$wc = New-Object System.Net.WebClient +$wc.DownloadFile($nugeturl, $nugetexepath) + + +Write-Host -ForegroundColor Green "Getting $netcoreapppackage $netcoreappversion" + +& "$nugetexepath" "install", "$netcoreapppackage", "-Source", "$nugetfeed", "-Version", "$netcoreappversion", "-OutputDirectory", "$path" +if ($LastExitCode -ne 0) { + throw "NuGet install of $netcoreapppackage failed." +} + +Copy-Item "$path\$netcoreapppackage.$netcoreappversion\tools\crossgen.exe" "$path\crossgen.exe" -Force +Copy-Item "$path\$netcoreapppackage.$netcoreappversion\runtimes\$platform\native\clrjit.dll" "$path\clrjit.dll" -Force +Remove-Item "$path\$netcoreapppackage.$netcoreappversion\" -recurse + +Remove-Item "$path\NuGet.exe" + +Write-Host -ForegroundColor Green "Success" diff --git a/tests/src/performance/linkbench/assets/Roslyn/illinkcsproj b/tests/src/performance/linkbench/assets/Roslyn/illinkcsproj index 1247c5e715..c8549e2d47 100644 --- a/tests/src/performance/linkbench/assets/Roslyn/illinkcsproj +++ b/tests/src/performance/linkbench/assets/Roslyn/illinkcsproj @@ -1,9 +1,10 @@ - netcoreapp2.0 - win7-x86;win7-x64 + Exe + netcoreapp1.1 - + + diff --git a/tests/src/performance/linkbench/linkbench.cs b/tests/src/performance/linkbench/linkbench.cs index 3d29957f90..ad0f83ef0e 100644 --- a/tests/src/performance/linkbench/linkbench.cs +++ b/tests/src/performance/linkbench/linkbench.cs @@ -1,3 +1,5 @@ +using Microsoft.Xunit.Performance; +using Microsoft.Xunit.Performance.Api; using System; using System.Diagnostics; using System.Collections.Generic; @@ -8,8 +10,6 @@ using System.Text; using System.Globalization; using System.Linq; using System.Xml.Linq; -using Microsoft.Xunit.Performance; -using Microsoft.Xunit.Performance.Api; using Xunit; using Xunit.Abstractions; @@ -18,7 +18,8 @@ namespace LinkBench public class Benchmark { public string Name; - + public bool ShouldRun; + public string ProjFile; public string UnlinkedDir; public string LinkedDir; public double UnlinkedMsilSize; @@ -28,18 +29,29 @@ namespace LinkBench public double MsilSizeReduction; public double DirSizeReduction; + public delegate void SetupDelegate(); + public SetupDelegate Setup; + private DirectoryInfo unlinkedDirInfo; private DirectoryInfo linkedDirInfo; private double certDiff; const double MB = 1024 * 1024; - public Benchmark(string _Name, string _UnlinkedDir, string _LinkedDir) + public Benchmark(string _Name, string _UnlinkedDir, string _LinkedDir, SetupDelegate _setup = null, bool _shouldRun = false) { Name = _Name; UnlinkedDir = _UnlinkedDir; LinkedDir = _LinkedDir; unlinkedDirInfo = new DirectoryInfo(UnlinkedDir); linkedDirInfo = new DirectoryInfo(LinkedDir); + ShouldRun = _shouldRun; + Setup = _setup; + } + + public void SetToRun() + { + ShouldRun = true; + Environment.SetEnvironmentVariable("__test_" + Name, "true"); } public void Compute() @@ -50,8 +62,8 @@ namespace LinkBench UnlinkedDirSize = GetDirSize(unlinkedDirInfo); LinkedDirSize = GetDirSize(linkedDirInfo); - MsilSizeReduction = (UnlinkedMsilSize - LinkedMsilSize) / UnlinkedMsilSize * 100; - DirSizeReduction = (UnlinkedDirSize - LinkedDirSize) / UnlinkedDirSize * 100; + MsilSizeReduction = LinkedMsilSize / UnlinkedMsilSize; + DirSizeReduction = LinkedDirSize / UnlinkedDirSize; } // Compute total size of a directory, in MegaBytes @@ -82,20 +94,10 @@ namespace LinkBench foreach (string file in files) { - if (file.EndsWith(".ni.dll") || file.EndsWith(".ni.exe")) + if (IsMSIL(file)) { - continue; + msilSize += new FileInfo(file).Length; } - try - { - AssemblyLoadContext.GetAssemblyName(file); - } - catch (BadImageFormatException) - { - continue; - } - - msilSize += new FileInfo(file).Length; } return msilSize / MB; @@ -126,22 +128,104 @@ namespace LinkBench foreach (string file in files) { - try + if (IsMSIL(file)) { - AssemblyLoadContext.GetAssemblyName(file); + FileInfo fileInfo = new FileInfo(file); + long linkedCert = GetCertSize(file); + long unlinkedCert = GetCertSize(UnlinkedDir + "\\" + fileInfo.Name); + totalDiff += (unlinkedCert - linkedCert); } - catch (BadImageFormatException) + } + + return totalDiff / MB; + } + + //Use AssemblyLoadContext.GetAssemblyName(file); + private bool IsMSIL(string file) + { + if (file.EndsWith(".ni.dll") || file.EndsWith(".ni.exe")) + { + // Likely Native Image. + return false; + } + + try + { + AssemblyLoadContext.GetAssemblyName(file); + } + catch (Exception) + { + // We should check only for BadImageFormatException. + // But Checking for any exception until the following + // issue is fixed: + // https://github.com/dotnet/coreclr/issues/11499 + + return false; + } + + return true; + } + + public static void AddLinkerReference(string csproj) + { + var xdoc = XDocument.Load(csproj); + var ns = xdoc.Root.GetDefaultNamespace(); + bool added = false; + foreach (var el in xdoc.Root.Elements(ns + "ItemGroup")) + { + if (el.Elements(ns + "PackageReference").Any()) { - continue; + el.Add(new XElement(ns + "PackageReference", + new XAttribute("Include", "ILLink.Tasks"), + new XAttribute("Version", "0.1.4-preview"))); + added = true; + break; } + } + if (!added) + { + xdoc.Root.Add(new XElement(ns + "ItemGroup", + new XElement(ns + "PackageReference", + new XAttribute("Include", "ILLink.Tasks"), + new XAttribute("Version", "0.1.4-preview")))); + added = true; + } + using (var fs = new FileStream(csproj, FileMode.Create)) + { + xdoc.Save(fs); + } + } - FileInfo fileInfo = new FileInfo(file); - long linkedCert = GetCertSize(file); - long unlinkedCert = GetCertSize(UnlinkedDir + "\\" + fileInfo.Name); - totalDiff += (unlinkedCert - linkedCert); + // TODO: remove this once the linker is able to handle + // ready-to-run assembies + public static void SetRuntimeFrameworkVersion(string csproj) + { + var xdoc = XDocument.Load(csproj); + var ns = xdoc.Root.GetDefaultNamespace(); + var versionElement = xdoc.Root.Descendants(ns + "RuntimeFrameworkVersion").First(); + string runtimeFrameworkVersion = "2.0.0-preview2-002093-00"; + versionElement.Value = runtimeFrameworkVersion; + using (var fs = new FileStream(csproj, FileMode.Create)) + { + xdoc.Save(fs); } + } - return totalDiff / MB; + // TODO: Remove this once we figure out what to do about apps + // that have the publish output filtered by a manifest + // file. It looks like aspnet has made this the default. See + // the bug at https://github.com/dotnet/sdk/issues/1160. + public static void PreventPublishFiltering(string csproj) + { + var xdoc = XDocument.Load(csproj); + var ns = xdoc.Root.GetDefaultNamespace(); + var propertygroup = xdoc.Root.Element(ns + "PropertyGroup"); + propertygroup.Add(new XElement(ns + "PublishWithAspNetCoreTargetManifest", + "false")); + using (var fs = new FileStream(csproj, FileMode.Create)) + { + xdoc.Save(fs); + } } } @@ -149,42 +233,132 @@ namespace LinkBench { private static ScenarioConfiguration scenarioConfiguration = new ScenarioConfiguration(new TimeSpan(2000000)); private static MetricModel SizeMetric = new MetricModel { Name = "Size", DisplayName = "File Size", Unit = "MB" }; - private static MetricModel PercMetric = new MetricModel { Name = "Perc", DisplayName = "% Reduction", Unit = "%" }; + private static MetricModel PercMetric = new MetricModel { Name = "Ratio", DisplayName = "Reduction", Unit = "Linked/Unlinked" }; public static string Workspace; + public static string LinkBenchRoot; public static string ScriptDir; public static string AssetsDir; private static Benchmark CurrentBenchmark; + private static Benchmark[] Benchmarks = + { + new Benchmark("HelloWorld", + "HelloWorld\\bin\\release\\netcoreapp2.0\\win10-x64\\unlinked", + "HelloWorld\\bin\\release\\netcoreapp2.0\\win10-x64\\linked", + () => Benchmark.AddLinkerReference("HelloWorld\\HelloWorld.csproj")), + new Benchmark("WebAPI", + "WebAPI\\bin\\release\\netcoreapp2.0\\win10-x64\\unlinked", + "WebAPI\\bin\\release\\netcoreapp2.0\\win10-x64\\linked", + () => { Benchmark.AddLinkerReference("WebAPI\\WebAPI.csproj"); + Benchmark.PreventPublishFiltering("WebAPI\\WebAPI.csproj"); }), + //Remove the MusicStore from the run as the scenario is currently flaky and breaking performance runs + /*new Benchmark("MusicStore", + "JitBench\\src\\MusicStore\\bin\\release\\netcoreapp2.0\\win10-x64\\unlinked", + "JitBench\\src\\MusicStore\\bin\\release\\netcoreapp2.0\\win10-x64\\linked", + () => { Benchmark.AddLinkerReference("JitBench\\src\\MusicStore\\MusicStore.csproj"); + Benchmark.SetRuntimeFrameworkVersion("JitBench\\src\\MusicStore\\MusicStore.csproj"); }), + new Benchmark("MusicStore_R2R", + "JitBench\\src\\MusicStore\\bin\\release\\netcoreapp2.0\\win10-x64\\R2R\\unlinked", + "JitBench\\src\\MusicStore\\bin\\release\\netcoreapp2.0\\win10-x64\\R2R\\linked"),*/ + new Benchmark("Corefx", + "corefx\\bin\\ILLinkTrimAssembly\\netcoreapp-Windows_NT-Release-x64\\pretrimmed", + "corefx\\bin\\ILLinkTrimAssembly\\netcoreapp-Windows_NT-Release-x64\\trimmed"), + /*new Benchmark("Roslyn", + "roslyn\\Binaries\\Release\\Exes\\CscCore\\win7-x64\\publish", + "roslyn\\Binaries\\Release\\Exes\\CscCore\\win7-x64\\Linked") */ + }; + + static int UsageError() + { + Console.WriteLine("Usage: LinkBench [--nosetup] [--nobuild] [--perf:runid ] []"); + Console.WriteLine(" --nosetup: Don't clone and fixup benchmark repositories"); + Console.WriteLine(" --nosetup: Don't build and link benchmarks"); + Console.WriteLine(" --perf:runid: Specify the ID to append to benchmark result files"); + Console.WriteLine(" Benchmarks: HelloWorld, WebAPI, MusicStore, MusicStore_R2R, CoreFX, Roslyn"); + Console.WriteLine(" Default is to run all the above benchmarks."); + return -4; + } + public static int Main(String [] args) { - // Workspace is the ROOT of the coreclr tree. - // If CORECLR_REPO is not set, the script assumes that the location of sandbox - // is \coreclr\sandbox. - bool doClone = true; + bool doSetup = true; bool doBuild = true; + string runId = ""; + string runOne = null; + bool benchmarkSpecified = false; - for(int i=0; i < args.Length; i++) + for (int i = 0; i < args.Length; i++) { - if (String.Compare(args[i], "noclone", true) == 0) + if (String.Compare(args[i], "--nosetup", true) == 0) { - doClone = false; + doSetup = false; } - else if (String.Compare(args[i], "nobuild", true) == 0) + else if (String.Compare(args[i], "--nobuild", true) == 0) { - doClone = false; + doSetup = false; doBuild = false; } + else if (String.Compare(args[i], "--perf:runid", true) == 0) + { + if (i + 1 < args.Length) + { + runId = args[++i] + "-"; + } + else + { + Console.WriteLine("Missing runID "); + return UsageError(); + } + } + else if (args[i][0] == '-') + { + Console.WriteLine("Unknown Option {0}", args[i]); + return UsageError(); + } else { - Console.WriteLine("Unknown argument"); - return -4; + foreach (Benchmark benchmark in Benchmarks) + { + if (String.Compare(args[i], benchmark.Name, true) == 0) + { + benchmark.SetToRun(); + benchmarkSpecified = true; + break; + } + } + + if (!benchmarkSpecified) + { + Console.WriteLine("Unknown Benchmark {0}", args[i]); + } } } + // If benchmarks are not explicitly specified, run all benchmarks + if (!benchmarkSpecified) + { + foreach (Benchmark benchmark in Benchmarks) + { + if (String.Compare(benchmark.Name, "CoreFX", true) == 0) + { + // CoreFX is not enabled by default, because the lab cannot run it yet. + // Jenkins runs on an older OS with path-length limit, which causes + // CoreFX build to fail. + continue; + } + + benchmark.SetToRun(); + } + } + + // Workspace is the ROOT of the coreclr tree. + // If CORECLR_REPO is not set, the script assumes that the location of sandbox + // is \coreclr\sandbox. + LinkBenchRoot = Directory.GetCurrentDirectory(); Workspace = Environment.GetEnvironmentVariable("CORECLR_REPO"); if (Workspace == null) { - Workspace = Directory.GetParent(Directory.GetCurrentDirectory()).FullName; + Workspace = Directory.GetParent(LinkBenchRoot).FullName; } if (Workspace == null) { @@ -192,38 +366,38 @@ namespace LinkBench return -1; } - string LinkBenchDir = Workspace + "\\tests\\src\\performance\\linkbench\\"; - ScriptDir = LinkBenchDir + "scripts\\"; - AssetsDir = LinkBenchDir + "assets\\"; + string linkBenchSrcDir = Workspace + "\\tests\\src\\performance\\linkbench\\"; + ScriptDir = linkBenchSrcDir + "scripts\\"; + AssetsDir = linkBenchSrcDir + "assets\\"; - Benchmark[] Benchmarks = - { - new Benchmark("HelloWorld", - "LinkBench\\HelloWorld\\bin\\release\\netcoreapp2.0\\win10-x64\\publish", - "LinkBench\\HelloWorld\\bin\\release\\netcoreapp2.0\\win10-x64\\linked"), - new Benchmark("WebAPI", - "LinkBench\\WebAPI\\bin\\release\\netcoreapp2.0\\win10-x64\\publish", - "LinkBench\\WebAPI\\bin\\release\\netcoreapp2.0\\win10-x64\\linked"), - new Benchmark("MusicStore", - "LinkBench\\JitBench\\src\\MusicStore\\bin\\release\\netcoreapp2.0\\win10-x64\\publish", - "LinkBench\\JitBench\\src\\MusicStore\\bin\\release\\netcoreapp2.0\\win10-x64\\linked"), - new Benchmark("MusicStore_R2R", - "LinkBench\\JitBench\\src\\MusicStore\\bin\\release\\netcoreapp2.0\\win10-x64\\publish_r2r", - "LinkBench\\JitBench\\src\\MusicStore\\bin\\release\\netcoreapp2.0\\win10-x64\\linked_r2r"), - new Benchmark("Corefx", - "LinkBench\\corefx\\bin\\ILLinkTrimAssembly\\netcoreapp-Windows_NT-Release-x64\\pretrimmed", - "LinkBench\\corefx\\bin\\ILLinkTrimAssembly\\netcoreapp-Windows_NT-Release-x64\\trimmed"), - new Benchmark("Roslyn", - "LinkBench\\roslyn\\Binaries\\Release\\Exes\\CscCore", - "LinkBench\\roslyn\\Binaries\\Release\\Exes\\Linked"), - }; + Environment.SetEnvironmentVariable("LinkBenchRoot", LinkBenchRoot); + Environment.SetEnvironmentVariable("__dotnet1", LinkBenchRoot + "\\.Net1\\dotnet.exe"); + Environment.SetEnvironmentVariable("__dotnet2", LinkBenchRoot + "\\.Net2\\dotnet.exe"); // Update the build files to facilitate the link step - if(doClone) + if (doSetup) { - if(!Setup()) + // Clone the benchmarks + using (var setup = new Process()) { - return -2; + setup.StartInfo.FileName = ScriptDir + "clone.cmd"; + setup.Start(); + setup.WaitForExit(); + if (setup.ExitCode != 0) + { + Console.WriteLine("Benchmark Setup failed"); + return -2; + } + } + + // Setup the benchmarks + + foreach (Benchmark benchmark in Benchmarks) + { + if (benchmark.ShouldRun && benchmark.Setup != null) + { + benchmark.Setup(); + } } } @@ -238,7 +412,7 @@ namespace LinkBench setup.WaitForExit(); if (setup.ExitCode != 0) { - Console.WriteLine("Setup failed"); + Console.WriteLine("Benchmark build failed"); return -3; } } @@ -255,8 +429,12 @@ namespace LinkBench for (int i = 0; i < Benchmarks.Length; i++) { CurrentBenchmark = Benchmarks[i]; - string[] scriptArgs = { "--perf:runid", CurrentBenchmark.Name }; + if (!CurrentBenchmark.ShouldRun) + { + continue; + } + string[] scriptArgs = { "--perf:runid", runId + CurrentBenchmark.Name }; using (var h = new XunitPerformanceHarness(scriptArgs)) { h.RunScenario(emptyCmd, null, null, PostRun, scenarioConfiguration); @@ -280,81 +458,14 @@ namespace LinkBench addMeasurement(ref scenario, "MSIL Unlinked", SizeMetric, CurrentBenchmark.UnlinkedMsilSize); addMeasurement(ref scenario, "MSIL Linked", SizeMetric, CurrentBenchmark.LinkedMsilSize); - addMeasurement(ref scenario, "MSIL %Reduction", PercMetric, CurrentBenchmark.MsilSizeReduction); + addMeasurement(ref scenario, "MSIL Reduction", PercMetric, CurrentBenchmark.MsilSizeReduction); addMeasurement(ref scenario, "Total Uninked", SizeMetric, CurrentBenchmark.UnlinkedDirSize); addMeasurement(ref scenario, "Total Linked", SizeMetric, CurrentBenchmark.LinkedDirSize); - addMeasurement(ref scenario, "Total %Reduction", PercMetric, CurrentBenchmark.DirSizeReduction); + addMeasurement(ref scenario, "Total Reduction", PercMetric, CurrentBenchmark.DirSizeReduction); return scenario; } - private static bool Setup() - { - // Clone the benchmarks - using (var setup = new Process()) - { - setup.StartInfo.FileName = ScriptDir + "clone.cmd"; - Console.WriteLine("Run {0}", setup.StartInfo.FileName); - setup.Start(); - setup.WaitForExit(); - if (setup.ExitCode != 0) - { - Console.WriteLine("clone failed"); - return false; - } - } - - //Update the project files - AddLinkerReference("LinkBench\\HelloWorld\\HelloWorld.csproj"); - AddLinkerReference("LinkBench\\WebAPI\\WebAPI.csproj"); - AddLinkerReference("LinkBench\\JitBench\\src\\MusicStore\\MusicStore.csproj"); - RemoveCrossgenTarget("LinkBench\\JitBench\\src\\MusicStore\\MusicStore.csproj"); - - return true; - } - - private static void AddLinkerReference(string csproj) - { - var xdoc = XDocument.Load(csproj); - var ns = xdoc.Root.GetDefaultNamespace(); - bool added = false; - foreach (var el in xdoc.Root.Elements(ns + "ItemGroup")) - { - if (el.Elements(ns + "PackageReference").Any()) - { - el.Add(new XElement(ns + "PackageReference", - new XAttribute("Include", "ILLink.Tasks"), - new XAttribute("Version", "0.1.0-preview"))); - added = true; - break; - } - } - if (!added) - { - xdoc.Root.Add(new XElement(ns + "ItemGroup", - new XElement(ns + "PackageReference", - new XAttribute("Include", "ILLink.Tasks"), - new XAttribute("Version", "0.1.0-preview")))); - added = true; - } - using (var fs = new FileStream(csproj, FileMode.Create)) - { - xdoc.Save(fs); - } - } - - private static void RemoveCrossgenTarget(string csproj) - { - var xdoc = XDocument.Load(csproj); - var ns = xdoc.Root.GetDefaultNamespace(); - var target = xdoc.Root.Element(ns + "Target"); - target.Remove(); - using (var fs = new FileStream(csproj, FileMode.Create)) - { - xdoc.Save(fs); - } - } - private static void addMeasurement(ref ScenarioBenchmark scenario, string name, MetricModel metric, double value) { var iteration = new IterationModel diff --git a/tests/src/performance/linkbench/linkbench.csproj b/tests/src/performance/linkbench/linkbench.csproj index 2a3048ab21..46c79ff039 100644 --- a/tests/src/performance/linkbench/linkbench.csproj +++ b/tests/src/performance/linkbench/linkbench.csproj @@ -16,6 +16,7 @@ 7a9bfb7d $(DefineConstants);STATIC .NETStandard,Version=v1.4 + netstandard1.4 @@ -23,8 +24,7 @@ - ..\project.json - ..\project.lock.json + ..\obj diff --git a/tests/src/performance/linkbench/scripts/build.cmd b/tests/src/performance/linkbench/scripts/build.cmd index 88b7eb139e..12f9f3f951 100644 --- a/tests/src/performance/linkbench/scripts/build.cmd +++ b/tests/src/performance/linkbench/scripts/build.cmd @@ -1,103 +1,141 @@ +setlocal ENABLEDELAYEDEXPANSION @echo off REM Usage: Build.cmd setlocal -call "C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\Tools\VsDevCmd.bat" -set ROOT=%cd%\LinkBench set AssetDir=%1 set ExitCode=0 -mkdir LinkBench 2> nul -pushd %ROOT% +pushd %LinkBenchRoot% +set __CORFLAGS="%VS140COMNTOOLS%\..\..\..\Microsoft SDKs\Windows\v10.0A\bin\NETFX 4.6.1 Tools\CorFlags.exe" +if not exist %__CORFLAGS% ( + echo corflags.exe not found + exit /b -1 +) + +if defined __test_HelloWorld call :HelloWorld +if defined __test_WebAPI call :WebAPI +if defined __test_MusicStore call :MusicStore +if defined __test_MusicStore_R2R call :MusicStore_R2R +if defined __test_CoreFx call :CoreFx +if defined __test_Roslyn call :Roslyn + +popd +exit /b %ExitCode% + +:HelloWorld echo Build ** HelloWorld ** -cd %ROOT%\HelloWorld -dotnet restore -r win10-x64 -dotnet publish -c release -r win10-x64 -dotnet msbuild /t:Link /p:LinkerMode=sdk /p:RuntimeIdentifier=win10-x64 /v:n /p:Configuration=release +pushd %LinkBenchRoot%\HelloWorld +call %__dotnet2% restore -r win10-x64 +call %__dotnet2% publish -c release -r win10-x64 /p:LinkDuringPublish=false --output bin\release\netcoreapp2.0\win10-x64\Unlinked +call %__dotnet2% publish -c release -r win10-x64 --output bin\release\netcoreapp2.0\win10-x64\Linked if errorlevel 1 set ExitCode=1 -echo -- Done -- +popd +exit /b +:WebAPI echo Build ** WebAPI ** -cd %ROOT%\WebAPI -dotnet restore -r win10-x64 -dotnet publish -c release -r win10-x64 -dotnet msbuild /t:Link /p:LinkerMode=sdk /p:RuntimeIdentifier=win10-x64 /v:n /p:Configuration=release +pushd %LinkBenchRoot%\WebAPI +call %__dotnet2% restore -r win10-x64 +call %__dotnet2% publish -c release -r win10-x64 /p:LinkDuringPublish=false --output bin\release\netcoreapp2.0\win10-x64\unlinked +call %__dotnet2% publish -c release -r win10-x64 --output bin\release\netcoreapp2.0\win10-x64\linked if errorlevel 1 set ExitCode=1 -echo -- Done -- +popd +exit /b +:MusicStore echo Build ** MusicStore ** -cd %ROOT%\JitBench\src\MusicStore +pushd %LinkBenchRoot%\JitBench\src\MusicStore copy %AssetDir%\MusicStore\MusicStoreReflection.xml . -dotnet restore -r win10-x64 -dotnet publish -c release -r win10-x64 -dotnet msbuild /t:Link /p:LinkerMode=sdk /p:RuntimeIdentifier=win10-x64 /v:n /p:LinkerRootFiles=MusicStoreReflection.xml /p:Configuration=release +call %__dotnet2% restore -r win10-x64 +call %__dotnet2% publish -c release -r win10-x64 /p:LinkerRootDescriptors=MusicStoreReflection.xml /p:LinkDuringPublish=false --output bin\release\netcoreapp2.0\win10-x64\unlinked +call %__dotnet2% publish -c release -r win10-x64 /p:LinkerRootDescriptors=MusicStoreReflection.xml --output bin\release\netcoreapp2.0\win10-x64\linked if errorlevel 1 set ExitCode=1 -echo -- Done -- +popd +exit /b +:MusicStore_R2R +REM Since the musicstore benchmark has a workaround to use an old framework (to get non-crossgen'd packages), +REM we need to run crossgen on these assemblies manually for now. +REM Even once we have the linker running on R2R assemblies and remove this workaround, +REM we'll need a way to get the pre-crossgen assemblies for the size comparison. +REM We need to use it to crossgen the linked assemblies for the size comparison, +REM since the linker targets don't yet include a way to crossgen the linked assemblies. echo Build ** MusicStore Ready2Run ** -cd %ROOT%\JitBench\src\MusicStore +pushd %LinkBenchRoot%\JitBench\src\MusicStore +copy %AssetDir%\MusicStore\Get-Crossgen.ps1 powershell -noprofile -executionPolicy RemoteSigned -file Get-Crossgen.ps1 pushd bin\release\netcoreapp2.0\win10-x64\ -call :SetupR2R publish +mkdir R2R +call :SetupR2R unlinked if errorlevel 1 set ExitCode=1 call :SetupR2R linked if errorlevel 1 set ExitCode=1 -echo -- Done -- +popd +exit /b +:CoreFx echo Build ** CoreFX ** -cd %ROOT%\corefx +pushd %LinkBenchRoot%\corefx set BinPlaceILLinkTrimAssembly=true call build.cmd -release if errorlevel 1 set ExitCode=1 -echo -- Done -- +popd +exit /b +:Roslyn echo Build ** Roslyn ** -cd %ROOT%\roslyn -copy %AssetDir%\Roslyn\RoslynRoots.txt . -copy %AssetDir%\Roslyn\RoslynRoots.xml . -set RoslynRoot=%cd% -REM Build Roslyn -call restore.cmd -msbuild /m Roslyn.sln /p:Configuration=Release +pushd %LinkBenchRoot%\roslyn + REM Fetch ILLink -mkdir illink +if not exist illink mkdir illink cd illink -copy %AssetDir%\Roslyn\illinkcsproj illink.csproj -dotnet restore illink.csproj -r win10-x64 --packages bin +copy %AssetDir%\Roslyn\illinkcsproj illink.csproj +call %__dotnet1% restore --packages pkg +if errorlevel 1 set ExitCode=1 +set __IlLinkDll=%cd%\pkg\microsoft.netcore.illink\0.1.9-preview\lib\netcoreapp1.1\illink.dll cd .. + +REM Build CscCore +call Restore.cmd +cd src\Compilers\CSharp\CscCore +call %__dotnet1% publish -c Release -r win7-x64 +if errorlevel 1 set ExitCode=1 +REM Published CscCore to Binaries\Release\Exes\CscCore\win7-x64\publish +cd ..\..\..\.. + REM Create Linker Directory -cd Binaries\Release\Exes +cd Binaries\Release\Exes\CscCore\win7-x64\ mkdir Linked -cd CscCore + REM Copy Unmanaged Assets +cd publish FOR /F "delims=" %%I IN ('DIR /b *') DO ( - corflags %%I >nul 2> nul - if errorlevel 1 copy %%I ..\Linked >nul + %__CORFLAGS% %%I + if errorlevel 1 copy %%I ..\Linked ) copy *.ni.dll ..\Linked + REM Run Linker -dotnet %RoslynRoot%\illink\bin\illink.tasks\0.1.0-preview\tools\illink.dll -t -c link -a @%RoslynRoot%\RoslynRoots.txt -x %RoslynRoot%\RoslynRoots.xml -l none -out ..\Linked +call %__dotnet1% %__IlLinkDll% -t -c link -a @%AssetDir%\Roslyn\RoslynRoots.txt -x %AssetDir%\Roslyn\RoslynRoots.xml -l none -out ..\Linked if errorlevel 1 set ExitCode=1 -echo -- Done -- popd - -:Done -exit /b %ExitCode% +exit /b :SetupR2R REM Create R2R directory and copy all contents from MSIL to R2R directory -mkdir %1_r2r -xcopy /E /Y /Q %1 %1_r2r +mkdir R2R\%1 +xcopy /E /Y /Q %1 R2R\%1 REM Generate Ready2Run images for all MSIL files by running crossgen -cd %1_r2r -copy ..\..\..\..\..\crossgen.exe +pushd R2R\%1 +copy ..\..\..\..\..\..\crossgen.exe FOR /F %%I IN ('dir /b *.dll ^| find /V /I ".ni.dll" ^| find /V /I "System.Private.CoreLib" ^| find /V /I "mscorlib.dll"') DO ( REM Don't crossgen Corlib, since the native image already exists. REM For all other MSIL files (corflags returns 0), run crossgen - corflags %%I >nul 2>nul + %__CORFLAGS% %%I if not errorlevel 1 ( - crossgen /Platform_Assemblies_Paths . %%I >nul 2>nul + crossgen.exe /Platform_Assemblies_Paths . %%I if errorlevel 1 ( exit /b 1 ) @@ -112,5 +150,5 @@ FOR /F "delims=" %%I IN ('dir /b *.dll') DO ( ren %%~nI.ni.dll %%I ) ) -cd .. +popd exit /b 0 diff --git a/tests/src/performance/linkbench/scripts/clone.cmd b/tests/src/performance/linkbench/scripts/clone.cmd index ae28d41d08..60cfe202b6 100644 --- a/tests/src/performance/linkbench/scripts/clone.cmd +++ b/tests/src/performance/linkbench/scripts/clone.cmd @@ -1,30 +1,64 @@ +setlocal ENABLEDELAYEDEXPANSION @echo off -rmdir /s /q LinkBench +set EXITCODE=0 +pushd %LinkBenchRoot% -set ROOT=%cd%\LinkBench -mkdir LinkBench 2> nul -pushd %ROOT% +if not exist %__dotnet1% call :DotNet +if defined __test_HelloWorld call :HelloWorld +if defined __test_WebAPI call :WebAPI +if defined __test_MusicStore call :MusicStore +if defined __test_MusicStore_R2R call :MusicStore_R2R +if defined __test_CoreFx call :CoreFx +if defined __test_Roslyn call :Roslyn + +popd +exit /b %EXITCODE% + +:DotNet +REM Roslyn needs SDK 1.0.0, other benchmarks need SDK 2.0.0 +mkdir .Net1 +mkdir .Net2 +powershell -noprofile -executionPolicy RemoteSigned wget https://raw.githubusercontent.com/dotnet/cli/master/scripts/obtain/dotnet-install.ps1 -OutFile dotnet-install.ps1 +powershell -noprofile -executionPolicy RemoteSigned -file dotnet-install.ps1 -InstallDir .Net1 +powershell -noprofile -executionPolicy RemoteSigned -file dotnet-install.ps1 -Channel master -InstallDir .Net2 -version 2.0.0-preview2-005905 +if not exist %__dotnet1% set EXITCODE=1&& echo DotNet.1.0.0 uninstalled +if not exist %__dotnet2% set EXITCODE=1&& echo DotNet.2.0.0 uninstalled +exit /b + +:HelloWorld mkdir HelloWorld cd HelloWorld -dotnet new console -if errorlevel 1 exit /b 1 +call %__dotnet2% new console +if errorlevel 1 set EXITCODE=1 cd .. +exit /b +:WebAPI mkdir WebAPI cd WebAPI -dotnet new webapi -if errorlevel 1 exit /b 1 +call %__dotnet2% new webapi +if errorlevel 1 set EXITCODE=1 cd .. +exit /b +:MusicStore git clone https://github.com/aspnet/JitBench -b dev -if errorlevel 1 exit /b 1 +if errorlevel 1 set EXITCODE=1 +exit /b +:MusicStore_R2R +REM MusicStore_R2R requires a previous MusicStore run. +REM No Additional Setup +exit /b + +:CoreFx git clone http://github.com/dotnet/corefx -if errorlevel 1 exit /b 1 +if errorlevel 1 set EXITCODE=1 +exit /b +:Roslyn git clone https://github.com/dotnet/roslyn.git -if errorlevel 1 exit /b 1 - -popd \ No newline at end of file +if errorlevel 1 set EXITCODE=1 +exit /b diff --git a/tests/src/performance/perflab/PerfLab.csproj b/tests/src/performance/perflab/PerfLab.csproj index ed197261fb..ccacb0b66c 100644 --- a/tests/src/performance/perflab/PerfLab.csproj +++ b/tests/src/performance/perflab/PerfLab.csproj @@ -12,6 +12,7 @@ ..\..\ $(DefineConstants);STATIC .NETStandard,Version=v1.4 + netstandard1.4 @@ -19,8 +20,7 @@ - ..\project.json - ..\project.lock.json + ..\obj diff --git a/tests/src/performance/performance.csproj b/tests/src/performance/performance.csproj new file mode 100644 index 0000000000..8133535f45 --- /dev/null +++ b/tests/src/performance/performance.csproj @@ -0,0 +1,111 @@ + + + + + .NETStandard,Version=v1.5 + netstandard1.5 + false + + + + $(XUnitPerformanceApiVersion) + + + $(XUnitPerformanceApiVersion) + + + $(XUnitPerformanceApiVersion) + + + $(XUnitPerformanceApiVersion) + + + $(MicrosoftDiagnosticsTracingLibraryVersion) + + + 2.0.0-preview2-25302-03 + + + 4.4.0-beta-24913-02 + + + 4.4.0-beta-24913-02 + + + 4.4.0-beta-24913-02 + + + 4.4.0-beta-24913-02 + + + 4.4.0-beta-24913-02 + + + 4.4.0-preview2-25302-03 + + + 4.4.0-beta-24913-02 + + + 4.4.0-beta-24913-02 + + + 4.4.0-preview2-25302-03 + + + 4.4.0-beta-24913-02 + + + 4.4.0-beta-24913-02 + + + 4.0.0 + + + 4.4.0-beta-24913-02 + + + 4.4.0-beta-24913-02 + + + 4.4.0-beta-24913-02 + + + 4.4.0-beta-24913-02 + + + 4.4.0-beta-24913-02 + + + 4.4.0-beta-24913-02 + + + 4.4.0-beta-24913-02 + + + 4.4.0-beta-24913-02 + + + 4.4.0-beta-24913-02 + + + $(XunitPackageVersion) + + + $(XUnitConsoleNetCoreVersion) + + + $(XunitPackageVersion) + + + + netstandard1.5 + .NETStandard + $(PackageTargetFallback);dnxcore50;portable-net45+win8 + true + false + + + + diff --git a/tests/src/performance/project.json b/tests/src/performance/project.json deleted file mode 100644 index 86a42f2df7..0000000000 --- a/tests/src/performance/project.json +++ /dev/null @@ -1,42 +0,0 @@ -{ - "dependencies": { - "xunit.performance.api": "1.0.0-beta-build0003", - "xunit.performance.core": "1.0.0-beta-build0003", - "xunit.performance.execution": "1.0.0-beta-build0003", - "xunit.performance.metrics": "1.0.0-beta-build0003", - "Microsoft.Diagnostics.Tracing.TraceEvent": "1.0.3-alpha-experimental", - "Microsoft.NETCore.Platforms": "2.0.0-preview1-25221-01", - "System.Collections.NonGeneric": "4.4.0-beta-24913-02", - "System.Console": "4.4.0-beta-24913-02", - "System.IO.FileSystem": "4.4.0-beta-24913-02", - "System.Linq": "4.4.0-beta-24913-02", - "System.Linq.Expressions": "4.4.0-beta-24913-02", - "System.Numerics.Vectors": "4.4.0-preview1-25221-01", - "System.Reflection": "4.4.0-beta-24913-02", - "System.Reflection.Extensions": "4.4.0-beta-24913-02", - "System.Reflection.TypeExtensions": "4.4.0-preview1-25221-01", - "System.Runtime": "4.4.0-beta-24913-02", - "System.Runtime.Extensions": "4.4.0-beta-24913-02", - "System.Runtime.Loader": "4.0.0", - "System.Runtime.Numerics": "4.4.0-beta-24913-02", - "System.Text.RegularExpressions": "4.4.0-beta-24913-02", - "System.Threading": "4.4.0-beta-24913-02", - "System.Threading.Tasks": "4.4.0-beta-24913-02", - "System.Threading.Tasks.Parallel": "4.4.0-beta-24913-02", - "System.Diagnostics.Process": "4.4.0-beta-24913-02", - "System.Xml.XmlDocument": "4.4.0-beta-24913-02", - "System.Xml.XPath": "4.4.0-beta-24913-02", - "System.Xml.XPath.XmlDocument": "4.4.0-beta-24913-02", - "xunit": "2.2.0-beta2-build3300", - "xunit.console.netcore": "1.0.2-prerelease-00177", - "xunit.runner.utility": "2.2.0-beta2-build3300" - }, - "frameworks": { - "netstandard1.5": { - "imports": [ - "dnxcore50", - "portable-net45+win8" - ] - } - } -} -- cgit v1.2.3