Commit Graph

568 Commits

Author SHA1 Message Date
Raymond Hettinger e62a694fee Issue #26020: Fix evaluation order for set literals 2016-09-08 15:25:19 -07:00
Martin Panter 0bb165ecc1 Issue #4806: Avoid masking TypeError when *-unpacking a generator
Based on patch by Hagen Fürstenau.
2016-01-31 06:30:56 +00:00
Serhiy Storchaka 763a61ca95 Issue #26200: Added Py_SETREF and replaced Py_XSETREF with Py_SETREF
in places where Py_DECREF was used.
2016-04-10 18:05:12 +03:00
Serhiy Storchaka bc62af1bbe Issue #22570: Renamed Py_SETREF to Py_XSETREF. 2016-04-06 09:51:18 +03:00
Serhiy Storchaka 5951f2300f Issue #20440: Massive replacing unsafe attribute setting code with special
macro Py_SETREF.
2015-12-24 10:35:35 +02:00
Benjamin Peterson 14462d486b remove tabs from ceval.c (closes #24895) 2015-08-19 20:38:39 -07:00
Serhiy Storchaka 1670af6c33 Added the const qualifier for char* argument of Py_EnterRecursiveCall(). 2015-06-21 16:26:28 +03:00
Benjamin Peterson cc06dbfc73 sync opcode prediction code with python 3 2015-06-01 18:24:31 -05:00
Benjamin Peterson 2c992a0788 backport computed gotos (#4753) 2015-05-28 12:45:31 -05:00
Victor Stinner 2b565bb6f3 Issue #18028: Fix aliasing issue in READ_TIMESTAMP() of ceval.c on x86_64,
when Python is configure with --with-tsc. Patch written by Christian Heimes.
2014-12-12 13:19:00 +01:00
Antoine Pitrou b9a4501179 Issue #21963: backout issue #1856 patch (avoid crashes and lockups when
daemon threads run while the interpreter is shutting down; instead,
these threads are now killed when they try to take the GIL), as it seems
to break some existing code.
2014-11-21 02:04:21 +01:00
Serhiy Storchaka a86c091a73 Issue #22453: Fexed reference leaks when format error messages in ceval.c.
Warn against the use of leaking macro PyObject_REPR().
2014-11-19 00:11:05 +02:00
Benjamin Peterson d2903bd682 restore runtime exec test (#21591) 2014-08-09 19:39:36 -07:00
Dirkjan Ochtman 9b1d670361 Issue #21591: Handle exec backwards compatibility in the AST builder.
Instead of deferring until runtime. This makes sure we hit the right
conditions in dealing with unqualified exec statements.

Reviewed by Victor Stinner. Test follows in a later commit.
2014-07-29 17:21:39 +02:00
Benjamin Peterson 1c78e6d96f check if the thread is finalizing after retaking the GIL 2014-06-16 22:59:07 -07:00
Benjamin Peterson c0bc4eff50 avoid crashes and lockups from daemon threads during interpreter shutdown (#1856) 2014-06-16 19:39:18 -07:00
Serhiy Storchaka 98a9722e4a Issue #20437: Fixed 43 potential bugs when deleting objects references. 2014-02-09 13:14:04 +02:00
Benjamin Peterson c3349cd22e port 8d05f697acd4 (#11627) 2011-07-15 14:15:40 -05:00
Ezio Melotti c2077b0d9b #11565: Fix several typos. Patch by Piotr Kasprzyk. 2011-03-16 12:34:31 +02:00
David Malcolm 4c29e1cd01 Merged revisions 87796 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/branches/py3k

........
  r87796 | david.malcolm | 2011-01-06 12:01:36 -0500 (Thu, 06 Jan 2011) | 6 lines

  Issue #10655: Fix the build on PowerPC on Linux with GCC when building with
  timestamp profiling (--with-tsc): the preprocessor test for the PowerPC
  support now looks for "__powerpc__" as well as "__ppc__": the latter seems to
  only be present on OS X; the former is the correct one for Linux with GCC.
........
2011-01-06 17:39:24 +00:00
Benjamin Peterson da4fabac87 Rolled back revisions 85003 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/branches/py3k
2010-09-25 03:27:12 +00:00
Benjamin Peterson 2af840455e Merged revisions 85003 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/branches/py3k

........
  r85003 | benjamin.peterson | 2010-09-24 22:14:33 -0500 (Fri, 24 Sep 2010) | 1 line

  don't count keyword arguments as positional #9943
........
2010-09-25 03:17:56 +00:00
Stefan Krah 7ff78257af Issue #8930: Remaining indentation fixes after the Grand Unified Indenting. 2010-06-23 18:12:09 +00:00
Antoine Pitrou c83ea137d7 Untabify C files. Will watch buildbots. 2010-05-09 14:46:46 +00:00
Brett Cannon 2ee5183852 Remove an unneeded variable increment.
Found using Clang's static analyzer.
2010-05-05 20:27:49 +00:00
Brett Cannon 417439e6cd Partially revert the over-reaching r80813. 2010-05-05 20:24:30 +00:00
Brett Cannon 0b03f10afb Remove three unneeded variable assignments.
Found using Clang's static analyzer.
2010-05-05 20:20:19 +00:00
Antoine Pitrou 76c8649038 Issue #8276: PyEval_CallObject() is now only available in macro form. The
function declaration, which was kept for backwards compatibility reasons,
is now removed (the macro was introduced in 1997!).
2010-04-01 16:42:11 +00:00
Benjamin Peterson bb9d726357 take into account keyword arguments when passing too many args 2010-03-21 20:30:30 +00:00
Benjamin Peterson 965458931f improve error message from passing inadequate number of keyword arguments #6474
Note this removes the "non-keyword" or "keyword" phrases from these messages.
2010-03-21 20:21:00 +00:00
Benjamin Peterson 88e7ebac4c co_varnames is certainly a tuple, so let's not waste time finding out 2010-03-21 19:39:52 +00:00
Benjamin Peterson d51b259b31 remove pointless condition 2010-03-21 19:35:39 +00:00
Benjamin Peterson 56472c2463 flatten condition 2010-03-21 19:24:08 +00:00
Benjamin Peterson 9c4742e6ce more specific exception for wrong kind of raise #8082 2010-03-07 00:00:37 +00:00
Benjamin Peterson ee46101e68 remove pointless error checking 2010-02-06 19:40:18 +00:00
Benjamin Peterson 565d78586b normalize exceptions passed to the __exit__ method #7853
In Python 2.x, exceptions in finally blocks are not normalized.  Since with
statements are implemented using finally blocks, ceval.c had to be tweaked to
distinguish between with finally blocks and normal ones.

A test for the finalization of generators containing with statements was also
added.
2010-02-05 02:12:14 +00:00
Alexandre Vassalotti b646547bb4 Issue #2333: Backport set and dict comprehensions syntax. 2010-01-11 22:36:12 +00:00
Alexandre Vassalotti ee936a2130 Issue #2335: Backport set literals syntax from Python 3.x. 2010-01-09 23:35:54 +00:00
Mark Dickinson 34398184eb Issue #7406: Fix some occurrences of potential signed overflow in int
arithmetic.
2009-12-02 17:33:41 +00:00
Mark Dickinson 504a151c82 Issue #6603: Fix --with-tsc build failures on x86-64 that resulted
from a gcc inline assembler peculiarity. (gcc's "A" constraint
apparently means 'rax or rdx' in 64-bit mode, not edx:eax
or rdx:rax as one might expect.)
2009-10-31 10:11:28 +00:00
Benjamin Peterson 4a3cf191f4 small optimization: avoid popping the current block until we have to 2009-07-01 23:45:19 +00:00
Benjamin Peterson 8f7b94eae9 use stack macros 2009-06-28 16:14:07 +00:00
Benjamin Peterson b8338ab92c add two generic macros for peeking and setting in the stack 2009-06-28 16:08:02 +00:00
Antoine Pitrou 46dbe27f7e Issue #5330: C functions called with keyword arguments were not reported by
the various profiling modules (profile, cProfile). Patch by Hagen Fürstenau.
2009-05-30 21:27:00 +00:00
Benjamin Peterson 1880d8b823 add a SETUP_WITH opcode
It speeds up the with statement and correctly looks up the special
methods involved.
2009-05-25 13:13:44 +00:00
Jeffrey Yasskin 655d835415 Issue #6042:
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.
2009-05-23 23:23:01 +00:00
Jeffrey Yasskin f7f858d141 Issue 5954, PyFrame_GetLineNumber:
Most uses of PyCode_Addr2Line
(http://www.google.com/codesearch?q=PyCode_Addr2Line) are just trying to get
the line number of a specified frame, but there's no way to do that directly.
Forcing people to go through the code object makes them know more about the
guts of the interpreter than they should need.

The remaining uses of PyCode_Addr2Line seem to be getting the line from a
traceback (for example,
http://www.google.com/codesearch/p?hl=en#u_9_nDrchrw/pygame-1.7.1release/src/base.c&q=PyCode_Addr2Line),
which is replaced by the tb_lineno field.  So we may be able to deprecate
PyCode_Addr2Line entirely for external use.
2009-05-08 22:23:21 +00:00
Jeffrey Yasskin 68d6852006 Backport r69961 to trunk, replacing JUMP_IF_{TRUE,FALSE} with
POP_JUMP_IF_{TRUE,FALSE} and JUMP_IF_{TRUE,FALSE}_OR_POP. This avoids executing
a POP_TOP on each conditional and sometimes allows the peephole optimizer to
skip a JUMP_ABSOLUTE entirely. It speeds up list comprehensions significantly.
2009-02-28 19:03:21 +00:00
Collin Winter 8725dce2ae Issue 5176: special-case string formatting in BINARY_MODULO implementation. This shows a modest (1-3%) speed-up in templating systems, for example. 2009-02-20 19:30:41 +00:00
Mark Dickinson 9e58a37252 Silence 'arg may be used uninitialized in this function' warning from gcc. 2009-02-08 17:33:11 +00:00