[squeak-dev] The Trunk: Compression-fbs.36.mcz

commits at source.squeak.org commits at source.squeak.org
Fri Jul 5 20:59:20 UTC 2013


Frank Shearar uploaded a new version of Compression to project The Trunk:
http://source.squeak.org/trunk/Compression-fbs.36.mcz

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

Name: Compression-fbs.36
Author: fbs
Time: 5 July 2013, 9:59:01.646 pm
UUID: 44283c36-3bbc-5444-bc84-35144b694d12
Ancestors: Compression-fbs.35

Make Compression augment Kernel, and thus break the cyclic Kernel <-> Compression dependency.

=============== Diff against Compression-fbs.35 ===============

Item was added:
+ ----- Method: CompiledMethodTrailer>>decodeEmbeddedSourceZip (in category '*Compression-KernelExtensions') -----
+ decodeEmbeddedSourceZip
+ 
+ 	"data is string with method's source code, compressed using zip compression"
+ 	self decodeZip.!

Item was added:
+ ----- Method: CompiledMethodTrailer>>decodeTempsNamesZip (in category '*Compression-KernelExtensions') -----
+ decodeTempsNamesZip
+ 
+ 	"data is string with method's temporary names, compressed using zip compression"
+ 	self decodeZip.!

Item was added:
+ ----- Method: CompiledMethodTrailer>>decodeZip (in category '*Compression-KernelExtensions') -----
+ decodeZip
+ 
+ 	"data := <trailer> unzip utf8ToSqueak"
+ 	| len bytes |
+ 	len := self decodeLengthField.
+ 	bytes := ByteArray new: len.
+ 	1 to: len do: [ :i |
+ 		bytes at: i put: (method at: method size - size + i) ].
+ 	
+ 	data := (ZipReadStream on: bytes) contents asString convertFromEncoding: 'utf8'!

Item was added:
+ ----- Method: CompiledMethodTrailer>>encodeEmbeddedSourceZip (in category '*Compression-KernelExtensions') -----
+ encodeEmbeddedSourceZip
+ 
+ 	"data is string with method's source code, encode it using Zip compression method"
+ 	self encodeUsingZip
+ !

Item was added:
+ ----- Method: CompiledMethodTrailer>>encodeTempsNamesZip (in category '*Compression-KernelExtensions') -----
+ encodeTempsNamesZip
+ 
+ 	"data is string with method's temporary names, encode it using zip compression"
+ 	self encodeUsingZip
+ 	
+ 	"data is string with method's source code, encoded using qCompress method"
+ 
+ 
+ !

Item was added:
+ ----- Method: CompiledMethodTrailer>>encodeUsingZip (in category '*Compression-KernelExtensions') -----
+ encodeUsingZip
+ 
+ 	"data is string, encode it using gzip compression"
+ 	| utf8str stream length encodedLength |
+ 
+ 	self assert: (data isString).
+ 	utf8str := data convertToEncoding: 'utf8'.
+ 	
+ 	stream := ((ZipWriteStream on: (ByteArray new: utf8str size))
+ 		nextPutAll: utf8str asByteArray;
+ 		close;
+ 		encodedStream).
+ 		
+ 	length := stream position.
+ 	encodedLength := self encodeLengthField: length.
+ 
+ 	stream nextPutAll: encodedLength.
+ 	"trailing byte"
+ 	stream nextPut: (self kindAsByte + encodedLength size - 1).
+ 	
+ 	encodedData := stream contents
+ 	!



More information about the Squeak-dev mailing list