1. 17 May, 2015 1 commit
    • Kevin Modzelewski's avatar
      Build _multiprocessing as a shared library · 46117869
      Kevin Modzelewski authored
      by adding from_cpython/setup.py.
      
      This way we can build _multiprocessing as a shared module to be
      loaded on-demand, since it's quite expensive right now for us to
      import it.
      
      CPython has a similar setup.py, but theirs is pretty large (2kloc)
      so I don't feel like we need to try copying yet.
      
      We could/should move other modules to use this strategy.
      
      I'm not 100% happy with the build system support, but we can iterate
      on that.
      46117869
  2. 16 May, 2015 2 commits
    • Kevin Modzelewski's avatar
      Fix some statchecks · 7f758ddb
      Kevin Modzelewski authored
      7f758ddb
    • Kevin Modzelewski's avatar
      Change our GC handling of weakrefs · 930a382e
      Kevin Modzelewski authored
      For weakly-referenced objects that are garbage, we end up freeing their
      attributes within that collection (assuming they are garbage as well).
      This means that these objects are in a state that is not quite dead (we
      don't want to allocate anything else in that space and clobber their
      weakreflist), and not quite alive (their attributes point to garbage
      memory).
      
      So, change the handling to finish looking at those objects in the collection
      that they become garbage, and then free them to make them properly dead.
      
      weakrefs-handling is unavoidably reentrant, but now we only have to worry
      about fully-dead (the referents) or fully-alive (the weakrefs) objects.
      930a382e
  3. 15 May, 2015 5 commits
  4. 14 May, 2015 6 commits
  5. 13 May, 2015 19 commits
  6. 12 May, 2015 7 commits