Blogs (28) >>
ECOOP 2016
Sun 17 - Fri 22 July 2016 Rome, Italy
Mon 18 Jul 2016 11:05 - 11:35 at Alfieri - Session 2 Chair(s): Tomas Kalibera

We investigate how to represent objects when JavaScript is used as a compilation target.
This is an interesting question because JavaScript is the object language of choice for compiler writers who wish to ”the Internet“, and because JavaScript offers many ways to say the same thing.

We looked at three axes of variability: whether an object’s methods are stored in the object itself, or in a prototype; whether the object uses Javascript’s closures or builds its own, and whether an object’s fields are accessed directly or via accessor methods.
The results reveal that certain variations are more than a hundred times faster than others. We conclude that the particular choices we make may be critical.

Preprint (icooolps-final6.pdf)185KiB