Close #19199: Remove ``PyThreadState.tick_counter`` field

This commit is contained in:
Victor Stinner 2013-10-09 14:53:01 +02:00
parent 210871db72
commit 8d19767403
5 changed files with 4 additions and 13 deletions

View File

@ -523,7 +523,8 @@ Deprecated Python modules, functions and methods
Deprecated functions and types of the C API Deprecated functions and types of the C API
------------------------------------------- -------------------------------------------
* None yet. * The ``PyThreadState.tick_counter`` field has been value: its value was meaningless
since Python 3.2 ("new GIL").
Deprecated features Deprecated features

View File

@ -100,16 +100,6 @@ typedef struct _ts {
PyObject *dict; /* Stores per-thread state */ PyObject *dict; /* Stores per-thread state */
/* XXX doesn't mean anything anymore (the comment below is obsolete)
=> deprecate or remove? */
/* tick_counter is incremented whenever the check_interval ticker
* reaches zero. The purpose is to give a useful measure of the number
* of interpreted bytecode instructions in a given thread. This
* extremely lightweight statistic collector may be of interest to
* profilers (like psyco.jit()), although nothing in the core uses it.
*/
int tick_counter;
int gilstate_counter; int gilstate_counter;
PyObject *async_exc; /* Asynchronous exception to raise */ PyObject *async_exc; /* Asynchronous exception to raise */

View File

@ -10,6 +10,8 @@ Projected release date: 2013-10-20
Core and Builtins Core and Builtins
----------------- -----------------
- Issue #19199: Remove ``PyThreadState.tick_counter`` field
- Fix macro expansion of _PyErr_OCCURRED(), and make sure to use it in at - Fix macro expansion of _PyErr_OCCURRED(), and make sure to use it in at
least one place so as to avoid regressions. least one place so as to avoid regressions.

View File

@ -1247,7 +1247,6 @@ PyEval_EvalFrameEx(PyFrameObject *f, int throwflag)
a try: finally: block uninterruptible. */ a try: finally: block uninterruptible. */
goto fast_next_opcode; goto fast_next_opcode;
} }
tstate->tick_counter++;
#ifdef WITH_TSC #ifdef WITH_TSC
ticked = 1; ticked = 1;
#endif #endif

View File

@ -182,7 +182,6 @@ new_threadstate(PyInterpreterState *interp, int init)
tstate->recursion_critical = 0; tstate->recursion_critical = 0;
tstate->tracing = 0; tstate->tracing = 0;
tstate->use_tracing = 0; tstate->use_tracing = 0;
tstate->tick_counter = 0;
tstate->gilstate_counter = 0; tstate->gilstate_counter = 0;
tstate->async_exc = NULL; tstate->async_exc = NULL;
#ifdef WITH_THREAD #ifdef WITH_THREAD