diff options
| author | Guido van Rossum <guido@python.org> | 2024-02-28 22:38:01 (GMT) |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2024-02-28 22:38:01 (GMT) |
| commit | 3409bc29c9f06051c28ae0791155e3aebd76ff2d (patch) | |
| tree | 4b627c970a2d5a4b92fc48e320dbe24e579d4eab /Python/optimizer_symbols.c | |
| parent | 75c6c05fea212330f4b0259602ffae1b2cb91be3 (diff) | |
| download | cpython-3409bc29c9f06051c28ae0791155e3aebd76ff2d.zip cpython-3409bc29c9f06051c28ae0791155e3aebd76ff2d.tar.gz cpython-3409bc29c9f06051c28ae0791155e3aebd76ff2d.tar.bz2 | |
gh-115859: Re-enable T2 optimizer pass by default (#116062)
This undoes the *temporary* default disabling of the T2 optimizer pass in gh-115860.
- Add a new test that reproduces Brandt's example from gh-115859; it indeed crashes before gh-116028 with PYTHONUOPSOPTIMIZE=1
- Re-enable the optimizer pass in T2, stop checking PYTHONUOPSOPTIMIZE
- Rename the env var to disable T2 entirely to PYTHON_UOPS_OPTIMIZE (must be explicitly set to 0 to disable)
- Fix skipIf conditions on tests in test_opt.py accordingly
- Export sym_is_bottom() (for debugging)
- Fix various things in the `_BINARY_OP_` specializations in the abstract interpreter:
- DECREF(temp)
- out-of-space check after sym_new_const()
- add sym_matches_type() checks, so even if we somehow reach a binary op with symbolic constants of the wrong type on the stack we won't trigger the type assert
Diffstat (limited to 'Python/optimizer_symbols.c')
| -rw-r--r-- | Python/optimizer_symbols.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/Python/optimizer_symbols.c b/Python/optimizer_symbols.c index 158ee67..a529cc2 100644 --- a/Python/optimizer_symbols.c +++ b/Python/optimizer_symbols.c @@ -77,7 +77,7 @@ sym_set_bottom(_Py_UopsSymbol *sym) Py_CLEAR(sym->const_val); } -static inline bool +bool _Py_uop_sym_is_bottom(_Py_UopsSymbol *sym) { if ((sym->flags & IS_NULL) && (sym->flags & NOT_NULL)) { |
