links to this page:    
View this PageEdit this PageUploads to this PageHistory of this PageTop of the SwikiRecent ChangesSearch the SwikiHelp Guide
SistaV1 VM
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
<commits@source.squeak.org>	Wed, Jan 3, 2018 at 2:51 AM
Reply-To: squeak-dev@lists.squeakfoundation.org
To: squeak-dev@lists.squeakfoundation.org, packages@lists.squeakfoundation.org
Eliot Miranda uploaded a new version of Compiler to project The Trunk:

==================== Summary ====================

Name: Compiler-eem.361
Author: eem
Time: 2 January 2018, 5:47:32.911397 pm
UUID: 5fe8c44c-f098-43cc-b689-1bf367f5ed8e
Ancestors: Compiler-eem.360

 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:
        (Parser new
        encoderClass: EncoderForSistaV1;
                parse: mr sourceString
                class: mr actualClass) generate]

What are full block closures?
Read only literals