Tier 2 trace projection does not insert necessary guards
Dieses Issue hat noch niemand übernommen.
- Vorherrschende Sprache
- Python
- Sterne
- 77.2k
- Forks
- 35.9k
- PR-Merge-Kennzahlen
- PR-Kennzahlen ausstehend
Beschreibung
Tier 2 trace projection can project traces through branches, calls, etc.
Currently we rely on the tier 1 instruction definition to perform the necessary checks, but this is flawed.
Consider a perfectly valid specialization of calls to class, that checked merely that the callable was a class.
This would be a perfectly valid instruction and will work flawlessly in tier 1, but will be wrong in a tier 2 trace that assumes a specific class.
Tier 2 trace projection needs to insert the necessary guards.
A lot of these extra guards will be redundant, but we can rely on the optimizer to remove them.
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
Lokalisieren Sie die Einstiegspunkte der Tier-2-Trace-Projektion und vergleichen Sie sie mit den Tier-1-Instruktionsdefinitionen, wobei Sie sich auf Verzweigungen und Aufrufe konzentrieren. Definieren Sie die fehlenden Guard-Fälle und überprüfen Sie anschließend, dass projizierte Traces korrekt bleiben, wenn eine Instruktion ein callable auf eine bestimmte Klasse spezialisiert, einschließlich der Abdeckung redundanter Guards, die durch die Optimierung entfernt wurden.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Bewertung
- Tech-Stack
- python
- Bereich
- compilers
- Issue-Typ
- Bug
- Schwierigkeit
- 5/5
- Geschätzter Aufwand
- Über eine Woche
- Aktivitätsstatus
- Veraltet
- Klarheit
- Muss geklärt werden
- Anfängerfreundlichkeit
- 25/100