1. 24 Eki, 2009 3 kayıt (commit)
  2. 28 Eyl, 2009 1 kayıt (commit)
    • Kristján Valur Jónsson's avatar
      http://bugs.python.org/issue6836 · 02ca57ce
      Kristján Valur Jónsson yazdı
      The debug memory api now keeps track of which external API (PyMem_* or PyObject_*) was used to allocate each block and treats any API violation as an error.  Added separate _PyMem_DebugMalloc functions for the Py_Mem API instead of having it use the _PyObject_DebugMalloc functions.
      02ca57ce
  3. 16 Eyl, 2009 2 kayıt (commit)
    • Mark Dickinson's avatar
      Issue #6713: Improve performance of str(n) and repr(n) for integers n · aa2adc82
      Mark Dickinson yazdı
      (up to 3.1 times faster in tests), by special-casing base 10 in
      _PyLong_Format.  (Backport of r74851 from py3k.)
      aa2adc82
    • Thomas Wouters's avatar
      Fix issue #1590864, multiple threads and fork() can cause deadlocks, by · c4dcb380
      Thomas Wouters yazdı
      acquiring the import lock around fork() calls. This prevents other threads
      from having that lock while the fork happens, and is the recommended way of
      dealing with such issues. There are two other locks we care about, the GIL
      and the Thread Local Storage lock. The GIL is obviously held when calling
      Python functions like os.fork(), and the TLS lock is explicitly reallocated
      instead, while also deleting now-orphaned TLS data.
      
      This only fixes calls to os.fork(), not extension modules or embedding
      programs calling C's fork() directly. Solving that requires a new set of API
      functions, and possibly a rewrite of the Python/thread_*.c mess. Add a
      warning explaining the problem to the documentation in the mean time.
      
      This also changes behaviour a little on AIX. Before, AIX (but only AIX) was
      getting the import lock reallocated, seemingly to avoid this very same
      problem. This is not the right approach, because the import lock is a
      re-entrant one, and reallocating would do the wrong thing when forking while
      holding the import lock.
      
      Will backport to 2.6, minus the tiny AIX behaviour change.
      c4dcb380
  4. 06 Eyl, 2009 1 kayıt (commit)
  5. 30 Haz, 2009 1 kayıt (commit)
  6. 28 Haz, 2009 1 kayıt (commit)
  7. 23 Haz, 2009 1 kayıt (commit)
  8. 21 Haz, 2009 1 kayıt (commit)
  9. 12 Haz, 2009 1 kayıt (commit)
  10. 25 May, 2009 2 kayıt (commit)
  11. 23 May, 2009 1 kayıt (commit)
    • Jeffrey Yasskin's avatar
      Issue #6042: · 655d8354
      Jeffrey Yasskin yazdı
      lnotab-based tracing is very complicated and isn't documented very well.  There
      were at least 3 comment blocks purporting to document co_lnotab, and none did a
      very good job. This patch unifies them into Objects/lnotab_notes.txt which
      tries to completely capture the current state of affairs.
      
      I also discovered that we've attached 2 layers of patches to the basic tracing
      scheme. The first layer avoids jumping to instructions that don't start a line,
      to avoid problems in if statements and while loops.  The second layer
      discovered that jumps backward do need to trace at instructions that don't
      start a line, so it added extra lnotab entries for 'while' and 'for' loops, and
      added a special case for backward jumps within the same line. I replaced these
      patches by just treating forward and backward jumps differently.
      655d8354
  12. 17 May, 2009 1 kayıt (commit)
  13. 08 May, 2009 3 kayıt (commit)
  14. 05 May, 2009 1 kayıt (commit)
  15. 04 May, 2009 1 kayıt (commit)
  16. 30 Nis, 2009 1 kayıt (commit)
  17. 27 Nis, 2009 1 kayıt (commit)
  18. 25 Nis, 2009 1 kayıt (commit)
  19. 22 Nis, 2009 1 kayıt (commit)
    • Eric Smith's avatar
      Backport of some of the work in r71665 to trunk. This reworks much of · aca19e6a
      Eric Smith yazdı
      int, long, and float __format__(), and it keeps their implementation
      in sync with py3k.
      
      Also added PyOS_double_to_string. This is the "fallback" version
      that's also available in trunk, and should be kept in sync with that
      code. I'll add an issue to document PyOS_double_to_string in the C
      API.
      
      There are many internal cleanups. Externally visible changes include:
      
      - Implement PEP 378, Format Specifier for Thousands Separator, for
        floats, ints, and longs.
      
      - Issue #5515: 'n' formatting for ints, longs, and floats handles
        leading zero formatting poorly.
      
      - Issue #5772: For float.__format__, don't add a trailing ".0" if
        we're using no type code and we have an exponent.
      aca19e6a
  20. 19 Nis, 2009 1 kayıt (commit)
  21. 18 Nis, 2009 2 kayıt (commit)
  22. 05 Nis, 2009 2 kayıt (commit)
  23. 04 Nis, 2009 2 kayıt (commit)
  24. 02 Nis, 2009 2 kayıt (commit)
  25. 23 Mar, 2009 1 kayıt (commit)
    • Antoine Pitrou's avatar
      Issue #4688: Add a heuristic so that tuples and dicts containing only · f8387af2
      Antoine Pitrou yazdı
      untrackable objects are not tracked by the garbage collector. This can
      reduce the size of collections and therefore the garbage collection overhead
      on long-running programs, depending on their particular use of datatypes.
      
      (trivia: this makes the "binary_trees" benchmark from the Computer Language
      Shootout 40% faster)
      f8387af2
  26. 20 Mar, 2009 2 kayıt (commit)
  27. 28 Şub, 2009 1 kayıt (commit)
  28. 16 Şub, 2009 1 kayıt (commit)
  29. 15 Şub, 2009 1 kayıt (commit)