1. 24 Haz, 2004 1 kayıt (commit)
  2. 21 Haz, 2004 1 kayıt (commit)
  3. 08 Haz, 2004 1 kayıt (commit)
  4. 19 May, 2004 1 kayıt (commit)
    • Raymond Hettinger's avatar
      SF patch #872326: Generator expression implementation · 354433a5
      Raymond Hettinger yazdı
      (Code contributed by Jiwon Seo.)
      
      The documentation portion of the patch is being re-worked and will be
      checked-in soon.  Likewise, PEP 289 will be updated to reflect Guido's
      rationale for the design decisions on binding behavior (as described in
      in his patch comments and in discussions on python-dev).
      
      The test file, test_genexps.py, is written in doctest format and is
      meant to exercise all aspects of the the patch.  Further additions are
      welcome from everyone.  Please stress test this new feature as much as
      possible before the alpha release.
      354433a5
  5. 22 Mar, 2004 1 kayıt (commit)
  6. 21 Mar, 2004 1 kayıt (commit)
  7. 07 Mar, 2004 1 kayıt (commit)
  8. 29 Kas, 2003 1 kayıt (commit)
    • Guido van Rossum's avatar
      - Removed FutureWarnings related to hex/oct literals and conversions · 6c9e1305
      Guido van Rossum yazdı
        and left shifts.  (Thanks to Kalle Svensson for SF patch 849227.)
        This addresses most of the remaining semantic changes promised by
        PEP 237, except for repr() of a long, which still shows the trailing
        'L'.  The PEP appears to promise warnings for operations that
        changed semantics compared to Python 2.3, but this is not
        implemented; we've suffered through enough warnings related to
        hex/oct literals and I think it's best to be silent now.
      6c9e1305
  9. 18 Eki, 2003 1 kayıt (commit)
  10. 12 Eki, 2003 1 kayıt (commit)
  11. 22 Eyl, 2003 1 kayıt (commit)
  12. 16 Eyl, 2003 1 kayıt (commit)
  13. 15 Eyl, 2003 1 kayıt (commit)
  14. 28 Agu, 2003 1 kayıt (commit)
  15. 15 Tem, 2003 1 kayıt (commit)
    • Jeremy Hylton's avatar
      SF patch 763201: handling of SyntaxErrors in symbol table build · 1955fcf6
      Jeremy Hylton yazdı
      Fixes for three related bugs, including errors that caused a script to
      be ignored without printing an error message.  The key problem was a bad
      interaction between syntax warnings and syntax errors.  If an
      exception was already set when a warning was issued, the warning could
      clobber the exception.
      
      The PyErr_Occurred() check in issue_warning() isn't entirely
      satisfying (the caller should know whether there was already an
      error), but a better solution isn't immediately obvious.
      
      Bug fix candidate.
      1955fcf6
  16. 20 Haz, 2003 1 kayıt (commit)
  17. 22 May, 2003 3 kayıt (commit)
  18. 21 May, 2003 1 kayıt (commit)
  19. 12 May, 2003 1 kayıt (commit)
  20. 10 May, 2003 1 kayıt (commit)
  21. 03 May, 2003 1 kayıt (commit)
  22. 29 Nis, 2003 1 kayıt (commit)
    • Michael W. Hudson's avatar
      Use Tim's suggestion to fix · 26848a34
      Michael W. Hudson yazdı
      [ 708901 ] Lineno calculation sometimes broken
      
      A one line patch to compile.c and a rather-more-than-one-line patch
      to test_dis.  Hey ho.
      
      Possibly a backport candidate -- tho' lnotab is less used in 2.2...
      26848a34
  23. 24 Nis, 2003 1 kayıt (commit)
  24. 22 Nis, 2003 1 kayıt (commit)
    • Raymond Hettinger's avatar
      Improved the bytecode optimizer. · 060641d5
      Raymond Hettinger yazdı
      * Can now test for basic blocks.
      * Optimize inverted comparisions.
      * Optimize unary_not followed by a conditional jump.
      * Added a new opcode, NOP, to keep code size constant.
      * Applied NOP to previous transformations where appropriate.
      
      Note, the NOP would not be necessary if other functions were
      added to re-target jump addresses and update the co_lnotab mapping.
      That would yield slightly faster and cleaner bytecode at the
      expense of optimizer simplicity and of keeping it decoupled
      from the line-numbering structure.
      060641d5
  25. 15 Nis, 2003 1 kayıt (commit)
  26. 28 Mar, 2003 1 kayıt (commit)
  27. 26 Mar, 2003 1 kayıt (commit)
    • Raymond Hettinger's avatar
      SF patch #707257: Improve code generation · f6f575ae
      Raymond Hettinger yazdı
      Adds a single function to improve generated bytecode.  Has a single line
      attachment point, so it is completely de-coupled from both the compiler
      and ceval.c.
      
      Makes three simple transforms that do not require a basic block analysis
      or re-ordering of code.  Gives improved timings on pystone, pybench,
      and any code using either "while 1" or "x,y=y,x".
      f6f575ae
  28. 24 Mar, 2003 1 kayıt (commit)
  29. 12 Şub, 2003 1 kayıt (commit)
    • Guido van Rossum's avatar
      SF #660455 : patch by NNorwitz. · 66b1259d
      Guido van Rossum yazdı
      "Unsigned" (i.e., positive-looking, but really negative) hex/oct
      constants with a leading minus sign are once again properly negated.
      The micro-optimization for negated numeric constants did the wrong
      thing for such hex/oct constants.  The patch avoids the optimization
      for all hex/oct constants.
      
      This needs to be backported to Python 2.2!
      66b1259d
  30. 10 Şub, 2003 1 kayıt (commit)
  31. 05 Şub, 2003 1 kayıt (commit)
    • Jeremy Hylton's avatar
      Small function call optimization and special build option for call stats. · 985eba53
      Jeremy Hylton yazdı
      -DCALL_PROFILE: Count the number of function calls executed.
      
      When this symbol is defined, the ceval mainloop and helper functions
      count the number of function calls made.  It keeps detailed statistics
      about what kind of object was called and whether the call hit any of
      the special fast paths in the code.
      
      Optimization:
      
      When we take the fast_function() path, which seems to be taken for
      most function calls, and there is minimal frame setup to do, avoid
      call PyEval_EvalCodeEx().  The eval code ex function does a lot of
      work to handle keywords args and star args, free variables,
      generators, etc.  The inlined version simply allocates the frame and
      copies the arguments values into the frame.
      
      The optimization gets a little help from compile.c which adds a
      CO_NOFREE flag to code objects that don't have free variables or cell
      variables.  This change allows fast_function() to get into the fast
      path with fewer tests.
      
      I measure a couple of percent speedup in pystone with this change, but
      there's surely more that can be done.
      985eba53
  32. 16 Ock, 2003 1 kayıt (commit)
  33. 31 Ara, 2002 1 kayıt (commit)
    • Jeremy Hylton's avatar
      SF patch [ 597919 ] compiler package and SET_LINENO · accb62b2
      Jeremy Hylton yazdı
      A variety of changes from Michael Hudson to get the compiler working
      with 2.3.  The primary change is the handling of SET_LINENO:
      
      # The set_lineno() function and the explicit emit() calls for
      # SET_LINENO below are only used to generate the line number table.
      # As of Python 2.3, the interpreter does not have a SET_LINENO
      # instruction.  pyassem treats SET_LINENO opcodes as a special case.
      
      A few other small changes:
       - Remove unused code from pycodegen and pyassem.
       - Fix error handling in parsermodule.  When PyParser_SimplerParseString()
         fails, it sets an exception with detailed info.  The parsermodule
         was clobbering that exception and replacing it was a generic
         "could not parse string" exception.  Keep the original exception.
      accb62b2
  34. 23 Ara, 2002 2 kayıt (commit)
  35. 18 Ara, 2002 1 kayıt (commit)
  36. 16 Ara, 2002 1 kayıt (commit)
    • Gustavo Niemeyer's avatar
      Fixing bug · 78429a6a
      Gustavo Niemeyer yazdı
      [#448679] Left to right
      
      * Python/compile.c
        (com_dictmaker): Reordered evaluation of dictionaries to follow strict
        LTR evaluation.
      
      * Lib/compiler/pycodegen.py
        (CodeGenerator.visitDict): Reordered evaluation of dictionaries to
        follow strict LTR evaluation.
      
      * Doc/ref/ref5.tex
        Documented the general LTR evaluation order idea.
      
      * Misc/NEWS
        Documented change in evaluation order of dictionaries.
      78429a6a
  37. 11 Ara, 2002 1 kayıt (commit)