Join GitHub today
GitHub is home to over 28 million developers working together to host and review code, manage projects, and build software together.Sign up
[ARM32/Linux] Initial bring up of FEATURE_INTERPRETER #8594
During the investigation of a performance implications of the CoreCLR's interpreter I made some fixes to bring it up. Issue #8496 (RyuJIT ARM32 Backend) can possibly benefit from this PR too: turning on the interpreter on a not-yet fully codegen-ed methods can simplify testing a bit.
After the patch is applied, adding something like
at the end of
I've tested it on a simple HelloWorld and recently on the ByteMark test. Some methods should be excluded with COMPlus_InterpretExclude option though, since further work is needed. I am aware that some of the fixes proposed are dirty hacks actually. I would appreciate any critics and suggestions for a better solution.
BTW, interp's perf is suprisingly great, see the ByteMark stats here: arm32-bytemark-interp.txt.
Hi @mskvortsov, I'm your friendly neighborhood .NET Foundation Pull Request Bot (You can call me DNFBOT). Thanks for your contribution!
I'm sure it's not. I've wrote about this earlier already: I missed the
(Initially I was investigating some ways to reduce CoreCLR's memory consumption and interp was obvious candidate to try out. Later I measured a typical ratio of emitted code size to the total resident memory size, and it turned out to be less than 5%. And less than 2% for relatively lightweight interactive Xamarin apps).