mirror of
https://github.com/python/cpython.git
synced 2025-08-23 10:16:01 +00:00
gh-117139: Fix a few wrong steals in bytecodes.c (GH-121127)
Fix a few wrong steals in bytecodes.c
This commit is contained in:
parent
2894aa14f2
commit
e6543daf12
4 changed files with 33 additions and 33 deletions
16
Python/generated_cases.c.h
generated
16
Python/generated_cases.c.h
generated
|
@ -4667,7 +4667,7 @@
|
|||
next_instr += 1;
|
||||
INSTRUCTION_STATS(LOAD_FAST);
|
||||
_PyStackRef value;
|
||||
assert(PyStackRef_AsPyObjectBorrow(GETLOCAL(oparg)) != NULL);
|
||||
assert(!PyStackRef_IsNull(GETLOCAL(oparg)));
|
||||
value = PyStackRef_DUP(GETLOCAL(oparg));
|
||||
stack_pointer[0] = value;
|
||||
stack_pointer += 1;
|
||||
|
@ -5359,7 +5359,7 @@
|
|||
exc_value = stack_pointer[-1];
|
||||
_PyErr_StackItem *exc_info = tstate->exc_info;
|
||||
Py_XSETREF(exc_info->exc_value,
|
||||
PyStackRef_AsPyObjectBorrow(exc_value) == Py_None
|
||||
PyStackRef_Is(exc_value, PyStackRef_None)
|
||||
? NULL : PyStackRef_AsPyObjectSteal(exc_value));
|
||||
stack_pointer += -1;
|
||||
assert(WITHIN_STACK_BOUNDS());
|
||||
|
@ -5876,7 +5876,7 @@
|
|||
v = stack_pointer[-1];
|
||||
set = stack_pointer[-2 - (oparg-1)];
|
||||
int err = PySet_Add(PyStackRef_AsPyObjectBorrow(set),
|
||||
PyStackRef_AsPyObjectSteal(v));
|
||||
PyStackRef_AsPyObjectBorrow(v));
|
||||
PyStackRef_CLOSE(v);
|
||||
if (err) goto pop_1_error;
|
||||
stack_pointer += -1;
|
||||
|
@ -5977,7 +5977,7 @@
|
|||
{
|
||||
PyObject *name = GETITEM(FRAME_CO_NAMES, oparg);
|
||||
int err = PyObject_SetAttr(PyStackRef_AsPyObjectBorrow(owner),
|
||||
name, PyStackRef_AsPyObjectSteal(v));
|
||||
name, PyStackRef_AsPyObjectBorrow(v));
|
||||
PyStackRef_CLOSE(v);
|
||||
PyStackRef_CLOSE(owner);
|
||||
if (err) goto pop_2_error;
|
||||
|
@ -6215,9 +6215,9 @@
|
|||
if (true) goto pop_1_error;
|
||||
}
|
||||
if (PyDict_CheckExact(ns))
|
||||
err = PyDict_SetItem(ns, name, PyStackRef_AsPyObjectSteal(v));
|
||||
err = PyDict_SetItem(ns, name, PyStackRef_AsPyObjectBorrow(v));
|
||||
else
|
||||
err = PyObject_SetItem(ns, name, PyStackRef_AsPyObjectSteal(v));
|
||||
err = PyObject_SetItem(ns, name, PyStackRef_AsPyObjectBorrow(v));
|
||||
PyStackRef_CLOSE(v);
|
||||
if (err) goto pop_1_error;
|
||||
stack_pointer += -1;
|
||||
|
@ -6244,7 +6244,7 @@
|
|||
err = 1;
|
||||
}
|
||||
else {
|
||||
err = PyObject_SetItem(PyStackRef_AsPyObjectBorrow(container), slice, PyStackRef_AsPyObjectSteal(v));
|
||||
err = PyObject_SetItem(PyStackRef_AsPyObjectBorrow(container), slice, PyStackRef_AsPyObjectBorrow(v));
|
||||
Py_DECREF(slice);
|
||||
}
|
||||
PyStackRef_CLOSE(v);
|
||||
|
@ -6285,7 +6285,7 @@
|
|||
v = stack_pointer[-3];
|
||||
{
|
||||
/* container[sub] = v */
|
||||
int err = PyObject_SetItem(PyStackRef_AsPyObjectBorrow(container), PyStackRef_AsPyObjectSteal(sub), PyStackRef_AsPyObjectSteal(v));
|
||||
int err = PyObject_SetItem(PyStackRef_AsPyObjectBorrow(container), PyStackRef_AsPyObjectBorrow(sub), PyStackRef_AsPyObjectBorrow(v));
|
||||
PyStackRef_CLOSE(v);
|
||||
PyStackRef_CLOSE(container);
|
||||
PyStackRef_CLOSE(sub);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue