Age | Commit message (Collapse) | Author | Files | Lines |
|
|
|
|
|
varargs tests were removed with 0a427c6d6d87e69ce0f87dafd2f965ee989e6d29
|
|
|
|
|
|
|
|
Look at #11476 for the description.
|
|
|
|
|
|
Because it causes out of memory exception in crossgen mode.
|
|
Add new test for COMPlus_TailcallStress=1 bug, currently disabled
|
|
Rather than disabling tailcall tests entirely, surgically remove the
failing cases so the remaining cases can be enabled.
|
|
* Rename ClearD to OldStyleClearD
* create fast ClearD function.
The new ClearD reuses existing buffer and assumes that epoch wasn't
changed.
* Reuse existing buffer for the predSet in lsra.
* Use fast ClearD in LSRA.
* Use fast ClearD in liveness
* Fix the comment
* delete the test from issues
|
|
* Fix and re-enable some GC finalizer tests
* Make the Usage test a little more robust
|
|
Made behavior to conform to ECMA for 'tail.call, pop, ret' case
|
|
|
|
|
|
|
|
|
|
|
|
Re-disable b08046 and add correct metadata.
|
|
\JIT\Regression\CLR-x86-JIT\V1.2-M01\b08046\b08046\b08046.cmd was disabled because the issue #2414
was closed but the tests tagged with that issue were not removed. b08046's correct issue is #4849.
|
|
This allows ilasm roundtrip test to work with NetStandard 2.0
changes where C# compiler emits a ".permissionset" attribute
into the assembly that ildasm emits. This define enables the
APIs that ilasm uses to process this attribute.
Re-enable ilasm roundtrip test.
Fixes #8418
|
|
|
|
Exclude some tests while testing via ILLINK.
The reasons are mentioned in issues.targets.
|
|
|
|
Note, this moves around a few things in issues.targets to group the
same issues and removes 2414 which was closed.
|
|
|
|
|
|
* Fix legacy Globalization tests to work on Linux
* Delete globalization tests
|
|
|
|
Add a test for #9282
|
|
|
|
|
|
Disable delete_next_card_table
|
|
Since 163983e was checked in, various tests have been failing because
delete_next_card_table is meant to allocate memory until it OOMs. Disable
this test to get the lab in better shape until we can deal with the GC bug
in #9064, then move it to the long gc test leg.
|
|
|
|
* Disable DoublinkGen (see #6574)
* Add test to testsFailingOutsideWindows.txt
|
|
|
|
The mismatch32 and mismatch64 tests ensure that the jit will avoid
inlining in cases where there are bad type mismatches at call sites.
This change modifies the tests so that by default the call with the
bad type mismatch is not hit at runtime, since execution of this code
exposes undefined behavior that can be arch or jit specific (eg failing
on x86 and passing on other architectures).
The problematic call can still be hit at runtime by passing at least one
command line argument.
Remove the associated test exclusions for x86.
Fixes #8152.
|
|
This change removes tests that have been fixed for x86 RyuJIT. It also
updates the Issues for the remaining tests with additional details.
|
|
A previous checkin backed-out a change that moved one test out of
the RyuJIT/x86 section. I'm reverting that, and putting the test
exclusion back where it should be.
At the same time, now that there are no RyuJIT/x86 test exclusions,
I'm deleting the RyuJIT/x86 section.
|
|
This factors out the analysis for when to use a double-aligned frame from the legacy backend.
Doing so exposed an assert for a case where we turn an intrinsic into a call in the Rationalizer, but don't update the frame requirements.
There may be some remaining tuning opportunities, given that the (pre-existing) algorithm doesn't attempt to create a double-aligned frame if we need an EBP-based frame for other reasons.
Fix #7008
|
|
* Add option to measure time spent inside calls to the CLR (off by default).
|
|
just ryujit/x86, since it fails in other configurations as well.
|
|
Implement `st.lclFld` decomposition and fix #6778.
|
|
The problem that was blocking both of these issues was an issue in
liveness when analyzing `st.lclFld` nodes that store to an unpromoted
long-typed local variable or any long-typed field. The latter case--a
`st.lclFld` node that targets a long-typed field--is easy to handle.
Such stores are decomposed from:
```
/--* t0 int
+--* t1 int
t2 = * gt_long long
/--* t2
* st.lclFld long V00
```
To:
```
/--* t0
* st.lclFld int V00 [+0]
/--* t1
* st.lclFld int V00 [+4]
```
The two `st.lclFld` nodes that this transformation generates are marked
with `GTF_VAR_USEASG` to indicate that they are partial (rather than
complete) defs. This is necessary in order to correctly calculate
liveness.
Before this change, stores to unpromoted long-typed local variables
were also decomposed in the above fashion. These local vars can arise in
a number of situations:
- vars that are used to store multi-reg args or return values
- vars that represent long-typed fields of promoted struct-typed vars
- long-typed vars that are marked as unenregisterable before decomp
Unfortunately, the decomposition given above differs in its liveness
semantics when compared to the original IR: in the original IR, the
`st.lclVar` is considered a plain def of its destination, while in
the decomposed IR, each `st.lclFld` is considered both a partial def
and a use of its destination. This difference--namely, that in the
first case the destination is not used at the def and in the second
case it is--causes problems for any analysis that needs to take into
account whether or not a variable is used at a def (e.g. dead store
removal, live-in sets, etc.). In order to retain the original
semantics without complicating the IR, stores to unpromoted, long-typed
local variables are not decomposed. These stores are instead handled
during code generation.
|
|
Fix for StackOverflow in SsaBuilder::TopologicalSort.
|
|
SsaBuilder::TopologicalSort allocated an array of bools on the stack.
In one of internal cases the array had 126,758 elements, which caused a
StackOverflow. This change switches SsaBuilder::TopologicalSort from
stack-allocated array of bools to BitVec.
TopologicalSortHelper used to be recursive. It was changed to use an iterative
algorithm in a previous change. I'm inlining TopologicalSortHelper into
TopologicalSort now.
I verified no measurable negative throughput impact from this change
and no asm diffs in SuperPMI.
|
|
X86: Fix inline assertion
|