Squeak
  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 2:52 am UTC on 5 January 2018
[squeak-dev] The Trunk: Compiler-eem.361.mcz
   Squeak 
 
commits@source.squeak.org
<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:
http://source.squeak.org/trunk/Compiler-eem.361.mcz

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


What are full block closures?