You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Split the big jit files to allow better GitHub experience. #13359
Any idea how they can be split in a rational manner (e.g. not by cutting it in half and having something like importer1.cpp and importer2.cpp 😁)?
For flowgraph.cpp I'm sure we can find code in it that's not actually flowgraph related and perhaps that there's enough of it to move it somewhere else and matter. Not sure about the rest.
Any idea how they can be split in a rational manner (e.g. not by cutting it in half and having something like importer1.cpp and importer2.cpp 😁)?
For flowgraph.cpp I'm sure we can find code in it that's not actually flowgraph related and perhaps that there's enough of it to move it somewhere else and matter. Not sure about the rest.
I think it should be individual in each case, and I think compiler.h is the biggest problem.
For example, for importer, it is probably enough to extract impImportBlockCode to solve that (it is 5000+ lines function).
Also, we can extract Compiler::verification logic or intrinsic functions.
Activity
danmoseley commentedon Sep 15, 2019
Browser issue? I see all 25K lines at https://github.com/dotnet/coreclr/blob/master/src/jit/flowgraph.cpp. It takes time though and that doesn't mean smaller isn't better.
Joe4evr commentedon Sep 15, 2019
There was a discussion somewhat similar to this back when this repo was still new: https://github.com/dotnet/coreclr/issues/408#issuecomment-77922359
sandreenko commentedon Oct 25, 2019
I got the answer from the GitHub support:
So I think it would be rational to make a 400kb limit for all files that we have, it means we need to split 9 files:
mikedn commentedon Oct 25, 2019
Any idea how they can be split in a rational manner (e.g. not by cutting it in half and having something like importer1.cpp and importer2.cpp 😁)?
For flowgraph.cpp I'm sure we can find code in it that's not actually flowgraph related and perhaps that there's enough of it to move it somewhere else and matter. Not sure about the rest.
sandreenko commentedon Oct 25, 2019
I think it should be individual in each case, and I think compiler.h is the biggest problem.
For example, for importer, it is probably enough to extract
impImportBlockCodeto solve that (it is 5000+ lines function).Also, we can extract
Compiler::verificationlogic or intrinsic functions.