Before this commit all offsets to all fields in VMOffsets were stored as fields within VMOffset itself. All of the fields at the start of VMOffsets, however, are statically known given the pointer size. Notably this means that the use of HostPtr in the runtime still was forcing a dynamic lookup of these static offsets.
This commit refactors this to reflect all static offsets based solely on the pointer size in the PtrSize trait, removing all the fields from VMOffsets. All the dynamically sized fields, however, remain in VMOffsets.
Before this commit all offsets to all fields in
VMOffsets
were stored as fields withinVMOffset
itself. All of the fields at the start ofVMOffsets
, however, are statically known given the pointer size. Notably this means that the use ofHostPtr
in the runtime still was forcing a dynamic lookup of these static offsets.This commit refactors this to reflect all static offsets based solely on the pointer size in the
PtrSize
trait, removing all the fields fromVMOffsets
. All the dynamically sized fields, however, remain inVMOffsets
.