JavaScript AOT compilation
- 6 April 2020
- journal article
- research article
- Published by Association for Computing Machinery (ACM) in ACM SIGPLAN Notices
- Vol. 53 (8), 50-63
- https://doi.org/10.1145/3393673.3276950
Abstract
Static compilation, a.k.a., ahead-of-time (AOT) compilation, is an alternative approach to JIT compilation that can combine good speed and lightweight memory footprint, and that can accommodate read-only memory constraints that are imposed by some devices and some operating systems. Unfortunately the highly dynamic nature of JavaScript makes it hard to compile statically and all existing AOT compilers have either gave up on good performance or full language support. We have designed and implemented an AOT compiler that aims at satisfying both. It supports full unrestricted ECMAScript 5.1 plus many ECMAScript 2017 features and the majority of benchmarks are within 50Keywords
This publication has 20 references indexed in Scilit:
- Type inference for static compilation of JavaScriptPublished by Association for Computing Machinery (ACM) ,2016
- Memento mori: dynamic allocation-site-based optimizationsPublished by Association for Computing Machinery (ACM) ,2015
- Determinacy in static analysis for jQueryPublished by Association for Computing Machinery (ACM) ,2014
- Storage strategies for collections in dynamically typed languagesPublished by Association for Computing Machinery (ACM) ,2013
- Tracing for web 3.0Published by Association for Computing Machinery (ACM) ,2009
- ImmixPublished by Association for Computing Machinery (ACM) ,2008
- Combination of Abstractions in the ASTRÉE Static AnalyzerLecture Notes in Computer Science, 2007
- Towards Type Inference for JavaScriptLecture Notes in Computer Science, 2005
- Customization: optimizing compiler technology for SELF, a dynamically-typed object-oriented programming languagePublished by Association for Computing Machinery (ACM) ,1989
- Garbage collection in an uncooperative environmentSoftware: Practice and Experience, 1988