1. 31 Aug, 2013 4 commits
    • Kenton Varda's avatar
      Set mainlaine version to 0.4-dev. · 5f50acd4
      Kenton Varda authored
      5f50acd4
    • Kenton Varda's avatar
    • Kenton Varda's avatar
      Remove stray KJ_DBG. · fd1bffc0
      Kenton Varda authored
      fd1bffc0
    • 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
  2. 30 Aug, 2013 5 commits
  3. 29 Aug, 2013 8 commits
  4. 28 Aug, 2013 17 commits
  5. 27 Aug, 2013 3 commits
  6. 26 Aug, 2013 3 commits