Filters








3,869 Hits in 3.4 sec

Type Inference for Static Compilation of JavaScript (Extended Version) [article]

Satish Chandra, Colin S. Gordon, Jean-Baptiste Jeannin, Cole Schlesinger, Manu Sridharan, Frank Tip, Youngil Choi
2016 arXiv   pre-print
The invariants enforced by the types enable an ahead-of-time compiler to carry out optimizations typically beyond the reach of static compilers for dynamic languages.  ...  We present a type system and inference algorithm for a rich subset of JavaScript equipped with objects, structural subtyping, prototype inheritance, and first-class methods.  ...  Acknowledgements We thank the anonymous reviewers for their detailed feedback, which significantly improved the presentation of the paper.  ... 
arXiv:1608.07261v3 fatcat:sdfx6u2frvbdxlcukmqttq2ldi

Fast and precise hybrid type inference for JavaScript

Brian Hackett, Shu-yu Guo
2012 SIGPLAN notices  
Compilers do not have access to static type information, making generation of efficient, type-specialized machine code difficult. We seek to solve this problem by inferring types.  ...  Inference-enabled compilation is the default compilation mode as of Firefox 9.  ...  We thank the Mozilla JavaScript team, Alex Aiken, Dave Herman, Todd Millstein, Jens Palsberg, and Sam Tobin-Hochstadt for draft reading and helpful discussion.  ... 
doi:10.1145/2345156.2254094 fatcat:ouf7voir55ex3cmoopn5dtqpsu

Fast and precise hybrid type inference for JavaScript

Brian Hackett, Shu-yu Guo
2012 Proceedings of the 33rd ACM SIGPLAN conference on Programming Language Design and Implementation - PLDI '12  
Compilers do not have access to static type information, making generation of efficient, type-specialized machine code difficult. We seek to solve this problem by inferring types.  ...  Inference-enabled compilation is the default compilation mode as of Firefox 9.  ...  We thank the Mozilla JavaScript team, Alex Aiken, Dave Herman, Todd Millstein, Jens Palsberg, and Sam Tobin-Hochstadt for draft reading and helpful discussion.  ... 
doi:10.1145/2254064.2254094 dblp:conf/pldi/HackettG12 fatcat:vob5dkxt2vedffjirkxum4bdgu

TypeCastor

Shisheng Li, Buqi Cheng, Xiao-Feng Li
2011 Proceedings of the 6th International Conference on High Performance and Embedded Architectures and Compilers - HiPEAC '11  
For type resolution, we find 99% of all the primitive type instances can be statically identified before the program execution.  ...  Common folks' belief is that the traditional static compilation techniques are no longer effective for dynamic languages.  ...  Anderson et al [2] design a type system with an inference algorithm for the primitive subset of the JavaScript types.  ... 
doi:10.1145/1944862.1944873 dblp:conf/hipeac/LiCL11 fatcat:42gkhngrprcbfah4mwzihcr3ym

A lightweight JavaScript engine for mobile devices

Ryan H. Choi, Youngil Choi
2015 Proceedings of the 3rd International Workshop on Mobile Development Lifecycle - MobileDeLi 2015  
Typed JS is designed for mobile devices with goals of having smaller memory footprint while achieving highperformance, which is accomplished by having static types and AOT compilable architecture.  ...  We present Typed JS, a subset of JavaScript that supports AOT compilation by utilizing type-decorated syntax.  ...  Design of Typed JS Typed JS enforces type annotations, allows both dynamic and static features, and supports AOT compilation for performance and smaller memory footprint on mobile platforms.  ... 
doi:10.1145/2846661.2846662 dblp:conf/oopsla/ChoiC15 fatcat:vtvq433skva2dbusxhocmnwf4u

MuscalietJS

Behnam Robatmili, Calin Cascaval, Mehrdad Reshadi, Madhukar N. Kedlaya, Seth Fowler, Vrajesh Bhavsar, Michael Weber, Ben Hardekopf
2014 SIGPLAN notices  
To make up for the performance loss due to layering, we propose a two pronged approach: high-level JavaScript optimizations and exploitation of low-level VM features that produce very efficient code for  ...  In this paper, we revisit the design of layered JavaScript engines and propose a layered architecture, called MuscalietJS 2 , that splits the responsibilities of a JavaScript engine between a high-level  ...  The optimizing compiler applies a wide range of low-level optimizations such as SSA (Static Single Assignment) redundancy elimination, register allocation, and static type inference when generating native  ... 
doi:10.1145/2674025.2576211 fatcat:2kzvunff3fcsvkygp7dkhbdwie

MuscalietJS

Behnam Robatmili, Calin Cascaval, Mehrdad Reshadi, Madhukar N. Kedlaya, Seth Fowler, Vrajesh Bhavsar, Michael Weber, Ben Hardekopf
2014 Proceedings of the 10th ACM SIGPLAN/SIGOPS international conference on Virtual execution environments - VEE '14  
To make up for the performance loss due to layering, we propose a two pronged approach: high-level JavaScript optimizations and exploitation of low-level VM features that produce very efficient code for  ...  In this paper, we revisit the design of layered JavaScript engines and propose a layered architecture, called MuscalietJS 2 , that splits the responsibilities of a JavaScript engine between a high-level  ...  The optimizing compiler applies a wide range of low-level optimizations such as SSA (Static Single Assignment) redundancy elimination, register allocation, and static type inference when generating native  ... 
doi:10.1145/2576195.2576211 dblp:conf/vee/RobatmiliCRKFB0H14 fatcat:h6daq56i4jhszhn5qb7cmd2mc4

Safe & Efficient Gradual Typing for TypeScript

Aseem Rastogi, Nikhil Swamy, Cédric Fournet, Gavin Bierman, Panagiotis Vekris
2015 SIGPLAN notices  
Acknowledgments Our thanks to Martín Abadi, Mads Torgersen and the TypeScript team for several useful discussions; to the anonymous reviewers of the paper and artifact for their valuable feedback; and  ...  to Matthias Felleisen, Shriram Krishnamurthi, and Sam Tobin-Hochstadt for suggesting improvements to our discussion of related work.  ...  generated by compilers, and even compilers implemented in JavaScript for compiling other languages to JavaScript.  ... 
doi:10.1145/2775051.2676971 fatcat:osdqmehnrza2lldysmomf3n5ui

Safe & Efficient Gradual Typing for TypeScript

Aseem Rastogi, Nikhil Swamy, Cédric Fournet, Gavin Bierman, Panagiotis Vekris
2015 Proceedings of the 42nd Annual ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages - POPL '15  
Acknowledgments Our thanks to Martín Abadi, Mads Torgersen and the TypeScript team for several useful discussions; to the anonymous reviewers of the paper and artifact for their valuable feedback; and  ...  to Matthias Felleisen, Shriram Krishnamurthi, and Sam Tobin-Hochstadt for suggesting improvements to our discussion of related work.  ...  generated by compilers, and even compilers implemented in JavaScript for compiling other languages to JavaScript.  ... 
doi:10.1145/2676726.2676971 dblp:conf/popl/RastogiSFBV15 fatcat:memljtt7fvd5lkn4sqic7p7nzy

Improved type specialization for dynamic scripting languages

Madhukar N. Kedlaya, Jared Roesch, Behnam Robatmili, Mehrdad Reshadi, Ben Hardekopf
2013 Proceedings of the 9th symposium on Dynamic languages - DLS '13  
Type feedback and type inference are two common methods used to optimize dynamic languages such as JavaScript.  ...  The results also show an average reduction of 23.5% in the size of the profiled data for these benchmarks.  ...  Acknowledgments We would like to thank Cȃlin Caşcaval and the MCJS team at Qualcomm Research Silicon Valley (QRSV), as well as the anonymous reviewers for their valuable input.  ... 
doi:10.1145/2508168.2508177 dblp:conf/dls/KedlayaRRRH13 fatcat:lkoth7znezclfppthjgpzh6dgi

RATA: Rapid Atomic Type Analysis by Abstract Interpretation – Application to JavaScript Optimization [chapter]

Francesco Logozzo, Herman Venter
2010 Lecture Notes in Computer Science  
We introduce RATA, a static analysis based on abstract interpretation for the rapid inference of atomic types in JavaScript programs.  ...  We introduce RATA, Rapid Atomic Type Analysis, a new static analysis based on abstract interpretation, to quickly and precisely infer the numerical types of variables.  ...  In [3] , Anderson et al. introduced an algorithm for type inference of JavaScript to derive the types of objects. It is unclear if their algorithm is fast enough to be used in dynamic compilation.  ... 
doi:10.1007/978-3-642-11970-5_5 fatcat:np5rwetui5dwtg3wjbjtiiesym

SJS: A Type System for JavaScript with Fixed Object Layout [chapter]

Wontae Choi, Satish Chandra, George Necula, Koushik Sen
2015 Lecture Notes in Computer Science  
We propose a static type system for a significant subset of JavaScript, dubbed SJS, with the goal of ensuring that objects have a statically known layout at the allocation time, which in turn can enable  ...  an ahead-of-time (AOT) compiler to generate efficient code.  ...  Summary of Implementation and Evaluation We have implemented a proof-of-concept type checker and compiler for SJS to evaluate the language.  ... 
doi:10.1007/978-3-662-48288-9_11 fatcat:xhra2lcbs5hmhaapujk56xbtyu

River trail

Stephan Herhut, Richard L. Hudson, Tatiana Shpeisman, Jaswanth Sreeram
2013 Proceedings of the 2013 ACM SIGPLAN international conference on Object oriented programming systems languages & applications - OOPSLA '13  
We describe the implementation of the River Trail compiler and runtime and present experimental results that show the impact of River Trail on performance and scalability for a variety of realistic HTML5  ...  for kernels and up to 11.8 times speedup for realistic web applications compared to sequential JavaScript.  ...  The type inference infers types only up to the JavaScript level. It does not take OpenCL's address spaces nor the different number types in OpenCL into account.  ... 
doi:10.1145/2509136.2509516 dblp:conf/oopsla/HerhutHSS13 fatcat:em23vei5ljhitdacx6bxbwrhka

Deep learning type inference

Vincent J. Hellendoorn, Christian Bird, Earl T. Barr, Miltiadis Allamanis
2018 Proceedings of the 2018 26th ACM Joint Meeting on European Software Engineering Conference and Symposium on the Foundations of Software Engineering - ESEC/FSE 2018  
Type inference can ease the transition to more statically typed code and unlock the benefits of richer compile-time information, but is limited in languages like JavaScript as it cannot soundly handle  ...  offer a middle-ground for JavaScript: a strict superset of JavaScript, to which it transpiles, coupled with a type system that permits partially typed programs.  ...  TS comes with compile-time type inference, which yields some of the benefits of a static type system but is fundamentally limited in what it can soundly infer due to JS features like duck-typing.  ... 
doi:10.1145/3236024.3236051 dblp:conf/sigsoft/HellendoornBBA18 fatcat:nytas5cz3vbbhbfxqlgoxagj7i

Context-sensitive auto-sanitization in web templating languages using type qualifiers

Mike Samuel, Prateek Saxena, Dawn Song
2011 Proceedings of the 18th ACM conference on Computer and communications security - CCS '11  
Web templating frameworks offer an ideal opportunity to ensure safety against scripting attacks by secure construction, but most of today's frameworks fall short of achieving this goal.  ...  We propose a novel and principled type-qualifier based mechanism that can be bolted onto existing web templating frameworks.  ...  First, it performs a static type inference to infer context type qualifiers for all variables in templates.  ... 
doi:10.1145/2046707.2046775 dblp:conf/ccs/SamuelSS11 fatcat:z7pxkyberzboroqtvuvdrc4nrm
« Previous Showing results 1 — 15 out of 3,869 results