python / python/cpython

JIT: remove all uses of _PyType_LookupByVersion in optimizer_bytecodes.c

Offen
#148,380 4 Kommentare 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen

Dieses Issue hat noch niemand übernommen.

interpreter-core topic-JIT type-feature type-refactor
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

Beitragsleitfaden öffnen

Erste Schritte

  1. Lies das ganze Issue und danach den Beitragsleitfaden des Projekts.
  2. Schreib ins Issue, dass du es übernimmst — das erspart doppelte Arbeit.
  3. Forke das Repository und arbeite in einem Branch.
  4. Ö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

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.