[squeak-dev] Daily Commit Log

Eliot Miranda eliot.miranda at gmail.com
Tue Aug 25 17:27:52 UTC 2015


Hi Tobias,

Sent from my iPhone

> On Aug 22, 2015, at 2:55 PM, commits at source.squeak.org 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
> 
> =============================================
> 


More information about the Squeak-dev mailing list