1. A dynamic compiler comprising: an execution history recorder configured to record the number of times a fragment of code is executed, the execution history recorder having a threshold; an interpreter coupled to the execution history recorder; a compiler manager coupled to the execution history recorder; and a compiler coupled to the compiler manager and arranged to create compiled fragments of code.