The Trunk: Kernel-eem.1005.mcz

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

The Trunk: Kernel-eem.1005.mcz

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

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

Name: Kernel-eem.1005
Author: eem
Time: 8 March 2016, 1:16:26.313983 pm
UUID: e11ad532-fefb-4f2e-836a-dc40b7d93447
Ancestors: Kernel-bf.1004

Add a script to make sure that
 a) SmallFloat64 has identityHash 3 and occupies the 4th (3rd, zero-relative) slot of the first class table page, and
 b) that the first class table page is hidden by ensuring its class index is 16, the Array class index pun.

=============== Diff against Kernel-bf.1004 ===============

Item was removed:
- (PackageInfo named: 'Kernel') preamble: '((Mutex allInstances allSatisfy: [:m| (m instVarNamed: ''owner'') isNil])
- and: [Monitor allInstances allSatisfy: [:m| (m instVarNamed: ''ownerProcess'') isNil]]) ifFalse:
- [self error: ''Some Mutexes and/or Monitors are owned.  Cannot safely mutate.  ABort load and resolve this before loading for safety.'']'!

Item was changed:
+ (PackageInfo named: 'Kernel') postscript: '"below, add code to be run after the loading of this package"
+
+ "Make sure that
+  a) SmallFloat64 has identityHash 3 and occupies the 4th (3rd, zero-relative) slot of the first class table page, and
+  b) that the first class table page is hidden by ensuring its class index is 16, the Array class index pun."
+ (Array someInstance size = 1024
+  and: [(Array someInstance allSatisfy: [:e| e == nil or: [e isBehavior]])
+  and: [(Array someInstance first: 17) asSet = {nil. SmallInteger. Character. Array} asSet]]) ifTrue:
+ [| firstClassTablePage clone |
+ firstClassTablePage := Array someInstance.
+ self assert: (firstClassTablePage allSatisfy: [:e| e == nil or: [e isBehavior]]).
+ self assert: (firstClassTablePage first: 17) asSet = {nil. SmallInteger. Character. Array} asSet.
+ firstClassTablePage at: 4 put: SmallFloat64.
+ SmallFloat64 tryPrimitive: 161 withArgs: #(3).
+ clone := Array shallowCopy.
+ Array adoptInstance: clone.
+ clone tryPrimitive: 161 withArgs: #(16).
+ clone tryPrimitive: 160 withArgs: {firstClassTablePage}.
+ self assert: SmallFloat64 identityHash = 3.
+ self assert: (firstClassTablePage first: 4) = {nil. SmallInteger. Character. SmallFloat64}]'!
- (PackageInfo named: 'Kernel') postscript: 'Smalltalk removeFromStartUpList: DateAndTime.'!


Reply | Threaded
Open this post in threaded view
|

Re: The Trunk: Kernel-eem.1005.mcz

Eliot Miranda-2
Hi All,

    a grovelling apology.  I have committed a serious blunder in Kernel-eem.1005.mcz.  Rather than potentially corrupt images (although this is unlikely) I have chosen to delete Kernel-eem.1005.mcz.  This will break updates until I commit a corrected version.  But it's too late at night here for me to fix it now.  I'll fix it asap tomorrow am.  I could do with a good nights sleep ;-)

_,,,^..^,,,_ (phone)

> On Mar 8, 2016, at 7:19 PM, [hidden email] wrote:
>
> Eliot Miranda uploaded a new version of Kernel to project The Trunk:
> http://source.squeak.org/trunk/Kernel-eem.1005.mcz
>
> ==================== Summary ====================
>
> Name: Kernel-eem.1005
> Author: eem
> Time: 8 March 2016, 1:16:26.313983 pm
> UUID: e11ad532-fefb-4f2e-836a-dc40b7d93447
> Ancestors: Kernel-bf.1004
>
> Add a script to make sure that
> a) SmallFloat64 has identityHash 3 and occupies the 4th (3rd, zero-relative) slot of the first class table page, and
> b) that the first class table page is hidden by ensuring its class index is 16, the Array class index pun.
>
> =============== Diff against Kernel-bf.1004 ===============
>
> Item was removed:
> - (PackageInfo named: 'Kernel') preamble: '((Mutex allInstances allSatisfy: [:m| (m instVarNamed: ''owner'') isNil])
> - and: [Monitor allInstances allSatisfy: [:m| (m instVarNamed: ''ownerProcess'') isNil]]) ifFalse:
> -    [self error: ''Some Mutexes and/or Monitors are owned.  Cannot safely mutate.  ABort load and resolve this before loading for safety.'']'!
>
> Item was changed:
> + (PackageInfo named: 'Kernel') postscript: '"below, add code to be run after the loading of this package"
> +
> + "Make sure that
> +  a) SmallFloat64 has identityHash 3 and occupies the 4th (3rd, zero-relative) slot of the first class table page, and
> +  b) that the first class table page is hidden by ensuring its class index is 16, the Array class index pun."
> + (Array someInstance size = 1024
> +  and: [(Array someInstance allSatisfy: [:e| e == nil or: [e isBehavior]])
> +  and: [(Array someInstance first: 17) asSet = {nil. SmallInteger. Character. Array} asSet]]) ifTrue:
> +    [| firstClassTablePage clone |
> +    firstClassTablePage := Array someInstance.
> +    self assert: (firstClassTablePage allSatisfy: [:e| e == nil or: [e isBehavior]]).
> +    self assert: (firstClassTablePage first: 17) asSet = {nil. SmallInteger. Character. Array} asSet.
> +    firstClassTablePage at: 4 put: SmallFloat64.
> +    SmallFloat64 tryPrimitive: 161 withArgs: #(3).
> +    clone := Array shallowCopy.
> +    Array adoptInstance: clone.
> +    clone tryPrimitive: 161 withArgs: #(16).
> +    clone tryPrimitive: 160 withArgs: {firstClassTablePage}.
> +    self assert: SmallFloat64 identityHash = 3.
> +    self assert: (firstClassTablePage first: 4) = {nil. SmallInteger. Character. SmallFloat64}]'!
> - (PackageInfo named: 'Kernel') postscript: 'Smalltalk removeFromStartUpList: DateAndTime.'!
>
>

Reply | Threaded
Open this post in threaded view
|

Re: The Trunk: Kernel-eem.1005.mcz

David T. Lewis
On Wed, Mar 09, 2016 at 02:05:27AM -0800, Eliot Miranda wrote:
> Hi All,
>
>     a grovelling apology.  I have committed a serious blunder in Kernel-eem.1005.mcz.  Rather than potentially corrupt images (although this is unlikely) I have chosen to delete Kernel-eem.1005.mcz.  This will break updates until I commit a corrected version.  But it's too late at night here for me to fix it now.  I'll fix it asap tomorrow am.  I could do with a good nights sleep ;-)
>

No worries, nothing is broken. Trunk is still working fine and the update
stream is working normally.

For your own image, you will probably have to delete Kernel-eem.1005.mcz from
your local package cache and do "MCFileBasedRepository flushAllCaches". Aside
from that, all is well.

Dave


Reply | Threaded
Open this post in threaded view
|

Re: The Trunk: Kernel-eem.1005.mcz

Chris Muller-3
In reply to this post by Eliot Miranda-2
Eliot, PLEASE do not include 1005 in the ancestry then.
Thank you.

On Wed, Mar 9, 2016 at 4:05 AM, Eliot Miranda <[hidden email]> wrote:

> Hi All,
>
>     a grovelling apology.  I have committed a serious blunder in Kernel-eem.1005.mcz.  Rather than potentially corrupt images (although this is unlikely) I have chosen to delete Kernel-eem.1005.mcz.  This will break updates until I commit a corrected version.  But it's too late at night here for me to fix it now.  I'll fix it asap tomorrow am.  I could do with a good nights sleep ;-)
>
> _,,,^..^,,,_ (phone)
>
>> On Mar 8, 2016, at 7:19 PM, [hidden email] wrote:
>>
>> Eliot Miranda uploaded a new version of Kernel to project The Trunk:
>> http://source.squeak.org/trunk/Kernel-eem.1005.mcz
>>
>> ==================== Summary ====================
>>
>> Name: Kernel-eem.1005
>> Author: eem
>> Time: 8 March 2016, 1:16:26.313983 pm
>> UUID: e11ad532-fefb-4f2e-836a-dc40b7d93447
>> Ancestors: Kernel-bf.1004
>>
>> Add a script to make sure that
>> a) SmallFloat64 has identityHash 3 and occupies the 4th (3rd, zero-relative) slot of the first class table page, and
>> b) that the first class table page is hidden by ensuring its class index is 16, the Array class index pun.
>>
>> =============== Diff against Kernel-bf.1004 ===============
>>
>> Item was removed:
>> - (PackageInfo named: 'Kernel') preamble: '((Mutex allInstances allSatisfy: [:m| (m instVarNamed: ''owner'') isNil])
>> - and: [Monitor allInstances allSatisfy: [:m| (m instVarNamed: ''ownerProcess'') isNil]]) ifFalse:
>> -    [self error: ''Some Mutexes and/or Monitors are owned.  Cannot safely mutate.  ABort load and resolve this before loading for safety.'']'!
>>
>> Item was changed:
>> + (PackageInfo named: 'Kernel') postscript: '"below, add code to be run after the loading of this package"
>> +
>> + "Make sure that
>> +  a) SmallFloat64 has identityHash 3 and occupies the 4th (3rd, zero-relative) slot of the first class table page, and
>> +  b) that the first class table page is hidden by ensuring its class index is 16, the Array class index pun."
>> + (Array someInstance size = 1024
>> +  and: [(Array someInstance allSatisfy: [:e| e == nil or: [e isBehavior]])
>> +  and: [(Array someInstance first: 17) asSet = {nil. SmallInteger. Character. Array} asSet]]) ifTrue:
>> +    [| firstClassTablePage clone |
>> +    firstClassTablePage := Array someInstance.
>> +    self assert: (firstClassTablePage allSatisfy: [:e| e == nil or: [e isBehavior]]).
>> +    self assert: (firstClassTablePage first: 17) asSet = {nil. SmallInteger. Character. Array} asSet.
>> +    firstClassTablePage at: 4 put: SmallFloat64.
>> +    SmallFloat64 tryPrimitive: 161 withArgs: #(3).
>> +    clone := Array shallowCopy.
>> +    Array adoptInstance: clone.
>> +    clone tryPrimitive: 161 withArgs: #(16).
>> +    clone tryPrimitive: 160 withArgs: {firstClassTablePage}.
>> +    self assert: SmallFloat64 identityHash = 3.
>> +    self assert: (firstClassTablePage first: 4) = {nil. SmallInteger. Character. SmallFloat64}]'!
>> - (PackageInfo named: 'Kernel') postscript: 'Smalltalk removeFromStartUpList: DateAndTime.'!
>>
>>
>