1. 12 Mar, 2014 2 commits
  2. 07 Dec, 2013 1 commit
  3. 05 Dec, 2013 1 commit
  4. 12 Nov, 2013 1 commit
  5. 24 Sep, 2013 2 commits
  6. 31 Aug, 2013 1 commit
    • Kenton Varda's avatar
      Actually fix the bug, which was a doozy: OrphanBuilder::tag was sometimes… · a5bb798d
      Kenton Varda authored
      Actually fix the bug, which was a doozy:  OrphanBuilder::tag was sometimes initialized using WirePointer::setKindAndTarget(), but since the tag didn't live inside the target segment, this used illegal pointer arithmetic.  The target is never read from an orphan tag anyway, so I thought it would be no big deal.  But it turns out Clang actually optimizes under the assumption that pointer arithmetic returns a whole value.  As a result, on 32-bit system where 64-bit values are only 32-bit aligned, the tag and target might not have been a whole number of words apart, and the extra bit actually found its way into the 'kind' bits, causing e.g. a struct pointer to become an invalid far pointer.  Crash.  The fix required refactoring to ensure that setKindAndOffset() is never used for orphan tags.
      a5bb798d
  7. 26 Aug, 2013 2 commits
  8. 14 Aug, 2013 1 commit
  9. 18 Jul, 2013 1 commit
  10. 15 Jul, 2013 1 commit
  11. 09 Jul, 2013 1 commit
  12. 08 Jul, 2013 1 commit