The Trunk: Compiler-eem.340.mcz

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view
|

The Trunk: Compiler-eem.340.mcz

commits-2
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!