1. 22 Eki, 2001 1 kayıt (commit)
  2. 21 Eki, 2001 1 kayıt (commit)
    • Guido van Rossum's avatar
      Big internal change that should have no external effects: unify the · 6d204074
      Guido van Rossum yazdı
      'slotdef' structure typedef and 'struct wrapperbase'.  By adding the
      wrapper docstrings to the slotdef structure, the slotdefs array can
      serve as the data structure that drives add_operators(); the wrapper
      descriptor contains a pointer to slotdef structure.  This replaces
      lots of custom code from add_operators() by a loop over the slotdefs
      array, and does away with all the tab_xxx tables.
      6d204074
  3. 03 Eki, 2001 1 kayıt (commit)
    • Guido van Rossum's avatar
      *EXPERIMENTAL* speedup of slot_sq_item. This sped up the following · f4593e0b
      Guido van Rossum yazdı
      test dramatically:
      
          class T(tuple): __dynamic__ = 1
          t = T(range(1000))
          for i in range(1000): tt = tuple(t)
      
      The speedup was about 5x compared to the previous state of CVS (1.7
      vs. 8.8, in arbitrary time units).  But it's still more than twice as
      slow as as the same test with __dynamic__ = 0 (0.8).
      
      I'm not sure that I really want to go through the trouble of this kind
      of speedup for every slot.  Even doing it just for the most popular
      slots will be a major effort (the new slot_sq_item is 40+ lines, while
      the old one was one line with a powerful macro -- unfortunately the
      speedup comes from expanding the macro and doing things in a way
      specific to the slot signature).
      
      An alternative that I'm currently considering is sketched in PLAN.txt:
      trap setattr on type objects.  But this will require keeping track of
      all derived types using weak references.
      f4593e0b
  4. 20 Eyl, 2001 2 kayıt (commit)
    • Guido van Rossum's avatar
      Add optional docstrings to getset descriptors. Fortunately, there's · 32d34c80
      Guido van Rossum yazdı
      no backwards compatibility to worry about, so I just pushed the
      'closure' struct member to the back -- it's never used in the current
      code base (I may eliminate it, but that's more work because the getter
      and setter signatures would have to change.)
      
      As examples, I added actual docstrings to the getset attributes of a
      few types: file.closed, xxsubtype.spamdict.state.
      32d34c80
    • Guido van Rossum's avatar
      Add optional docstrings to member descriptors. For backwards · 6f799376
      Guido van Rossum yazdı
      compatibility, this required all places where an array of "struct
      memberlist" structures was declared that is referenced from a type's
      tp_members slot to change the type of the structure to PyMemberDef;
      "struct memberlist" is now only used by old code that still calls
      PyMember_Get/Set.  The code in PyObject_GenericGetAttr/SetAttr now
      calls the new APIs PyMember_GetOne/SetOne, which take a PyMemberDef
      argument.
      
      As examples, I added actual docstrings to the attributes of a few
      types: file, complex, instance method, super, and xxsubtype.spamlist.
      
      Also converted the symtable to new style getattr.
      6f799376
  5. 06 Eyl, 2001 1 kayıt (commit)
  6. 23 Agu, 2001 1 kayıt (commit)
  7. 02 Agu, 2001 1 kayıt (commit)