VM Maker: VMMaker-dtl.391.mcz

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view
|

VM Maker: VMMaker-dtl.391.mcz

commits-2
 
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'!