[squeak-dev] The Trunk: Collections.spur-nice.622.mcz
Eliot Miranda
eliot.miranda at gmail.com
Thu May 7 17:10:07 UTC 2015
Hi Levente,
On Thu, May 7, 2015 at 9:34 AM, Eliot Miranda <eliot.miranda at gmail.com>
wrote:
> Hi Levente,
>
> On Mon, May 4, 2015 at 1:55 PM, Levente Uzonyi <leves at elte.hu> wrote:
>
>> 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.
>
>
> Yes. I see this. The bootstrap is clearly broken. I'll look at this
> right away.
>
Ah, MCMethodDefinition class>>className: classString
classIsMeta: metaBoolean
selector: selectorString
category: catString
timeStamp: timeString
source: sourceString
^ self instanceLike:
(self new initializeWithClassName: classString
classIsMeta: metaBoolean
selector: selectorString
category: catString
timeStamp: timeString
source: sourceString)
this will share definitions, and given that I'm modifying definitions as
part of the patch process I guess I could end up modifying a definition
that was inadvertently shared. I'm rewriting to avoid use of shared
instances. i.e. I will use MCMethodDefinition new initializeWithClassName
... instead of MCMethodDefinition className: ...
>
>>
>>
>> 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
>>>>
>>>>
>>
>>
>>
>
>
> --
> best,
> Eliot
>
--
best,
Eliot
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.squeakfoundation.org/pipermail/squeak-dev/attachments/20150507/45fdc2e7/attachment.htm
More information about the Squeak-dev
mailing list
|