[lworld] Layout names should be self-explanatory

XMLWordPrintable

      Current layout names reflect the evolution of value types since the beginning of project Valhalla, but can be hard to understand for people new to the project. In particular, value types were null-free by default in previous models, and layout names like "NON_ATOMIC_FLAT" and "ATOMIC_FLAT" don't express this null-freeness because it was implicit in Valhalla discussions.

      The proposal is to make all layout names self-explanatory:

      enum class LayoutKind : uint32_t {
        REFERENCE = 0, // indirection to a heap allocated instance
        BUFFERED = 1, // layout used in heap allocated standalone instances
        NULL_FREE_NON_ATOMIC_FLAT = 2, // flat, no guarantee of atomic updates, no null marker
        NULL_FREE_ATOMIC_FLAT = 3, // flat, size compatible with atomic updates, alignment requirement is equal to the size
        NULLABLE_ATOMIC_FLAT = 4, // flat, include a null marker, plus same properties as ATOMIC layout
        UNKNOWN = 5 // used for uninitialized fields of type LayoutKind
      };

      Then, normalize all mentions of these layout names in logging messages and tests to improve readability.

            Assignee:
            Frederic Parain
            Reporter:
            Frederic Parain
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

              Created:
              Updated:
              Resolved: