summaryrefslogtreecommitdiff
path: root/tests/src
AgeCommit message (Collapse)AuthorFilesLines
2016-07-29Using full versions, update CoreFX dependencies to beta-24328-05.Davis Goodin585-16300/+18679
To fix tests, change dnxcore50 -> netcoreapp1.0 and add test_runtime.
2016-07-20Fix silent bad codegen in signed comparisonMichelle McDaniel8-0/+316
While working on #5956, I uncovered a silent bad codegen bug in signed comparison. The way the code was written, we'd do an unsigned set after a signed compare/jump from the high comparison. However, in this case, we need to make sure that we are honoring the sign of the comparison done on the high part of the operation, and the lo comparison would still want to be an unsigned compare followed by an unsigned set. This change splits comparisons into two cases: 1) A signed comparison where we have two jumps for the high part (GT_GT, GT_LT, GT_GE, and GT_LE), which require a signed set if the high comparisons are true, and an unsigned set if not, and 2) An unsigned comparison, or a comparison where the sign does not matter for the compare (GT_NE, GT_EQ), which just require an unsigned set for both the high and lo operations (the code we already had in genCompareLong). When we compare longs, we don't need to have both a jg/ja and a jne instruction for the hi compare for the case where we enregister the result of the compare, since the set will do the right thing. We only need to check the lo halves if the hi halves were equal. For long compares where the result isn't stored in a register, we need to use signed jumps for the high comparison, and unsigned jumps for the low compare. Currently, we generate a signed jump in the code for GT_JTRUE that is used by both compares. This change modifies the logic for these compares/JTRUEs. We separate the logic into genJTrueLong. In genJTrueLong, we use similar logic as the legacy backend for the jumps, using a signed jump after the high compare when we have signed operands, and unsigned jump when we have a unsigned operands, and an unsigned jump for the low compare. This change also modifies genJumpKindsForTreeLongHi, since it is now only used for the uncontained case, where we need to jump to the bbJumpDest if the compare is true, so we need to use the actual jump type, rather than just checking for inequality (as inequality only tells us if we need to check the low halves, not if the condition is true or not). This change also adds test cases for the two silent bad codegen cases this commit fixes.
2016-07-07MarshalAs(UnManaged.ByValArray) overflow.Tijoy Tom Kalathiparambil9-0/+419
For non-blittable embedded array in structs we ignored the SizeConst and wrote past the buffer when number of elementsin the arrayis greater than SizeConst.Fix is to truncate the array at SizeConst MarshalAs(UnManaged.ByValTStr) Very subtle case when the SizeConst == Number of bytes required to marshal , we write the null one past the buffer.This happens only on machine with non-english (multi-byte) locale as default. Fix is to check the number of bytes required and truncate the correctly leaving space for the terminating null.
2016-07-06Fix incorrect RunBenchmarks help textMike Danes1-1/+1
RunBenchmark's help text claims that there's a -coreclr option when in fact the option is -runner.
2016-07-01Merge pull request #6031 from mikedn/x86-float-unspillPat Gavlin3-0/+113
Remove misplaced call to genUnspillRegIfNeeded
2016-06-30Remove misplaced call to genUnspillRegIfNeededMike Danes3-0/+113
2016-06-30Merge pull request #5958 from jashook/disable_timeouts_under_gcstressJarret Shook26-0/+26
Disable tests that timeout under gcstress
2016-06-29Disable tests that timeout under gcstressjashoo26-0/+26
After increasing the timeout time for gcstress, these tests continue to fail due to timeouts. To get the gcstress legs green and keep them within a manageable amount of time they will be disabled.
2016-06-29Remove unittests that contain undefined behaviourHanjoung Lee5-17722/+0
Following tests contain undefined behaviour. (Casting double to an integer type for a value that cannot be represent as the integer type.) - JIT.Methodical.casts.ilseq._il_reltypeEqualOp._il_reltypeEqualOp - JIT.Regression.CLR-x86-JIT.V1-M10.b08107
2016-06-27Remove one GCSimulator tests that takes way too longSean Gillespie1-52/+0
2016-06-24Merge pull request #5973 from cmckinsey/DevDiv_216571Chris McKinsey3-0/+111
Fix SBCG in value-numbering constant assertprop
2016-06-24Fix SBCG in value-numbering constant assertpropChris McKinsey3-0/+111
Value-numbering can assign the same value number to nodes of different type as long as they have the same bit-representation. However when substituting a constant into a tree node of different type, we want the bit-exact representation and not the same value. Assertion prop should reinterpret int/float value changes rather than coercing them. Add an il test that exposes a bug in assertionprop when doing value-numbering based constant propagation. A cpblk can be used to copy a scalar value between differing types but for which there is no change in bit representation.
2016-06-23Merge pull request #5923 from mikedn/x86-store-lclvarChris McKinsey4-0/+170
Fix statement insertion point in GT_STORE_LCL_VAR decomposition
2016-06-22Fix test runner batch file to provide correct TPA pathRahul Kumar1-2/+2
2016-06-22Add regression testMike Danes4-0/+170
2016-06-22Merge pull request #5871 from mikedn/modoptCarol Eidt8-0/+1484
Improve div/mod by const power of 2
2016-06-22Disable a test case till issue #5501 is fixedJohn Chen1-0/+1
2016-06-22Add tests for integer div/mod by constMike Danes8-0/+1484
2016-06-21Merge pull request #5900 from jashook/gc_stress_incompatJarret Shook1-0/+1
Set b14364 as gcstress incompat
2016-06-21Merge pull request #5898 from jashook/gcstress_timeout_updateJarret Shook1-0/+2
Up the default timeout for GCStress
2016-06-21added a note about the reason why we ignore failures from tests in the ↵Maoni01-0/+2
stress run infrastructure
2016-06-21Set b14364 as gcstress incompatjashoo1-0/+1
This test is set to be excluded to in interal testing under gc stress. Add that information here as well.
2016-06-21Up the default timeout for GCStressjashoo1-0/+2
2016-06-20Fix race condition in Loader regression 523654 testwtgodbe1-1/+1
2016-06-16Fix GC test batch script skip conditions that were behaving unexpectedlySean Gillespie1-4/+4
2016-06-15Merge pull request #5819 from AndyAyersMS/InlineTestsV1Andy Ayers24-0/+10804
Inliner: simple performance tests
2016-06-15Inliner: simple performance testsAndy Ayers24-0/+10804
Tests that demonstrate that constant arguments passed to callees can lead to inlining performance wins. All numeric types are tested, as well as strings. Tests are generally written as positive/negative pairs with calls to the same inlinee. This exposes the call site sensitivity. Performance of the positive test should be better than the negative test. The overall benchmarking approach used here is something that we might consider adopting for other small-scale codegen performance tests.
2016-06-15Modify CrossGen test script to work around cmd.exe bugJohn Chen (CLR)1-6/+7
2016-06-13Keep mutex alive to avoid race condition in openmutexpos4 testwtgodbe1-14/+15
2016-06-10Modify Crypto benchmark so it uses a fixed random seedAndy Ayers1-1/+1
Fix seed so benchmark behavior doesn't vary randomly from run to run.
2016-06-10Merge pull request #5621 from swgillespie/buildtest-refactorSean Gillespie4-33/+93
Remove need for longgc and gcsimulator tests to have their own build
2016-06-10Remove need for longgc and gcsimulator tests to have their own buildSean Gillespie4-33/+93
2016-06-09Merge pull request #5652 from RussKeldorph/5555Russ Keldorph2-2/+14
Fix WeakReference tests depending on JIT not extending lifetimes
2016-06-09Merge pull request #5588 from jashook/disable_karJarret Shook1-0/+1
Mark KeepAliveRecur as GCStressIncompatible
2016-06-09Fix WeakReference tests depending on JIT not extending lifetimesRuss Keldorph2-2/+14
Target and IsAlive_neg are failing in some cases when JIT optimization is disabled because the JIT (legally) generates code that holds a reference to an object longer than expected. Instead of forcing optimization on for these tests, I'm using the pattern of moving the problematic object reference to a non-inlined helper method. Fixes #5555
2016-06-08Add support for multi-dimensional array initializationMike Danes3-0/+685
This extends impInitializeArrayIntrinsic to support MD arrays in addition to SD arrays. This includes support for SD arrays which are created via CORINFO_HELP_NEW_MDARR when the lower bound is not specified or known to be 0. The generated code is similar to the code generated for the SD arrays, for example: call CORINFO_HELP_NEW_MDARR mov rdx, 0x202AB822050 lea rcx, bword ptr [rax+32] vmovdqu ymm0, qword ptr [rdx] vmovdqu qword ptr [rcx], ymm0 mov r8d, dword ptr [rdx+16] mov dword ptr [rcx+16], r8d
2016-06-07Fixing perf runs on helix (#5102)Deepak Shankargouda5-15/+15
* Fixing issue with perf targets restoring test runtime * Fixing perf runs on helix
2016-06-07Mark KeepAliveRecur as GCStressIncompatibleJarret Shook1-0/+1
The test makes assumptions of what the lifetime of the object is that may not be necessarily true in GCStress.
2016-06-07Delegate ABI Test (#5507)papaslavik2-0/+117
Detects issue #5275
2016-06-03Merge pull request #5432 from RussKeldorph/fix5428Russ Keldorph5-270/+2
Remove unnecessary dependencies from JIT tests causing R2R failures
2016-06-03Fix failing tests on Ubuntu R2R configuration (#5435)Fadi Hanna30-955/+2
2016-06-03Fix readytorun tests asking for user input (#5459)mkborg2-3/+3
'readytorun/mainv1' and 'readytorun/mainv2' tests on Linux wait for human response asking permission to remove write-protected file: rm: remove write-protected regular file 'test.dll'? 'rm' command shall be used with '-f' flag to make it non-interactive.
2016-06-02Merge pull request #5402 from AndyAyersMS/InlineAllowCpBlkAndy Ayers3-0/+89
Inliner: enable inlining of methods with cpblk
2016-06-02Remove unnecessary dependencies from JIT tests causing R2R failuresRuss Keldorph5-270/+2
b05623 did basically nothing so I deleted it. I removed a presumably useless VisualBasic attribute and other unnecessary assembly references from the other two tests. Fixes #5428
2016-06-02Merge pull request #5394 from erozenfeld/TailCallBug5164Eugene Rozenfeld3-0/+221
Fix for methods that tail call via helpers
2016-06-02Improvements to System.Math InternalCall code. (#4847)Tanner Gooding25-0/+1486
* Adding some basic System.Math performance tests. * Renaming 'floatnative' to 'floatdouble'. * Removing outdated workarounds in the floatdouble interop code. * Renaming 'finite.cpp' to 'math.cpp' * Updating the double-precision math tests. * Updating PAL_EPSILON to be more precise.
2016-06-01JIT_TailCall helper has an implicit assumption that all tail call arguments liveEugene Rozenfeld3-0/+221
on the caller's frame. If an argument lives on the caller caller's frame, it may get overwritten if that frame is reused for the tail call. Therefore, we should always copy struct parameters if they are passed as arguments to a tail call. The simple il regression test has a scenario similar to that of the F# repro in #5164. Closes #5164.
2016-06-01Add more Ready-to-Run generics tests (#5190)John Chen4-7/+444
2016-06-01Merge pull request #5350 from pgavlin/gh5292and5286Pat Gavlin2-0/+2
Mark two tests as always optimized and exclude two others from x86/JI…
2016-05-31Inliner: enable inlining of methods with cpblkAndy Ayers3-0/+89
Allow jit to inline methods with the cpblk IL opcode. Add a test case where such an inline happens.