[ Memory consumption ] PC-relative addresses instead of relocations in code section on ARM32 #7989
Labels
arch-arm32
os-linux
Linux OS (any supported distro)
os-tizen
tenet-performance
Performance related issue
Milestone
Hello.
We propose to reduce consumption of memory, which currently occurs due to applying relocations to code section of ngen-ed images.
To achieve this, we propose to replace
movw+movt
relocations withmovw+movt+add pc
instruction sequence. In the second case, themovw+movt
encodes offset, which is relative to instruction position, so applying relocations becomes unnecessary.We plan to add
JitFlags::JIT_FLAG_RELATIVE_CODE_RELOCS
as switch for relocated/position-independent mode for code section.What do you think about enabling the option by default for ARM32?
Estimation on Tizen Xamarin GUI Application (specifically, Puzzle.Tizen - see tables at #7694 (comment)) is about 1 megabytes (15%) savings of per-application CoreCLR's memory part in Fragile mode.
@lemmaa @egavrin @Dmitri-Botcharnikov @gbalykov
The text was updated successfully, but these errors were encountered: