Show simple item record

dc.contributor.advisorJanapa Reddi, Vijay
dc.creatorSrikanth, Adityaen
dc.date.accessioned2013-10-09T20:51:40Zen
dc.date.issued2013-05en
dc.date.submittedMay 2013en
dc.identifier.urihttp://hdl.handle.net/2152/21520en
dc.descriptiontexten
dc.description.abstractJavaScript has permeated into every aspect of the web experience in today's world, making it highly crucial to process it as quickly as possible. With the proliferation of HTML5 and its associated mobile web applications, the world is slowly but surely moving into an age where majority of the webpages will involve complex computations and manipulations within the JavaScript engine. Recent techniques like Just-in-Time (JIT) compilation have become commonplace in popular browsers like Chrome and Firefox, and there is an ongoing effort to further optimize them in the context of mobile systems. In order to fully take advantage of JavaScript-heavy webpages, it is important to first characterize the interaction of these webpages (both existing pages and modern HTML5 pages) with the different components of the JavaScript engine, viz. the interpreter, the method JIT, the optimizing compiler and the garbage collector. In this thesis, the aforementioned characterization work was leveraged to identify the limits of JavaScript optimizations. Subsequently, a particular optimization, i.e. Register Allocation heuristics was explored in detail on different types of JavaScript programs. This was primarily because the majority of the time (an average of 52.81%) spent in the optimizing compiler is for the register allocation stage alone. By varying the heuristics for register assignment, interval priority and spill selection, a clear idea is obtained about how it impacts certain types of programs more than others. This thesis also gives a preliminary insight into JavaScript applications and benchmarks, showing that these applications tend to be register-intensive, with large live intervals and sparse uses, and sensitive to array and string manipulations. A statically-selected optimal register allocation scheme outperforms the default register allocation scheme resulting in 9.1% performance improvement and 11.23% reduction in execution time on a representative mobile system.en
dc.format.mimetypeapplication/pdfen
dc.language.isoen_USen
dc.subjectJavaScripten
dc.subjectMobile systemsen
dc.subjectWorkload characterizationen
dc.subjectCompiler optimizationsen
dc.subjectRegister allocationen
dc.subjectFirefoxen
dc.subjectSpiderMonkeyen
dc.titleCharacterization and optimization of JavaScript programs for mobile systemsen
dc.date.updated2013-10-09T20:51:40Zen
dc.description.departmentElectrical and Computer Engineeringen
thesis.degree.departmentElectrical and Computer Engineeringen
thesis.degree.disciplineElectrical and Computer Engineeringen
thesis.degree.grantorThe University of Texas at Austinen
thesis.degree.levelMastersen
thesis.degree.nameMaster of Science in Engineeringen


Files in this item

Thumbnail

This item appears in the following Collection(s)

Show simple item record