[Vm-dev] VM Maker: VMMaker-dtl.171.mcz

squeak-dev-noreply at lists.squeakfoundation.org squeak-dev-noreply at lists.squeakfoundation.org
Tue May 18 02:58:21 UTC 2010


Dave Lewis uploaded a new version of VMMaker to project VM Maker:
http://www.squeaksource.com/VMMaker/VMMaker-dtl.171.mcz

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

Name: VMMaker-dtl.171
Author: dtl
Time: 17 May 2010, 8:56:16 pm
UUID: a2e00bbb-042c-44ba-a035-2393562a8afe
Ancestors: VMMaker-dtl.170

Revert change from VMMaker-dtl.155. Byte size of a Bitmap must be 4 per pixel, not #bytesPerWord.

http://lists.squeakfoundation.org/pipermail/vm-dev/2010-January/003635.html
http://lists.squeakfoundation.org/pipermail/vm-dev/2010-January/003635.html


=============== Diff against VMMaker-dtl.170 ===============

Item was changed:
  InterpreterPlugin subclass: #InflatePlugin
  	instanceVariableNames: 'zipCollection zipReadLimit zipPosition zipState zipBitBuf zipBitPos zipSource zipSourcePos zipSourceLimit zipLitTable zipDistTable zipCollectionSize zipLitTableSize zipDistTableSize'
+ 	classVariableNames: 'StateNoMoreData MaxBits'
- 	classVariableNames: 'MaxBits StateNoMoreData'
  	poolDictionaries: ''
  	category: 'VMMaker-Plugins'!
  
  !InflatePlugin commentStamp: '<historical>' prior: 0!
  This plugin implements the one crucial function for efficiently decompressing streams.!

Item was changed:
  InterpreterPlugin subclass: #KlattSynthesizerPlugin
  	instanceVariableNames: 'resonators frame pitch t0 nper nopen nmod a1 a2 x1 x2 b1 c1 glast vlast nlast periodCount samplesCount seed cascade samplesPerFrame samplingRate'
+ 	classVariableNames: 'Bypass B3f Db1 B2 F2 A4f Epsilon Df1 Ftp Voicing Flutter B5 Btp A3v F5 Atv Ftz Diplophonia PI Aspiration Btz B4f B1 A5f F1 B4 Jitter A4v F4 Fnp A2f B5f A6f Bnp Anv Shimmer F0 Fnz A1v Ra Bnz Ro B3 B2f F3 Rk B6f A3f B6 Turbulence F6 Gain A2v Friction'
- 	classVariableNames: 'A1v A2f A2v A3f A3v A4f A4v A5f A6f Anv Aspiration Atv B1 B2 B2f B3 B3f B4 B4f B5 B5f B6 B6f Bnp Bnz Btp Btz Bypass Db1 Df1 Diplophonia Epsilon F0 F1 F2 F3 F4 F5 F6 Flutter Fnp Fnz Friction Ftp Ftz Gain Jitter PI Ra Rk Ro Shimmer Turbulence Voicing'
  	poolDictionaries: 'KlattResonatorIndices'
  	category: 'VMMaker-Plugins'!
  
  !KlattSynthesizerPlugin commentStamp: '<historical>' prior: 0!
  This is a pluggable primitive implementation of the KlattSynthesizer.!

Item was changed:
  InterpreterPlugin subclass: #BalloonEngineBase
  	instanceVariableNames: 'workBuffer objBuffer getBuffer aetBuffer spanBuffer engine formArray engineStopped geProfileTime dispatchedValue dispatchReturnValue objUsed doProfileStats copyBitsFn loadBBFn bbPluginName'
+ 	classVariableNames: 'FillTable EdgeStepTable EdgeInitTable WideLineWidthTable WideLineFillTable'
- 	classVariableNames: 'EdgeInitTable EdgeStepTable FillTable WideLineFillTable WideLineWidthTable'
  	poolDictionaries: 'BalloonEngineConstants'
  	category: 'VMMaker-Plugins'!
  
  !BalloonEngineBase commentStamp: 'tpr 5/5/2003 11:45' prior: 0!
  This is the main class for the Balloon graphics Engine.
  
  BalloonEnginePlugin should be translated but its superclass should not since it is incorporated within that class's translation process. Nor should the simulation subclass be translated!

Item was changed:
  InterpreterPlugin subclass: #FilePlugin
  	instanceVariableNames: 'sCCPfn sCDPfn sCGFTfn sCLPfn sCSFTfn sDFAfn sCDFfn sCOFfn sCRFfn sHFAfn'
+ 	classVariableNames: 'DirEntryFound DirNoMoreEntries DirBadPath'
- 	classVariableNames: 'DirBadPath DirEntryFound DirNoMoreEntries'
  	poolDictionaries: ''
  	category: 'VMMaker-Plugins'!
  
  !FilePlugin commentStamp: 'tpr 5/5/2003 12:01' prior: 0!
  Provide access to the host machine file system. Requires both the Cross platform support files from platforms - Cross - plugins - FilePlugin (or some suitable replacement) and the platform specific fils from platforms - {your platform} - plugins - FilePlugin.!

Item was changed:
  InterpreterPlugin subclass: #BitBltSimulation
  	instanceVariableNames: 'destForm sourceForm halftoneForm combinationRule destX destY width height sourceX sourceY clipX clipY clipWidth clipHeight sourceWidth sourceHeight sourceDepth sourcePitch sourceBits sourcePPW sourceMSB destWidth destHeight destDepth destPitch destBits destPPW destMSB bitCount skew mask1 mask2 preload nWords destMask hDir vDir sourceIndex sourceDelta destIndex destDelta sx sy dx dy bbW bbH halftoneHeight noSource noHalftone halftoneBase sourceAlpha srcBitShift dstBitShift bitBltOop affectedL affectedR affectedT affectedB opTable maskTable ditherMatrix4x4 ditherThresholds16 ditherValues16 hasSurfaceLock warpSrcShift warpSrcMask warpAlignShift warpAlignMask warpBitShiftTable querySurfaceFn lockSurfaceFn unlockSurfaceFn isWarping cmFlags cmMask cmShiftTable cmMaskTable cmLookupTable cmBitsPerColor dither8Lookup'
+ 	classVariableNames: 'CrossedX FormWidthIndex BBXTableIndex FormHeightIndex BBSourceYIndex BBSourceXIndex BBRuleIndex BBWarpBase BBColorMapIndex OpTable BBClipHeightIndex BBHalftoneFormIndex EndOfRun JitBltHookSize BBDestFormIndex GreenIndex BBClipYIndex ColorMapNewStyle FixedPt1 FormBitsIndex RedIndex BBClipXIndex BlueIndex AlphaIndex BinaryPoint BBLastIndex ColorMapIndexedPart BBHeightIndex BBSourceFormIndex BBWidthIndex FormDepthIndex OpTableSize BBClipWidthIndex BBDestYIndex AllOnes BBDestXIndex ColorMapFixedPart ColorMapPresent'
- 	classVariableNames: 'AllOnes AlphaIndex BBClipHeightIndex BBClipWidthIndex BBClipXIndex BBClipYIndex BBColorMapIndex BBDestFormIndex BBDestXIndex BBDestYIndex BBHalftoneFormIndex BBHeightIndex BBLastIndex BBRuleIndex BBSourceFormIndex BBSourceXIndex BBSourceYIndex BBWarpBase BBWidthIndex BBXTableIndex BinaryPoint BlueIndex ColorMapFixedPart ColorMapIndexedPart ColorMapNewStyle ColorMapPresent CrossedX EndOfRun FixedPt1 FormBitsIndex FormDepthIndex FormHeightIndex FormWidthIndex GreenIndex JitBltHookSize OpTable OpTableSize RedIndex'
  	poolDictionaries: ''
  	category: 'VMMaker-Interpreter'!
  
  !BitBltSimulation commentStamp: '<historical>' prior: 0!
  This class implements BitBlt, much as specified in the Blue Book spec.
  
  Performance has been enhanced through the use of pointer variables such as sourceIndex and destIndex, and by separating several special cases of the inner loop.
  
  Operation has been extended to color, with support for 1, 2, 4, 8, 16, and 32-bit pixel sizes.  Conversion between different pixel sizes is facilitated by accepting an optional color map.
  
  In addition to the original 16 combination rules, this BitBlt supports
  	16	fail (for old paint mode)
  	17	fail (for old mask mode)
  	18	sourceWord + destinationWord
  	19	sourceWord - destinationWord
  	20	rgbAdd: sourceWord with: destinationWord
  	21	rgbSub: sourceWord with: destinationWord
  	22	OLDrgbDiff: sourceWord with: destinationWord
  	23	OLDtallyIntoMap: destinationWord -- old vers doesn't clip to bit boundary
  	24	alphaBlend: sourceWord with: destinationWord
  	25	pixPaint: sourceWord with: destinationWord
  	26	pixMask: sourceWord with: destinationWord
  	27	rgbMax: sourceWord with: destinationWord
  	28	rgbMin: sourceWord with: destinationWord
  	29	rgbMin: sourceWord bitInvert32 with: destinationWord
  	30	alphaBlendConst: sourceWord with: destinationWord -- alpha passed as an arg
  	31	alphaPaintConst: sourceWord with: destinationWord -- alpha passed as an arg
  	32	rgbDiff: sourceWord with: destinationWord
  	33	tallyIntoMap: destinationWord
  	34	alphaBlendScaled: sourceWord with: destinationWord
  
  This implementation has also been fitted with an experimental "warp drive" that allows abritrary scaling and rotation (and even limited affine deformations) with all BitBlt storage modes supported.
  
  To add a new rule to BitBlt...
  	1.  add the new rule method or methods in the category 'combination rules' of BBSim
  	2.  describe it in the class comment  of BBSim and in the class comment for BitBlt
  	3.  add refs to initializeRuleTable in proper positions
  	4.  add refs to initBBOpTable, following the pattern
  !

Item was changed:
  InterpreterPlugin subclass: #JPEGReaderPlugin
  	instanceVariableNames: 'yComponent crComponent cbComponent ySampleStream crSampleStream cbSampleStream yBlocks crBlocks cbBlocks residuals ditherMask jpegBits jpegBitsSize jpegNaturalOrder jsCollection jsPosition jsReadLimit jsBitBuffer jsBitCount acTable dcTable acTableSize dcTableSize'
+ 	classVariableNames: 'FIXn0n765366865 PriorDCValueIndex FIXn1n77200 MaxBits Pass1Div DCTSize FIXn0n390180644 BlockWidthIndex Pass1Bits MCUWidthIndex Pass2Div FIXn1n175875602 CurrentXIndex FIXn0n71414 CurrentYIndex FIXn0n34414 RedIndex FIXn2n562915447 FIXn0n899976223 FIXn1n847759065 LookaheadSymbolIndex FIXn1n501321110 FIXn0n298631336 MaxSample FIXn1n40200 BlueIndex FIXn3n072711026 MinComponentSize FIXn0n541196100 LookaheadBitsIndex HScaleIndex MaxcodeIndex SampleOffset MCUBlockIndex DCTSize2 GreenIndex ConstBits FIXn1n961570560 VScaleIndex FIXn2n053119869 MaxMCUBlocks'
- 	classVariableNames: 'BlockWidthIndex BlueIndex ConstBits CurrentXIndex CurrentYIndex DCTSize DCTSize2 FIXn0n298631336 FIXn0n34414 FIXn0n390180644 FIXn0n541196100 FIXn0n71414 FIXn0n765366865 FIXn0n899976223 FIXn1n175875602 FIXn1n40200 FIXn1n501321110 FIXn1n77200 FIXn1n847759065 FIXn1n961570560 FIXn2n053119869 FIXn2n562915447 FIXn3n072711026 GreenIndex HScaleIndex LookaheadBitsIndex LookaheadSymbolIndex MCUBlockIndex MCUWidthIndex MaxBits MaxMCUBlocks MaxSample MaxcodeIndex MinComponentSize Pass1Bits Pass1Div Pass2Div PriorDCValueIndex RedIndex SampleOffset VScaleIndex'
  	poolDictionaries: ''
  	category: 'VMMaker-Plugins'!
  
  !JPEGReaderPlugin commentStamp: 'tpr 5/5/2003 12:10' prior: 0!
  This is another JPEG reader plugin, this time not requiring jpeglib support. !

Item was changed:
(excessive method size, no diff calculated)

Item was changed:
(excessive method size, no diff calculated)

Item was changed:
  ----- Method: Interpreter>>byteSizeOf: (in category 'object format') -----
  byteSizeOf: oop
  	| slots |
  self flag: #Dan.
  	(self isIntegerObject: oop) ifTrue:[^0].
  	slots := self slotSizeOf: oop.
  	(self isBytesNonInt: oop)
  		ifTrue:[^slots]
+ 		ifFalse:[^slots * 4]!
- 		ifFalse:[^slots * self bytesPerWord]!

Item was changed:
  InflatePlugin subclass: #DeflatePlugin
  	instanceVariableNames: 'zipHashHead zipHashTail zipHashValue zipBlockPos zipBlockStart zipLiterals zipDistances zipLiteralFreq zipDistanceFreq zipLiteralCount zipLiteralSize zipMatchCount zipMatchLengthCodes zipDistanceCodes zipCrcTable zipExtraLengthBits zipExtraDistanceBits zipBaseLength zipBaseDistance'
+ 	classVariableNames: 'DeflateHashShift DeflateHashTableSize DeflateMaxDistanceCodes DeflateMaxMatch DeflateWindowSize DeflateWindowMask DeflateMaxLiteralCodes DeflateMinMatch DeflateHashBits DeflateHashMask DeflateMaxDistance'
- 	classVariableNames: 'DeflateHashBits DeflateHashMask DeflateHashShift DeflateHashTableSize DeflateMaxDistance DeflateMaxDistanceCodes DeflateMaxLiteralCodes DeflateMaxMatch DeflateMinMatch DeflateWindowMask DeflateWindowSize'
  	poolDictionaries: ''
  	category: 'VMMaker-Plugins'!
  
  !DeflatePlugin commentStamp: 'tpr 5/5/2003 11:52' prior: 0!
  This adds Zip deflating support.
  InflatePlugin should not be translated but this subclass should since it is incorporated within that class's translation process!

Item was changed:
(excessive method size, no diff calculated)


More information about the Vm-dev mailing list