codefrau / SqueakJS

A Squeak Smalltalk VM in Javascript
https://squeak.js.org
MIT License
365 stars 75 forks source link

Feature request: add support for Sista bytecode set #108

Closed ErikOnBike closed 3 years ago

ErikOnBike commented 4 years ago

Hi Vanessa,

Just putting it here for others to see as well. Maybe someone is interested to participate as well.

Cheers, Erik

codefrau commented 4 years ago

For anyone interested: the SISTA bytecode set is well-explained in Clément and Eliot's paper: https://www.researchgate.net/publication/280793584_A_bytecode_set_for_adaptive_optimizations

All that's needed at first is writing another interpretOne method which fetches and interprets one bytecode at a time.

To get performance up to the speed of the traditional bytecode set, another JIT would be needed. This is also relatively simple since the current JIT only accelerates instruction decoding. I'd probably just copy the current JIT to a new file and use it as a template for the new one.

codefrau commented 3 years ago

Very helpful comments from @clementbera http://forum.world.st/Sista-byte-code-documentation-tp5119159p5119160.html and @eliotmiranda http://forum.world.st/Sista-byte-code-documentation-tp5119159p5119196.html

codefrau commented 3 years ago

Thanks to @fniephaus we do have Sista support now (albeit without JIT)