The Trunk: Kernel-eem.861.mcz

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

The Trunk: Kernel-eem.861.mcz

commits-2
Eliot Miranda uploaded a new version of Kernel to project The Trunk:
http://source.squeak.org/trunk/Kernel-eem.861.mcz

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

Name: Kernel-eem.861
Author: eem
Time: 5 August 2014, 12:11:04.902 pm
UUID: 06be17f2-e2b8-436d-b85f-49ac68899bc6
Ancestors: Kernel-nice.860

Slightly more efficient ProtoObject>>become:.
Eliminate isKindOf:'s in InstructionPrinter>>pushConstant:.
Provide CompiledMethod>>protocol to answer its selector's
category^H^H^H^H^H^H^H^Hprotocol.

=============== Diff against Kernel-nice.860 ===============

Item was added:
+ ----- Method: CompiledMethod>>protocol (in category 'accessing') -----
+ protocol
+ ^self methodClass ifNotNil:
+ [:class|
+ self selector ifNotNil:
+ [:selector|
+ class whichCategoryIncludesSelector: selector]]!

Item was changed:
  ----- Method: InstructionPrinter>>pushConstant: (in category 'instruction decoding') -----
  pushConstant: obj
  "Print the Push Constant, obj, on Top Of Stack bytecode."
 
  self print: (String streamContents:
  [:s |
  s nextPutAll: 'pushConstant: '.
+ obj isVariableBinding
+ ifTrue:
+ [obj key
+ ifNotNil: [s nextPutAll: '##'; nextPutAll: obj key]
+ ifNil: [s nextPutAll: '###'; nextPutAll: obj value soleInstance name]]
+ ifFalse:
+ [obj isClosure
+ ifTrue: [s nextPutAll: obj sourceString]
+ ifFalse: [obj printOn: s]]]).
- (obj isKindOf: LookupKey)
- ifFalse: [obj printOn: s]
- ifTrue: [obj key
- ifNotNil: [s nextPutAll: '##'; nextPutAll: obj key]
- ifNil: [s nextPutAll: '###'; nextPutAll: obj value soleInstance name]]]).
 
+ obj isCompiledMethod ifTrue:
- (obj isKindOf: CompiledMethod) ifTrue:
  [obj longPrintOn: stream indent: self indent + 2.
+ ^self]!
- ^self].!

Item was changed:
  ----- Method: ProtoObject>>become: (in category 'system primitives') -----
  become: otherObject
  "Primitive. Swap the object pointers of the receiver and the argument.
  All variables in the entire system that used to point to the
  receiver now point to the argument, and vice-versa.
  Fails if either object is a SmallInteger"
 
+ {self} elementsExchangeIdentityWith: {otherObject}!
- (Array with: self)
- elementsExchangeIdentityWith:
- (Array with: otherObject)!