Description
LOS-specific metadata should be either in the vm header (if the VM allows it), or in an MMTk-owned header word allocated before the vm object.
This is because side metadata introduces a spatial tax. That tax is entirely avoidable in the case of the LOS, and since the LOS constitutes a lot of the used heap space in many applications, the impact of this can be significant.
The tradeoff is quite different for LOS objects (where the addition of an extra word in front of an object is a small overhead), compared to small objects (where an extra word is an expensive overhead to be avoided).
For global metadata (applied uniformly to all objects), this is not an option. But for LOS-specific metadata this is an error.
Using side metadata for LOS objects is thus a performance bug, and the fix is fairly straightforward.