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