Daily Commit Log

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

Daily Commit Log

commits-2
Changes to Trunk (http://source.squeak.org/trunk.html) in the last 24 hours:

http://lists.squeakfoundation.org/pipermail/packages/2015-August/008871.html

Name: Tests-ul.325
Ancestors: Tests-topa.324

Increased maxLiterals in CompilerTest's #testMaxLiterals and #testMaxLiteralsWithClassReferenceInClosure to make them pass again.
In theory Spur supports literals up to 65535, but I think the compiler will have to be changed to be able to use that many.

=============================================

http://lists.squeakfoundation.org/pipermail/packages/2015-August/008872.html

Name: Tests-ul.326
Ancestors: Tests-ul.325

PointTest's #testNormal and #testTheta seem to get decompiled correctly.

=============================================

http://lists.squeakfoundation.org/pipermail/packages/2015-August/008873.html

Name: Collections-ul.644
Ancestors: Collections-ul.643

Extracted and enhanced Bitset from WideCharacterSet.

=============================================

http://lists.squeakfoundation.org/pipermail/packages/2015-August/008874.html

Name: CollectionsTests-ul.247
Ancestors: CollectionsTests-ul.246

Added BitSetTest.

=============================================

http://lists.squeakfoundation.org/pipermail/packages/2015-August/008875.html

Name: Collections-ul.645
Ancestors: Collections-ul.644

Use the extracted Bitset in WideCharacterSet:
- decreased chunk size from 65536 to 256. This should give a purpose to use a dictionary instread of an array for map, because its size will have a chance to be larger than 64.
- byteArrayMap is always initialized, so there's no need to use the method to reference it, nor to check if it's initialized
- moved #remove: behavior to #remove:ifAbsent:, just like it's done by most collections. Kept the existing behavior of #remove: to not signal an error when the character is not in the collection.
- use #atAllPut: to clear the byteArrayMap in #removeAll, because it should be faster than allocating a new instance
- improved #size's performance
- migrate instances on-the-fly
- migrate any unmigrated instaces during the postscript
- removed the unused methods

=============================================

http://lists.squeakfoundation.org/pipermail/packages/2015-August/008876.html

Name: Collections-ul.646
Ancestors: Collections-ul.645

- removed migration code from WideCharacterSet

=============================================

http://lists.squeakfoundation.org/pipermail/packages/2015-August/008877.html

Name: Tools-eem.631
Ancestors: Tools-ul.630

Remove the become[Un]Compact messages from MethodFinder as these are going away.

=============================================

http://lists.squeakfoundation.org/pipermail/packages/2015-August/008878.html

Name: System-eem.758
Ancestors: System-ul.757

Reimplement the post-load enumeration of loaded objects to use the revised primitive available in the VMMaker.oscog-eem.1441 /3427 VMs that becomes the loaded segment into an Array of the loaded objects.  Hence endMarker disappears and allObjectsDo: is trivially implemented as do: sent to the segment.

This change requires users to upgrade their VMs but as the alternative is crashes in ImageSegment loads this is acceptable.  AFAIA this fixes ImageSegments in Spur but they clearly need pounding on.

=============================================

http://lists.squeakfoundation.org/pipermail/packages/2015-August/008879.html

Name: SMBase-eem.134
Ancestors: SMBase-bf.133

Reimplement the post-load enumeration of loaded objects to use the revised primitive available in the VMMaker.oscog-eem.1441 /3427 VMs that becomes the loaded segment into an Array of the loaded objects.  Hence endMarker disappears and allObjectsDo: is trivially implemented as do: sent to the segment.

This change requires users to upgrade their VMs but as the alternative is crashes in ImageSegment loads this is acceptable.  AFAIA this fixes ImageSegments in Spur but they clearly need pounding on.

=============================================

http://lists.squeakfoundation.org/pipermail/packages/2015-August/008880.html

Name: KernelTests-eem.297
Ancestors: KernelTests-ul.296

Remove the compact class index tests from LargeNegativeInteger as the compact class code is going away.

=============================================

http://lists.squeakfoundation.org/pipermail/packages/2015-August/008881.html

Name: Kernel-eem.944
Ancestors: Kernel-ul.943

Nuke the compact class support in Kernel and the ClassBuilder.  Spur has a regular 64-bit object header format with no special cases.

Fix CompiledMethod>>at:ifAbsent: to work with the initialPC to endPC range and run the ifAbsent: block for indices outside this range.

Categorize isCompiledMethodClass correctly.

=============================================

http://lists.squeakfoundation.org/pipermail/packages/2015-August/008882.html

Name: Collections-ul.647
Ancestors: Collections-ul.646

- in Spur we can speed up Character >> #sameAs: by using #==

=============================================

http://lists.squeakfoundation.org/pipermail/packages/2015-August/008883.html

Name: Regex-Core-ul.40
Ancestors: Regex-Core-ul.39

RxsPredicate:
- added \t \n escapes for tab and lf
- unified all single character predicates as #beCharacter:
- postscript reinitializes the dictionary

RxMatchOptimizer:
- removed lookarounds, because they were never used, just collected
- all collections get initialized lazily
- CharacterSet are used for storing characters
- IdentitySets are used where unique objects are stored (e.g. symbols)
- use #== and #~~ for character comparison (Spur-specific change)

RxMatcher:
- reuse previous markerPositions
- use String >> #new:streamContents: where possible
- use #== and #~~ for character comparison (Spur-specific change)
- quick returns in #tryMatch

General:
- renamed RxmLookahaed to RxmLookahead
- in RxmPredicate >> #matchAgainst: use the fact that  aMatcher is providing a ReadStream of characters, so nil means end of stream
- reimplemented RxmSubstring

=============================================

http://lists.squeakfoundation.org/pipermail/packages/2015-August/008884.html

Name: Regex-Tests-Core-ul.1
Ancestors:

- tests from Pharo

=============================================

Reply | Threaded
Open this post in threaded view
|

Re: Daily Commit Log

Eliot Miranda-2
Hi Tobias,

Sent from my iPhone

> On Aug 22, 2015, at 2:55 PM, [hidden email] wrote:
>
> Changes to Trunk (http://source.squeak.org/trunk.html) in the last 24 hours:
>
> http://lists.squeakfoundation.org/pipermail/packages/2015-August/008871.html
>
> Name: Tests-ul.325
> Ancestors: Tests-topa.324
>
> Increased maxLiterals in CompilerTest's #testMaxLiterals and #testMaxLiteralsWithClassReferenceInClosure to make them pass again.
> In theory Spur supports literals up to 65535, but I think the compiler will have to be changed to be able to use that many.

In the end I made the literal limit 32767, leaving bit 15 for a flag identifying methods generated by the dynamic optimizer, when we have one.

Why do you think the compiler needs modifying to allow for more than 255 literals?  I think it's a bytecode set issue, not a compiler issue.  Both the Newspeak V4 and Sista V1 bytecode sets support 64k literals.

> =============================================
>
> http://lists.squeakfoundation.org/pipermail/packages/2015-August/008872.html
>
> Name: Tests-ul.326
> Ancestors: Tests-ul.325
>
> PointTest's #testNormal and #testTheta seem to get decompiled correctly.
>
> =============================================
>
> http://lists.squeakfoundation.org/pipermail/packages/2015-August/008873.html
>
> Name: Collections-ul.644
> Ancestors: Collections-ul.643
>
> Extracted and enhanced Bitset from WideCharacterSet.
>
> =============================================
>
> http://lists.squeakfoundation.org/pipermail/packages/2015-August/008874.html
>
> Name: CollectionsTests-ul.247
> Ancestors: CollectionsTests-ul.246
>
> Added BitSetTest.
>
> =============================================
>
> http://lists.squeakfoundation.org/pipermail/packages/2015-August/008875.html
>
> Name: Collections-ul.645
> Ancestors: Collections-ul.644
>
> Use the extracted Bitset in WideCharacterSet:
> - decreased chunk size from 65536 to 256. This should give a purpose to use a dictionary instread of an array for map, because its size will have a chance to be larger than 64.
> - byteArrayMap is always initialized, so there's no need to use the method to reference it, nor to check if it's initialized
> - moved #remove: behavior to #remove:ifAbsent:, just like it's done by most collections. Kept the existing behavior of #remove: to not signal an error when the character is not in the collection.
> - use #atAllPut: to clear the byteArrayMap in #removeAll, because it should be faster than allocating a new instance
> - improved #size's performance
> - migrate instances on-the-fly
> - migrate any unmigrated instaces during the postscript
> - removed the unused methods
>
> =============================================
>
> http://lists.squeakfoundation.org/pipermail/packages/2015-August/008876.html
>
> Name: Collections-ul.646
> Ancestors: Collections-ul.645
>
> - removed migration code from WideCharacterSet
>
> =============================================
>
> http://lists.squeakfoundation.org/pipermail/packages/2015-August/008877.html
>
> Name: Tools-eem.631
> Ancestors: Tools-ul.630
>
> Remove the become[Un]Compact messages from MethodFinder as these are going away.
>
> =============================================
>
> http://lists.squeakfoundation.org/pipermail/packages/2015-August/008878.html
>
> Name: System-eem.758
> Ancestors: System-ul.757
>
> Reimplement the post-load enumeration of loaded objects to use the revised primitive available in the VMMaker.oscog-eem.1441 /3427 VMs that becomes the loaded segment into an Array of the loaded objects.  Hence endMarker disappears and allObjectsDo: is trivially implemented as do: sent to the segment.
>
> This change requires users to upgrade their VMs but as the alternative is crashes in ImageSegment loads this is acceptable.  AFAIA this fixes ImageSegments in Spur but they clearly need pounding on.
>
> =============================================
>
> http://lists.squeakfoundation.org/pipermail/packages/2015-August/008879.html
>
> Name: SMBase-eem.134
> Ancestors: SMBase-bf.133
>
> Reimplement the post-load enumeration of loaded objects to use the revised primitive available in the VMMaker.oscog-eem.1441 /3427 VMs that becomes the loaded segment into an Array of the loaded objects.  Hence endMarker disappears and allObjectsDo: is trivially implemented as do: sent to the segment.
>
> This change requires users to upgrade their VMs but as the alternative is crashes in ImageSegment loads this is acceptable.  AFAIA this fixes ImageSegments in Spur but they clearly need pounding on.
>
> =============================================
>
> http://lists.squeakfoundation.org/pipermail/packages/2015-August/008880.html
>
> Name: KernelTests-eem.297
> Ancestors: KernelTests-ul.296
>
> Remove the compact class index tests from LargeNegativeInteger as the compact class code is going away.
>
> =============================================
>
> http://lists.squeakfoundation.org/pipermail/packages/2015-August/008881.html
>
> Name: Kernel-eem.944
> Ancestors: Kernel-ul.943
>
> Nuke the compact class support in Kernel and the ClassBuilder.  Spur has a regular 64-bit object header format with no special cases.
>
> Fix CompiledMethod>>at:ifAbsent: to work with the initialPC to endPC range and run the ifAbsent: block for indices outside this range.
>
> Categorize isCompiledMethodClass correctly.
>
> =============================================
>
> http://lists.squeakfoundation.org/pipermail/packages/2015-August/008882.html
>
> Name: Collections-ul.647
> Ancestors: Collections-ul.646
>
> - in Spur we can speed up Character >> #sameAs: by using #==
>
> =============================================
>
> http://lists.squeakfoundation.org/pipermail/packages/2015-August/008883.html
>
> Name: Regex-Core-ul.40
> Ancestors: Regex-Core-ul.39
>
> RxsPredicate:
> - added \t \n escapes for tab and lf
> - unified all single character predicates as #beCharacter:
> - postscript reinitializes the dictionary
>
> RxMatchOptimizer:
> - removed lookarounds, because they were never used, just collected
> - all collections get initialized lazily
> - CharacterSet are used for storing characters
> - IdentitySets are used where unique objects are stored (e.g. symbols)
> - use #== and #~~ for character comparison (Spur-specific change)
>
> RxMatcher:
> - reuse previous markerPositions
> - use String >> #new:streamContents: where possible
> - use #== and #~~ for character comparison (Spur-specific change)
> - quick returns in #tryMatch
>
> General:
> - renamed RxmLookahaed to RxmLookahead
> - in RxmPredicate >> #matchAgainst: use the fact that  aMatcher is providing a ReadStream of characters, so nil means end of stream
> - reimplemented RxmSubstring
>
> =============================================
>
> http://lists.squeakfoundation.org/pipermail/packages/2015-August/008884.html
>
> Name: Regex-Tests-Core-ul.1
> Ancestors:
>
> - tests from Pharo
>
> =============================================
>

Reply | Threaded
Open this post in threaded view
|

Re: Daily Commit Log

Levente Uzonyi-2
Hi Eliot,

That was me who updated the method, because if was failing. CompilerTest
>> #testMaxLiterals verifies a certain literal limit, and checks if adding
one more literal will make the compilation fail.

Levente

On Tue, 25 Aug 2015, Eliot Miranda wrote:

> Hi Tobias,
>
> Sent from my iPhone
>
>> On Aug 22, 2015, at 2:55 PM, [hidden email] wrote:
>>
>> Changes to Trunk (http://source.squeak.org/trunk.html) in the last 24 hours:
>>
>> http://lists.squeakfoundation.org/pipermail/packages/2015-August/008871.html
>>
>> Name: Tests-ul.325
>> Ancestors: Tests-topa.324
>>
>> Increased maxLiterals in CompilerTest's #testMaxLiterals and #testMaxLiteralsWithClassReferenceInClosure to make them pass again.
>> In theory Spur supports literals up to 65535, but I think the compiler will have to be changed to be able to use that many.
>
> In the end I made the literal limit 32767, leaving bit 15 for a flag identifying methods generated by the dynamic optimizer, when we have one.
>
> Why do you think the compiler needs modifying to allow for more than 255 literals?  I think it's a bytecode set issue, not a compiler issue.  Both the Newspeak V4 and Sista V1 bytecode sets support 64k literals.
>
>> =============================================
>>
>> http://lists.squeakfoundation.org/pipermail/packages/2015-August/008872.html
>>
>> Name: Tests-ul.326
>> Ancestors: Tests-ul.325
>>
>> PointTest's #testNormal and #testTheta seem to get decompiled correctly.
>>
>> =============================================
>>
>> http://lists.squeakfoundation.org/pipermail/packages/2015-August/008873.html
>>
>> Name: Collections-ul.644
>> Ancestors: Collections-ul.643
>>
>> Extracted and enhanced Bitset from WideCharacterSet.
>>
>> =============================================
>>
>> http://lists.squeakfoundation.org/pipermail/packages/2015-August/008874.html
>>
>> Name: CollectionsTests-ul.247
>> Ancestors: CollectionsTests-ul.246
>>
>> Added BitSetTest.
>>
>> =============================================
>>
>> http://lists.squeakfoundation.org/pipermail/packages/2015-August/008875.html
>>
>> Name: Collections-ul.645
>> Ancestors: Collections-ul.644
>>
>> Use the extracted Bitset in WideCharacterSet:
>> - decreased chunk size from 65536 to 256. This should give a purpose to use a dictionary instread of an array for map, because its size will have a chance to be larger than 64.
>> - byteArrayMap is always initialized, so there's no need to use the method to reference it, nor to check if it's initialized
>> - moved #remove: behavior to #remove:ifAbsent:, just like it's done by most collections. Kept the existing behavior of #remove: to not signal an error when the character is not in the collection.
>> - use #atAllPut: to clear the byteArrayMap in #removeAll, because it should be faster than allocating a new instance
>> - improved #size's performance
>> - migrate instances on-the-fly
>> - migrate any unmigrated instaces during the postscript
>> - removed the unused methods
>>
>> =============================================
>>
>> http://lists.squeakfoundation.org/pipermail/packages/2015-August/008876.html
>>
>> Name: Collections-ul.646
>> Ancestors: Collections-ul.645
>>
>> - removed migration code from WideCharacterSet
>>
>> =============================================
>>
>> http://lists.squeakfoundation.org/pipermail/packages/2015-August/008877.html
>>
>> Name: Tools-eem.631
>> Ancestors: Tools-ul.630
>>
>> Remove the become[Un]Compact messages from MethodFinder as these are going away.
>>
>> =============================================
>>
>> http://lists.squeakfoundation.org/pipermail/packages/2015-August/008878.html
>>
>> Name: System-eem.758
>> Ancestors: System-ul.757
>>
>> Reimplement the post-load enumeration of loaded objects to use the revised primitive available in the VMMaker.oscog-eem.1441 /3427 VMs that becomes the loaded segment into an Array of the loaded objects.  Hence endMarker disappears and allObjectsDo: is trivially implemented as do: sent to the segment.
>>
>> This change requires users to upgrade their VMs but as the alternative is crashes in ImageSegment loads this is acceptable.  AFAIA this fixes ImageSegments in Spur but they clearly need pounding on.
>>
>> =============================================
>>
>> http://lists.squeakfoundation.org/pipermail/packages/2015-August/008879.html
>>
>> Name: SMBase-eem.134
>> Ancestors: SMBase-bf.133
>>
>> Reimplement the post-load enumeration of loaded objects to use the revised primitive available in the VMMaker.oscog-eem.1441 /3427 VMs that becomes the loaded segment into an Array of the loaded objects.  Hence endMarker disappears and allObjectsDo: is trivially implemented as do: sent to the segment.
>>
>> This change requires users to upgrade their VMs but as the alternative is crashes in ImageSegment loads this is acceptable.  AFAIA this fixes ImageSegments in Spur but they clearly need pounding on.
>>
>> =============================================
>>
>> http://lists.squeakfoundation.org/pipermail/packages/2015-August/008880.html
>>
>> Name: KernelTests-eem.297
>> Ancestors: KernelTests-ul.296
>>
>> Remove the compact class index tests from LargeNegativeInteger as the compact class code is going away.
>>
>> =============================================
>>
>> http://lists.squeakfoundation.org/pipermail/packages/2015-August/008881.html
>>
>> Name: Kernel-eem.944
>> Ancestors: Kernel-ul.943
>>
>> Nuke the compact class support in Kernel and the ClassBuilder.  Spur has a regular 64-bit object header format with no special cases.
>>
>> Fix CompiledMethod>>at:ifAbsent: to work with the initialPC to endPC range and run the ifAbsent: block for indices outside this range.
>>
>> Categorize isCompiledMethodClass correctly.
>>
>> =============================================
>>
>> http://lists.squeakfoundation.org/pipermail/packages/2015-August/008882.html
>>
>> Name: Collections-ul.647
>> Ancestors: Collections-ul.646
>>
>> - in Spur we can speed up Character >> #sameAs: by using #==
>>
>> =============================================
>>
>> http://lists.squeakfoundation.org/pipermail/packages/2015-August/008883.html
>>
>> Name: Regex-Core-ul.40
>> Ancestors: Regex-Core-ul.39
>>
>> RxsPredicate:
>> - added \t \n escapes for tab and lf
>> - unified all single character predicates as #beCharacter:
>> - postscript reinitializes the dictionary
>>
>> RxMatchOptimizer:
>> - removed lookarounds, because they were never used, just collected
>> - all collections get initialized lazily
>> - CharacterSet are used for storing characters
>> - IdentitySets are used where unique objects are stored (e.g. symbols)
>> - use #== and #~~ for character comparison (Spur-specific change)
>>
>> RxMatcher:
>> - reuse previous markerPositions
>> - use String >> #new:streamContents: where possible
>> - use #== and #~~ for character comparison (Spur-specific change)
>> - quick returns in #tryMatch
>>
>> General:
>> - renamed RxmLookahaed to RxmLookahead
>> - in RxmPredicate >> #matchAgainst: use the fact that  aMatcher is providing a ReadStream of characters, so nil means end of stream
>> - reimplemented RxmSubstring
>>
>> =============================================
>>
>> http://lists.squeakfoundation.org/pipermail/packages/2015-August/008884.html
>>
>> Name: Regex-Tests-Core-ul.1
>> Ancestors:
>>
>> - tests from Pharo
>>
>> =============================================
>>
>
>

Reply | Threaded
Open this post in threaded view
|

Re: Daily Commit Log

Eliot Miranda-2


On Tue, Aug 25, 2015 at 10:40 AM, Levente Uzonyi <[hidden email]> wrote:
Hi Eliot,

That was me who updated the method, because if was failing. CompilerTest
#testMaxLiterals verifies a certain literal limit, and checks if adding
one more literal will make the compilation fail.

Ah, OK.  I just wanted to point out that the limit is 32767, not 65535.
 


Levente


On Tue, 25 Aug 2015, Eliot Miranda wrote:

Hi Tobias,

Sent from my iPhone

On Aug 22, 2015, at 2:55 PM, [hidden email] wrote:

Changes to Trunk (http://source.squeak.org/trunk.html) in the last 24 hours:

http://lists.squeakfoundation.org/pipermail/packages/2015-August/008871.html

Name: Tests-ul.325
Ancestors: Tests-topa.324

Increased maxLiterals in CompilerTest's #testMaxLiterals and #testMaxLiteralsWithClassReferenceInClosure to make them pass again.
In theory Spur supports literals up to 65535, but I think the compiler will have to be changed to be able to use that many.

In the end I made the literal limit 32767, leaving bit 15 for a flag identifying methods generated by the dynamic optimizer, when we have one.

Why do you think the compiler needs modifying to allow for more than 255 literals?  I think it's a bytecode set issue, not a compiler issue.  Both the Newspeak V4 and Sista V1 bytecode sets support 64k literals.

=============================================

http://lists.squeakfoundation.org/pipermail/packages/2015-August/008872.html

Name: Tests-ul.326
Ancestors: Tests-ul.325

PointTest's #testNormal and #testTheta seem to get decompiled correctly.

=============================================

http://lists.squeakfoundation.org/pipermail/packages/2015-August/008873.html

Name: Collections-ul.644
Ancestors: Collections-ul.643

Extracted and enhanced Bitset from WideCharacterSet.

=============================================

http://lists.squeakfoundation.org/pipermail/packages/2015-August/008874.html

Name: CollectionsTests-ul.247
Ancestors: CollectionsTests-ul.246

Added BitSetTest.

=============================================

http://lists.squeakfoundation.org/pipermail/packages/2015-August/008875.html

Name: Collections-ul.645
Ancestors: Collections-ul.644

Use the extracted Bitset in WideCharacterSet:
- decreased chunk size from 65536 to 256. This should give a purpose to use a dictionary instread of an array for map, because its size will have a chance to be larger than 64.
- byteArrayMap is always initialized, so there's no need to use the method to reference it, nor to check if it's initialized
- moved #remove: behavior to #remove:ifAbsent:, just like it's done by most collections. Kept the existing behavior of #remove: to not signal an error when the character is not in the collection.
- use #atAllPut: to clear the byteArrayMap in #removeAll, because it should be faster than allocating a new instance
- improved #size's performance
- migrate instances on-the-fly
- migrate any unmigrated instaces during the postscript
- removed the unused methods

=============================================

http://lists.squeakfoundation.org/pipermail/packages/2015-August/008876.html

Name: Collections-ul.646
Ancestors: Collections-ul.645

- removed migration code from WideCharacterSet

=============================================

http://lists.squeakfoundation.org/pipermail/packages/2015-August/008877.html

Name: Tools-eem.631
Ancestors: Tools-ul.630

Remove the become[Un]Compact messages from MethodFinder as these are going away.

=============================================

http://lists.squeakfoundation.org/pipermail/packages/2015-August/008878.html

Name: System-eem.758
Ancestors: System-ul.757

Reimplement the post-load enumeration of loaded objects to use the revised primitive available in the VMMaker.oscog-eem.1441 /3427 VMs that becomes the loaded segment into an Array of the loaded objects.  Hence endMarker disappears and allObjectsDo: is trivially implemented as do: sent to the segment.

This change requires users to upgrade their VMs but as the alternative is crashes in ImageSegment loads this is acceptable.  AFAIA this fixes ImageSegments in Spur but they clearly need pounding on.

=============================================

http://lists.squeakfoundation.org/pipermail/packages/2015-August/008879.html

Name: SMBase-eem.134
Ancestors: SMBase-bf.133

Reimplement the post-load enumeration of loaded objects to use the revised primitive available in the VMMaker.oscog-eem.1441 /3427 VMs that becomes the loaded segment into an Array of the loaded objects.  Hence endMarker disappears and allObjectsDo: is trivially implemented as do: sent to the segment.

This change requires users to upgrade their VMs but as the alternative is crashes in ImageSegment loads this is acceptable.  AFAIA this fixes ImageSegments in Spur but they clearly need pounding on.

=============================================

http://lists.squeakfoundation.org/pipermail/packages/2015-August/008880.html

Name: KernelTests-eem.297
Ancestors: KernelTests-ul.296

Remove the compact class index tests from LargeNegativeInteger as the compact class code is going away.

=============================================

http://lists.squeakfoundation.org/pipermail/packages/2015-August/008881.html

Name: Kernel-eem.944
Ancestors: Kernel-ul.943

Nuke the compact class support in Kernel and the ClassBuilder.  Spur has a regular 64-bit object header format with no special cases.

Fix CompiledMethod>>at:ifAbsent: to work with the initialPC to endPC range and run the ifAbsent: block for indices outside this range.

Categorize isCompiledMethodClass correctly.

=============================================

http://lists.squeakfoundation.org/pipermail/packages/2015-August/008882.html

Name: Collections-ul.647
Ancestors: Collections-ul.646

- in Spur we can speed up Character >> #sameAs: by using #==

=============================================

http://lists.squeakfoundation.org/pipermail/packages/2015-August/008883.html

Name: Regex-Core-ul.40
Ancestors: Regex-Core-ul.39

RxsPredicate:
- added \t \n escapes for tab and lf
- unified all single character predicates as #beCharacter:
- postscript reinitializes the dictionary

RxMatchOptimizer:
- removed lookarounds, because they were never used, just collected
- all collections get initialized lazily
- CharacterSet are used for storing characters
- IdentitySets are used where unique objects are stored (e.g. symbols)
- use #== and #~~ for character comparison (Spur-specific change)

RxMatcher:
- reuse previous markerPositions
- use String >> #new:streamContents: where possible
- use #== and #~~ for character comparison (Spur-specific change)
- quick returns in #tryMatch

General:
- renamed RxmLookahaed to RxmLookahead
- in RxmPredicate >> #matchAgainst: use the fact that  aMatcher is providing a ReadStream of characters, so nil means end of stream
- reimplemented RxmSubstring

=============================================

http://lists.squeakfoundation.org/pipermail/packages/2015-August/008884.html

Name: Regex-Tests-Core-ul.1
Ancestors:

- tests from Pharo

=============================================







--
_,,,^..^,,,_
best, Eliot


Reply | Threaded
Open this post in threaded view
|

MaxLiterals (was: Re: [squeak-dev] Daily Commit Log)

Levente Uzonyi-2
I guess then we should change a few 255s and 65535s to 32767. I've
uploaded Compiler-ul.307, and Kernel-ul.946 to the Inbox with some
changes. There may be more methods with the obsolete limit in the image,
and my changes may not be correct. Please review them!

Levente

On Tue, 25 Aug 2015, Eliot Miranda wrote:

>
>
> On Tue, Aug 25, 2015 at 10:40 AM, Levente Uzonyi <[hidden email]> wrote:
>       Hi Eliot,
>
>       That was me who updated the method, because if was failing. CompilerTest
>                   #testMaxLiterals verifies a certain literal limit, and checks if adding
>
>       one more literal will make the compilation fail.
>
>
> Ah, OK.  I just wanted to point out that the limit is 32767, not 65535.
>  
>
>
>       Levente
>
>       On Tue, 25 Aug 2015, Eliot Miranda wrote:
>
>             Hi Tobias,
>
>             Sent from my iPhone
>
>                   On Aug 22, 2015, at 2:55 PM, [hidden email] wrote:
>
>                   Changes to Trunk (http://source.squeak.org/trunk.html) in the last 24 hours:
>
>                   http://lists.squeakfoundation.org/pipermail/packages/2015-August/008871.html
>
>                   Name: Tests-ul.325
>                   Ancestors: Tests-topa.324
>
>                   Increased maxLiterals in CompilerTest's #testMaxLiterals and #testMaxLiteralsWithClassReferenceInClosure to make them pass again.
>                   In theory Spur supports literals up to 65535, but I think the compiler will have to be changed to be able to use that many.
>
>
>             In the end I made the literal limit 32767, leaving bit 15 for a flag identifying methods generated by the dynamic optimizer, when we have one.
>
>             Why do you think the compiler needs modifying to allow for more than 255 literals?  I think it's a bytecode set issue, not a compiler issue.  Both the Newspeak V4 and Sista V1 bytecode
>             sets support 64k literals.
>
>                   =============================================
>
>                   http://lists.squeakfoundation.org/pipermail/packages/2015-August/008872.html
>
>                   Name: Tests-ul.326
>                   Ancestors: Tests-ul.325
>
>                   PointTest's #testNormal and #testTheta seem to get decompiled correctly.
>
>                   =============================================
>
>                   http://lists.squeakfoundation.org/pipermail/packages/2015-August/008873.html
>
>                   Name: Collections-ul.644
>                   Ancestors: Collections-ul.643
>
>                   Extracted and enhanced Bitset from WideCharacterSet.
>
>                   =============================================
>
>                   http://lists.squeakfoundation.org/pipermail/packages/2015-August/008874.html
>
>                   Name: CollectionsTests-ul.247
>                   Ancestors: CollectionsTests-ul.246
>
>                   Added BitSetTest.
>
>                   =============================================
>
>                   http://lists.squeakfoundation.org/pipermail/packages/2015-August/008875.html
>
>                   Name: Collections-ul.645
>                   Ancestors: Collections-ul.644
>
>                   Use the extracted Bitset in WideCharacterSet:
>                   - decreased chunk size from 65536 to 256. This should give a purpose to use a dictionary instread of an array for map, because its size will have a chance to be larger than
>                   64.
>                   - byteArrayMap is always initialized, so there's no need to use the method to reference it, nor to check if it's initialized
>                   - moved #remove: behavior to #remove:ifAbsent:, just like it's done by most collections. Kept the existing behavior of #remove: to not signal an error when the character is
>                   not in the collection.
>                   - use #atAllPut: to clear the byteArrayMap in #removeAll, because it should be faster than allocating a new instance
>                   - improved #size's performance
>                   - migrate instances on-the-fly
>                   - migrate any unmigrated instaces during the postscript
>                   - removed the unused methods
>
>                   =============================================
>
>                   http://lists.squeakfoundation.org/pipermail/packages/2015-August/008876.html
>
>                   Name: Collections-ul.646
>                   Ancestors: Collections-ul.645
>
>                   - removed migration code from WideCharacterSet
>
>                   =============================================
>
>                   http://lists.squeakfoundation.org/pipermail/packages/2015-August/008877.html
>
>                   Name: Tools-eem.631
>                   Ancestors: Tools-ul.630
>
>                   Remove the become[Un]Compact messages from MethodFinder as these are going away.
>
>                   =============================================
>
>                   http://lists.squeakfoundation.org/pipermail/packages/2015-August/008878.html
>
>                   Name: System-eem.758
>                   Ancestors: System-ul.757
>
>                   Reimplement the post-load enumeration of loaded objects to use the revised primitive available in the VMMaker.oscog-eem.1441 /3427 VMs that becomes the loaded segment into
>                   an Array of the loaded objects.  Hence endMarker disappears and allObjectsDo: is trivially implemented as do: sent to the segment.
>
>                   This change requires users to upgrade their VMs but as the alternative is crashes in ImageSegment loads this is acceptable.  AFAIA this fixes ImageSegments in Spur but they
>                   clearly need pounding on.
>
>                   =============================================
>
>                   http://lists.squeakfoundation.org/pipermail/packages/2015-August/008879.html
>
>                   Name: SMBase-eem.134
>                   Ancestors: SMBase-bf.133
>
>                   Reimplement the post-load enumeration of loaded objects to use the revised primitive available in the VMMaker.oscog-eem.1441 /3427 VMs that becomes the loaded segment into
>                   an Array of the loaded objects.  Hence endMarker disappears and allObjectsDo: is trivially implemented as do: sent to the segment.
>
>                   This change requires users to upgrade their VMs but as the alternative is crashes in ImageSegment loads this is acceptable.  AFAIA this fixes ImageSegments in Spur but they
>                   clearly need pounding on.
>
>                   =============================================
>
>                   http://lists.squeakfoundation.org/pipermail/packages/2015-August/008880.html
>
>                   Name: KernelTests-eem.297
>                   Ancestors: KernelTests-ul.296
>
>                   Remove the compact class index tests from LargeNegativeInteger as the compact class code is going away.
>
>                   =============================================
>
>                   http://lists.squeakfoundation.org/pipermail/packages/2015-August/008881.html
>
>                   Name: Kernel-eem.944
>                   Ancestors: Kernel-ul.943
>
>                   Nuke the compact class support in Kernel and the ClassBuilder.  Spur has a regular 64-bit object header format with no special cases.
>
>                   Fix CompiledMethod>>at:ifAbsent: to work with the initialPC to endPC range and run the ifAbsent: block for indices outside this range.
>
>                   Categorize isCompiledMethodClass correctly.
>
>                   =============================================
>
>                   http://lists.squeakfoundation.org/pipermail/packages/2015-August/008882.html
>
>                   Name: Collections-ul.647
>                   Ancestors: Collections-ul.646
>
>                   - in Spur we can speed up Character >> #sameAs: by using #==
>
>                   =============================================
>
>                   http://lists.squeakfoundation.org/pipermail/packages/2015-August/008883.html
>
>                   Name: Regex-Core-ul.40
>                   Ancestors: Regex-Core-ul.39
>
>                   RxsPredicate:
>                   - added \t \n escapes for tab and lf
>                   - unified all single character predicates as #beCharacter:
>                   - postscript reinitializes the dictionary
>
>                   RxMatchOptimizer:
>                   - removed lookarounds, because they were never used, just collected
>                   - all collections get initialized lazily
>                   - CharacterSet are used for storing characters
>                   - IdentitySets are used where unique objects are stored (e.g. symbols)
>                   - use #== and #~~ for character comparison (Spur-specific change)
>
>                   RxMatcher:
>                   - reuse previous markerPositions
>                   - use String >> #new:streamContents: where possible
>                   - use #== and #~~ for character comparison (Spur-specific change)
>                   - quick returns in #tryMatch
>
>                   General:
>                   - renamed RxmLookahaed to RxmLookahead
>                   - in RxmPredicate >> #matchAgainst: use the fact that  aMatcher is providing a ReadStream of characters, so nil means end of stream
>                   - reimplemented RxmSubstring
>
>                   =============================================
>
>                   http://lists.squeakfoundation.org/pipermail/packages/2015-August/008884.html
>
>                   Name: Regex-Tests-Core-ul.1
>                   Ancestors:
>
>                   - tests from Pharo
>
>                   =============================================
>
>
>
>
>
>
>
> --
> _,,,^..^,,,_
> best, Eliot
>
>

Reply | Threaded
Open this post in threaded view
|

Re: MaxLiterals (was: Re: [squeak-dev] Daily Commit Log)

Ben Coman
Would it be benficial/possible to have a primtive returning a
dictionary of limits compiled into the VM?  I am thinking of a case
where the VM might be compiled to run in an embedded environment (e.g.
robotics).  Then these limits would only need changing in one spot.
How big would such a list be?
cheers -ben

On Wed, Aug 26, 2015 at 4:50 AM, Levente Uzonyi <[hidden email]> wrote:

> I guess then we should change a few 255s and 65535s to 32767. I've uploaded
> Compiler-ul.307, and Kernel-ul.946 to the Inbox with some changes. There may
> be more methods with the obsolete limit in the image, and my changes may not
> be correct. Please review them!
>
> Levente
>
> On Tue, 25 Aug 2015, Eliot Miranda wrote:
>
>>
>>
>> On Tue, Aug 25, 2015 at 10:40 AM, Levente Uzonyi <[hidden email]> wrote:
>>       Hi Eliot,
>>
>>       That was me who updated the method, because if was failing.
>> CompilerTest #testMaxLiterals verifies a certain literal limit, and
>> checks if adding one more literal will make the compilation fail.
>>
>>
>> Ah, OK.  I just wanted to point out that the limit is 32767, not 65535.
>>
>>
>>
>>       Levente
>>
>>       On Tue, 25 Aug 2015, Eliot Miranda wrote:
>>
>>             Hi Tobias,
>>
>>             Sent from my iPhone
>>
>>                   On Aug 22, 2015, at 2:55 PM, [hidden email]
>> wrote:
>>
>>                   Changes to Trunk (http://source.squeak.org/trunk.html)
>> in the last 24 hours:
>>
>>
>> http://lists.squeakfoundation.org/pipermail/packages/2015-August/008871.html
>>
>>                   Name: Tests-ul.325
>>                   Ancestors: Tests-topa.324
>>
>>                   Increased maxLiterals in CompilerTest's #testMaxLiterals
>> and #testMaxLiteralsWithClassReferenceInClosure to make them pass again.
>>                   In theory Spur supports literals up to 65535, but I
>> think the compiler will have to be changed to be able to use that many.
>>
>>
>>             In the end I made the literal limit 32767, leaving bit 15 for
>> a flag identifying methods generated by the dynamic optimizer, when we have
>> one.
>>
>>             Why do you think the compiler needs modifying to allow for
>> more than 255 literals?  I think it's a bytecode set issue, not a compiler
>> issue.  Both the Newspeak V4 and Sista V1 bytecode
>>             sets support 64k literals.
>>
>>                   =============================================
>>
>>
>> http://lists.squeakfoundation.org/pipermail/packages/2015-August/008872.html
>>
>>                   Name: Tests-ul.326
>>                   Ancestors: Tests-ul.325
>>
>>                   PointTest's #testNormal and #testTheta seem to get
>> decompiled correctly.
>>
>>                   =============================================
>>
>>
>> http://lists.squeakfoundation.org/pipermail/packages/2015-August/008873.html
>>
>>                   Name: Collections-ul.644
>>                   Ancestors: Collections-ul.643
>>
>>                   Extracted and enhanced Bitset from WideCharacterSet.
>>
>>                   =============================================
>>
>>
>> http://lists.squeakfoundation.org/pipermail/packages/2015-August/008874.html
>>
>>                   Name: CollectionsTests-ul.247
>>                   Ancestors: CollectionsTests-ul.246
>>
>>                   Added BitSetTest.
>>
>>                   =============================================
>>
>>
>> http://lists.squeakfoundation.org/pipermail/packages/2015-August/008875.html
>>
>>                   Name: Collections-ul.645
>>                   Ancestors: Collections-ul.644
>>
>>                   Use the extracted Bitset in WideCharacterSet:
>>                   - decreased chunk size from 65536 to 256. This should
>> give a purpose to use a dictionary instread of an array for map, because its
>> size will have a chance to be larger than
>>                   64.
>>                   - byteArrayMap is always initialized, so there's no need
>> to use the method to reference it, nor to check if it's initialized
>>                   - moved #remove: behavior to #remove:ifAbsent:, just
>> like it's done by most collections. Kept the existing behavior of #remove:
>> to not signal an error when the character is
>>                   not in the collection.
>>                   - use #atAllPut: to clear the byteArrayMap in
>> #removeAll, because it should be faster than allocating a new instance
>>                   - improved #size's performance
>>                   - migrate instances on-the-fly
>>                   - migrate any unmigrated instaces during the postscript
>>                   - removed the unused methods
>>
>>                   =============================================
>>
>>
>> http://lists.squeakfoundation.org/pipermail/packages/2015-August/008876.html
>>
>>                   Name: Collections-ul.646
>>                   Ancestors: Collections-ul.645
>>
>>                   - removed migration code from WideCharacterSet
>>
>>                   =============================================
>>
>>
>> http://lists.squeakfoundation.org/pipermail/packages/2015-August/008877.html
>>
>>                   Name: Tools-eem.631
>>                   Ancestors: Tools-ul.630
>>
>>                   Remove the become[Un]Compact messages from MethodFinder
>> as these are going away.
>>
>>                   =============================================
>>
>>
>> http://lists.squeakfoundation.org/pipermail/packages/2015-August/008878.html
>>
>>                   Name: System-eem.758
>>                   Ancestors: System-ul.757
>>
>>                   Reimplement the post-load enumeration of loaded objects
>> to use the revised primitive available in the VMMaker.oscog-eem.1441 /3427
>> VMs that becomes the loaded segment into
>>                   an Array of the loaded objects.  Hence endMarker
>> disappears and allObjectsDo: is trivially implemented as do: sent to the
>> segment.
>>
>>                   This change requires users to upgrade their VMs but as
>> the alternative is crashes in ImageSegment loads this is acceptable.  AFAIA
>> this fixes ImageSegments in Spur but they
>>                   clearly need pounding on.
>>
>>                   =============================================
>>
>>
>> http://lists.squeakfoundation.org/pipermail/packages/2015-August/008879.html
>>
>>                   Name: SMBase-eem.134
>>                   Ancestors: SMBase-bf.133
>>
>>                   Reimplement the post-load enumeration of loaded objects
>> to use the revised primitive available in the VMMaker.oscog-eem.1441 /3427
>> VMs that becomes the loaded segment into
>>                   an Array of the loaded objects.  Hence endMarker
>> disappears and allObjectsDo: is trivially implemented as do: sent to the
>> segment.
>>
>>                   This change requires users to upgrade their VMs but as
>> the alternative is crashes in ImageSegment loads this is acceptable.  AFAIA
>> this fixes ImageSegments in Spur but they
>>                   clearly need pounding on.
>>
>>                   =============================================
>>
>>
>> http://lists.squeakfoundation.org/pipermail/packages/2015-August/008880.html
>>
>>                   Name: KernelTests-eem.297
>>                   Ancestors: KernelTests-ul.296
>>
>>                   Remove the compact class index tests from
>> LargeNegativeInteger as the compact class code is going away.
>>
>>                   =============================================
>>
>>
>> http://lists.squeakfoundation.org/pipermail/packages/2015-August/008881.html
>>
>>                   Name: Kernel-eem.944
>>                   Ancestors: Kernel-ul.943
>>
>>                   Nuke the compact class support in Kernel and the
>> ClassBuilder.  Spur has a regular 64-bit object header format with no
>> special cases.
>>
>>                   Fix CompiledMethod>>at:ifAbsent: to work with the
>> initialPC to endPC range and run the ifAbsent: block for indices outside
>> this range.
>>
>>                   Categorize isCompiledMethodClass correctly.
>>
>>                   =============================================
>>
>>
>> http://lists.squeakfoundation.org/pipermail/packages/2015-August/008882.html
>>
>>                   Name: Collections-ul.647
>>                   Ancestors: Collections-ul.646
>>
>>                   - in Spur we can speed up Character >> #sameAs: by using
>> #==
>>
>>                   =============================================
>>
>>
>> http://lists.squeakfoundation.org/pipermail/packages/2015-August/008883.html
>>
>>                   Name: Regex-Core-ul.40
>>                   Ancestors: Regex-Core-ul.39
>>
>>                   RxsPredicate:
>>                   - added \t \n escapes for tab and lf
>>                   - unified all single character predicates as
>> #beCharacter:
>>                   - postscript reinitializes the dictionary
>>
>>                   RxMatchOptimizer:
>>                   - removed lookarounds, because they were never used,
>> just collected
>>                   - all collections get initialized lazily
>>                   - CharacterSet are used for storing characters
>>                   - IdentitySets are used where unique objects are stored
>> (e.g. symbols)
>>                   - use #== and #~~ for character comparison
>> (Spur-specific change)
>>
>>                   RxMatcher:
>>                   - reuse previous markerPositions
>>                   - use String >> #new:streamContents: where possible
>>                   - use #== and #~~ for character comparison
>> (Spur-specific change)
>>                   - quick returns in #tryMatch
>>
>>                   General:
>>                   - renamed RxmLookahaed to RxmLookahead
>>                   - in RxmPredicate >> #matchAgainst: use the fact that
>> aMatcher is providing a ReadStream of characters, so nil means end of stream
>>                   - reimplemented RxmSubstring
>>
>>                   =============================================
>>
>>
>> http://lists.squeakfoundation.org/pipermail/packages/2015-August/008884.html
>>
>>                   Name: Regex-Tests-Core-ul.1
>>                   Ancestors:
>>
>>                   - tests from Pharo
>>
>>                   =============================================
>>
>>
>>
>>
>>
>>
>>
>> --
>> _,,,^..^,,,_
>> best, Eliot
>>
>
>
>