Commit 21f9b73
authored
Disable poisoning for large structs (#61589)
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 #608521 parent bb3bdf8 commit 21f9b73
1 file changed
+12
-2
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
12461 | 12461 | | |
12462 | 12462 | | |
12463 | 12463 | | |
| 12464 | + | |
| 12465 | + | |
| 12466 | + | |
| 12467 | + | |
| 12468 | + | |
| 12469 | + | |
| 12470 | + | |
| 12471 | + | |
| 12472 | + | |
| 12473 | + | |
| 12474 | + | |
12464 | 12475 | | |
12465 | 12476 | | |
12466 | 12477 | | |
| |||
12478 | 12489 | | |
12479 | 12490 | | |
12480 | 12491 | | |
12481 | | - | |
12482 | | - | |
| 12492 | + | |
12483 | 12493 | | |
12484 | 12494 | | |
12485 | 12495 | | |
| |||
0 commit comments