1. 18 Sep, 2015 6 commits
  2. 17 Sep, 2015 4 commits
  3. 16 Sep, 2015 7 commits
  4. 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
  5. 11 Sep, 2015 5 commits
  6. 10 Sep, 2015 5 commits
  7. 09 Sep, 2015 4 commits
    • Kevin Modzelewski's avatar
      Merge pull request #908 from undingen/fix_set_cmp · 9df41bb5
      Kevin Modzelewski authored
      Fix set comparisons
      9df41bb5
    • Marius Wachtler's avatar
      Fix set comparisons · b91071cd
      Marius Wachtler authored
      b91071cd
    • Kevin Modzelewski's avatar
      Merge pull request #905 from kmod/change_numdefaults · 54a9559e
      Kevin Modzelewski authored
      Allow changing the number of default arguments
      54a9559e
    • Kevin Modzelewski's avatar
      Allow changing the number of default arguments · df2808da
      Kevin Modzelewski authored
      We already supported changing the values, but not the number
      of them.  The main trickiness here is
      - We had been assuming that the number of defaults was immutable,
        so I had to find the places that we used it and add invalidation.
      - We assumed that all functions based on the same source function would
        have the same number of defaults.
      
      For the first one, I found all the places that looked at the defaults array,
      which should hopefully be all the places that need invalidation.
      
      One tricky part is that we will embed the num_defaults data into code produced
      by the LLVM tier, and we currently don't have any mechanism for invalidating
      those functions.  This commit side-steps around that since the only functions that
      we can inline are the builtins, and those you aren't allowed to change the defaults
      anyway.  So I added a "can_change_defaults" flag.
      
      For the second part, I moved "num_defaults" from the CLFunction (our "code" object)
      to the BoxedFunction (our "function" object), and then changed the users to pull
      it from there.
      df2808da
  8. 08 Sep, 2015 7 commits