8. 2009
• Efe Yardimci et al., Mostly static program partitioning of binary executables
• Ryan W. Moore et al., Addressing the challenges of DBT for the ARM architecture
• Borys J. Bradel et al., A study of potential parallelism among traces in Java programs
• Tobias Werth et al., Dynamic code footprint optimization for the IBM Cell Broadband Engine
• Seung Woo Son et al., A compiler-directed data prefetching scheme for chip multiprocessors
• Kim Hazelwood et al., Scalable support for multithreaded applications on dynamic binary
instrumentation systems
• Mason Chang et al., Tracing for web 3.0: trace compilation for the next generation web applications
• Andreas Gal et al., Trace-based just-in-time type specialization for dynamic languages
• Florian Brandner, Precise simulation of interrupts using a rollback mechanism
• Jason Mars et al., Scenario Based Optimization: A Framework for Statically Enabling Online
Optimizations
• Jianjun Li et al., An Evaluation of Misaligned Data Access Handling Mechanisms in Dynamic Binary
Translation Systems
• Naveen Kumar et al., Transparent Debugging of Dynamically Optimized Code
• Alessandro Pellegrini et al., Di-DyMeLoR: Logging only Dirty Chunks for Efficient Management of
Dynamic Memory Based Optimistic Simulation Objects
• Daniel Williams et al., Using program metadata to support SDT in object-oriented applications
• Carl Friedrich Bolz et al., Tracing the meta-level: PyPy's tracing JIT compiler
2010 1 8
9. • Overview of how Dynamo works
• Dynamo’s startup mechanism
•
•
•
•
•
2010 1 8
10. Overview
Dynamo only interprets the inst.
stream until a “hot” inst. seq. is
identified.
Dynamo generates an optimized
ver. of the trace(fragment) into a
software code cache(fragment
cache).
2010 1 8
12. Fragment Formation
• Trace Selection
• not accuracy, but predictability
• the amount of counter updates and counter storage
• interpretation
• Trace Optimization
• fall-through direction remains on the trace
• Fragment code generation
• emitting the fragment body
• emitting the fragment exit stubs
2010 1 8
13. Trace Selection
• interpretation > statistical PC sampling
• MRET to pick hot traces
2010 1 8