Stopový strom - Trace tree

A stopový strom je datová struktura který se používá při běhové kompilaci programovací kód. Trasovací stromy se používají v typu kompilátoru „just in time“, který sleduje kód prováděný během hotspotů a kompiluje jej. Po opětovném zadání těchto hotspotů se místo toho spustí zkompilovaný kód. Sleduje každý provedený příkaz, a to i v rámci jiného volání funkcí a je zkompilována celá tato cesta spuštění. To se liší od kompilace jednotlivých funkcí. Kompilátor může získat více informací pro optimalizátor operovat a odstranit část režie hovorů. Kdykoli kompilovaný kód provede volání kódu, který nebyl jitován, je volán tlumočník, aby pokračoval.

Reference

  • Bala, Vasanth; Duesterwald, Evelyn; Banerjia, Sanjeev (červen 1999), Transparentní dynamická optimalizace: Návrh a implementace Dynama
  • Gal, Andreas; Franz, Michael (listopad 2006), Přírůstkové dynamické generování kódu se stopovými stromy (PDF)
  • Gal, Andreas; Bebenita, Michael; Chang, Mason; Franz, Michael (říjen 2007), Explicitní tvorba kompilace „Pipeline“: Dynamická kompilace pomocí serializace trasovacího stromu (PDF)
  • Double, Chris (únor 2008), Rychlý úvod do trasování tamarinů
  • Chang, Mason (12. ledna 2009), Rozdíl mezi rozšířenými základními bloky a stopami
  • Bolz, Carl Friedrich (2. března 2009), Blog PyPy: Aplikování sledovacího JIT na tlumočníka