Previous work proposed lazy basic block versioning, a technique for just-in-time compilation of dynamic languages which we believe represents an interesting point in the design space. Basic block versioning is simple to implement, simple enough that a single developer can build a complete just-in-time compiler for JavaScript in a year, yet it performs surprisingly well as it propagates context-sensitive type information to generate type-specialized code on the fly. In this paper, we demonstrate that lazy basic block versioning can be extended is simple ways to propagate type information across function call boundaries. This gives some of the benefits of whole-program analysis, or a tracing compiler, without having to implement the machiner...
Object-based languages with dynamic type systems are popular because they accelerate the development...
Both static and dynamic typing provide different benefits to the programmer. Statically typed langua...
Current proposals for adding gradual typing to JavaScript, such as Closure, TypeScript and Dart, for...
Dynamically typed programming languages such as JavaScript and Python defer type checking to run tim...
Dynamically typed languages such as JavaScript present a challenge to just-in-time compilers. In con...
Increased focus on JavaScript performance has resulted in vast performance improvements for many ben...
Decades of research on type systems have led to advances in the kinds of programming features that c...
Type feedback and type inference are two common methods used to optimize dynamic languages such as J...
This poster describes a paper for static analysis of JavaScript, which has proven useful for a varie...
Dynamic typing is a barrier for JavaScript applications to achieve high performance. Compared with s...
Typescript extends JavaScript with optional type annotations that are, by design, unsound and, that ...
Recent years have seen growing interest in the retrofitting of type systems onto dynamically-typed p...
JavaScript is growing explosively and is now used in large mature projects even outside the web doma...
AbstractJavaScript is a powerful imperative object based language made popular by its use in web pag...
Dynamic languages, such as JavaScript, give programmers the freedom to ignore types, and enable them...
Object-based languages with dynamic type systems are popular because they accelerate the development...
Both static and dynamic typing provide different benefits to the programmer. Statically typed langua...
Current proposals for adding gradual typing to JavaScript, such as Closure, TypeScript and Dart, for...
Dynamically typed programming languages such as JavaScript and Python defer type checking to run tim...
Dynamically typed languages such as JavaScript present a challenge to just-in-time compilers. In con...
Increased focus on JavaScript performance has resulted in vast performance improvements for many ben...
Decades of research on type systems have led to advances in the kinds of programming features that c...
Type feedback and type inference are two common methods used to optimize dynamic languages such as J...
This poster describes a paper for static analysis of JavaScript, which has proven useful for a varie...
Dynamic typing is a barrier for JavaScript applications to achieve high performance. Compared with s...
Typescript extends JavaScript with optional type annotations that are, by design, unsound and, that ...
Recent years have seen growing interest in the retrofitting of type systems onto dynamically-typed p...
JavaScript is growing explosively and is now used in large mature projects even outside the web doma...
AbstractJavaScript is a powerful imperative object based language made popular by its use in web pag...
Dynamic languages, such as JavaScript, give programmers the freedom to ignore types, and enable them...
Object-based languages with dynamic type systems are popular because they accelerate the development...
Both static and dynamic typing provide different benefits to the programmer. Statically typed langua...
Current proposals for adding gradual typing to JavaScript, such as Closure, TypeScript and Dart, for...