Commit Graph

1414 Commits

Author SHA1 Message Date
Antoine Pitrou f8387af262 Issue #4688: Add a heuristic so that tuples and dicts containing only
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)
2009-03-23 18:41:45 +00:00
Mark Dickinson f35f8044e4 Rewrite Py_ARITHMETIC_RIGHT_SHIFT so that it's valid for all signed
integer types T, not just those for which "unsigned T" is legal.
2009-03-20 23:16:14 +00:00
Mark Dickinson efc82f7e8e Issue #4258: Use 30-bit digits for Python longs, on 64-bit platforms.
Backport of r70459.
2009-03-20 15:51:55 +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
Benjamin Peterson 5781f32b4f remove some PyBytes_* aliases that are not in 3.x 2009-02-16 21:09:09 +00:00
Mark Dickinson bcf6b18eb7 A few more minor fixes in longobject.c 2009-02-15 15:48:39 +00:00
Mark Dickinson 2ffb26fb83 Issue #5260: Various portability and standards compliance fixes, optimizations
and cleanups in Objects/longobject.c.  The most significant change is that
longs now use less memory:  average savings are 2 bytes per long on 32-bit
systems and 6 bytes per long on 64-bit systems.  (This memory saving already
exists in py3k.)
2009-02-15 10:13:41 +00:00
Hirokazu Yamamoto bcd3ea86a3 Issue #5204: Define _PyVerify_fd on VC6 to make
test_fdopen (test_os.py) pass.
2009-02-11 04:13:06 +00:00
Kristján Valur Jónsson 6a743d3694 Issue 4804. Add a function to test the validity of file descriptors on Windows, and stop using global runtime settings to silence the warnings / assertions. 2009-02-10 13:32:24 +00:00
Mark Dickinson c97c9096ed Issue #4575: fix Py_IS_INFINITY macro to work correctly on x87 FPUs.
It now forces its argument to double before testing for infinity.
2009-02-09 14:18:43 +00:00
Raymond Hettinger b516370bcb Issue 1242657: list(obj) can swallow KeyboardInterrupt. 2009-02-02 21:50:13 +00:00
Amaury Forgeot d'Arc a40d573664 #3720: Interpreter crashes when an evil iterator removes its own next function.
Now the slot is filled with a function that always raises.

Will not backport: extensions compiled with 2.6.x would not run on 2.6.0.
2009-01-12 23:36:55 +00:00
Jeffrey Yasskin d89f5b20b2 Fix issue 4884, preventing a crash in the socket code when python is compiled
with llvm-gcc and run with a glibc <2.10.
2009-01-09 16:47:07 +00:00
Marc-André Lemburg 3741bfdd3c Fix #4846 (Py_UNICODE_ISSPACE causes linker error) by moving the declaration
into the extern "C" section.

Add a few more comments and apply some minor edits to make the file contents
fit the original structure again.
2009-01-05 19:43:35 +00:00
Mark Dickinson 1bf6401ab2 Use C99 'isfinite' macro in preference to BSD-derived 'finite' function. 2009-01-04 19:53:00 +00:00
Mark Dickinson 0ebfedf38e Fix HAVE_DECL_ISINF/ISNAN test (again). 2009-01-04 17:02:05 +00:00
Mark Dickinson 41fbae1ac9 Oops. Need to check not only that HAVE_DECL_ISINF is defined, but also
that it's equal to 1.  (If isinf isn't defined, HAVE_DECL_ISINF is
defined to be 0, rather than being undefined.)
2009-01-04 16:06:40 +00:00
Mark Dickinson d181e3a246 isinf and isnan are macros, not functions; fix configure script
to use AC_CHECK_DECLS instead of AC_CHECK_FUNCS for these.
(See discussion in issue #4506)
2009-01-04 13:57:26 +00:00
Benjamin Peterson fd9633ed36 fix WORD_BIGEDIAN declaration in Universal builds; fixes #4060 and #4728 2008-12-28 15:37:31 +00:00
Alexandre Vassalotti a925bed208 Sort UCS-2/UCS-4 name mangling list. 2008-12-28 02:10:35 +00:00
Alexandre Vassalotti d8f8ee4af8 Fix name mangling of PyUnicode_ClearFreeList. 2008-12-28 01:52:58 +00:00
Antoine Pitrou d0c3515bc5 Issue #2183: Simplify and optimize bytecode for list comprehensions. 2008-12-17 00:38:28 +00:00
Benjamin Peterson 44a90c95ce move unprefixed error into .c file 2008-10-30 23:59:18 +00:00
Amaury Forgeot d'Arc 07d539d08b #4122: On Windows, Py_UNICODE_ISSPACE cannot be used in an extension module:
compilation fails with "undefined reference to _Py_ascii_whitespace"

Will backport to 2.6.
2008-10-14 21:47:22 +00:00
Barry Warsaw 12582c9225 Bump to 2.7a0 2008-10-02 03:33:51 +00:00
Barry Warsaw afa1436958 Bumping to 2.6 final. 2008-10-01 21:46:40 +00:00
Andrew MacIntyre 41c56b5ea1 build_os2emx.patch in issue 3868 - update OS/2 EMX makefile and config files
Part of source_os2emx.patch in issue 3868:
  Include/pystrcmp.h:  OS/2 has same C APIs as Windows
  Lib/test/test_io.py: OS/2 has same behaviour as Windows for this test

Reviewed by Amaury Forgeot d'Arc
2008-09-22 14:23:45 +00:00
Barry Warsaw 0c5ca57369 done with 2.6rc2 2008-09-18 05:34:31 +00:00
Barry Warsaw 6af16190f6 Bumping to 2.6rc2 2008-09-18 04:33:43 +00:00
Barry Warsaw dfd6b86d6b post release updates 2008-09-13 01:12:18 +00:00
Barry Warsaw f5f9d99974 Fix the release level 2008-09-12 23:35:48 +00:00
Barry Warsaw 1e62aec3ed Bumping to 2.6rc1 2008-09-12 23:25:57 +00:00
Antoine Pitrou d4ae97bc38 #3668: When PyArg_ParseTuple correctly parses a s* format, but raises an
exception afterwards (for a subsequent parameter), the user code will
not call PyBuffer_Release() and memory will leak.

Reviewed by Amaury Forgeot d'Arc.
2008-08-29 18:39:48 +00:00
Antoine Pitrou 0668c62677 Issue #2534: speed up isinstance() and issubclass() by 50-70%, so as to
match Python 2.5 speed despite the __instancecheck__ / __subclasscheck__
mechanism. In the process, fix a bug where isinstance() and issubclass(),
when given a tuple of classes as second argument, were looking up
__instancecheck__ / __subclasscheck__ on the tuple rather than on each
type object.

Reviewed by Benjamin Peterson and Raymond Hettinger.
2008-08-26 22:42:08 +00:00
Benjamin Peterson 14cb6bcf2b sort of backport 66038 by aliasing PyObject_Bytes to PyObject_Str 2008-08-26 17:08:40 +00:00
Barry Warsaw 6a0b559d26 done with the release 2008-08-21 02:12:56 +00:00
Barry Warsaw 07a4a3851d Bump to 2.6b3. 2008-08-21 01:15:08 +00:00
Guido van Rossum 69ed1011aa Hopeful fix for issue 1878: remove Py_TPFLAGS_HAVE_VERSION_TAG from
Py_TPFLAGS_DEFAULT when not building the core.
2008-08-19 20:13:02 +00:00
Benjamin Peterson 6b094a4258 fix a little typo 2008-08-19 19:27:53 +00:00
Benjamin Peterson 025d9392a6 fix compile errors 2008-08-17 01:27:30 +00:00
Benjamin Peterson e0d4c7b5bd expose PySTEntry.nested so the symtable module will work 2008-08-17 01:09:17 +00:00
Martin v. Löwis f91d46a17d Issue #3139: Make buffer-interface thread-safe wrt. PyArg_ParseTuple,
by denying s# to parse objects that have a releasebuffer procedure,
and introducing s*.

More module might need to get converted to use s*.
2008-08-12 14:49:50 +00:00
Gregory P. Smith 0470bab697 Issue #2620: Overflow checking when allocating or reallocating memory
was not always being done properly in some python types and extension
modules.  PyMem_MALLOC, PyMem_REALLOC, PyMem_NEW and PyMem_RESIZE have
all been updated to perform better checks and places in the code that
would previously leak memory on the error path when such an allocation
failed have been fixed.
2008-07-22 04:46:32 +00:00
Barry Warsaw ecb8c7991d Post release cleanup 2008-07-18 03:36:18 +00:00
Barry Warsaw daddf03f77 Bumping to 2.6b2 2008-07-18 03:20:07 +00:00
Nick Coghlan 53663a695e Issue 2235: __hash__ is once again inherited by default, but inheritance can be blocked explicitly so that collections.Hashable remains meaningful 2008-07-15 14:27:37 +00:00
Alexandre Vassalotti 8d412f36b5 Issue #3274: Use a less common identifier for the temporary variable
in Py_CLEAR().
2008-07-13 20:42:44 +00:00
Amaury Forgeot d'Arc 2252d11c08 #3342: In tracebacks, printed source lines were not indented since r62555.
#3343: Py_DisplaySourceLine should be a private function. Rename it to _Py_DisplaySourceLine.
2008-07-11 21:45:06 +00:00
Gregory P. Smith 2fe77060eb - Issue #2862: Make int and float freelist management consistent with other
freelists.  Changes their CompactFreeList apis into ClearFreeList apis and
  calls them via gc.collect().
2008-07-06 03:35:58 +00:00
Raymond Hettinger 9c437af4eb Revert 64424, 64438, and 64439. 2008-06-24 22:46:07 +00:00