To efficiently execute dynamically typed languages, many language implementations have adopted a two-tier architecture. The first tier aims for low-latency startup times and collects dynamic profiles, such as the dynamic types of variables. The second tier provides high-throughput using an optimizing compiler that specializes code to the recorded type information. If the program behavior changes to the point that not previously seen types occur in specialized code, that specialized code becomes invalid, it is deoptimized, and control is transferred back to the first tier execution engine which will start specializing anew. However, if the program behavior becomes more specific, for instance, if a polymorphic variable becomes monomorphic, no...
The R programming language is widely used in a variety of domains. It was designed to favor an inter...
Abstract Run-time type dispatch enables a variety of advanced optimization techniques for polymorphi...
This paper considers random testing of a compiler, using randomly generated programs as inputs, and ...
Both static and dynamic typing provide different benefits to the programmer. Statically typed langua...
Dynamic languages are widely used for different kinds of applications including rapid prototyping, W...
Type feedback and type inference are two common methods used to optimize dynamic languages such as J...
Abstract: Object-oriented programs are difficult to optimize because they execute many dynamically-d...
Optimizing compilers are large and complex systems, potentially consisting of millions of lines of c...
Type inference and type reconstruction derive static types for program elements that have no static...
This paper presents dynamic feedback, a technique that enables computations to adapt dynamically to ...
One form of type checking used in gradually typed language is transient type checking: whenever an o...
Nowadays, many dynamic languages come with (some sort of) type inference in order to detect type er...
Abstract. Compilers for Object-Oriented Languages optimize dynamic message sends through run-time ty...
Transient gradual typing imposes run-time type tests that typically cause a linear slowdown in progr...
Programs written in languages of the Oberon family usually contain runtime tests on the dynamic type...
The R programming language is widely used in a variety of domains. It was designed to favor an inter...
Abstract Run-time type dispatch enables a variety of advanced optimization techniques for polymorphi...
This paper considers random testing of a compiler, using randomly generated programs as inputs, and ...
Both static and dynamic typing provide different benefits to the programmer. Statically typed langua...
Dynamic languages are widely used for different kinds of applications including rapid prototyping, W...
Type feedback and type inference are two common methods used to optimize dynamic languages such as J...
Abstract: Object-oriented programs are difficult to optimize because they execute many dynamically-d...
Optimizing compilers are large and complex systems, potentially consisting of millions of lines of c...
Type inference and type reconstruction derive static types for program elements that have no static...
This paper presents dynamic feedback, a technique that enables computations to adapt dynamically to ...
One form of type checking used in gradually typed language is transient type checking: whenever an o...
Nowadays, many dynamic languages come with (some sort of) type inference in order to detect type er...
Abstract. Compilers for Object-Oriented Languages optimize dynamic message sends through run-time ty...
Transient gradual typing imposes run-time type tests that typically cause a linear slowdown in progr...
Programs written in languages of the Oberon family usually contain runtime tests on the dynamic type...
The R programming language is widely used in a variety of domains. It was designed to favor an inter...
Abstract Run-time type dispatch enables a variety of advanced optimization techniques for polymorphi...
This paper considers random testing of a compiler, using randomly generated programs as inputs, and ...