Li Yu-jun;Zhang Yu;School of Computer Science and Technology, University of Science and Technology of China;
Most Java Script engines adopt JIT(Just-In-Time) compilation technique to optimize the performance of Java Script programs by type specialization which is based on type assumptions on every program point made by engines. But as a language with dynamic types and prototype-based features, type predictability in Java Script programs is always a shorthand which makes these assumptions fail and causes Deoptimization frequently bringing extra overhead. Hence this paper uses a Java Script engine(V8) to analyze 48 programs in three benchmarks(Octane, Sun Spider and Kraken), abstracts four prevalent patterns and provide programmers with programming suggestions. This paper also modifies these programs according to these suggestions and evaluate them, with results proving the effectiveness of reducing the amount of Deoptimization by applying our strategies.ram, and make engine building a more efficient type systems and generation faster code. The experiments conducted show that the optimizing technique can discover connections in between types and improve the speed of programs.
【CateGory Index】： TP312.2