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

commits at source.squeak.org commits at source.squeak.org
Tue Apr 4 00:00:39 UTC 2017


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

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

Name: Compiler-eem.340
Author: eem
Time: 3 April 2017, 5:00:32.319924 pm
UUID: 76902ca3-f64d-427a-af3d-466a103a3ce3
Ancestors: Compiler-eem.339

Use the encoder-specifc limit for maxNumLiterals.

=============== Diff against Compiler-eem.339 ===============

Item was changed:
  ----- Method: BytecodeEncoder>>computeMethodHeaderForNumArgs:numTemps:numLits:primitive: (in category 'method generation') -----
  computeMethodHeaderForNumArgs: numArgs numTemps: numTemps numLits: numLits primitive: primitiveIndex
  	numArgs > 15 ifTrue:
  		[^self error: 'Cannot compile -- too many arguments'].
  	numTemps > 63 ifTrue:
  		[^self error: 'Cannot compile -- too many temporary variables'].	
+ 	numLits > self maxNumLiterals ifTrue:
- 	numLits > 32767 ifTrue:
  		[^self error: 'Cannot compile -- too many literals'].
  	^(CompiledMethod headerFlagForEncoder: self)
  	+ (numArgs bitShift: 24)
  	+ (numTemps bitShift: 18)
  	"+ (largeBit bitShift: 17)" "largeBit gets filled in later"
  	+ (primitiveIndex > 0 ifTrue: [1 bitShift: 16] ifFalse: [0])
  	"+ (optimizedBit bitShift: 15)" "Sista marker may get filled in later"
  	+ numLits!



More information about the Squeak-dev mailing list