Abstract: A dynamic compiler and method of compiling code to generate a dominate path and handle exceptions. The dynamic compiler includes an execution history recorder that is configured to record the number of times a fragment of code is interpreted. When the code is interpreted a threshold number of times, the code is queued for compilation. The execution history recorder also keeps track of where transfer of control came from and where transfer of control goes to for each fragment of code that is executed, thereby allowing for compilation of a dominant path of code. If the execution of code deviates from the dominant path of compiled code (such as when an exception occurs), a fallback interpreter is utilized to interpret the fragment of code to be executed.
Type:
Grant
Filed:
May 16, 2001
Date of Patent:
July 18, 2006
Assignee:
Esmertec AG
Inventors:
Jeremy Paul Kramskoy, William Thomas Charnell, Stephen Darnell, Blaise Abel Alec Dias, Philippa Joy Guthrie, Wayne Plummer, Jeremy James Sexton, Michael John Wynn, Keith Rautenback, Stephen Paul Thomas