Skip to content

Commit 141bdb9

Browse files
committed
SET_ADD (also a bit unhappy with it)
1 parent 5e433d6 commit 141bdb9

File tree

2 files changed

+10
-14
lines changed

2 files changed

+10
-14
lines changed

Python/bytecodes.c

+5-8
Original file line numberDiff line numberDiff line change
@@ -475,15 +475,12 @@ dummy_func(
475475
PREDICT(JUMP_BACKWARD);
476476
}
477477

478-
// stack effect: (__0 -- )
479-
inst(SET_ADD) {
480-
PyObject *v = POP();
481-
PyObject *set = PEEK(oparg);
482-
int err;
483-
err = PySet_Add(set, v);
478+
// Alternative: (set, unused[oparg], v -- set, unused[oparg])
479+
inst(SET_ADD, (v --)) {
480+
PyObject *set = PEEK(oparg + 1); // +1 to account for v staying on stack
481+
int err = PySet_Add(set, v);
484482
Py_DECREF(v);
485-
if (err != 0)
486-
goto error;
483+
ERROR_IF(err != 0, error);
487484
PREDICT(JUMP_BACKWARD);
488485
}
489486

Python/generated_cases.c.h

+5-6
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)