Last updated at 6:55 am UTC on 1 November 2018
Sista is an adaptive optimiser for the Cog VM. It speculates on the program behavior based on the first runs to recompile at runtime the code into optimized code. Performance gain is currently ranging from 1.5x to 10x.
[squeak-dev] The Trunk: Compiler-eem.361.mcz
<email@example.com> Wed, Jan 3, 2018 at 2:51 AM
To: firstname.lastname@example.org, email@example.com
Eliot Miranda uploaded a new version of Compiler to project The Trunk:
==================== Summary ====================
Time: 2 January 2018, 5:47:32.911397 pm
First cut of FullBlockClosure support in the compiler. If the encoder answers true to supportsFullBlocks then non-optimized blocks are compiled to their own CompiledBlock instance.
Reduce the use of code in a few ParseNode subclasses. Use the more generic isSpecialLiteralForPush: [todo: use SistaV1's BlockReturn nil].
[And for the curious here's a way to exercise the compiler
(self systemNavigation allMethodsSelect: [:m| m scanFor: 143]) do:
parse: mr sourceString
class: mr actualClass) generate]
What are full block closures?
Read only literals