Hi Eliot, thanks for uploading the new trunk46-spur images 20150807.
However, it has four merged dirty packages. I have already created a
Squeak5.0-15102 and uploaded it to http://ftp.squeak.org/5.0alpha/.
So, we have something which essentially reflects the last state of the
last 4.x (e.g., 4.6) in the new Spur format. Nice.
Now we're ready to figure out how to move forward. I think we should
save these dirty merged packages one last time as ".spur" before we
resave all of the .spur packages for the first time as the mainline
names (e.g., without ".spur"). Would you like to take care of that or
me?
Changes to Trunk (http://source.squeak.org/trunk.html) in the last 24 hours:
http://lists.squeakfoundation.org/pipermail/packages/2015-July/008821.html
Name: Compiler-eem.303
Ancestors: Compiler-topa.302
Fix stack depth regression from Compiler-eem.300.
=============================================
http://lists.squeakfoundation.org/pipermail/packages/2015-July/008822.html
Name: Compiler-eem.304
Ancestors: Compiler-topa.302
Fix stack depth regression from Compiler-eem.300; this time with the correct version number for the MC package.
=============================================
http://lists.squeakfoundation.org/pipermail/packages/2015-July/008823.html
Name: Compiler.spur-eem.303
Ancestors: Compiler-eem.303, Compiler.spur-topa.302
Compiler-eem.303 patched for Spur by SpurBootstrapMonticelloPackagePatcher Cog-eem.270
Fix stack depth regression from Compiler-eem.300.
=============================================
http://lists.squeakfoundation.org/pipermail/packages/2015-July/008824.html
Name: Collections.spur-topa.638
Ancestors: Collections-topa.638, Collections.spur-topa.637
Collections-topa.638 patched for Spur by SpurBootstrapMonticelloPackagePatcher Cog-eem.270
Let's say PluggableTextAttributes are not serializable.
=============================================
http://lists.squeakfoundation.org/pipermail/packages/2015-July/008825.html
Name: Compiler.spur-dtl.303
Ancestors: Compiler-dtl.303, Compiler.spur-topa.302
Compiler-dtl.303 patched for Spur by SpurBootstrapMonticelloPackagePatcher Cog-eem.270
Revert two methods from Compiler-eem.300 because they work on a stack interpreter but not on a context interpreter (VM crash).
=============================================
http://lists.squeakfoundation.org/pipermail/packages/2015-July/008826.html
Name: Compiler.spur-eem.304
Ancestors: Compiler-eem.304, Compiler.spur-topa.302
Compiler-eem.304 patched for Spur by SpurBootstrapMonticelloPackagePatcher Cog-eem.270
Fix stack depth regression from Compiler-eem.300; this time with the correct version number for the MC package.
=============================================
I managed to get the 4.6-All-In-One uploaded and tested on Windows and
Ubuntu Linux.
However, I did nothing for Mac (not even the VM replacement) I need a
Mac owner to please download it, dig into the zip and make the
necessary changes so it will launch on Mac.
The Mac-specific folders appear to be:
./Squeak-4.6-All-In-One/Squeak-4.6-All-in-One.app/Contents/_CodeSignature
./Squeak-4.6-All-In-One/Squeak-4.6-All-in-One.app/Contents/MacOS
./Squeak-4.6-All-In-One/Squeak-4.6-All-in-One.app/Contents/Resources
./Squeak-4.6-All-In-One/Squeak-4.6-All-in-One.app/Contents/Library
./Squeak-4.6-All-In-One/Squeak-4.6-All-in-One.app/Contents/PkgInfo
./Squeak-4.6-All-In-One/Squeak-4.6-All-in-One.app/Contents/Info.plist
Mac volunteer, please download it, unzip, make the necessary
adjustments, re-Zip, and send me a link where I can download it.
Then, I'll re-upload it to squeak.org. Thanks.
Confirming - this fixes the problem of interpreter VM crashes after a system
recompile, so this is the version that should go into the 4.6/5.0 release.
Thanks!
Dave
On Thu, Jul 09, 2015 at 12:15:16AM +0000, commits(a)source.squeak.org wrote:
> Eliot Miranda uploaded a new version of Compiler to project The Trunk:
> http://source.squeak.org/trunk/Compiler-eem.304.mcz
>
> ==================== Summary ====================
>
> Name: Compiler-eem.304
> Author: eem
> Time: 8 July 2015, 5:15:09.812 pm
> UUID: 3b07ef9d-69d2-424d-845c-affde45643b8
> Ancestors: Compiler-topa.302
>
> Fix stack depth regression from Compiler-eem.300; this time with the correct version number for the MC package.
>
> =============== Diff against Compiler-topa.302 ===============
>
> Item was changed:
> ----- Method: BlockNode>>emitCodeForEvaluatedClosureValue:encoder: (in category 'code generation (closures)') -----
> emitCodeForEvaluatedClosureValue: stack encoder: encoder
> | position |
> position := stack position.
> + stack position: arguments size + temporaries size + copiedValues size.
> - stack position: arguments size + copiedValues size.
> encoder genPushNClosureTemps: temporaries size.
> self
> reindexingLocalsDo: [self emitCodeForEvaluatedValue: stack encoder: encoder]
> encoder: encoder.
> self returns ifFalse:
> [encoder genReturnTopToCaller.
> pc := encoder methodStreamPosition].
> stack position: position!
>
Chris Muller uploaded a new version of Compiler to project Squeak 4.6:
http://source.squeak.org/squeak46/Compiler-eem.304.mcz
==================== Summary ====================
Name: Compiler-eem.304
Author: eem
Time: 8 July 2015, 5:15:09.812 pm
UUID: 3b07ef9d-69d2-424d-845c-affde45643b8
Ancestors: Compiler-topa.302
Fix stack depth regression from Compiler-eem.300; this time with the correct version number for the MC package.
=============== Diff against Compiler-topa.302 ===============
Eliot Miranda uploaded a new version of Collections to project The Trunk:
http://source.squeak.org/trunk/Collections.spur-topa.638.mcz
==================== Summary ====================
Name: Collections.spur-topa.638
Author: eem
Time: 8 July 2015, 5:19:46.214 pm
UUID: 74b2d4fa-c030-48a7-ae6c-c6809bd0318a
Ancestors: Collections-topa.638, Collections.spur-topa.637
Collections-topa.638 patched for Spur by SpurBootstrapMonticelloPackagePatcher Cog-eem.270
Let's say PluggableTextAttributes are not serializable.
=============== Diff against Collections-topa.638 ===============
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
9 July 2015 12:20:49.041 am
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(AlphaNumericMask) a...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(AlphaNumericMask) a...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(AlphaNumericMask) a...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
Eliot Miranda uploaded a new version of Compiler to project The Trunk:
http://source.squeak.org/trunk/Compiler-eem.304.mcz
==================== Summary ====================
Name: Compiler-eem.304
Author: eem
Time: 8 July 2015, 5:15:09.812 pm
UUID: 3b07ef9d-69d2-424d-845c-affde45643b8
Ancestors: Compiler-topa.302
Fix stack depth regression from Compiler-eem.300; this time with the correct version number for the MC package.
=============== Diff against Compiler-topa.302 ===============
Item was changed:
----- Method: BlockNode>>emitCodeForEvaluatedClosureValue:encoder: (in category 'code generation (closures)') -----
emitCodeForEvaluatedClosureValue: stack encoder: encoder
| position |
position := stack position.
+ stack position: arguments size + temporaries size + copiedValues size.
- stack position: arguments size + copiedValues size.
encoder genPushNClosureTemps: temporaries size.
self
reindexingLocalsDo: [self emitCodeForEvaluatedValue: stack encoder: encoder]
encoder: encoder.
self returns ifFalse:
[encoder genReturnTopToCaller.
pc := encoder methodStreamPosition].
stack position: position!