1. 04 Mar, 2015 3 commits
  2. 03 Mar, 2015 16 commits
  3. 02 Mar, 2015 14 commits
  4. 01 Mar, 2015 1 commit
  5. 28 Feb, 2015 6 commits
    • Marius Wachtler's avatar
      Implement vararg map() · ebf3e7ee
      Marius Wachtler authored
      ebf3e7ee
    • Chris Toshok's avatar
      Merge pull request #332 from toshok/weakrefs · c3e43ed9
      Chris Toshok authored
      Weakrefs
      c3e43ed9
    • Chris Toshok's avatar
      add ellipsis and str.index tests · 9506ee5a
      Chris Toshok authored
      9506ee5a
    • Chris Toshok's avatar
      add str.index · 19b03043
      Chris Toshok authored
      19b03043
    • Chris Toshok's avatar
      create an Ellipsis builtin · a1d835d9
      Chris Toshok authored
      a1d835d9
    • 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