GCInfo: Save bits in Code Offset encoding #5677
Labels
area-CodeGen-coreclr
CLR JIT compiler in src/coreclr/src/jit and related components such as SuperPMI
enhancement
Product code improvement that does NOT require public API changes/additions
in-pr
There is an active PR which will close this issue when it is merged
Milestone
Core Offsets on Thumb/Arm/Arm64 are 2/4/8 byte aligned.
So, GCInfo encoding can save bits by eliminating the last few bits in the offset in NORMALIZE_CODE_OFFSET()
However, one problem with this is in the code-offsets for safepoints, which are encoded with a -1 adjustment:
https://github.com/dotnet/coreclr/blob/master/src/gcinfo/gcinfoencoder.cpp#L1210-L1218
https://github.com/dotnet/coreclr/blob/master/src/vm/gcinfodecoder.cpp#L397-L401
So, currently code offsets are encoded as-is.
So, this work item is to take reduce the number of bits used in the encoding by:
category:throughput
theme:gc-info
skill-level:intermediate
cost:medium
The text was updated successfully, but these errors were encountered: