International audienceJust-in-time compilers for dynamic languages routinely generate code under assumptions that may be invalidated at run-time, this allows for specialization of program code to the common case in order to avoid unnecessary overheads due to uncommon cases. This form of software speculation requires support for deoptimization when some of the assumptions fail to hold. This paper presents a model just-in-time compiler with an intermediate representation that explicits the synchronization points used for deoptimization and the assumptions made by the compiler's speculation. We also present several common compiler optimizations that can leverage speculation to generate improved code. The optimizations are proved correct with t...
We describe a technique for automatically proving compiler optimizations sound, meaning that their t...
Runtime compilation, due to its online nature, presents unique challenges and opportunities to compi...
AbstractTranslation validation is an approach for validating the output of optimizing compilers. Rat...
International audienceHigh-performance dynamic language implementations make heavy use of speculativ...
International audienceSpeculative inlining in just-in-time compilers enables many performance optimi...
International audienceModern Just-in-Time compilers (or JITs) typically interleave several mechanism...
Just-in-Time compilation is a technique to execute programs, where execution is interleaved with opt...
Abstract Speculative optimizations are used in most Just In Time (JIT) compilers in order to take ad...
: SELF's debugging system provides complete source-level debugging (expected behavior) with glo...
Optimizing compilers and source-level debuggers have become essential for program development. Howev...
While dynamic languages are now mainstream choices for application development, most popular dynamic...
84 p.Thesis (Ph.D.)--University of Illinois at Urbana-Champaign, 2009.I demonstrate that explicit sp...
Abstract. Current compilers fail to deliver satisfactory levels of performance on modern processors,...
Managed language platforms such as the Java Virtual Machine or the Common Language Runtime rely on a...
Interpreters have a bad reputation for having lower perfor-mance than just-in-time compilers. We pre...
We describe a technique for automatically proving compiler optimizations sound, meaning that their t...
Runtime compilation, due to its online nature, presents unique challenges and opportunities to compi...
AbstractTranslation validation is an approach for validating the output of optimizing compilers. Rat...
International audienceHigh-performance dynamic language implementations make heavy use of speculativ...
International audienceSpeculative inlining in just-in-time compilers enables many performance optimi...
International audienceModern Just-in-Time compilers (or JITs) typically interleave several mechanism...
Just-in-Time compilation is a technique to execute programs, where execution is interleaved with opt...
Abstract Speculative optimizations are used in most Just In Time (JIT) compilers in order to take ad...
: SELF's debugging system provides complete source-level debugging (expected behavior) with glo...
Optimizing compilers and source-level debuggers have become essential for program development. Howev...
While dynamic languages are now mainstream choices for application development, most popular dynamic...
84 p.Thesis (Ph.D.)--University of Illinois at Urbana-Champaign, 2009.I demonstrate that explicit sp...
Abstract. Current compilers fail to deliver satisfactory levels of performance on modern processors,...
Managed language platforms such as the Java Virtual Machine or the Common Language Runtime rely on a...
Interpreters have a bad reputation for having lower perfor-mance than just-in-time compilers. We pre...
We describe a technique for automatically proving compiler optimizations sound, meaning that their t...
Runtime compilation, due to its online nature, presents unique challenges and opportunities to compi...
AbstractTranslation validation is an approach for validating the output of optimizing compilers. Rat...