Eliot Miranda uploaded a new version of SqueakSSL-Core to project The Trunk:
http://source.squeak.org/trunk/SqueakSSL-Core-eem.30.mcz
==================== Summary ====================
Name: SqueakSSL-Core-eem.30
Author: eem
Time: 23 March 2016, 4:56:42.143682 pm
UUID: ee6874d3-4825-46f2-8815-06351c26c4e6
Ancestors: SqueakSSL-Core-ul.29
Avoid spin waiting in SSL connect, needed by Squeak 5.0, which doesn't yield on preemption.
=============== Diff against SqueakSSL-Core-ul.29 ===============
Item was changed:
----- Method: SqueakSSL>>connect:from:to:into: (in category 'operations') -----
connect: srcBuf from: start to: stop into: dstBuf
"Start or continue the server handshake using the given input token."
+ | r |
+ r := self primitiveSSL: handle connect: srcBuf startingAt: start count: stop-start+1 into: dstBuf.
+ r <= 0 ifTrue:
+ [Processor yield].
+ ^r!
- ^self primitiveSSL: handle connect: srcBuf startingAt: start count: stop-start+1 into: dstBuf!
Somebody on the Pi forums has been looking into the jpglib stuff and concluded that there is a simple fix to allow use of the normal linux libjpeg. This would be nice if true.
I’m currently swamped but anyone interested can look at https://www.raspberrypi.org/forums/viewtopic.php?p=934869#p934869 and the code and who konws what may happen?
tim
--
tim Rowledge; tim(a)rowledge.org; http://www.rowledge.org/tim
Useful random insult:- A .22 caliber intellect in a .357 Magnum world.
Changes to Trunk (http://source.squeak.org/trunk.html) in the last 24 hours:
http://lists.squeakfoundation.org/pipermail/packages/2016-March/009496.html
Name: Kernel-ul.1006
Ancestors: Kernel-eem.1005
- 10% faster SmallInteger >> #decimalDigitLength on 64-bit VM
- added a comment to SmallInteger >> #numberOfDigitsInBase:
- reformatted and tweaked Number >> #raisedToInteger:
=============================================
http://lists.squeakfoundation.org/pipermail/packages/2016-March/009497.html
Name: Kernel-ul.1007
Ancestors: Kernel-ul.1006, Kernel-bf.1006
- merged
- quicker SmallInteger>>printOn:base:length:padded: for base 10, the most common case
=============================================
http://lists.squeakfoundation.org/pipermail/packages/2016-March/009498.html
Name: Collections-ul.681
Ancestors: Collections-ul.680
- Let WriteStream's #nextPutAll: and #next:putAll:startingAt: take the quick route too when collection and aCollection are both strings of the same field size.
- PositionableStream >> #next:putAll:startingAt: can rely on the indexability of its argument, thus avoid creating copies of it. It also returns the collection argument, like other implementors of this method, instead of some copied subcollection.
=============================================
http://lists.squeakfoundation.org/pipermail/packages/2016-March/009499.html
Name: Collections-ul.682
Ancestors: Collections-ul.681
- avoid creating intermediate objects in String >> #padded:to:with:
=============================================
Levente Uzonyi uploaded a new version of Collections to project The Trunk:
http://source.squeak.org/trunk/Collections-ul.681.mcz
==================== Summary ====================
Name: Collections-ul.681
Author: ul
Time: 19 March 2016, 1:39:02.54665 pm
UUID: 738dd2f1-c003-4e50-899b-371486e5c419
Ancestors: Collections-ul.680
- Let WriteStream's #nextPutAll: and #next:putAll:startingAt: take the quick route too when collection and aCollection are both strings of the same field size.
- PositionableStream >> #next:putAll:startingAt: can rely on the indexability of its argument, thus avoid creating copies of it. It also returns the collection argument, like other implementors of this method, instead of some copied subcollection.
=============== Diff against Collections-ul.680 ===============
Item was changed:
----- Method: PositionableStream>>next:putAll:startingAt: (in category 'accessing') -----
next: anInteger putAll: aCollection startingAt: startIndex
"Store the next anInteger elements from the given collection."
+
+ startIndex to: startIndex + anInteger - 1 do: [ :index |
+ self nextPut: (aCollection at: index) ].
+ ^aCollection!
- (startIndex = 1 and:[anInteger = aCollection size])
- ifTrue:[^self nextPutAll: aCollection].
- ^self nextPutAll: (aCollection copyFrom: startIndex to: startIndex+anInteger-1)!
Item was changed:
----- Method: WriteStream>>next:putAll:startingAt: (in category 'accessing') -----
next: anInteger putAll: aCollection startingAt: startIndex
"Store the next anInteger elements from the given collection."
-
| newEnd |
+ (collection class == aCollection class
+ or: [ collection isString
+ and: [ aCollection isString
+ and: [ collection class format = aCollection class format ] ] ]) "Let Strings with the same field size as collection take the quick route too."
+ ifFalse: [ ^super next: anInteger putAll: aCollection startingAt: startIndex ].
- collection class == aCollection class ifFalse:
- [^ super next: anInteger putAll: aCollection startingAt: startIndex].
newEnd := position + anInteger.
newEnd > writeLimit ifTrue:
[self growTo: newEnd + 10].
collection replaceFrom: position+1 to: newEnd with: aCollection startingAt: startIndex.
position := newEnd.
^aCollection!
Item was changed:
----- Method: WriteStream>>nextPutAll: (in category 'accessing') -----
nextPutAll: aCollection
| newEnd |
+ (collection class == aCollection class
+ or: [ collection isString
+ and: [ aCollection isString
+ and: [ collection class format = aCollection class format ] ] ]) "Let Strings with the same field size as collection take the quick route too."
+ ifFalse: [ ^ super nextPutAll: aCollection ].
- collection class == aCollection class ifFalse:
- [^ super nextPutAll: aCollection ].
newEnd := position + aCollection size.
newEnd > writeLimit ifTrue:
[self growTo: newEnd + 10].
collection replaceFrom: position+1 to: newEnd with: aCollection startingAt: 1.
position := newEnd.
^aCollection!