Kaydet (Commit) 8d197674 authored tarafından Victor Stinner's avatar Victor Stinner

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

üst 210871db
...@@ -523,7 +523,8 @@ Deprecated Python modules, functions and methods ...@@ -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
......
...@@ -100,16 +100,6 @@ typedef struct _ts { ...@@ -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 */
......
...@@ -10,6 +10,8 @@ Projected release date: 2013-10-20 ...@@ -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.
......
...@@ -1247,7 +1247,6 @@ PyEval_EvalFrameEx(PyFrameObject *f, int throwflag) ...@@ -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
......
...@@ -182,7 +182,6 @@ new_threadstate(PyInterpreterState *interp, int init) ...@@ -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
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment