1. 05 Eki, 2000 1 kayıt (commit)
  2. 15 Eyl, 2000 2 kayıt (commit)
  3. 01 Eyl, 2000 1 kayıt (commit)
  4. 09 Tem, 2000 1 kayıt (commit)
  5. 01 Tem, 2000 1 kayıt (commit)
  6. 30 Haz, 2000 3 kayıt (commit)
  7. 23 Haz, 2000 2 kayıt (commit)
    • Jeremy Hylton's avatar
      part 2 of Neil Schemenauer's GC patches: · d08b4c45
      Jeremy Hylton yazdı
      This patch modifies the type structures of objects that
      participate in GC.  The object's tp_basicsize is increased when
      GC is enabled.  GC information is prefixed to the object to
      maintain binary compatibility.  GC objects also define the
      tp_flag Py_TPFLAGS_GC.
      d08b4c45
    • Jeremy Hylton's avatar
      Round 1 of Neil Schemenauer's GC patches: · 8caad49c
      Jeremy Hylton yazdı
      This patch adds the type methods traverse and clear necessary for GC
      implementation.
      8caad49c
  8. 16 Haz, 2000 1 kayıt (commit)
  9. 15 Haz, 2000 1 kayıt (commit)
    • Fred Drake's avatar
      Thomas Wouters <thomas@xs4all.net>: · 56780257
      Fred Drake yazdı
      The following patch adds "sq_contains" support to rangeobject, and enables
      the already-written support for sq_contains in listobject and tupleobject.
      
      The rangeobject "contains" code should be a bit more efficient than the
      current default "in" implementation ;-) It might not get used much, but it's
      not that much to add.
      
      listobject.c and tupleobject.c already had code for sq_contains, and the
      proper struct member was set, but the PyType structure was not extended to
      include tp_flags, so the object-specific code was not getting called (Go
      ahead, test it ;-). I also did this for the immutable_list_type in
      listobject.c, eventhough it is probably never used. Symmetry and all that.
      56780257
  10. 01 Haz, 2000 1 kayıt (commit)
  11. 03 May, 2000 1 kayıt (commit)
    • Guido van Rossum's avatar
      Vladimir Marangozov's long-awaited malloc restructuring. · b18618da
      Guido van Rossum yazdı
      For more comments, read the patches@python.org archives.
      For documentation read the comments in mymalloc.h and objimpl.h.
      
      (This is not exactly what Vladimir posted to the patches list; I've
      made a few changes, and Vladimir sent me a fix in private email for a
      problem that only occurs in debug mode.  I'm also holding back on his
      change to main.c, which seems unnecessary to me.)
      b18618da
  12. 27 Nis, 2000 1 kayıt (commit)
  13. 21 Nis, 2000 1 kayıt (commit)
    • Guido van Rossum's avatar
      Patch by Charles G Waldman to avoid a sneaky memory leak in · 5ce78f8e
      Guido van Rossum yazdı
      _PyTuple_Resize().  In addition, a change suggested by Jeremy Hylton
      to limit the size of the free lists is also merged into this patch.
      
      Charles wrote initially:
      
      """
      Test Case:  run the following code:
      
      class Nothing:
          def __len__(self):
              return 5
          def __getitem__(self, i):
              if i < 3:
                  return i
              else:
                  raise IndexError, i
      
      def g(a,*b,**c):
          return
      
      for x in xrange(1000000):
          g(*Nothing())
      
      
      and watch Python's memory use go up and up.
      
      
      Diagnosis:
      
      The analysis begins with the call to PySequence_Tuple at line 1641 in
      ceval.c - the argument to g is seen to be a sequence but not a tuple,
      so it needs to be converted from an abstract sequence to a concrete
      tuple.  PySequence_Tuple starts off by creating a new tuple of length
      5 (line 1122 in abstract.c).  Then at line 1149, since only 3 elements
      were assigned, _PyTuple_Resize is called to make the 5-tuple into a
      3-tuple.  When we're all done the 3-tuple is decrefed, but rather than
      being freed it is placed on the free_tuples cache.
      
      The basic problem is that the 3-tuples are being added to the cache
      but never picked up again, since _PyTuple_Resize doesn't make use of
      the free_tuples cache.  If you are resizing a 5-tuple to a 3-tuple and
      there is already a 3-tuple in free_tuples[3], instead of using this
      tuple, _PyTuple_Resize will realloc the 5-tuple to a 3-tuple.  It
      would more efficient to use the existing 3-tuple and cache the
      5-tuple.
      
      By making _PyTuple_Resize aware of the free_tuples (just as
      PyTuple_New), we not only save a few calls to realloc, but also
      prevent this misbehavior whereby tuples are being added to the
      free_tuples list but never properly "recycled".
      """
      
      And later:
      
      """
      This patch replaces my submission of Sun, 16 Apr and addresses Jeremy
      Hylton's suggestions that we also limit the size of the free tuple
      list.  I chose 2000 as the maximum number of tuples of any particular
      size to save.
      
      There was also a problem with the previous version of this patch
      causing a core dump if Python was built with Py_TRACE_REFS.  This is
      fixed in the below version of the patch, which uses tupledealloc
      instead of _Py_Dealloc.
      """
      5ce78f8e
  14. 13 Mar, 2000 1 kayıt (commit)
    • Guido van Rossum's avatar
      Christian Tismer's "trashcan" patch: · d724b234
      Guido van Rossum yazdı
      Added wrapping macros to dictobject.c, listobject.c, tupleobject.c,
      frameobject.c, traceback.c that safely prevends core dumps
      on stack overflow. Macros and functions in object.c, object.h.
      The method is an "elevator destructor" that turns cascading
      deletes into tail recursive behavior when some limit is hit.
      d724b234
  15. 20 Ock, 2000 1 kayıt (commit)
  16. 13 Tem, 1999 1 kayıt (commit)
  17. 12 Tem, 1999 1 kayıt (commit)
  18. 11 Ara, 1998 1 kayıt (commit)
  19. 16 Kas, 1998 1 kayıt (commit)
  20. 26 Haz, 1998 1 kayıt (commit)
  21. 17 Agu, 1997 1 kayıt (commit)
  22. 05 Agu, 1997 1 kayıt (commit)
  23. 02 May, 1997 1 kayıt (commit)
  24. 16 Ara, 1996 1 kayıt (commit)
  25. 25 Eki, 1996 1 kayıt (commit)
  26. 23 May, 1996 1 kayıt (commit)
  27. 04 Agu, 1995 1 kayıt (commit)
  28. 29 Mar, 1995 1 kayıt (commit)
  29. 09 Mar, 1995 1 kayıt (commit)
  30. 04 Ock, 1995 1 kayıt (commit)
  31. 30 Agu, 1994 1 kayıt (commit)
  32. 10 Kas, 1993 1 kayıt (commit)
    • Guido van Rossum's avatar
      * posixmodule.c: added set{uid,gid}. · a3d78fb2
      Guido van Rossum yazdı
      * {tuple,list,mapping,array}object.c: call printobject with 0 for flags
      * compile.c (parsestr): use quote instead of '\'' at one crucial point
      * arraymodule.c (array_getattr): Added __members__ attribute
      a3d78fb2
  33. 01 Kas, 1993 1 kayıt (commit)
  34. 26 Eki, 1993 1 kayıt (commit)
    • Guido van Rossum's avatar
      * compile.[ch]: support for lambda() · 12d12c5f
      Guido van Rossum yazdı
      * PROTO.h, mymalloc.h: added #ifdefs for TURBOC and GNUC.
      * allobjects.h: added #include "rangeobject.h"
      * Grammar: added lambda_input; relaxed syntax for exec.
      * bltinmodule.c: added bagof, map, reduce, lambda, xrange.
      * tupleobject.[ch]: added resizetuple().
      * rangeobject.[ch]: new object type to speed up range operations (not
        convinced this is needed!!!)
      12d12c5f
  35. 15 Eki, 1993 1 kayıt (commit)
    • Sjoerd Mullender's avatar
      intobject.c: Save references to small integers, so that they can be · 842d2ccd
      Sjoerd Mullender yazdı
      	shared.  The default is to save references to the integers in
      	the range -1..99.  The lower limit can be set by defining
      	NSMALLNEGINTS (absolute value of smallest integer to be saved)
      	and NSMALLPOSINTS (1 more than the largest integer to be
      	saved).
      tupleobject.c: Save a reference to the empty tuple to be returned
      	whenever a tuple of size 0 is requested.  Tuples of size 1
      	upto, but not including, MAXSAVESIZE (default 20) are put in
      	free lists when deallocated.  When MAXSAVESIZE equals 1, only
      	share references to the empty tuple, when MAXSAVESIZE equals
      	0, don't include the code at all and revert to the old
      	behavior.
      object.c: Print some more statistics when COUNT_ALLOCS is defined.
      842d2ccd
  36. 11 Eki, 1993 1 kayıt (commit)