diff options
| author | Mark Shannon <mark@hotpy.org> | 2024-03-11 09:30:15 (GMT) |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2024-03-11 09:30:15 (GMT) |
| commit | 4e5df2013fc29ed8bdb71572f1d12ff36e7028d5 (patch) | |
| tree | 7e13e821f19e33133bcebf17225808a68a4efda0 /Python/optimizer_cases.c.h | |
| parent | 8d7fde655fbb57e393831b9f30ebba80d6da366f (diff) | |
| download | cpython-4e5df2013fc29ed8bdb71572f1d12ff36e7028d5.zip cpython-4e5df2013fc29ed8bdb71572f1d12ff36e7028d5.tar.gz cpython-4e5df2013fc29ed8bdb71572f1d12ff36e7028d5.tar.bz2 | |
GH-116468: Use constants instead of `oparg` in stack effects when `oparg` is known to be a constant. (GH-116469)
Diffstat (limited to 'Python/optimizer_cases.c.h')
| -rw-r--r-- | Python/optimizer_cases.c.h | 28 |
1 files changed, 15 insertions, 13 deletions
diff --git a/Python/optimizer_cases.c.h b/Python/optimizer_cases.c.h index c88b251..fed5730 100644 --- a/Python/optimizer_cases.c.h +++ b/Python/optimizer_cases.c.h @@ -684,13 +684,15 @@ } case _UNPACK_SEQUENCE_TWO_TUPLE: { - _Py_UopsSymbol **values; - values = &stack_pointer[-1]; - for (int _i = oparg; --_i >= 0;) { - values[_i] = sym_new_unknown(ctx); - if (values[_i] == NULL) goto out_of_space; - } - stack_pointer += -1 + oparg; + _Py_UopsSymbol *val1; + _Py_UopsSymbol *val0; + val1 = sym_new_unknown(ctx); + if (val1 == NULL) goto out_of_space; + val0 = sym_new_unknown(ctx); + if (val0 == NULL) goto out_of_space; + stack_pointer[-1] = val1; + stack_pointer[0] = val0; + stack_pointer += 1; break; } @@ -1632,8 +1634,8 @@ _Py_UopsSymbol *res; res = sym_new_unknown(ctx); if (res == NULL) goto out_of_space; - stack_pointer[-2 - oparg] = res; - stack_pointer += -1 - oparg; + stack_pointer[-3] = res; + stack_pointer += -2; break; } @@ -1641,8 +1643,8 @@ _Py_UopsSymbol *res; res = sym_new_unknown(ctx); if (res == NULL) goto out_of_space; - stack_pointer[-2 - oparg] = res; - stack_pointer += -1 - oparg; + stack_pointer[-3] = res; + stack_pointer += -2; break; } @@ -1650,8 +1652,8 @@ _Py_UopsSymbol *res; res = sym_new_unknown(ctx); if (res == NULL) goto out_of_space; - stack_pointer[-2 - oparg] = res; - stack_pointer += -1 - oparg; + stack_pointer[-3] = res; + stack_pointer += -2; break; } |
