[Pkg] The Trunk: Kernel-ul.946.mcz
commits at source.squeak.org
commits at source.squeak.org
Tue Aug 25 22:20:47 UTC 2015
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!
More information about the Packages
mailing list