Change search
CiteExportLink to record
Permanent link

Direct link
Citation style
  • apa
  • ieee
  • modern-language-association-8th-edition
  • vancouver
  • Other style
More styles
  • de-DE
  • en-GB
  • en-US
  • fi-FI
  • nn-NO
  • nn-NB
  • sv-SE
  • Other locale
More languages
Output format
  • html
  • text
  • asciidoc
  • rtf
Ahead of Time Compilation of EcmaScript Code Using Type Inference
KTH, School of Computer Science and Communication (CSC).
2015 (English)Independent thesis Advanced level (professional degree), 20 credits / 30 HE creditsStudent thesisAlternative title
Förkompilering av EcmaScript programkod baserad på typhärledning (Swedish)
Abstract [en]

To investigate the feasibility of improving performance for EcmaScript code in environments that restricts the usage of dynamic just in time compilers, an ahead of time EcmaScript to C compiler capable of compiling a substantial subset of the EcmaScript language has been constructed.

The compiler recovers type information without customized type information by using the Cartesian Product Algorithm. While the compiler is not complete enough to be used in production it has shown to be capable of producing code that matches contemporary optimizing just in time compilers in terms of performance and substantially outperforms the interpreters currently used in restricted environments.

In addition to constructing and benchmarking the compiler a survey was conducted to gauge if the selected subset of the language was acceptable for use by developers.

Place, publisher, year, edition, pages
2015. , 65 p.
Keyword [en]
EcmaScript, JavaScript, Compilation, Compilers, Type Inference, Cartesian Product Algorithm, Games
National Category
Media and Communication Technology
URN: urn:nbn:se:kth:diva-169607OAI: diva2:823252
Subject / course
Media Technology
Educational program
Master of Science in Engineering - Media Technology
Available from: 2015-07-10 Created: 2015-06-17 Last updated: 2018-01-11Bibliographically approved

Open Access in DiVA

fulltext(2817 kB)