Type feedback and type inference are two common methods used to optimize dynamic languages such as JavaScript. Each of these methods has its own strengths and weaknesses, and we propose that each can benefit from the other if combined in the right way. We explore the interdependency between these two methods and propose two novel ways to combine them in order to significantly increase their aggregate benefit and decrease their aggregate over-head. In our proposed strategy, an initial type inference pass is ap-plied that can reduce type feedback overhead by enabling more in-telligent placement of profiling hooks. This initial type inference pass is novel in the literature. After profiling, a final type infer-ence pass uses the type informati...
This paper presents a polymorphic type inference algorithm for a small subset of JavaScript. The goa...
Previous work proposed lazy basic block versioning, a technique for just-in-time compilation of dyna...
Dynamic languages are widely used for different kinds of applications including rapid prototyping, W...
Dynamically typed languages such as JavaScript present a challenge to just-in-time compilers. In con...
Dynamic scripting languages have recently experienced a dramatic growth. JavaScript in particular is...
Traditional software testing is a labor-intensive and expensive manual process. To mitigate the high...
Although dynamically typed languages allow developers to be more productive in writing source code, ...
This poster describes a paper for static analysis of JavaScript, which has proven useful for a varie...
Dynamic languages, such as JavaScript, give programmers the freedom to ignore types, and enable them...
In modern times, we have seen tremendous increase in popularity and usage of web-based applications....
Dynamic typing is a barrier for JavaScript applications to achieve high performance. Compared with s...
This paper presents a constraint-based type inference algorithm for a subset of the JavaScript langu...
Decades of research on type systems have led to advances in the kinds of programming features that c...
Static analysis of JavaScript has proven useful for a variety of pur-poses, including optimization, ...
Dynamic typing is a program analysis targeted at removing runtime tagging and untagging operations i...
This paper presents a polymorphic type inference algorithm for a small subset of JavaScript. The goa...
Previous work proposed lazy basic block versioning, a technique for just-in-time compilation of dyna...
Dynamic languages are widely used for different kinds of applications including rapid prototyping, W...
Dynamically typed languages such as JavaScript present a challenge to just-in-time compilers. In con...
Dynamic scripting languages have recently experienced a dramatic growth. JavaScript in particular is...
Traditional software testing is a labor-intensive and expensive manual process. To mitigate the high...
Although dynamically typed languages allow developers to be more productive in writing source code, ...
This poster describes a paper for static analysis of JavaScript, which has proven useful for a varie...
Dynamic languages, such as JavaScript, give programmers the freedom to ignore types, and enable them...
In modern times, we have seen tremendous increase in popularity and usage of web-based applications....
Dynamic typing is a barrier for JavaScript applications to achieve high performance. Compared with s...
This paper presents a constraint-based type inference algorithm for a subset of the JavaScript langu...
Decades of research on type systems have led to advances in the kinds of programming features that c...
Static analysis of JavaScript has proven useful for a variety of pur-poses, including optimization, ...
Dynamic typing is a program analysis targeted at removing runtime tagging and untagging operations i...
This paper presents a polymorphic type inference algorithm for a small subset of JavaScript. The goa...
Previous work proposed lazy basic block versioning, a technique for just-in-time compilation of dyna...
Dynamic languages are widely used for different kinds of applications including rapid prototyping, W...