[Vm-dev] VM Maker: VMMaker-dtl.391.mcz
commits at source.squeak.org
commits at source.squeak.org
Fri Jan 6 00:35:29 UTC 2017
David T. Lewis uploaded a new version of VMMaker to project VM Maker:
http://source.squeak.org/VMMaker/VMMaker-dtl.391.mcz
==================== Summary ====================
Name: VMMaker-dtl.391
Author: dtl
Time: 5 January 2017, 7:35:14.1 pm
UUID: eb3fd060-b323-4a7d-9b06-b4b23f599fc8
Ancestors: VMMaker-dtl.390
VMMaker 4.16.2
Old image support: Rescue five sound primitive assignments for updatePrimitiveTable for primitives that should be loaded from SouondGenerationPlugin, not from SoundPlugin.
The following ancient primitives are still not loadable into the primitiive table for old image support:
#primWaveTableSoundmixSampleCountintostartingAtpan
#primFMSoundmixSampleCountintostartingAtpan
#primPluckedSoundmixSampleCountintostartingAtpan
#primSampledSoundmixSampleCountintostartingAtpan
#oldprimSampledSoundmixSampleCountintostartingAtleftVolrightVol
In addition #primitiveReadJoystick does not load from JoystickTabletPlugin when running on Linux, but this is confirmed to be an artifact of the function loader, which abandons the attempt to load a module if #initialiseModule answers false, as is the case in the Unix stub code implementation (so it should work on platforms that do support the joystick plugin).
=============== Diff against VMMaker-dtl.390 ===============
Item was changed:
----- Method: InterpreterPrimitives>>updatePrimitiveTable (in category 'primitive table') -----
updatePrimitiveTable
"Make any run time updates to the primitive table that may be required for supporting
the current running image. May be called by an interpreter that determines at run time
that it needs to provide support for an older image.
References: The SqueakJS dispatch table, which is known to run the full range of Squeak
images, is used as a reference, along with comparison to the Squeak VM table as of
January 2005 from VMMaker-tpr.22, which was the last version prior to converting
images to support full closures (dtl Dec 2016)"
| primitiveTableUpdated |
<inline: false>
<var: #primitiveTableUpdated type: 'static int'>
primitiveTableUpdated == true ifFalse: [
primitiveTableUpdated := true.
self useOldPrimitives ifTrue: [
self installPrimitive: #primitiveNext at: 65.
self installPrimitive: #primitiveNextPut at: 66.
self installPrimitive: #primitiveAtEnd at: 67.
self installPrimitive: #primitiveBlockCopy at: 80.
self installPrimitive: #primitiveValue at: 81.
self installPrimitive: #primitiveValueWithArgs at: 82.
self installPrimitive: 'primitiveCopyBits' from: 'BitBltPlugin' at: 96.
self installPrimitive: #primitiveValueUninterruptably at: 123.
self installPrimitive: 'primitiveReadJoystick' from: 'JoystickTabletPlugin' at: 146.
self installPrimitive: 'primitiveWarpBits' from: 'BitBltPlugin' at: 147.
self installPrimitive: 'primitiveFileAtEnd' from: 'FilePlugin' at: 150.
self installPrimitive: 'primitiveFileClose' from: 'FilePlugin' at: 151.
self installPrimitive: 'primitiveFileGetPosition' from: 'FilePlugin' at: 152.
self installPrimitive: 'primitiveFileOpen' from: 'FilePlugin' at: 153.
self installPrimitive: 'primitiveFileRead' from: 'FilePlugin' at: 154.
self installPrimitive: 'primitiveFileSetPosition' from: 'FilePlugin' at: 155.
self installPrimitive: 'primitiveFileDelete' from: 'FilePlugin' at: 156.
self installPrimitive: 'primitiveFileSize' from: 'FilePlugin' at: 157.
self installPrimitive: 'primitiveFileWrite' from: 'FilePlugin' at: 158.
self installPrimitive: 'primitiveFileRename' from: 'FilePlugin' at: 159.
self installPrimitive: 'primitiveDirectoryCreate' from: 'FilePlugin' at: 160.
self installPrimitive: 'primitiveDirectoryDelimitor' from: 'FilePlugin'at: 161.
self installPrimitive: 'primitiveDirectoryLookup' from: 'FilePlugin' at: 162.
self installPrimitive: 'primitiveDirectoryDelete' from: 'FilePlugin' at: 163.
self installPrimitive: 'primitiveDirectorySetMacTypeAndCreator' from: 'FilePlugin' at: 169.
self installPrimitive: 'primitiveSoundStart' from: 'SoundPlugin' at: 170.
self installPrimitive: 'primitiveSoundStartWithSemaphore' from: 'SoundPlugin' at: 171.
self installPrimitive: 'primitiveSoundStop' from: 'SoundPlugin' at: 172.
self installPrimitive: 'primitiveSoundAvailableSpace' from: 'SoundPlugin' at: 173.
self installPrimitive: 'primitiveSoundPlaySamples' from: 'SoundPlugin' at: 174.
self installPrimitive: 'primitiveSoundPlaySilence' from: 'SoundPlugin' at: 175.
+ self installPrimitive: 'primWaveTableSoundmixSampleCountintostartingAtpan' from: 'SoundGenerationPlugin' at: 176.
+ self installPrimitive: 'primFMSoundmixSampleCountintostartingAtpan' from: 'SoundGenerationPlugin' at: 177.
+ self installPrimitive: 'primPluckedSoundmixSampleCountintostartingAtpan' from: 'SoundGenerationPlugin' at: 178.
+ self installPrimitive: 'primSampledSoundmixSampleCountintostartingAtpan' from: 'SoundGenerationPlugin' at: 179.
+ self installPrimitive: 'primitiveMixFMSound' from: 'SoundGenerationPlugin' at: 180.
+ self installPrimitive: 'primitiveMixPluckedSound' from: 'SoundGenerationPlugin' at: 181.
+ self installPrimitive: 'oldprimSampledSoundmixSampleCountintostartingAtleftVolrightVol' from: 'SoundGenerationPlugin' at: 182.
+ self installPrimitive: 'primitiveApplyReverb' from: 'SoundGenerationPlugin' at: 183.
+ self installPrimitive: 'primitiveMixLoopedSampledSound' from: 'SoundGenerationPlugin' at: 184.
+ self installPrimitive: 'primitiveMixSampledSound' from: 'SoundGenerationPlugin' at: 185.
- self installPrimitive: 'primWaveTableSoundmixSampleCountintostartingAtpan' from: 'SoundPlugin' at: 176.
- self installPrimitive: 'primFMSoundmixSampleCountintostartingAtpan' from: 'SoundPlugin' at: 177.
- self installPrimitive: 'primPluckedSoundmixSampleCountintostartingAtpan' from: 'SoundPlugin' at: 178.
- self installPrimitive: 'primSampledSoundmixSampleCountintostartingAtpan' from: 'SoundPlugin' at: 179.
- self installPrimitive: 'primitiveMixFMSound' from: 'SoundPlugin' at: 180.
- self installPrimitive: 'primitiveMixPluckedSound' from: 'SoundPlugin' at: 181.
- self installPrimitive: 'oldprimSampledSoundmixSampleCountintostartingAtleftVolrightVol' from: 'SoundPlugin' at: 182.
- self installPrimitive: 'primitiveApplyReverb' from: 'SoundPlugin' at: 183.
- self installPrimitive: 'primitiveMixLoopedSampledSound' from: 'SoundPlugin' at: 184.
- self installPrimitive: 'primitiveMixSampledSound' from: 'SoundPlugin' at: 185.
self installPrimitive: 'primitiveSoundInsertSamples' from: 'SoundPlugin' at: 189.
self installPrimitive: 'primitiveSoundStopRecording' from: 'SoundPlugin' at: 191.
self installPrimitive: 'primitiveSoundGetRecordingSampleRate' from: 'SoundPlugin' at: 192.
self installPrimitive: 'primitiveSoundRecordSamples' from: 'SoundPlugin' at: 193.
self installPrimitive: 'primitiveSoundSetRecordLevel' from: 'SoundPlugin' at: 194.
self installPrimitive: 'primitiveInitializeNetwork' from: 'SocketPlugin' at: 200.
self installPrimitive: 'primitiveResolverStartNameLookup' from: 'SocketPlugin' at: 201.
self installPrimitive: 'primitiveResolverNameLookupResult' from: 'SocketPlugin' at: 202.
self installPrimitive: 'primitiveResolverStartAddressLookup' from: 'SocketPlugin' at: 203.
self installPrimitive: 'primitiveResolverAddressLookupResult' from: 'SocketPlugin' at: 204.
self installPrimitive: 'primitiveResolverAbortLookup' from: 'SocketPlugin' at: 205.
self installPrimitive: 'primitiveResolverLocalAddress' from: 'SocketPlugin' at: 206.
self installPrimitive: 'primitiveResolverStatus' from: 'SocketPlugin' at: 207.
self installPrimitive: 'primitiveResolverError' from: 'SocketPlugin' at: 208.
self installPrimitive: 'primitiveSocketCreate' from: 'SocketPlugin' at: 209.
self installPrimitive: 'primitiveSocketDestroy' from: 'SocketPlugin' at: 210.
self installPrimitive: 'primitiveSocketConnectionStatus' from: 'SocketPlugin' at: 211.
self installPrimitive: 'primitiveSocketError' from: 'SocketPlugin' at: 212.
self installPrimitive: 'primitiveSocketLocalAddress' from: 'SocketPlugin' at: 213.
self installPrimitive: 'primitiveSocketLocalPort' from: 'SocketPlugin' at: 214.
self installPrimitive: 'primitiveSocketRemoteAddress' from: 'SocketPlugin' at: 215.
self installPrimitive: 'primitiveSocketRemotePort' from: 'SocketPlugin' at: 216.
self installPrimitive: 'primitiveSocketConnectToPort' from: 'SocketPlugin' at: 217.
self installPrimitive: 'primitiveSocketListenOnPort' from: 'SocketPlugin' at: 218.
self installPrimitive: 'primitiveSocketCloseConnection' from: 'SocketPlugin' at: 219.
self installPrimitive: 'primitiveSocketAbortConnection' from: 'SocketPlugin' at: 220.
self installPrimitive: 'primitiveSocketReceiveDataBufCount' from: 'SocketPlugin' at: 221.
self installPrimitive: 'primitiveSocketReceiveDataAvailable' from: 'SocketPlugin' at: 222.
self installPrimitive: 'primitiveSocketSendDataBufCount' from: 'SocketPlugin' at: 223.
self installPrimitive: 'primitiveSocketSendDone' from: 'SocketPlugin' at: 224.
self installPrimitive: 'primitiveDecompressFromByteArray' from: 'MiscPrimitivePlugin' at: 234.
self installPrimitive: 'primitiveCompareString' from: 'MiscPrimitivePlugin' at: 235.
self installPrimitive: 'primitiveConvert8BitSigned' from: 'MiscPrimitivePlugin' at: 236.
self installPrimitive: 'primitiveCompressToByteArray' from: 'MiscPrimitivePlugin' at: 237.
self installPrimitive: 'primitiveSerialPortOpen' from: 'SerialPlugin' at: 238.
self installPrimitive: 'primitiveSerialPortClose' from: 'SerialPlugin' at: 239.
self installPrimitive: 'primitiveSerialPortWrite' from: 'SerialPlugin' at: 240.
self installPrimitive: 'primitiveSerialPortRead' from: 'SerialPlugin' at: 241.
self installPrimitive: 'primitiveTranslateStringWithTable' from: 'MiscPrimitivePlugin' at: 243.
self installPrimitive: 'primitiveFindFirstInString' from: 'MiscPrimitivePlugin' at: 244.
self installPrimitive: 'primitiveIndexOfAsciiInString' from: 'MiscPrimitivePlugin' at: 245.
self installPrimitive: 'primitiveFindSubstring' from: 'MiscPrimitivePlugin' at: 246.
]
]
!
Item was changed:
----- Method: VMMaker class>>versionString (in category 'version testing') -----
versionString
"VMMaker versionString"
+ ^'4.16.2'!
- ^'4.16.1'!
More information about the Vm-dev
mailing list