[squeak-dev] The Trunk: Compiler-eem.385.mcz

commits at source.squeak.org commits at source.squeak.org
Sat Jun 16 23:29:48 UTC 2018


Eliot Miranda uploaded a new version of Compiler to project The Trunk:
http://source.squeak.org/trunk/Compiler-eem.385.mcz

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

Name: Compiler-eem.385
Author: eem
Time: 16 June 2018, 4:29:33.44317 pm
UUID: 07c5fc8e-5463-4db6-912a-fdc0125ce7df
Ancestors: Compiler-eem.384

The scanner for spotting closure creation bytecodes in methods must identify full block closure creations.

=============== Diff against Compiler-eem.384 ===============

Item was changed:
  ----- Method: EncoderForSistaV1 class>>createClosureScanBlock (in category 'compiled method support') -----
  createClosureScanBlock
  	"Answer a block argument for InstructionStream>>scanFor: that answers true
+ 	 for block closure creation bytecodes.  Note that with this interface we can't answer
- 	 for block closure creation bytecodes.  ote that with this interface we can't answer
  	 true for the extension in front of a push closure bytecode and so the interface may
  	 have to change at some point."
  
+ 	"*	224	11100000	aaaaaaaa	Extend A (Ext A = Ext A prev * 256 + Ext A)
+ 	 *	225	11100001	bbbbbbbb	Extend B (Ext B = Ext B prev * 256 + Ext B)
+ 	**	249	11111001 	xxxxxxxx	siyyyyyy	push Closure Compiled block literal index xxxxxxxx (+ Extend A * 256) numCopied yyyyyy receiverOnStack: s = 1 ignoreOuterContext: i = 1
+ 	 **	250	11111010 	eeiiikkk		jjjjjjjj		Push Closure Num Copied iii (+ExtA//16*8) Num Args kkk (+ ExtA\\16*8) BlockSize jjjjjjjj (+ExtB*256). ee = num extensions"
+ 	^[:b| b >= 249 and: [b <= 250]]!
- 	"*	224	11100000	aaaaaaaa			Extend A (Ext A = Ext A prev * 256 + Ext A)
- 	 *	225		11100001	bbbbbbbb	Extend B (Ext B = Ext B prev * 256 + Ext B)
- 	 **	250		11111010 	eeiiikkk		jjjjjjjj		Push Closure Num Copied iii (+ExtA//16*8) Num Args kkk (+ ExtA\\16*8) BlockSize jjjjjjjj (+ExtB*256). ee = num extensions"
- 	^[:b| b = 250]!



More information about the Squeak-dev mailing list