Eliot Miranda uploaded a new version of Kernel to project The Trunk:
http://source.squeak.org/trunk/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! |
Free forum by Nabble | Edit this page |