dadhi / dadhi/FastExpressionCompiler

Diagnostics: calculate the stack population depth after each emit to expose the problematic cases

Offen
#403 0 Kommentare 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen

Dieses Issue hat noch niemand übernommen.

Vorherrschende Sprache
C#
Sterne
1.4k
Forks
94
PR-Merge-Kennzahlen
Keine gemergten PRs in 30 T.

Beschreibung

Using the OpCode.StackBehaviourPop and OpCode.StackBehaviourPush we may calculate the stack balance in the DEBUG Demit calls. See https://source.dot.net/#System.Private.CoreLib/src/libraries/System.Private.CoreLib/src/System/Reflection/Emit/Opcode.cs,f10f1c9bbefdd170,references
Also, we may calculate the balance in the PrintIL in tests.
Then the value for System Compile and Fast Compile can be compared to see the discrepancies.

Beitragsleitfaden

Für dieses Repository ist kein Beitragsleitfaden indexiert

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 den im Issue erwähnten DEBUG Demit-Aufrufen und dem PrintIL-Testpfad und überprüfen Sie anschließend OpCode.StackBehaviourPop und OpCode.StackBehaviourPush. Berechnen Sie die Stack-Belegung nach jedem Emit und vergleichen Sie die Werte von System Compile und Fast Compile, um Abweichungen sichtbar zu machen.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Bewertung

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

Neue Issues direkt in Ihr Postfach

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