1. 23 Sep, 2015 3 commits
  2. 22 Sep, 2015 3 commits
  3. 21 Sep, 2015 2 commits
  4. 20 Sep, 2015 7 commits
  5. 19 Sep, 2015 1 commit
  6. 18 Sep, 2015 7 commits
  7. 17 Sep, 2015 4 commits
  8. 16 Sep, 2015 7 commits
  9. 14 Sep, 2015 2 commits
    • Kevin Modzelewski's avatar
      Merge pull request #913 from kmod/sqlalchemy · 28a969c2
      Kevin Modzelewski authored
      Get more of the sqlalchemy tests working
      28a969c2
    • Kevin Modzelewski's avatar
      dict: the gc can resurrect objects after dealloc · 83379f19
      Kevin Modzelewski authored
      so object's can be resurrected even with a non-resurrecting
      tp_dealloc.  The only thing that can happen at that point is
      that the gc_visit function will get called.
      
      This shows up in the new sqlalchemy tests: they use a subclass
      of dict (defaultdict), which defines a custom tp_dealloc.  We call that,
      which ends up calling dict_cls->tp_dealloc, which calls ~DenseMap
      on the internal DenseMap.  The GC will accidentally keep the object
      alive (via a stack reference or something similar), and call its
      visit function on the next GC.  But ~DenseMap does not leave the map
      in a consistent state, so iterating over it will end up producing
      garbage values.  To solve this, add a new function that does
      all the same memory-freeing, but does a tiny bit of extra work to keep
      the DenseMap in a valid state for future gc_visit calls.
      83379f19
  10. 11 Sep, 2015 4 commits