@MASTERSTHESIS\{IMM2012-06276, author = "A. Handler", title = "Cycle-accurate Benchmarking of JavaScript Programs", year = "2012", school = "Technical University of Denmark, {DTU} Informatics, {E-}mail: reception@imm.dtu.dk", address = "Asmussens Alle, Building 305, {DK-}2800 Kgs. Lyngby, Denmark", type = "", note = "Supervised by Associate Professor Christian Probst, probst@imm.dtu.dk, {DTU} Informatics, and Sven Karlsson, ska@imm.dtu.dk, {DTU} Informatics", url = "http://www.imm.dtu.dk/English.aspx", abstract = "JavaScript is the language for building web applications. To meet the demand for a good user experience, when using todays fast growing web applications, JavaScript engines needs to be highly optimized. In order to optimize the JavaScript engines, analysis of the consumed execution time is essential. To gather execution time information, this thesis provides a framework to benchmark JavaScript applications as accurately as possible. The timings are collected at instruction level using full-system simulation. As the user experience is depended on the wall clock execution time, the entire software stack is simulated. The high accuracy is obtained by using the cycle accurate x86 64-bit instruction set simulator gem5. The simulated system consists of a Gentoo Linux system with WebKit and JavaScriptCore for the JavaScript execution. Several extensions were made to gem5 in order to gather the detailed timing information." }