[squeak-dev] The Trunk: Collections.spur-nice.622.mcz
Levente Uzonyi
leves at elte.hu
Mon May 4 20:55:05 UTC 2015
I tried to update an old Spur image, and somehow Character >>
#isAlphaNumeric from Collections.spur-ul.628 (which should be loaded by
update.spur-ul.311) appeared in the image, while loading
Collections.spur-tfel.623 from update.spur-mt.310.
Assuming that the load order of the packages is untouched, I suspect that
the method got merged in from the non-spur branch of Collections somehow.
Levente
On Mon, 4 May 2015, Levente Uzonyi wrote:
> On Mon, 4 May 2015, Eliot Miranda wrote:
>
>> This breaks my image, dumping it into the emergency evaluator, I *think*
>> because the new LetterMask, AlphaNumbericMask and DigitBit variables are
>> not handledf correctly by the Spur bootstrap. Sigh. So for
>> those of you using Spur please *don't* update until I've fixed the
>> bootstrap.
>> You know, by /not/ releasing, we are delaying because now I am fixing the
>> bootstrap to keep up with development, instead of us having released, and
>> being able to freely commit on Spur. We are now wasting
>> cycles. At least I am.
>
> Multilingual-ul.209 should be loaded before Collections-ul.627, and only then
> should Collections-ul.628 be loaded.
>
> In the regular Trunk, I added an update map which loads Multilingual-ul.209
> and Collections-ul.627 first. (Multilingual was before Collections in the
> map, so the load order was already guaranteed).
>
> Levente
>
>>
>> On Mon, May 4, 2015 at 10:46 AM, <commits at source.squeak.org> wrote:
>> Eliot Miranda uploaded a new version of Collections to project The
>> Trunk:
>> http://source.squeak.org/trunk/Collections.spur-nice.622.mcz
>>
>> ==================== Summary ====================
>>
>> Name: Collections.spur-nice.622
>> Author: eem
>> Time: 4 May 2015, 10:45:05.244 am
>> UUID: 02450614-82e9-4d33-95fd-3fede06790d2
>> Ancestors: Collections-nice.622, Collections.spur-mt.621
>>
>> Collections-nice.622 patched for Spur by
>> SpurBootstrapMonticelloPackagePatcher Cog-eem.262
>>
>> #toBraceStack: is not used for compiling { } for so long that it's
>> really time to get rid of it.
>>
>> Symbol>>numArgs: does not need to copy self into a temp var.
>>
>> =============== Diff against Collections-nice.622 ===============
>>
>> Item was changed:
>> ----- Method: Array>>elementsExchangeIdentityWith: (in category
>> 'converting') -----
>> elementsExchangeIdentityWith: otherArray
>> + "This primitive performs a bulk mutation, causing all
>> pointers to the elements of the
>> + receiver to be replaced by pointers to the corresponding
>> elements of otherArray.
>> + At the same time, all pointers to the elements of otherArray
>> are replaced by
>> + pointers to the corresponding elements of this array. The
>> identityHashes remain
>> + with the pointers rather than with the objects so that
>> objects in hashed structures
>> + should still be properly indexed after the mutation."
>> - "This primitive performs a bulk mutation, causing all
>> pointers to the elements of this array to be replaced by pointers to the
>> corresponding elements of otherArray. At the same time, all
>> pointers to the elements of otherArray are replaced by pointers to
>> the corresponding elements of this array. The identityHashes remain with
>> the pointers rather than with the objects so that
>> objects in hashed structures should still be properly indexed after
>> the mutation."
>>
>> + <primitive: 128 error: ec>
>> + ec == #'bad receiver' ifTrue:
>> + [^self error: 'receiver must be of class Array'].
>> + ec == #'bad argument' ifTrue:
>> + [^self error: (otherArray class == Array
>> + ifTrue: ['arg must be
>> of class Array']
>> + ifFalse: ['receiver
>> and argument must have the same size'])].
>> + ec == #'inappropriate operation' ifTrue:
>> + [^self error: 'can''t become immediates such as
>> SmallIntegers or Characters'].
>> + ec == #'no modification' ifTrue:
>> + [^self error: 'can''t become immutable objects'].
>> + ec == #'object is pinned' ifTrue:
>> + [^self error: 'can''t become pinned objects'].
>> + ec == #'insufficient object memory' ifTrue:
>> + [Smalltalk garbageCollect < 1048576 ifTrue:
>> + [Smalltalk growMemoryByAtLeast: 1048576].
>> + ^self elementsExchangeIdentityWith: otherArray].
>> + self primitiveFailed!
>> - <primitive: 128>
>> - otherArray class == Array ifFalse: [^ self error: 'arg must
>> be array'].
>> - self size = otherArray size ifFalse: [^ self error: 'arrays
>> must be same size'].
>> - (self anySatisfy: [:obj | obj class == SmallInteger]) ifTrue:
>> [^ self error: 'can''t become SmallIntegers'].
>> - (otherArray anySatisfy: [:obj | obj class == SmallInteger])
>> ifTrue: [^ self error: 'can''t become SmallIntegers'].
>> - self with: otherArray do:[:a :b| a == b ifTrue:[^self
>> error:'can''t become yourself']].
>> -
>> - "Must have failed because not enough space in forwarding
>> table (see ObjectMemory-prepareForwardingTableForBecoming:with:twoWay:).
>> Do GC and try again only once"
>> - (Smalltalk bytesLeft: true) = Smalltalk
>> primitiveGarbageCollect
>> - ifTrue: [^ self primitiveFailed].
>> - ^ self elementsExchangeIdentityWith: otherArray!
>>
>> Item was changed:
>> ----- Method: Array>>elementsForwardIdentityTo: (in category
>> 'converting') -----
>> elementsForwardIdentityTo: otherArray
>> + "This primitive performs a bulk mutation, causing all
>> pointers to the elements of the
>> + receiver to be replaced by pointers to the corresponding
>> elements of otherArray.
>> + The identityHashes remain with the pointers rather than with
>> the objects so that
>> + the objects in this array should still be properly indexed
>> in any existing hashed
>> + structures after the mutation."
>> + <primitive: 72 error: ec>
>> - "This primitive performs a bulk mutation, causing all
>> pointers to the elements of this array to be replaced by pointers to the
>> corresponding elements of otherArray. The identityHashes
>> remain with the pointers rather than with the objects so that the
>> objects in this array should still be properly indexed in any existing
>> hashed structures after the mutation."
>> - <primitive: 72>
>> self primitiveFailed!
>>
>> Item was changed:
>> ----- Method: Array>>elementsForwardIdentityTo:copyHash: (in
>> category 'converting') -----
>> elementsForwardIdentityTo: otherArray copyHash: copyHash
>> + "This primitive performs a bulk mutation, causing all
>> pointers to the elements of the
>> + receiver to be replaced by pointers to the corresponding
>> elements of otherArray.
>> + If copyHash is true, the identityHashes remain with the
>> pointers rather than with the
>> + objects so that the objects in the receiver should still be
>> properly indexed in any
>> + existing hashed structures after the mutation. If copyHash
>> is false, then the hashes
>> + of the objects in otherArray remain unchanged. If you know
>> what you're doing this
>> + may indeed be what you want."
>> + <primitive: 249 error: ec>
>> - "This primitive performs a bulk mutation, causing all
>> pointers to the elements of this array to be replaced by pointers to the
>> corresponding elements of otherArray. The identityHashes
>> remain with the pointers rather than with the objects so that the
>> objects in this array should still be properly indexed in any existing
>> hashed structures after the mutation."
>> - <primitive: 249>
>> self primitiveFailed!
>>
>> Item was changed:
>> ==== ERROR ===
>>
>> Error: Unrecognized class type
>>
>> 4 May 2015 5:47:40.493 pm
>>
>> VM: unix - a SmalltalkImage
>> Image: Squeak3.11alpha [latest update: #8824]
>>
>> SecurityManager state:
>> Restricted: false
>> FileAccess: true
>> SocketAccess: true
>> Working Dir /home/squeaksource
>> Trusted Dir /home/squeaksource/secure
>> Untrusted Dir /home/squeaksource/My Squeak
>>
>> MCClassDefinition(Object)>>error:
>> Receiver: a MCClassDefinition(Character)
>> Arguments and temporary variables:
>> aString: 'Unrecognized class type'
>> Receiver's instance variables:
>> name: #Character
>> superclassName: #Magnitude
>> variables: an OrderedCollection(a
>> MCClassVariableDefinition(CharacterTable) a M...etc...
>> category: 'Collections-Strings'
>> type: #immediate
>> comment: 'I represent a character by storing
>> its associated Unicode as an unsig...etc...
>> commentStamp: 'eem 8/12/2014 14:53'
>> traitComposition: nil
>> classTraitComposition: nil
>>
>> MCClassDefinition>>kindOfSubclass
>> Receiver: a MCClassDefinition(Character)
>> Arguments and temporary variables:
>>
>> Receiver's instance variables:
>> name: #Character
>> superclassName: #Magnitude
>> variables: an OrderedCollection(a
>> MCClassVariableDefinition(CharacterTable) a M...etc...
>> category: 'Collections-Strings'
>> type: #immediate
>> comment: 'I represent a character by storing
>> its associated Unicode as an unsig...etc...
>> commentStamp: 'eem 8/12/2014 14:53'
>> traitComposition: nil
>> classTraitComposition: nil
>>
>> MCClassDefinition>>printDefinitionOn:
>> Receiver: a MCClassDefinition(Character)
>> Arguments and temporary variables:
>> stream: a WriteStream
>> Receiver's instance variables:
>> name: #Character
>> superclassName: #Magnitude
>> variables: an OrderedCollection(a
>> MCClassVariableDefinition(CharacterTable) a M...etc...
>> category: 'Collections-Strings'
>> type: #immediate
>> comment: 'I represent a character by storing
>> its associated Unicode as an unsig...etc...
>> commentStamp: 'eem 8/12/2014 14:53'
>> traitComposition: nil
>> classTraitComposition: nil
>>
>> [] in MCDiffyTextWriter(MCStWriter)>>writeClassDefinition:
>> Receiver: a MCDiffyTextWriter
>> Arguments and temporary variables:
>> definition: a WriteStream
>> s: a MCClassDefinition(Character)
>> Receiver's instance variables:
>> stream: a WriteStream
>> initStream: nil
>>
>>
>> --- The full stack ---
>> MCClassDefinition(Object)>>error:
>> MCClassDefinition>>kindOfSubclass
>> MCClassDefinition>>printDefinitionOn:
>> [] in MCDiffyTextWriter(MCStWriter)>>writeClassDefinition:
>> - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
>> String class(SequenceableCollection class)>>new:streamContents:
>> String class(SequenceableCollection class)>>streamContents:
>> MCDiffyTextWriter(MCTextWriter)>>chunkContents:
>> MCDiffyTextWriter(MCStWriter)>>writeClassDefinition:
>> MCDiffyTextWriter(MCStWriter)>>visitClassDefinition:
>> MCClassDefinition>>accept:
>> [] in MCDiffyTextWriter(MCTextWriter)>>visitInFork:
>> String class(SequenceableCollection class)>>new:streamContents:
>> String class(SequenceableCollection class)>>streamContents:
>> MCDiffyTextWriter(MCTextWriter)>>visitInFork:
>> MCDiffyTextWriter>>writePatchFrom:to:
>> MCDiffyTextWriter>>writeModification:
>> [] in MCDiffyTextWriter>>writePatch:
>> SortedCollection(OrderedCollection)>>do:
>> MCDiffyTextWriter>>writePatch:
>> SSDiffyTextWriter>>writePatch:
>> [] in SSDiffyTextWriter>>writeVersion:for:
>> BlockClosure>>on:do:
>> SSDiffyTextWriter>>writeVersion:for:
>> [] in SSEMailSubscription>>versionAdded:to:
>> BlockClosure>>on:do:
>> SSEMailSubscription>>versionAdded:to:
>> [] in [] in SSProject>>versionAdded:
>> [] in BlockClosure>>newProcess
>>
>>
>>
>>
>> --
>> best,Eliot
>>
>
More information about the Squeak-dev
mailing list
|