Mercurial > cpython-lru_cache-weakref
diff Python/ceval.c @ 25633:efa9a86464d3 2.2
This is Armin Rigo's patch:
[ 617309 ] getframe hook (Psyco #1)
Forward port candidate.
| author | Michael W. Hudson <mwh@python.net> |
|---|---|
| date | Mon, 07 Oct 2002 09:47:21 +0000 |
| parents | 4ca32e4f7839 |
| children | be99f5970688 |
line wrap: on
line diff
--- a/Python/ceval.c Mon Oct 07 09:40:20 2002 +0000 +++ b/Python/ceval.c Mon Oct 07 09:47:21 2002 +0000 @@ -2949,10 +2949,9 @@ PyObject * PyEval_GetBuiltins(void) { - PyThreadState *tstate = PyThreadState_Get(); - PyFrameObject *current_frame = tstate->frame; + PyFrameObject *current_frame = (PyFrameObject *)PyEval_GetFrame(); if (current_frame == NULL) - return tstate->interp->builtins; + return PyThreadState_Get()->interp->builtins; else return current_frame->f_builtins; } @@ -2960,7 +2959,7 @@ PyObject * PyEval_GetLocals(void) { - PyFrameObject *current_frame = PyThreadState_Get()->frame; + PyFrameObject *current_frame = (PyFrameObject *)PyEval_GetFrame(); if (current_frame == NULL) return NULL; PyFrame_FastToLocals(current_frame); @@ -2970,7 +2969,7 @@ PyObject * PyEval_GetGlobals(void) { - PyFrameObject *current_frame = PyThreadState_Get()->frame; + PyFrameObject *current_frame = (PyFrameObject *)PyEval_GetFrame(); if (current_frame == NULL) return NULL; else @@ -2980,21 +2979,21 @@ PyObject * PyEval_GetFrame(void) { - PyFrameObject *current_frame = PyThreadState_Get()->frame; - return (PyObject *)current_frame; + PyThreadState *tstate = PyThreadState_Get(); + return _PyThreadState_GetFrame((PyObject *)tstate); } int PyEval_GetRestricted(void) { - PyFrameObject *current_frame = PyThreadState_Get()->frame; + PyFrameObject *current_frame = (PyFrameObject *)PyEval_GetFrame(); return current_frame == NULL ? 0 : current_frame->f_restricted; } int PyEval_MergeCompilerFlags(PyCompilerFlags *cf) { - PyFrameObject *current_frame = PyThreadState_Get()->frame; + PyFrameObject *current_frame = (PyFrameObject *)PyEval_GetFrame(); int result = 0; if (current_frame != NULL) {
