mirror of
https://github.com/python/cpython.git
synced 2025-07-07 19:35:27 +00:00
parent
7101cba6bf
commit
d9411ae3c2
5 changed files with 76 additions and 59 deletions
42
Python/generated_cases.c.h
generated
42
Python/generated_cases.c.h
generated
|
@ -1110,32 +1110,31 @@
|
|||
JUMP_TO_LABEL(error);
|
||||
}
|
||||
int err = 0;
|
||||
for (int i = 0; i < oparg; i++) {
|
||||
for (Py_ssize_t i = 0; i < oparg; i++) {
|
||||
_PyStackRef value = values[i];
|
||||
values[i] = PyStackRef_NULL;
|
||||
if (err == 0) {
|
||||
_PyFrame_SetStackPointer(frame, stack_pointer);
|
||||
err = PySet_Add(set_o, PyStackRef_AsPyObjectBorrow(values[i]));
|
||||
err = _PySet_AddTakeRef((PySetObject *)set_o, PyStackRef_AsPyObjectSteal(value));
|
||||
stack_pointer = _PyFrame_GetStackPointer(frame);
|
||||
}
|
||||
else {
|
||||
_PyFrame_SetStackPointer(frame, stack_pointer);
|
||||
PyStackRef_CLOSE(value);
|
||||
stack_pointer = _PyFrame_GetStackPointer(frame);
|
||||
}
|
||||
}
|
||||
_PyFrame_SetStackPointer(frame, stack_pointer);
|
||||
_PyStackRef tmp;
|
||||
for (int _i = oparg; --_i >= 0;) {
|
||||
tmp = values[_i];
|
||||
values[_i] = PyStackRef_NULL;
|
||||
PyStackRef_CLOSE(tmp);
|
||||
}
|
||||
stack_pointer = _PyFrame_GetStackPointer(frame);
|
||||
stack_pointer += -oparg;
|
||||
assert(WITHIN_STACK_BOUNDS());
|
||||
if (err != 0) {
|
||||
if (err) {
|
||||
_PyFrame_SetStackPointer(frame, stack_pointer);
|
||||
Py_DECREF(set_o);
|
||||
stack_pointer = _PyFrame_GetStackPointer(frame);
|
||||
stack_pointer += -oparg;
|
||||
assert(WITHIN_STACK_BOUNDS());
|
||||
JUMP_TO_LABEL(error);
|
||||
}
|
||||
set = PyStackRef_FromPyObjectStealMortal(set_o);
|
||||
stack_pointer[0] = set;
|
||||
stack_pointer += 1;
|
||||
stack_pointer[-oparg] = set;
|
||||
stack_pointer += 1 - oparg;
|
||||
assert(WITHIN_STACK_BOUNDS());
|
||||
DISPATCH();
|
||||
}
|
||||
|
@ -10641,17 +10640,14 @@
|
|||
v = stack_pointer[-1];
|
||||
set = stack_pointer[-2 - (oparg-1)];
|
||||
_PyFrame_SetStackPointer(frame, stack_pointer);
|
||||
int err = PySet_Add(PyStackRef_AsPyObjectBorrow(set),
|
||||
PyStackRef_AsPyObjectBorrow(v));
|
||||
stack_pointer = _PyFrame_GetStackPointer(frame);
|
||||
stack_pointer += -1;
|
||||
assert(WITHIN_STACK_BOUNDS());
|
||||
_PyFrame_SetStackPointer(frame, stack_pointer);
|
||||
PyStackRef_CLOSE(v);
|
||||
int err = _PySet_AddTakeRef((PySetObject *)PyStackRef_AsPyObjectBorrow(set),
|
||||
PyStackRef_AsPyObjectSteal(v));
|
||||
stack_pointer = _PyFrame_GetStackPointer(frame);
|
||||
if (err) {
|
||||
JUMP_TO_LABEL(error);
|
||||
JUMP_TO_LABEL(pop_1_error);
|
||||
}
|
||||
stack_pointer += -1;
|
||||
assert(WITHIN_STACK_BOUNDS());
|
||||
DISPATCH();
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue