The Inbox: Kernel-ul.946.mcz

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

The Inbox: Kernel-ul.946.mcz

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