The Trunk: System-fbs.562.mcz

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

The Trunk: System-fbs.562.mcz

commits-2
Frank Shearar uploaded a new version of System to project The Trunk:
http://source.squeak.org/trunk/System-fbs.562.mcz

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

Name: System-fbs.562
Author: fbs
Time: 12 July 2013, 9:25:10.954 am
UUID: a63990cf-73bc-a84d-b1fb-30c9afface83
Ancestors: System-dtl.561

* The default ColorTheme needs to be a ColorTheme, not the ColorTheme class. We return a new one because they're all indistinguishable.
* SmalltalkImage >> #do: is deprecated as of the Environments work, so let's not use it. (You only stumble across this if you actually unload the deprecated methods!)

=============== Diff against System-dtl.561 ===============

Item was changed:
  ----- Method: ColorTheme class>>defaultTheme (in category 'accessing') -----
  defaultTheme
+ ^ self new.!
- ^ self.!

Item was changed:
  ----- Method: DataStream class>>initialize (in category 'as yet unclassified') -----
  initialize
  "TypeMap maps Smalltalk classes to type ID numbers which identify the data stream primitive formats.  nextPut: writes these IDs to the data stream.  NOTE: Changing these type ID numbers will invalidate all extant data stream files.  Adding new ones is OK.  
  Classes named here have special formats in the file.  If such a class has a subclass, it will use type 9 and write correctly.  It will just be slow.  (Later write the class name in the special format, then subclasses can use the type also.)
  See nextPut:, next, typeIDFor:, & ReferenceStream>>isAReferenceType:"
  "DataStream initialize"
 
  | refTypes t |
  refTypes := OrderedCollection new.
  t := TypeMap := WeakIdentityKeyDictionary new. "It has to be weak, because some classes may go away, leaving obsolete versions in this dictionary which may make it corrupt."
 
  t at: UndefinedObject put: 1.   refTypes add: 0.
  t at: True put: 2.   refTypes add: 0.
  t at: False put: 3.   refTypes add: 0.
  t at: SmallInteger put: 4. refTypes add: 0.
  t at: ByteString put: 5.   refTypes add: 1.
  t at: ByteSymbol put: 6.   refTypes add: 1.
  t at: ByteArray put: 7.   refTypes add: 1.
  t at: Array put: 8.   refTypes add: 1.
  "(type ID 9 is for arbitrary instances of any class, cf. typeIDFor:)"
  refTypes add: 1.
  "(type ID 10 is for references, cf. ReferenceStream>>tryToPutReference:)"
  refTypes add: 0.
  t at: Bitmap put: 11.   refTypes add: 1.
  t at: Metaclass put: 12.   refTypes add: 0.
  "Type ID 13 is used for HyperSqueak User classes that must be reconstructed."
  refTypes add: 1.
  t at: Float put: 14.  refTypes add: 1.
  t at: Rectangle put: 15.  refTypes add: 1. "Allow compact Rects."
  "type ID 16 is an instance with short header.  See beginInstance:size:"
  refTypes add: 1.
  self flag: #ByteArray.
  t at: ByteString put: 17.   refTypes add: 1. "new String format, 1 or 4 bytes of length"
  t at: WordArray put: 18.  refTypes add: 1. "bitmap-like"
  t at: WordArrayForSegment put: 19.  refTypes add: 1. "bitmap-like"
  t at: SoundBuffer put: 20.  refTypes add: 1. "And all other word arrays, both
  16-bit and 32-bit.  See methods in ArrayedCollection.  Overridden in SoundBuffer."
  t at: CompiledMethod put: 21.  refTypes add: 1. "special creation method"
  "t at:  put: 22.  refTypes add: 0."
  ReferenceStream refTypes: refTypes. "save it"
 
  "For all classes that are like WordArrays, store them the way ColorArray is stored.  As bits, and able to change endianness."
+ Smalltalk globals do: [:cls |
- Smalltalk do: [:cls |
  (cls isInMemory and: [
  cls isBehavior and: [
  cls isObsolete not and: [
  cls isPointers not and: [
  cls isVariable and: [
  cls isWords and: [
  (t includesKey: cls) not ] ] ] ] ] ])
  ifTrue: [ t at: cls put: 20 ] ]!