1. 23 Jul, 2015 5 commits
    • Kevin Modzelewski's avatar
      A couple rewriting fixes / improvements · f6c4298d
      Kevin Modzelewski authored
      - rewriting a runtimeCall of an instancemethod was broken (this is
        a separate code path from the much-more-common callattr form).
      - we don't need to guard on the this->cls as often in Box::getattr, specifically
        in cases that are coming from typeLookup.  Not because the classes are fixed
        (I think they can change), but because they are not allowed to change in a way
        that would change what Box::getattr has the guard for (guarding on attrs_offset
        and tp_dictoffset).
      - slightly change the place we guard on tp_getattro and tp_getattr to a place I think
        is a bit more correct (or at least easier to understand as being correct).
      f6c4298d
    • Kevin Modzelewski's avatar
      Optimize slot_tp_getattr_hook · bfe7d79e
      Kevin Modzelewski authored
      ie the way that __getattr__ ends up getting called.  Two main optimizations:
      - switch the initial attribute access (ie checking to see the attribute exists
        before calling __getattr__) to use a non-throwing api.  For the typical case,
        even though the throwing would be a C API throw, the construction of the
        AttributeError is relatively expensive, and the object would be immediately
        discarded anyway.
      - add rewriting to the function
      
      They both roughly cut out half the overhead of accessing attributes on
      classes with __getattr__.
      bfe7d79e
    • Kevin Modzelewski's avatar
      Merge pull request #745 from kmod/perf2 · f1129a84
      Kevin Modzelewski authored
      Improve isinstance speed
      f1129a84
    • Kevin Modzelewski's avatar
      Merge pull request #744 from rudi-c/fix_setstate · 885046a2
      Kevin Modzelewski authored
      Make sure to intern attribute string in PyObject_SetAttr.
      885046a2
    • Chris Toshok's avatar
      Merge pull request #536 from rudi-c/setslice · e6893159
      Chris Toshok authored
      Handle the extensive edge cases related to sequence slicing
      e6893159
  2. 22 Jul, 2015 26 commits
  3. 21 Jul, 2015 9 commits