Eric Snow
2ebc5ce42a
bpo-30860: Consolidate stateful runtime globals. ( #3397 )
...
* group the (stateful) runtime globals into various topical structs
* consolidate the topical structs under a single top-level _PyRuntimeState struct
* add a check-c-globals.py script that helps identify runtime globals
Other globals are excluded (see globals.txt and check-c-globals.py).
2017-09-07 23:51:28 -06:00
Eric Snow
05351c1bd8
Revert "bpo-30860: Consolidate stateful runtime globals." ( #3379 )
...
Windows buildbots started failing due to include-related errors.
2017-09-05 21:43:08 -07:00
Eric Snow
76d5abc868
bpo-30860: Consolidate stateful runtime globals. ( #2594 )
...
* group the (stateful) runtime globals into various topical structs
* consolidate the topical structs under a single top-level _PyRuntimeState struct
* add a check-c-globals.py script that helps identify runtime globals
Other globals are excluded (see globals.txt and check-c-globals.py).
2017-09-05 18:26:16 -07:00
Serhiy Storchaka
9326028115
Issue #20185 : Converted the gc module to Argument Clinic.
2017-02-04 11:19:59 +02:00
Serhiy Storchaka
228b12edcc
Issue #28999 : Use Py_RETURN_NONE, Py_RETURN_TRUE and Py_RETURN_FALSE wherever
...
possible. Patch is writen with Coccinelle.
2017-01-23 09:47:21 +02:00
Victor Stinner
de4ae3d486
Backed out changeset b9c9691c72c5
...
Issue #28858 : The change b9c9691c72c5 introduced a regression. It seems like
_PyObject_CallArg1() uses more stack memory than
PyObject_CallFunctionObjArgs().
2016-12-04 22:59:09 +01:00
Victor Stinner
27580c1fb5
Replace PyObject_CallFunctionObjArgs() with fastcall
...
* PyObject_CallFunctionObjArgs(func, NULL) => _PyObject_CallNoArg(func)
* PyObject_CallFunctionObjArgs(func, arg, NULL) => _PyObject_CallArg1(func, arg)
PyObject_CallFunctionObjArgs() allocates 40 bytes on the C stack and requires
extra work to "parse" C arguments to build a C array of PyObject*.
_PyObject_CallNoArg() and _PyObject_CallArg1() are simpler and don't allocate
memory on the C stack.
This change is part of the fastcall project. The change on listsort() is
related to the issue #23507 .
2016-12-01 14:43:22 +01:00
Łukasz Langa
fef7e94fa1
Don't run garbage collection on interpreter exit if it was explicitly disabled
...
by the user.
2016-09-09 21:47:46 -07:00
Łukasz Langa
a785c87d6e
DTrace support: function calls, GC activity, line execution
...
Tested on macOS 10.11 dtrace, Ubuntu 16.04 SystemTap, and libbcc.
Largely based by an initial patch by Jesús Cea Avión, with some
influence from Dave Malcolm's SystemTap patch and Nikhil Benesch's
unification patch.
Things deliberately left out for simplicity:
- ustack helpers, I have no way of testing them at this point since
they are Solaris-specific
- PyFrameObject * in function__entry/function__return, this is
SystemTap-specific
- SPARC support
- dynamic tracing
- sys module dtrace facility introspection
All of those might be added later.
2016-09-09 17:37:37 -07:00
Yury Selivanov
eb6364557f
Issue #28003 : Implement PEP 525 -- Asynchronous Generators.
2016-09-08 22:01:51 -07:00
Serhiy Storchaka
ef1585eb9a
Issue #25923 : Added more const qualifiers to signatures of static and private functions.
2015-12-25 20:01:53 +02:00
Victor Stinner
7181dec3f1
Issue #22117 : The gc module now uses _PyTime_t timestamp
2015-03-27 17:47:53 +01:00
Victor Stinner
ae58649721
Issue #22043 : time.monotonic() is now always available
...
threading.Lock.acquire(), threading.RLock.acquire() and socket operations now
use a monotonic clock, instead of the system clock, when a timeout is used.
2014-09-02 23:18:25 +02:00
Antoine Pitrou
ded3c1b837
Cleanup other stats formatting code in gcmodule.c
2014-05-24 19:24:40 +02:00
Antoine Pitrou
40f6b121c5
Issue #21555 : simplify code in gcmodule.c by using the pytime.h functions instead of trying to call time.time() via the C API.
...
Patch by Geoffrey Spear.
2014-05-24 19:21:53 +02:00
Tim Peters
983c1065fe
Merge from 3.4.
...
Issue #21435 : Segfault in gc with cyclic trash
Changed the iteration logic in finalize_garbage() to tolerate objects vanishing
from the list as a side effect of executing a finalizer.
2014-05-08 17:43:25 -05:00
Tim Peters
5fbc7b12f7
Issue #21435 : Segfault in gc with cyclic trash
...
Changed the iteration logic in finalize_garbage() to tolerate objects vanishing
from the list as a side effect of executing a finalizer.
2014-05-08 17:42:19 -05:00
Victor Stinner
db067af12a
Issue #21233 : Add new C functions: PyMem_RawCalloc(), PyMem_Calloc(),
...
PyObject_Calloc(), _PyObject_GC_Calloc(). bytes(int) and bytearray(int) are now
using ``calloc()`` instead of ``malloc()`` for large objects which is faster
and use less memory (until the bytearray buffer is filled with data).
2014-05-02 22:31:14 +02:00
Serhiy Storchaka
ab0ac27d24
Issue #20315 : Removed support for backward compatibility with early 2.x versions.
...
Removed backward compatibility alias curses.window.nooutrefresh which should
be removed in 2.3.
2014-01-20 21:35:06 +02:00
Serhiy Storchaka
7e52705ee3
Issue #20315 : Removed support for backward compatibility with early 2.x versions.
2014-01-20 21:29:31 +02:00
R David Murray
0e814634e5
whatsnew for gc.get_stats, plus doc tweaks.
...
Clarified the "At the moment" wording, and added the get_stats entry in the
module summary that Serhiy noted was missing at the end of issue 16351.
Given that pydoc lists all the function docstrings, I'm not sure that module
summary section is actually needed; but, it is probably better to address that
when the module is converted to use Argument Clinic. In the meantime we
should keep the list complete.
2013-12-26 15:11:28 -05:00
Gregory P. Smith
b1792d9503
remove trailing spaces.
2013-12-18 11:27:05 -08:00
Antoine Pitrou
c69c9bc24b
Replace an overly optimistic assert() in _PyGC_CollectNoFail with a simple guard.
2013-08-15 20:15:15 +02:00
Antoine Pitrou
257cf2fb83
In _PyGC_Fini(), lose the reference that was kept to the time module
2013-08-06 20:50:48 +02:00
Antoine Pitrou
796564c27b
Issue #18112 : PEP 442 implementation (safe object finalization).
2013-07-30 19:59:21 +02:00
Victor Stinner
5d1866c78a
Issue #18408 : PyObject_GC_NewVar() now raises SystemError exception if nitems
...
is negative
2013-07-08 22:17:52 +02:00
Victor Stinner
c1eb26cd2f
gcmodule.c: strip trailing spaces
2013-07-08 22:15:05 +02:00
Antoine Pitrou
fef34e3186
Issue #17937 : Try harder to collect cyclic garbage at shutdown.
2013-05-19 01:11:58 +02:00
Antoine Pitrou
9396356948
Backout c89febab4648 following private feedback by Guido.
...
(Issue #17807 : Generators can now be finalized even when they are part of a reference cycle)
2013-05-14 20:37:52 +02:00
Antoine Pitrou
04e70d19e7
Issue #17807 : Generators can now be finalized even when they are part of a reference cycle.
2013-05-08 18:12:35 +02:00
Antoine Pitrou
070cb3c9be
Issue #1545463 : At shutdown, defer finalization of codec modules so that stderr remains usable.
...
(should fix Windows buildbot failures on test_gc)
2013-05-08 13:23:25 +02:00
Antoine Pitrou
5f454a07a0
Issue #1545463 : Global variables caught in reference cycles are now garbage-collected at shutdown.
2013-05-06 21:15:57 +02:00
Antoine Pitrou
d4156c1693
Issue #16351 : New function gc.get_stats() returns per-generation collection statistics.
2012-10-30 22:43:19 +01:00
Antoine Pitrou
1cfe7d9a84
Issue #14775 : Fix a potential quadratic dict build-up due to the garbage collector repeatedly trying to untrack dicts.
...
Additional comments by Tim Silk.
2012-05-28 22:23:42 +02:00
Antoine Pitrou
e1ad3dac3d
Issue #14775 : Fix a potential quadratic dict build-up due to the garbage collector repeatedly trying to untrack dicts.
...
Additional comments by Tim Silk.
2012-05-28 22:22:34 +02:00
Kristján Valur Jónsson
69c635266e
Issue #10576 : Add a progress callback to gcmodule
2012-04-15 11:41:32 +00:00
Kristján Valur Jónsson
e638513856
Remove unused variable from gcmodule.c. The code no longer tests for the
...
presence of a __del__ attribute on objects, rather it uses the tp_del slot.
2012-04-08 13:56:25 +00:00
Antoine Pitrou
093ce9cd8c
Issue #6695 : Full garbage collection runs now clear the freelist of set objects.
...
Initial patch by Matthias Troffaes.
2011-12-16 11:24:27 +01:00
Antoine Pitrou
9a812cbc89
Issue #13389 : Full garbage collection passes now clear the freelists for
...
list and dict objects. They already cleared other freelists in the
interpreter.
2011-11-15 00:00:12 +01:00
Martin v. Löwis
bd928fef42
Rename _Py_identifier to _Py_IDENTIFIER.
2011-10-14 10:20:37 +02:00
Martin v. Löwis
afe55bba33
Add API for static strings, primarily good for identifiers.
...
Thanks to Konrad Schöbel and Jasper Schulz for helping with the mass-editing.
2011-10-09 10:38:36 +02:00
Victor Stinner
499dfcf29d
Issue #10833 : Use PyUnicode_FromFormat() and PyErr_Format() instead of
...
PyOS_snprintf().
2011-03-21 13:26:24 +01:00
Antoine Pitrou
23683ef26d
Issue #10333 : Remove ancient GC API, which has been deprecated since
...
Python 2.2.
2011-01-04 00:00:31 +00:00
Antoine Pitrou
b5d8204f0f
Issue #10279 : fix test_gc under Win64.
2010-11-05 00:05:25 +00:00
Georg Brandl
08be72d0aa
Add a new warning gategory, ResourceWarning, as discussed on python-dev. It is silent by default,
...
except when configured --with-pydebug.
Emit this warning from the GC shutdown procedure, rather than just printing to stderr.
2010-10-24 15:11:22 +00:00
Antoine Pitrou
2ed94eb520
Do not print additional shutdown message when gc.DEBUG_SAVEALL is set
2010-09-14 09:48:39 +00:00
Antoine Pitrou
696e03553b
Issue #477863 : Print a warning at shutdown if gc.garbage is not empty.
2010-08-08 22:18:46 +00:00
Antoine Pitrou
f95a1b3c53
Recorded merge of revisions 81029 via svnmerge from
...
svn+ssh://pythondev@svn.python.org/python/trunk
........
r81029 | antoine.pitrou | 2010-05-09 16:46:46 +0200 (dim., 09 mai 2010) | 3 lines
Untabify C files. Will watch buildbots.
........
2010-05-09 15:52:27 +00:00
Antoine Pitrou
6e20a1bdf0
Merged revisions 80704 via svnmerge from
...
svn+ssh://pythondev@svn.python.org/python/trunk
........
r80704 | antoine.pitrou | 2010-05-02 21:51:14 +0200 (dim., 02 mai 2010) | 4 lines
Issue #4687 : Fix accuracy of garbage collection runtimes displayed with
gc.DEBUG_STATS.
........
2010-05-02 19:59:47 +00:00
Benjamin Peterson
1baf465d27
Merged revisions 76847,76851,76869,76882,76891-76892,76924,77007,77070,77092,77096,77120,77126,77155 via svnmerge from
...
svn+ssh://pythondev@svn.python.org/python/trunk
........
r76847 | benjamin.peterson | 2009-12-14 21:25:27 -0600 (Mon, 14 Dec 2009) | 1 line
adverb
........
r76851 | benjamin.peterson | 2009-12-15 21:28:52 -0600 (Tue, 15 Dec 2009) | 1 line
remove lib2to3 resource
........
r76869 | vinay.sajip | 2009-12-17 08:52:00 -0600 (Thu, 17 Dec 2009) | 1 line
Issue #7529 : logging: Minor correction to documentation.
........
r76882 | georg.brandl | 2009-12-19 11:30:28 -0600 (Sat, 19 Dec 2009) | 1 line
#7527 : use standard versionadded tags.
........
r76891 | georg.brandl | 2009-12-19 12:16:31 -0600 (Sat, 19 Dec 2009) | 1 line
#7479 : add note about function availability on Unices.
........
r76892 | georg.brandl | 2009-12-19 12:20:18 -0600 (Sat, 19 Dec 2009) | 1 line
#7480 : remove tautology.
........
r76924 | georg.brandl | 2009-12-20 08:28:05 -0600 (Sun, 20 Dec 2009) | 1 line
Small indentation fix.
........
r77007 | gregory.p.smith | 2009-12-23 03:31:11 -0600 (Wed, 23 Dec 2009) | 3 lines
Fix possible integer overflow in lchown and fchown functions. For issue1747858.
........
r77070 | amaury.forgeotdarc | 2009-12-27 14:06:44 -0600 (Sun, 27 Dec 2009) | 2 lines
Fix a typo in comment
........
r77092 | georg.brandl | 2009-12-28 02:48:24 -0600 (Mon, 28 Dec 2009) | 1 line
#7404 : remove reference to non-existing example files.
........
r77096 | benjamin.peterson | 2009-12-28 14:51:17 -0600 (Mon, 28 Dec 2009) | 1 line
document new fix_callable behavior
........
r77120 | georg.brandl | 2009-12-29 15:09:17 -0600 (Tue, 29 Dec 2009) | 1 line
#7595 : fix typo in argument default constant.
........
r77126 | amaury.forgeotdarc | 2009-12-29 17:06:17 -0600 (Tue, 29 Dec 2009) | 2 lines
#7579 : Add docstrings to the msvcrt module
........
r77155 | georg.brandl | 2009-12-30 13:03:00 -0600 (Wed, 30 Dec 2009) | 1 line
We only support Windows NT derivatives now.
........
2009-12-31 03:11:23 +00:00