JIT: remove all uses of _PyType_LookupByVersion in optimizer_bytecodes.c
Dieses Issue hat noch niemand übernommen.
- Vorherrschende Sprache
- Python
- Sterne
- 77.2k
- Forks
- 35.9k
- PR-Merge-Kennzahlen
- PR-Kennzahlen ausstehend
Beschreibung
Feature or enhancement
Proposal:
We should use recorded values instead, as that is not bounded by a limited-size cache, and it will be easier to make the optimizer thread safe for FT. See for example how I use recorded values for guards in this commit https://github.com/python/cpython/pull/148277/commits/8fab9d33c998d9c50a85f7705d0205aa175d03ab
Ops that need converting:
- _CHECK_ATTR_CLASS
- _GUARD_TYPE_VERSION
@NekoAsakura would you like to work on this?
Has this already been discussed elsewhere?
No response given
Links to previous discussion of this feature:
No response
Linked PRs
- gh-148394
Beitragsleitfaden
Erste Schritte
- Lies das ganze Issue und danach den Beitragsleitfaden des Projekts.
- Schreib ins Issue, dass du es übernimmst — das erspart doppelte Arbeit.
- Forke das Repository und arbeite in einem Branch.
- Öffne einen Pull Request, der die Issue-Nummer nennt.
Rechercherichtung
Beginne in optimizer_bytecodes.c und untersuche die verbleibende Verwendung von _PyType_LookupByVersion durch _CHECK_ATTR_CLASS; verwende dabei den verknüpften Commit und PR 148277 als Kontext für Guards für aufgezeichnete Werte. Prüfe PR 148394, da der Issue verknüpfte Arbeiten aufführt. Erledigt ist die Aufgabe, wenn die verbleibende aufgeführte Operation konvertiert wurde und ihre relevanten Tests erfolgreich sind.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Bewertung
- Tech-Stack
- c, python
- Bereich
- compilers
- Issue-Typ
- Feature
- Schwierigkeit
- 4/5
- Geschätzter Aufwand
- 3-5 Tage
- Aktivitätsstatus
- Veraltet
- Klarheit
- Größtenteils klar
- Anfängerfreundlichkeit
- 35/100