Analysis of JavaScript programs: Challenges and research trends

K Sun, S Ryu - ACM Computing Surveys (CSUR), 2017 - dl.acm.org
JavaScript has been a de facto standard language for client-side web programs, and now it
is expanding its territory to general purpose programs. In this article, we classify the client …

The VM already knew that: Leveraging compile-time knowledge to optimize gradual typing

G Richards, E Arteca, A Turcotte - Proceedings of the ACM on …, 2017 - dl.acm.org
Programmers in dynamic languages wishing to constrain and understand the behavior of
their programs may turn to gradually-typed languages, which allow types to be specified …

Contextual dispatch for function specialization

O Flückiger, G Chari, MH Yee, J Ječmen… - Proceedings of the …, 2020 - dl.acm.org
In order to generate efficient code, dynamic language compilers often need information,
such as dynamic types, not readily available in the program source. Leveraging a mixture of …

YJIT: a basic block versioning JIT compiler for CRuby

M Chevalier-Boisvert, N Gibbs, J Boussier… - Proceedings of the 13th …, 2021 - dl.acm.org
Ruby is a dynamically typed programming language with a large breadth of features which
has grown in popularity with the rise of the modern web, and remains at the core of the …

Of javascript AOT compilation performance

M Serrano - Proceedings of the ACM on Programming Languages, 2021 - dl.acm.org
The fastest JavaScript production implementations use just-in-time (JIT) compilation and the
vast majority of academic publications about implementations of dynamic languages …

[PDF][PDF] Static Basic Block Versioning

O Melançon, M Feeley, M Serrano - 38th European Conference …, 2024 - drops.dagstuhl.de
Abstract Basic Block Versioning (BBV) is a compilation technique for optimizing program
execution. It consists in duplicating and specializing basic blocks of code according to the …

JavaScript AOT compilation

M Serrano - ACM SIGPLAN Notices, 2018 - dl.acm.org
Static compilation, aka, ahead-of-time (AOT) compilation, is an alternative approach to JIT
compilation that can combine good speed and lightweight memory footprint, and that can …

A transient semantics for typed racket

B Greenman, L Lazarek, C Dimoulas… - arXiv preprint arXiv …, 2021 - arxiv.org
Mixed-typed languages enable programmers to link typed and untyped components in
various ways. Some offer rich type systems to facilitate the smooth migration of untyped code …

[图书][B] Specialising dynamic techniques for implementing the Ruby Programming Language

C Seaton - 2015 - search.proquest.com
The Ruby programming language is dynamically typed, uses dynamic and late bound
dispatch for all operators, method calls and many control structures, and provides extensive …

Interprocedural type specialization of javascript programs without type analysis

M Chevalier-Boisvert, M Feeley - arXiv preprint arXiv:1511.02956, 2015 - arxiv.org
Dynamically typed programming languages such as Python and JavaScript defer type
checking to run time. VM implementations can improve performance by eliminating …