Gong, Liang and Pradel, Michael and Sen, Koushik (2015):
JITProf: pinpointing JIT-unfriendly JavaScript code.
In: ESEC/FSE 2015, In: Proceedings of the 2015 10th Joint Meeting on Foundations of Software Engineering, pp. 357-368,
ACM, Bergamo, Italy, ISBN 978-1-4503-3675-8,
DOI: 10.1145/2786805.2786831,
[Conference or Workshop Item]
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.
Item Type: | Conference or Workshop Item |
---|---|
Erschienen: | 2015 |
Creators: | Gong, Liang and Pradel, Michael and Sen, Koushik |
Title: | JITProf: pinpointing JIT-unfriendly JavaScript code |
Language: | German |
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. |
Title of Book: | Proceedings of the 2015 10th Joint Meeting on Foundations of Software Engineering |
Series Name: | ESEC/FSE 2015 |
Publisher: | ACM |
ISBN: | 978-1-4503-3675-8 |
Uncontrolled Keywords: | JITProf, Jalangi, JavaScript, dynamic analysis, just-in-time compilation, profiler |
Divisions: | Profile Areas Profile Areas > Cybersecurity (CYSEC) |
Event Location: | Bergamo, Italy |
Date Deposited: | 17 Aug 2017 15:06 |
DOI: | 10.1145/2786805.2786831 |
Identification Number: | TUD-CS-2015-12090 |
Export: | |
Suche nach Titel in: | TUfind oder in Google |
![]() |
Send an inquiry |
Options (only for editors)
![]() |
Show editorial Details |