Skip to content
Snippets Groups Projects
  1. Nov 17, 2016
  2. Nov 03, 2016
  3. Nov 02, 2016
  4. Oct 20, 2016
  5. Oct 19, 2016
  6. Oct 18, 2016
  7. Oct 04, 2016
  8. Oct 02, 2016
  9. Sep 05, 2016
  10. Aug 18, 2016
  11. Aug 16, 2016
  12. Aug 11, 2016
  13. Aug 10, 2016
    • Ansgar Burchardt's avatar
      Ensure a side vector's `object` and `VECTORSIDE` are consistent · 48700939
      Ansgar Burchardt authored
      A side vector belongs to one or two elements. One of them is stored as a
      representative in the vector's `object` member and the side of the
      `object` it belongs to is stored in `VECTORSIDE` as part of the control
      word.
      
      When restoring consistency in `ElementObjMkCons` this reverse link from
      the side vector to the element is restored, but the `VECTORSIDE` was
      not. This can lead to an inconsistent view for side vectors belonging to
      two elements:
      
      On the master, let the vector `v`'s representative element be `A` and
      the side of the element be `a`. Let `B` (`b`) be the other
      representative and assume `a ≠ b`. As the vector's control word is
      global data (`EL_GDATA`), the non-master side vectors will also have
      `VECTORSIDE` set to `a`.
      
      If now `ElementObjMkCons` is called first for `A` and then for `B`, then
      `v.object` will first be set to `A`, but then `B`. However `VECTORSIDE`
      is still `a`!
      
      This change makes sure that `VECTORSIDE` is also updated alongside the
      `object` pointer. Note that it is (still) not guaranteed that the same
      representative is chosen.
      
      Closes #12
      48700939
  14. Aug 08, 2016
  15. Aug 05, 2016
Loading