Commit 923ec4d
[release/6.0] Disable poisoning for large structs (#61601)
* Disable poisoning for large structs
For very large structs (> 64K in size) poisoning could end up generating
instructions requiring larger local var offsets than we can handle. This
hits IMPL_LIMIT that throws InvalidProgramException. Turn off poisoning
for larger structs that require more than 16 movs to also avoid the
significant code bloat by the singular movs.
This is a less risky version of #61521 for backporting to .NET 6.
Fix #60852
* Run jit-format
* Add regression test
* Update src/coreclr/jit/codegencommon.cpp
Co-authored-by: Andy Ayers <[email protected]>
* Don't check poisoning for large struct in test
Since it's disabled, there is nothing to check.
Co-authored-by: Jakob Botsch Nielsen <[email protected]>
Co-authored-by: Andy Ayers <[email protected]>1 parent b2f42fa commit 923ec4d
File tree
2 files changed
+36
-3
lines changed- src
- coreclr/jit
- tests/JIT/Directed/debugging
2 files changed
+36
-3
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
12551 | 12551 | | |
12552 | 12552 | | |
12553 | 12553 | | |
| 12554 | + | |
| 12555 | + | |
| 12556 | + | |
| 12557 | + | |
| 12558 | + | |
| 12559 | + | |
| 12560 | + | |
| 12561 | + | |
| 12562 | + | |
| 12563 | + | |
| 12564 | + | |
12554 | 12565 | | |
12555 | 12566 | | |
12556 | 12567 | | |
| |||
12568 | 12579 | | |
12569 | 12580 | | |
12570 | 12581 | | |
12571 | | - | |
12572 | | - | |
| 12582 | + | |
12573 | 12583 | | |
12574 | 12584 | | |
12575 | 12585 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
19 | 19 | | |
20 | 20 | | |
21 | 21 | | |
| 22 | + | |
| 23 | + | |
| 24 | + | |
| 25 | + | |
| 26 | + | |
| 27 | + | |
| 28 | + | |
| 29 | + | |
| 30 | + | |
| 31 | + | |
| 32 | + | |
| 33 | + | |
| 34 | + | |
| 35 | + | |
| 36 | + | |
| 37 | + | |
| 38 | + | |
| 39 | + | |
22 | 40 | | |
23 | 41 | | |
24 | 42 | | |
| |||
53 | 71 | | |
54 | 72 | | |
55 | 73 | | |
56 | | - | |
| 74 | + | |
| 75 | + | |
| 76 | + | |
| 77 | + | |
| 78 | + | |
| 79 | + | |
0 commit comments