python / python/cpython

Make it possible for the jit to deopt to tier1 upon interrupts

Offen
#132,532 0 Kommentare 1 Reaktion 0 zugewiesene Personen Auf GitHub ansehen

Dieses Issue hat noch niemand übernommen.

interpreter-core type-feature
Vorherrschende Sprache
Python
Sterne
77.2k
Forks
35.9k
PR-Merge-Kennzahlen
PR-Kennzahlen ausstehend

Beschreibung

Make CHECK_PERIODIC a separate instruction, use it instead of the _CHECK_PERIODIC uops for calls.
Then the JIT can safely abort the check instruction. For jumps we don't need to do this because the top appears before the jump instruction has any side effect on program state.

Linked PRs
  • gh-132533
  • gh-135772
  • gh-137098

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

Beginnen Sie mit der CHECK_PERIODIC-Anweisung und den _CHECK_PERIODIC uops für die im Issue beschriebenen Aufrufe. Prüfen Sie anschließend die verknüpften PRs 132533, 135772 und 137098 auf die aktuelle Implementierung. Die Arbeit ist abgeschlossen, wenn der JIT die Prüfanweisung bei Interrupts sicher abbrechen und auf tier1 deopt kann, während die Sprungbehandlung unverändert bleibt.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Bewertung

Tech-Stack
python
Bereich
compilers
Issue-Typ
Feature
Schwierigkeit
4/5
Geschätzter Aufwand
3-5 Tage
Aktivitätsstatus
Veraltet
Klarheit
Größtenteils klar
Anfängerfreundlichkeit
20/100

Neue Issues direkt in Ihr Postfach

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