mirror of
https://github.com/python/cpython.git
synced 2025-08-03 08:34:29 +00:00
GH-100987: Allow objects other than code objects as the "executable" of an internal frame. (GH-105727)
* Add table describing possible executable classes for out-of-process debuggers. * Remove shim code object creation code as it is no longer needed. * Make lltrace a bit more robust w.r.t. non-standard frames.
This commit is contained in:
parent
ad56340b66
commit
7199584ac8
28 changed files with 541 additions and 606 deletions
|
@ -10405,7 +10405,7 @@ super_init_without_args(_PyInterpreterFrame *cframe, PyCodeObject *co,
|
|||
return -1;
|
||||
}
|
||||
|
||||
assert(cframe->f_code->co_nlocalsplus > 0);
|
||||
assert(_PyFrame_GetCode(cframe)->co_nlocalsplus > 0);
|
||||
PyObject *firstarg = _PyFrame_GetLocalsArray(cframe)[0];
|
||||
// The first argument might be a cell.
|
||||
if (firstarg != NULL && (_PyLocals_GetKind(co->co_localspluskinds, 0) & CO_FAST_CELL)) {
|
||||
|
@ -10498,7 +10498,7 @@ super_init_impl(PyObject *self, PyTypeObject *type, PyObject *obj) {
|
|||
"super(): no current frame");
|
||||
return -1;
|
||||
}
|
||||
int res = super_init_without_args(frame, frame->f_code, &type, &obj);
|
||||
int res = super_init_without_args(frame, _PyFrame_GetCode(frame), &type, &obj);
|
||||
|
||||
if (res < 0) {
|
||||
return -1;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue