1. 28 Feb, 2015 3 commits
    • Chris Toshok's avatar
      get weakrefs in and working for functions/instancemethods · 52d1d182
      Chris Toshok authored
      bring in the cpython implementation of weakrefs, and post init_weakref()
      overwrite some fields in the BoxedClass's for weakref.ref/proxy/callableproxy
      so that they participate in our GC (we also make use of their tp_traverse
      functions for scanning and tp_clear functions as their simple_destructor.)
      
      as we sweep the heap:
      
      1) any unreachable objects that have weakreferences are kept alive
         and placed in an std::list called weakly_referenced.
      
      2) any unreachable weakref.ref objects are cleared and removed from
         their referent's list.
      
      After sweeping the entire heap, we then loop over the objects in
      weakly_referenced.  If an object in the list still has weak references,
      we loop over them clearing their target (setting it to None), and
      calling their callback if they have one.  test/tests/weakref1.py tests this.
      52d1d182
    • Chris Toshok's avatar
      s/DBG/RELEASE/ for cmake release build · 21a98b05
      Chris Toshok authored
      21a98b05
    • Kevin Modzelewski's avatar
  2. 27 Feb, 2015 11 commits
  3. 26 Feb, 2015 12 commits
  4. 25 Feb, 2015 14 commits