[squeak-dev] The Inbox: Kernel-ul.946.mcz

commits at source.squeak.org commits at source.squeak.org
Tue Aug 25 20:48:29 UTC 2015


Levente Uzonyi uploaded a new version of Kernel to project The Inbox:
http://source.squeak.org/inbox/Kernel-ul.946.mcz

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

Name: Kernel-ul.946
Author: ul
Time: 25 August 2015, 10:47:28.554 pm
UUID: eb783de8-bef8-4cb9-9805-b7ed930df782
Ancestors: Kernel-mt.945

Set literal limit to 32767.

=============== Diff against Kernel-mt.945 ===============

Item was changed:
  ----- Method: CompiledMethod class>>newBytes:trailerBytes:nArgs:nTemps:nStack:nLits:primitive: (in category 'instance creation') -----
  newBytes: numberOfBytes trailerBytes: trailer nArgs: nArgs nTemps: nTemps nStack: stackSize nLits: nLits primitive: primitiveIndex
  	"Answer an instance of me. The header is specified by the message 
  	 arguments. The remaining parts are not as yet determined."
  	| method pc |
  	nArgs > 15 ifTrue:
  		[^self error: 'Cannot compile -- too many arguments'].
  	nTemps > 63 ifTrue:
  		[^self error: 'Cannot compile -- too many temporary variables'].	
+ 	nLits > 32767 ifTrue:
- 	nLits > 65535 ifTrue:
  		[^self error: 'Cannot compile -- too many literals'].
  
  	method := trailer
  				createMethod: numberOfBytes
  				class: self
  				header:    (nArgs bitShift: 24)
  						+ (nTemps bitShift: 18)
  						+ ((nTemps + stackSize) > SmallFrame ifTrue: [1 bitShift: 17] ifFalse: [0])
  						+ nLits
  						+ (primitiveIndex > 0 ifTrue: [1 bitShift: 16] ifFalse: [0]).
  	primitiveIndex > 0 ifTrue:
  		[pc := method initialPC.
  		 method
  			at: pc + 0 put: method encoderClass callPrimitiveCode;
  			at: pc + 1 put: (primitiveIndex bitAnd: 16rFF);
  			at: pc + 2 put: (primitiveIndex bitShift: -8)].
  	^method!

Item was changed:
  ----- Method: CompiledMethod class>>newBytes:trailerBytes:nArgs:nTemps:nStack:nLits:primitive:flag: (in category 'instance creation') -----
  newBytes: numberOfBytes trailerBytes: trailer nArgs: nArgs nTemps: nTemps nStack: stackSize nLits: nLits primitive: primitiveIndex flag: flag
  	"Answer an instance of me. The header is specified by the message 
  	 arguments. The remaining parts are not as yet determined."
  	| method pc |
  	nArgs > 15 ifTrue:
  		[^self error: 'Cannot compile -- too many arguments'].
  	nTemps > 63 ifTrue:
  		[^self error: 'Cannot compile -- too many temporary variables'].	
+ 	nLits > 32767 ifTrue:
- 	nLits > 65535 ifTrue:
  		[^self error: 'Cannot compile -- too many literals'].
  
  	method := trailer
  				createMethod: numberOfBytes
  				class: self
  				header:    (nArgs bitShift: 24)
  						+ (nTemps bitShift: 18)
  						+ ((nTemps + stackSize) > SmallFrame ifTrue: [1 bitShift: 17] ifFalse: [0])
  						+ nLits
  						+ (primitiveIndex > 0 ifTrue: [1 bitShift: 16] ifFalse: [0])
  						+ (flag ifTrue: [1 bitShift: 29] ifFalse: [0]).
  	primitiveIndex > 0 ifTrue:
  		[pc := method initialPC.
  		 method
  			at: pc + 0 put: method encoderClass callPrimitiveCode;
  			at: pc + 1 put: (primitiveIndex bitAnd: 16rFF);
  			at: pc + 2 put: (primitiveIndex bitShift: -8)].
  	^method!



More information about the Squeak-dev mailing list