Gong, Liang ; Pradel, Michael ; Sen, Koushik (2015)
JITProf: pinpointing JIT-unfriendly JavaScript code.
Bergamo, Italy
doi: 10.1145/2786805.2786831
Konferenzveröffentlichung, Bibliographie
Kurzbeschreibung (Abstract)
Most modern JavaScript engines use just-in-time (JIT) compilation to translate parts of JavaScript code into efficient machine code at runtime. Despite the overall success of JIT compilers, programmers may still write code that uses the dynamic features of JavaScript in a way that prohibits profitable optimizations. Unfortunately, there currently is no way to measure how prevalent such JIT-unfriendly code is and to help developers detect such code locations. This paper presents JITProf, a profiling framework to dynamically identify code locations that prohibit profitable JIT optimizations. The key idea is to associate meta-information with JavaScript objects and code locations, to update this information whenever particular runtime events occur, and to use the meta-information to identify JIT-unfriendly operations. We use JITProf to analyze widely used JavaScript web applications and show that JIT-unfriendly code is prevalent in practice. Furthermore, we show how to use the approach as a profiling technique that finds optimization opportunities in a program. Applying the profiler to popular benchmark programs shows that refactoring these programs to avoid performance problems identified by JITProf leads to statistically significant performance improvements of up to 26.3% in 15 benchmarks.
Typ des Eintrags: | Konferenzveröffentlichung |
---|---|
Erschienen: | 2015 |
Autor(en): | Gong, Liang ; Pradel, Michael ; Sen, Koushik |
Art des Eintrags: | Bibliographie |
Titel: | JITProf: pinpointing JIT-unfriendly JavaScript code |
Sprache: | Deutsch |
Publikationsjahr: | August 2015 |
Verlag: | ACM |
Buchtitel: | Proceedings of the 2015 10th Joint Meeting on Foundations of Software Engineering |
Reihe: | ESEC/FSE 2015 |
Veranstaltungsort: | Bergamo, Italy |
DOI: | 10.1145/2786805.2786831 |
Kurzbeschreibung (Abstract): | Most modern JavaScript engines use just-in-time (JIT) compilation to translate parts of JavaScript code into efficient machine code at runtime. Despite the overall success of JIT compilers, programmers may still write code that uses the dynamic features of JavaScript in a way that prohibits profitable optimizations. Unfortunately, there currently is no way to measure how prevalent such JIT-unfriendly code is and to help developers detect such code locations. This paper presents JITProf, a profiling framework to dynamically identify code locations that prohibit profitable JIT optimizations. The key idea is to associate meta-information with JavaScript objects and code locations, to update this information whenever particular runtime events occur, and to use the meta-information to identify JIT-unfriendly operations. We use JITProf to analyze widely used JavaScript web applications and show that JIT-unfriendly code is prevalent in practice. Furthermore, we show how to use the approach as a profiling technique that finds optimization opportunities in a program. Applying the profiler to popular benchmark programs shows that refactoring these programs to avoid performance problems identified by JITProf leads to statistically significant performance improvements of up to 26.3% in 15 benchmarks. |
Freie Schlagworte: | JITProf, Jalangi, JavaScript, dynamic analysis, just-in-time compilation, profiler |
ID-Nummer: | TUD-CS-2015-12090 |
Fachbereich(e)/-gebiet(e): | Profilbereiche Profilbereiche > Cybersicherheit (CYSEC) |
Hinterlegungsdatum: | 17 Aug 2017 15:06 |
Letzte Änderung: | 12 Jan 2019 21:20 |
PPN: | |
Export: | |
Suche nach Titel in: | TUfind oder in Google |
Frage zum Eintrag |
Optionen (nur für Redakteure)
Redaktionelle Details anzeigen |