Skip to content

Opening book details…

Can I read Interprocedural Type Specialization of JavaScript Programs Without Type Analysis on EtoBox?

Interprocedural Type Specialization of JavaScript Programs Without Type Analysis by Chevalier-Boisvert, Maxime; Feeley, Marc is a scholarly article available to read on EtoBox.

What is Interprocedural Type Specialization of JavaScript Programs Without Type Analysis about?

Dynamically typed programming languages such as Python and JavaScript defer type checking to run time. VM implementations can improve performance by eliminating redundant dynamic type checks. However, type inference analyses are often costly and involve tradeoffs between compilation time and resulting precision. This has lead to the creation of increasingly complex multi-tiered VM architectures. Lazy basic block versioning is a simple JIT compilation technique which effectively removes redundant type checks from critical code paths. This novel approach lazily generates type-specialized versions of basic blocks on-the-fly while propagating context-dependent type information. This approach does not require the use of costly program analyses, is not restricted by the precision limitations of traditional type analyses. This paper extends lazy basic block versioning to propagate type information interprocedurally, across function call boundaries. Our implementation in a JavaScript JIT compiler shows that across 26 benchmarks, interprocedural basic block versioning eliminates more type tag tests on average than what is achievable with static type analysis without resorting to code transf

Author
Chevalier-Boisvert, Maxime; Feeley, Marc
Published
2015
Language
EN

More by Chevalier-Boisvert, Maxime; Feeley, Marc

Browse all works by Chevalier-Boisvert, Maxime; Feeley, Marc