Commit 5d8b3d6
Fix max chunk size limiting (#81607)
When the new stub heaps were implemented, the chunk size needed to be
limited so that all precodes for a chunk fit into a single memory page.
That was done in `MethodDescChunk::CreateChunk`. But it was discovered
now that there is another place where it needs to be limited, the
`MethodTableBuilder::AllocAndInitMethodDescChunk`. The
JIT\opt\ObjectStackAllocation\ObjectStackAllocationTests started to fail
in the outerloop due to too long chunk. The failure happens in crossgen2
as it is using a separate build of runtime in release and only that
uncovers the problem. And only when DOTNET_TieredCompilation=0 and
DOTNET_ProfApi_RejitOnAttach=0.
This change fixes the problem. With this change applied to the dotnet
runtime version used by the crossgen2 and patching it in place in the
.dotnet/shared/.... directory, the issue doesn't occur.
Close #81103
Co-authored-by: Jan Vorlicek <janvorli@microsoft.com>1 parent 341b81c commit 5d8b3d6
1 file changed
Lines changed: 11 additions & 1 deletion
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
6871 | 6871 | | |
6872 | 6872 | | |
6873 | 6873 | | |
| 6874 | + | |
| 6875 | + | |
| 6876 | + | |
| 6877 | + | |
| 6878 | + | |
6874 | 6879 | | |
6875 | 6880 | | |
6876 | 6881 | | |
| 6882 | + | |
6877 | 6883 | | |
6878 | 6884 | | |
6879 | 6885 | | |
| |||
6896 | 6902 | | |
6897 | 6903 | | |
6898 | 6904 | | |
| 6905 | + | |
6899 | 6906 | | |
6900 | 6907 | | |
6901 | 6908 | | |
| |||
6907 | 6914 | | |
6908 | 6915 | | |
6909 | 6916 | | |
6910 | | - | |
| 6917 | + | |
| 6918 | + | |
6911 | 6919 | | |
6912 | 6920 | | |
6913 | 6921 | | |
| |||
6917 | 6925 | | |
6918 | 6926 | | |
6919 | 6927 | | |
| 6928 | + | |
6920 | 6929 | | |
6921 | 6930 | | |
6922 | 6931 | | |
| 6932 | + | |
6923 | 6933 | | |
6924 | 6934 | | |
6925 | 6935 | | |
| |||
0 commit comments