کد مقاله کد نشریه سال انتشار مقاله انگلیسی نسخه تمام متن
417440 681518 2014 16 صفحه PDF دانلود رایگان
عنوان انگلیسی مقاله ISI
Just-in-time value specialization
ترجمه فارسی عنوان
فقط در زمان تخصص
موضوعات مرتبط
مهندسی و علوم پایه مهندسی کامپیوتر نظریه محاسباتی و ریاضیات
چکیده انگلیسی


• Most of the JavaScript functions are called with same arguments.
• We specialize code that the JIT produces, given the arguments of functions.
• We have validated our approach in the industry-quality Firefox browser.
• We speed up programs by 5%, compared to original Firefox.

JavaScript emerges today as one of the most important programming languages for the development of client-side web applications. Therefore, it is essential that browsers be able to execute JavaScript programs efficiently. However, the dynamic nature of this programming language makes it very challenging to achieve this much needed efficiency. In this paper we propose parameter-based value specialization as a way to improve the quality of the code produced by JIT engines. We have empirically observed that almost 60% of the JavaScript functions found in the world's 100 most popular websites are called only once, or are called with the same parameters. Capitalizing on this observation, we adapt a number of classic compiler optimizations to specialize code based on the runtime values of function's actual parameters. We have implemented the techniques proposed in this paper in IonMonkey, an industrial quality JavaScript JIT compiler developed at the Mozilla Foundation. Our experiments, run across three popular JavaScript benchmarks, SunSpider, V8 and Kraken, show that, in spite of its highly speculative nature, our optimization pays for itself. As an example, we have been able to speed up V8 by 4.83%, and to reduce the size of its generated native code by 18.84%.

ناشر
Database: Elsevier - ScienceDirect (ساینس دایرکت)
Journal: Computer Languages, Systems & Structures - Volume 40, Issue 2, July 2014, Pages 37–52
نویسندگان
, , , ,