summaryrefslogtreecommitdiff
path: root/tests/src/JIT
AgeCommit message (Collapse)AuthorFilesLines
2020-07-23[Tizen] Add CoreCLR tests build dependencies v3.1.3 for armel, arm64Gleb Balykov40-0/+55799
2020-06-18Add JIT/Stress/ABI TestsJUNG DONG-HEON15-0/+1829
Cherrypick only test parts of below patches in public dotnet/runtime github - be8e050a6d27040d6c249382d99d57d973e919b2 Implement instantiating and unboxing through portable stublinker code… (#106) - 0e949491faee53d2a7ad4d5649be17e98e5d3a96 Some minor ABI stress improvements - 3f339687a8151e989bbb4673aab9b0abcddf5642 Mark emitted types assembly as collectible in ABI stress (dotnet/coreclr#26253) - a25dd1a45b6fdad114ffaa915550906c986aa1ca Remove redundant ABI stress tests (dotnet/coreclr#26183) - 57945676a6395da61b61ce427a055e77d330db86 Fix GenerateShuffleArray to support cyclic shuffles (dotnet/coreclr#26169) - 3b0ba1ee24823030a3fc7278dd064d24a49a90bb Add ABI stress tests (dotnet/coreclr#26090)
2020-03-25[Tizen] Fix build of Runtime_1241 testsubmit/tizen/20200402.013218accepted/tizen/unified/20200402.155517Gleb Balykov1-3/+23
2020-03-25Fail to explicitly tail call on x86 unix. (#25032)Jarret Shook2-0/+49
* Fail to explicitly tail call on x86 unix. * Correctly return 100 * Correct return value * Add noway assert in morphTailCall to avoid morphing slow tail calls on unix. * Address feedback
2020-02-13Port of dotnet/runtime#1059 to 3.1 branch (#27986)Carol Eidt2-0/+99
This is the fix for #27924. This is a GC hole bug that was found externally, #27590. The cause is that the JIT was using the target type of the subtract when it needed to make a copy of the source, but it needs to use the source type. ## Customer Impact Corruption of state that is non-deterministic and hard to track down. ## Regression? Not a recent regression, but exposed by Unsafe.ByteOffset. ## Testing The fix has been verified in the runtime repo. ## Risk Low: The fix is straightfoward and only impacts 3 lines of code.
2020-02-13Port fix for #1241 to 3.1 (#27983)Carol Eidt2-0/+108
2020-02-13Port the 5.0 fix for issue #1104 (#28003)Brian Sullivan2-0/+95
* Port the 5.0 fix for issue #1104 3.1 - Pull Request Runtime\#1734 - This change corrects a cut-and paste typo with a previous commit. - Includes test case Runtime_1104.cs * Updated the csproj to use 3.1 syntax
2020-01-14[release/3.1] Port fix for JIT silent bad code (#27972)Andy Ayers2-0/+85
* [release/3.1] Port fix for JIT silent bad code Release/3.1 port of https://github.com/dotnet/runtime/pull/797. Fixes https://github.com/dotnet/runtime/issues/764 The jit might incorrectly order a read from a struct field with an operation that modifies the field, so that the read returns the wrong value. Silent bad code; program behaves incorrectly. Yes, introduced in the 3.0 cycle. Verified the user's test case now passes; no diffs seen in any existing framework or test code. **Low**: the jit is now spilling the eval stack entries to temps in cases where it did not before; this should be conservatively safe. cc: @brucefo ____ If we're appending an assignment whose LHS is is a location within a local struct, we need to spill all references to that struct from the eval stack. Update the existing logic for this to handle the case where the LHS is a field of a local struct, and the field is updated by unusual means (here, `initobj`). Fixes dotnet/runtime#764. * Fix test
2020-01-14Release/3.1 port of dotnet/runtime#239 (#27973)Andy Ayers2-0/+68
Fix for #27923 The jit might fail to locate a class handle for a ref class, leading to an unexpected crash while jitting. ## Customer Impact Unexpected and hard to diagnose crash/exception ## Regression? Yes, introduced during the development 3.0 cycle. 2.x behaves correctly. ## Testing Verified the user's test case now passes; no diffs seen in any existing framework or test code. ## Risk **Low**: the jit will now fall back to using the handle for System.Object if no better option can be found. cc @BruceForstall ____ In some cases we may end up in lvaSetClass without a valid ref class handle from either the IR or the stack. Use the handle for object as a conservative fallback.
2019-09-11[release/3.1] Update dependencies from dotnet/corefx (#26508)dotnet-maestro[bot]1-3/+3
* Update dependencies from https://github.com/dotnet/corefx build 20190903.6 - Microsoft.NETCore.Platforms - 3.0.0-rc1.19453.6 - Microsoft.Private.CoreFx.NETCoreApp - 4.7.0-rc1.19453.6 * Update dependencies from https://github.com/dotnet/corefx build 20190904.8 - Microsoft.NETCore.Platforms - 3.0.0-rc1.19454.8 - Microsoft.Private.CoreFx.NETCoreApp - 4.7.0-rc1.19454.8 * Update dependencies from https://github.com/dotnet/corefx build 20190906.2 - Microsoft.NETCore.Platforms - 3.1.0-preview1.19456.2 - Microsoft.Private.CoreFx.NETCoreApp - 4.7.0-preview1.19456.2 * changing the target framework for tests to 3.1 * Update dependencies from https://github.com/dotnet/corefx build 20190906.20 - Microsoft.NETCore.Platforms - 3.1.0-preview1.19456.20 - Microsoft.Private.CoreFx.NETCoreApp - 4.7.0-preview1.19456.20 * Update dependencies from https://github.com/dotnet/corefx build 20190907.5 - Microsoft.NETCore.Platforms - 3.1.0-preview1.19457.5 - Microsoft.Private.CoreFx.NETCoreApp - 4.7.0-preview1.19457.5 * Update dependencies from https://github.com/dotnet/corefx build 20190909.13 - Microsoft.NETCore.Platforms - 3.1.0-preview1.19459.13 - Microsoft.Private.CoreFx.NETCoreApp - 4.7.0-preview1.19459.13 * 3.0 -> 3.1
2019-08-07Ensure that we check for implicit ivals for single argument intrinsics ↵Tanner Gooding12-0/+4455
before the SIMDScalar handling. (#25905) (#25987) * Ensure that we check for implicit ivals for single argument intrinsics before the SIMDScalar handling. * Adding test template entries for the unary overloads of the Sse41.Round functions * Regenerating the hardware intrinsic test templates.
2019-07-28Do not fast tail call if caller has multislot structs (#25885) (#25910)Jarret Shook1-0/+224
* Do not fast tail call if caller has multislot structs * apply patch * Address offline feedback
2019-07-01Get rid of warnings while building tests (#25514)Michal Strehovský1-0/+1
2019-06-24Make Vector*.ToString() Culture invariant (#25343)Ganbarukamo4147-0/+1814
* Remove IFormattable * Hardcode characters * Add tests
2019-06-21Merge pull request #25260 from briansull/GitHub_25134Brian Sullivan2-0/+192
Fix Issue #25134 - AssertionProp incorrectly removes cast from uint
2019-06-21Fix test to use mutual waits (#25317)Carol Eidt1-7/+10
Fix #25245
2019-06-20Added the complementary test cases of going from a negative int to an unsigned.Brian Sullivan1-8/+77
2019-06-19Fix Issue #25134 - AssertionProp incorrectly removes cast from uintBrian Sullivan2-0/+123
Add additional check for the GT_UNSIGNED flag + Ran clang-format + Code review feedback, use IsUnsigned()
2019-06-18Fix contained LEA handling (#25135)Carol Eidt2-0/+98
* Fix contained LEA handling This adds an LEA case to both `LinearScan::BuildOperandUses` and `CodeGen::genConsumeRegs`. Fix #25039
2019-06-14Don't change LCL_FLD node type when replacing param with its shadow copy ↵Egor Chesakov2-0/+550
(#20900) Fix an issue that is reproduced when: 1) a method requires GSSecurityCookie (e.g. when allocating unsafe buffer using localloc) and 2) one of the method parameters is "vulnerable" and requires a shadow variable to be created and used instead of the original parameter variable and 3) the method parameter has small signed integer type (i.e. int8 or int16) and 4) the value of the parameter is converted to unsigned type (e.g. uint8 or uint16).
2019-06-14Delete OSX condition.Sergey Andreenko1-2/+1
2019-06-14Do not force GCStress at all.Sergey Andreenko1-2/+0
It doesn't work on OSX and Alpine. It shows random failures on Windows as well, that we do not want to see in our PR/CI outerloop testing.
2019-06-13Do not force GcStress=0xc for GitHub_23199.Sergey Andreenko1-3/+4
There was a typo for Unix (it is COMPlus_GCStress, not COMPlus_GcStress, but COMPlus_GcStressOnDirectCalls was correct). That was why the test passed on OSX.
2019-06-11JIT: use stress mode tail call validation info for implicit tail calls (#25093)Andy Ayers2-0/+126
If a call site fails tail call stress validation, don't consider it for implicit tail calling either. In normal jitting we defer this level of validation until impImportCall to avoid duplicating work. This avoids an assert when we have invalid IL. Fixes #25027.
2019-06-05Fix GCStress coverage for multi reg returns. (#24826)Sergey Andreenko2-0/+250
* Extract ReplaceInstrAfterCall. * Avoid GCStress when return multireg with pointers. Determinate when we need to protect the second register and do not cause GCStress in such cases. * Add a repro test. * Reenable MethodImplOptionsTests. * Extract IsGcCoveregeInterruptInstruction. That changes how we do checks for arm32 in `IsGcCoverageInterrupt`. * Tolerate direct call to JIT_RareDisableHelper. x86 ILStubClass:IL_STUB_PInvoke(byref,ref,int,byref):int generates it like: Generating: N119 ( 4, 7) [000118] ------------ * RETURNTRAP int REG NA IN0021: cmp dword ptr [0F9BF9F8H], 0 New Basic Block BB10 [0009] created. IN0022: je L_M6496_BB10 Call: GCvars=00000001 {V01}, gcrefRegs=00000000 {}, byrefRegs=00000000 {} IN0023: call CORINFO_HELP_STOP_FOR_GC * Support GC stress protect return 1/2/both Unix x64. * Fix arm64. Do not insert GC Stress instrucitons when we can't determinate the exact return kind. * Fix review1. * Fix review2. * Change the test as Andy suggested. * Fix some typos. * Replace all SLOT with PBYTE. * Disable assert that can fail because of multithreading.
2019-06-05Zero initReg in genSetGSSecurityCookie (#24371)Egor Chesakov2-0/+91
Fix an issue that is reproduced when 1) a register is used in the prolog for initializing GSSecurityCookie (i.e. the register contains a random non-zero value) and 2) the same register holds a must-init GC variable in the next basic block and 3) the variable is live at the beginning of this basic block. The register was not zeroed at the end of the prolog and this was causing segmentation fault during GC.Collect().
2019-06-05Cleanup block stores and test for 24846 (#24950)Carol Eidt1-49/+39
* Cleanup block stores and test for 24846 Fix zero-length assert/bad codegen for initblk. Remove redundant assertions in codegen and those that don't directly relate to codegen requirements. Eliminate redundant LEA that was being generated by `genCodeForCpBlk`. Rename `genCodeFor[Cp|Init]Blk` to `genCodeFor[Cp|Init]BlkHelper` to parallel the other forms. Fix the test case for #24846.
2019-06-03Removing the TestAllOnes, TestAllZeros, and TestMixOnesZeros methods from ↵Tanner Gooding28-12880/+0
the Sse41 class (#24886) * Removing the TestAllOnes, TestAllZeros, and TestMixOnesZeros methods from the Sse41 class * Removing JIT support for the SSE41_TestAllOnes, SSE41_TestAllZeros, and SSE41_TestMixOnesZeros intrinsics * Removing tests for the Sse41.TestAllOnes, Sse41.TestAllZeros, and Sse41.TestMixOnesZeros methods
2019-06-03Fix armel tests build (#24678)Gleb Balykov10-6/+16
* Fix build-tests script for cross build and fix tests for armel * Handle case of -skipcrossgen for cross builds * Fix build error in case of cross builds when ROOTFS_DIR is not passed explicitly * Fix portable build parameter setup for armel tests build * Move force of non-portable build for armel from build.sh/build-test.sh to init-distro-rid.sh * Fix priority1 tests build for armel
2019-05-31Handle a zero byte cpblk (#24871)Carol Eidt2-0/+88
Fix #24846
2019-05-23Add missing pin to two tests and re-enable for GC stress (#24738)Andy Ayers3-6/+6
Test was evidently assuming that because an object that referred to an array was pinned, so was the array. Failure was intermittent, GC is not guaranteed to move objects or to render their former contents inaccessible. Fixes #24173. Fixes #24464.
2019-05-22Change timeouts for outerloop job and move one test to longRunningGc. (#24731)Sergey Andreenko1-0/+3
* Change outerloop timeout per collection. We have different test collections timeouts on Alpine.38.Amd64, examples: https://mc.dot.net/#/user/coreclr-ci/ci~2Fdotnet~2Fcoreclr~2Frefs~2Fheads~2Fmaster/test~2Ffunctional~2Fcli~2F/20190521.780/workItem/JIT.jit64.hfa/wilogs https://mc.dot.net/#/user/coreclr-ci/ci~2Fdotnet~2Fcoreclr~2Frefs~2Fheads~2Fmaster/test~2Ffunctional~2Fcli~2F/20190521.779/workItem/PayloadGroup0/wilogs https://mc.dot.net/#/user/coreclr-ci/ci~2Fdotnet~2Fcoreclr~2Frefs~2Fheads~2Fmaster/test~2Ffunctional~2Fr2r~2Fcli~2F/20190521.783/workItem/Loader.classloader.TypeGeneratorTests.TypeGeneratorTest0-299/wilogs * Move _il_relthread-race to pri1 and mark as long running GC test.
2019-05-22Test case for #24657 (#24721)Carol Eidt2-0/+71
This bug is a duplicate of #18522. Adding the additional repro. Close #24657
2019-05-20Exclude superpmicollect with JitStress on arm.Sergey Andreenko1-0/+2
Revert this when https://github.com/dotnet/coreclr/issues/24633 get fixed.
2019-05-17Fix localloc with large out arg space (#24388)Bruce Forstall4-0/+12281
Add stack probing in localloc with fixed outgoing arg frames The SP adjustment when we re-establish the outgoing argument space after doing a localloc must be probed. This is true for all architectures with fixed outgoing argument space, namely, everything but x86. Add new tests for this. Fixes #23915
2019-05-15Enable JIT\superpmi\superpmicollect on Linux and macOS (#24560)Egor Chesakov1-3/+3
* Replace backslashes with forward slashes in tests/src/JIT/superpmi/TestProjects.txt * Enable JIT\superpmi\superpmicollect.csproj on Linux and macOS
2019-05-14Merge pull request #24553 from ↵Sergey Andreenko5-0/+10
sandreenko/excludeTestsThatAreFailingUnderGCStress Exclude tests that are failing under gc stress
2019-05-13Disable _il_relu_fld under GCStress.Sergey Andreenko1-0/+2
The issue is https://github.com/dotnet/coreclr/issues/24464
2019-05-13Profiler API to request ReJIT with inliners (#24461)David Mason1-0/+2
This API is necessary for attaching profilers to be able to ReJIT methods and replace everything that uses the old IL.
2019-05-13Disable tests that are failing with timeouts.Sergey Andreenko4-0/+8
See examples in https://dev.azure.com/dnceng/public/_build/results?buildId=186855&view=ms.vss-test-web.build-test-results-tab
2019-05-12Cleanup some build files (#24539)Aaron Robinson1-5/+13
* Remove OsEnvironment, PackagesDir, and CoreCLRBinDir properties * Replace usage of __BuildArch with BuildArch * Simplify test timing out on ARM64
2019-05-10Disable a tail call test when using minopts (#24426)Koundinya Veluri1-0/+1
Disable a tail call test when using minopts Fixes https://github.com/dotnet/coreclr/issues/24424
2019-05-09Merge pull request #24482 from erozenfeld/Fix24159Eugene Rozenfeld2-0/+78
Mark local struct as having overlapping fields after struct reinterpretation
2019-05-09More cleanup of the HWIntrinsic test templates (#24455)Tanner Gooding593-18357/+69912
* Adding some templates from which other HWIntrinsic test templates can be generated * Regenerating the HWIntrinsic tests
2019-05-09Mark local struct as having overlapping fields after struct reinterpretationEugene Rozenfeld2-0/+78
Methods like System.Runtime.CompilerServices.Unsafe.As<TFrom, TTo> may have struct reinterpretation when function signature specifies Struct1& and the method returns Struct2& where Struct1 and Struct2 are different structs. This may confuse jit optimizations (in particular, value numbering) because fields of a struct of type Struct1 may be accessed using handles of Struct2. This fix marks the source local involved in such struct reinterpretation as having overlapping fields. That prevents SSA builder from inserting the local into SSA. Fixes #24159. No diffs in framework assemblies and coreclr benchmarks.
2019-05-09[master] Update dependencies from dotnet/corefx (#24314)dotnet-maestro[bot]2-2/+2
* Update dependencies from https://github.com/dotnet/corefx build 20190506.1 - Microsoft.NETCore.Platforms - 3.0.0-preview6.19256.1 - Microsoft.Private.CoreFx.NETCoreApp - 4.6.0-preview6.19256.1 * Use last stable version of System.Numerics.Vectors package * Add Microsoft.Bcl.AsyncInterfaces package * Disable Microsoft.Bcl.AsyncInterfaces
2019-05-06Handle E_NOTIMPL return from CoInitializeEx. (#24387)Jeremy Koritzinsky9-9/+3
* Handle E_NOTIMPL return from CoInitializeEx. * Remove unneeded STA attributes.
2019-05-04Revert "Fix GCStress for multireg returns. "Sergey Andreenko2-83/+0
2019-05-03Merge pull request #24343 from briansull/add-hva-testsBrian Sullivan7-2/+2324
Add two additional HVA tests:
2019-05-03Merge pull request #24363 from sandreenko/GitHub_23199Sergey Andreenko2-0/+83
Fix GCStress for multireg returns.