Brussels / 30 & 31 January 2016


Developing embedded JavaScript engine, V7

The smallest JavaScrip engine out there

We will talk about some of the tricks we use to fit V7, the smallest JavaScript VM, into a few Kb: succinct and implicit data structures, compacting GC in O(1) space.

Virtual machines, especially those as complex as JavaScript, are often associated with big overheads. We will show how we traded time for space in order to reduce the runtime overhead and make even the smallest microcontrollers parse and run JavaScript, with all his quirks! We will talk about how to compact a heap and relocate all the pointers without using any extra temporary space, how to encode trees without pointers and how to traverse graphs without using a stack.


Sergey Lyubka