New values:
- Split Dynamic into Open/Preamble
- Add Background (previously was just Unknown)
- Soon: stdlib index
This requires extending to 16 bits, which fits within the padding of Symbol.
Unfortunately we're also *serializing* SymbolOrigin as a fixed 8 bits.
Stop serializing SymbolOrigin:
- conceptually, the source is whoever indexes or *deserializes* a symbol
- deserialization takes SymbolOrigin as a parameter and stamps it on each sym
- this is a breaking format change
do we think this still provides a meaningful signal ?
It only provides value only when multiple indices of same type was involved in providing the result (and only that single type of indices). I suppose after this patch it can only happen for SM (as there are certain remote-index implementations that mark themselves as static) or RM (well this is not possible today, but some day we might have a stack of remote-indices).
As soon as there's a different type of index is involved M no longer has any meanings, as it's clear that there was some sort of merge happening (or am I missing something obvious?)
Before this patch situation is a little bit different since FileIndex just said D for both main file and preamble, but that's changing.