Quantcast

VM Maker: VMMaker-dtl.390.mcz

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

VM Maker: VMMaker-dtl.390.mcz

commits-2
 
David T. Lewis uploaded a new version of VMMaker to project VM Maker:
http://source.squeak.org/VMMaker/VMMaker-dtl.390.mcz

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

Name: VMMaker-dtl.390
Author: dtl
Time: 2 January 2017, 8:52:00.539 pm
UUID: 1fb628a6-18d2-4d86-b651-dc3b3d0cce69
Ancestors: VMMaker-dtl.389

VMMaker 4.16.1 - Support older Squeak images back to version 1.13 (circa 1996)

This set of updates is based on SqueakJS as a reference implementation that
supports a full range of images from Squeak 1.13 through the latest Spur images.

Numbered primitives are identified in the primitive table, established by the
implementations of #initializePrimitiveTable in the various images. Class
PrimitiveTableHistory has been added to document known versions of the
primitive table.

Background: In general, primitives that originated as numbered primitives in early
Squeak versions have been reimplemented as named primitives in the base
interpreter and in various interpreter plugins. The goal is to reduce or eliminate
use of numbered primitives. Support for old images therefore amounts to reassiging
the old primitive numbers to named primitives where necessary to support
running an older image.

Strategy: Check if the current image #hasClosures based on the image format
number, then provide an older set of numbered primitives suitable for a range of
pre-closure images dating back to Squeak 1.13. Do this by starting with the
default primitive table, checking at entry to interpreter() to see if this is a
pre-closure image, then installing old primitives as needed in #updatePrimitiveTable.

Interpreter primitives that require a primitive number for older images are
added to the primitive table with #installPrimitive:at: and primitives that are now
implemented in interpreter plugins are loaded and installed in the primitive
table with #installPrimitive:from:at:.

=============== Diff against VMMaker-dtl.389 ===============

Item was added:
+ ----- Method: ContextInterpreter>>initializeImageFormatVersion (in category 'image save/restore') -----
+ initializeImageFormatVersion
+ "Set the imageFormatVersionNumber. The imageFormatInitialVersion will
+ have been set at image load time. The imageFormatVerison may later by
+ updated by pushClosureCopyCopiedValuesBytecode in the case of a
+ non-closure image that is being updated automatically to use closures."
+
+ <inline: false>
+ imageFormatVersionNumber = 0 ifTrue: [
+ imageFormatInitialVersion caseOf: {
+ [ 6502 ] -> [ imageFormatVersionNumber := 6502 ] . "early 32 bit format"
+ [ 6504 ] -> [ imageFormatVersionNumber := 6504 ] . "closures"
+ [ 6505 ] -> [ imageFormatVersionNumber := 6504 ] . "float order was restored during image load"
+ [ 68000 ] -> [ imageFormatVersionNumber := 68000 ] . "early 64 bit format"
+ [ 68002 ] -> [ imageFormatVersionNumber := 68002 ] . "closures"
+ [ 68003 ] -> [ imageFormatVersionNumber := 68002 ] "float order was restored during image load"
+ } ].
+ !

Item was removed:
- ----- Method: ContextInterpreter>>initializeImageFormatVersionIfNeeded (in category 'image save/restore') -----
- initializeImageFormatVersionIfNeeded
- "Set the imageFormatVersionNumber to a default value for this word
- size. Normally this will have been set at image load time, but set it to
- a reasonable default if this has not been done."
-
- <inline: false>
- imageFormatVersionNumber = 0
- ifTrue: [objectMemory bytesPerWord == 8
- ifFalse: [imageFormatVersionNumber := 6502]
- ifTrue: [imageFormatVersionNumber := 68000]]
- !

Item was changed:
  ----- Method: ContextInterpreter>>interpret (in category 'interpreter shell') -----
  interpret
  "This is the main interpreter loop. It normally loops forever, fetching and executing bytecodes. When running in the context of a browser plugin VM, however, it must return control to the browser periodically. This should done only when the state of the currently running Squeak thread is safely stored in the object heap. Since this is the case at the moment that a check for interrupts is performed, that is when we return to the browser if it is time to do so. Interrupt checks happen quite frequently."
 
  <inline: false> "should not be inlined into any senders"
+ self initializeImageFormatVersion.
- "Update the primitive table as required for the current running image."
  self updatePrimitiveTable..
+ self browserPluginInitialiseIfNeeded. "record entry time when running as a browser plug-in"
- "record entry time when running as a browser plug-in"
- self browserPluginInitialiseIfNeeded.
- self initializeImageFormatVersionIfNeeded.
  self internalizeIPandSP.
  self fetchNextBytecode.
  [true] whileTrue: [self dispatchOn: currentBytecode in: BytecodeTable].
  localIP := localIP - 1.  "undo the pre-increment of IP before returning"
  self externalizeIPandSP.
  !

Item was changed:
  VMClass subclass: #InterpreterPrimitives
+ instanceVariableNames: 'objectMemory primitiveTable primFailCode argumentCount interruptKeycode newMethod preemptionYields'
- instanceVariableNames: 'objectMemory primitiveTable primitiveTableUpdated primFailCode argumentCount interruptKeycode newMethod preemptionYields'
  classVariableNames: 'CrossedX EndOfRun InterpreterSourceVersion MillisecondClockMask PrimitiveExternalCallIndex PrimitiveTable'
  poolDictionaries: 'VMObjectIndices VMSqueakV3ObjectRepresentationConstants'
  category: 'VMMaker-Interpreter'!
 
  !InterpreterPrimitives commentStamp: 'dtl 4/14/2013 23:16' prior: 0!
  InterpreterPrimitives implements most of the VM's core primitives.  It is the root of the interpreter hierarchy so as to share the core primitives amongst the various interpreters.
 
  Instance Variables
  argumentCount: <Integer>
  messageSelector: <Integer>
  newMethod: <Integer>
  nextProfileTick: <Integer>
  objectMemory: <ObjectMemory> (simulation only)
  preemptionYields: <Boolean>
  primFailCode: <Integer>
  profileMethod: <Integer>
  profileProcess: <Integer>
  profileSemaphore: <Integer>
 
  argumentCount
  - the number of arguments of the current message
 
  messageSelector
  - the oop of the selector of the current message
 
  newMethod
  - the oop of the result of looking up the current message
 
  nextProfileTick
  - the millisecond clock value of the next profile tick (if profiling is in effect)
 
  objectMemory
  - the memory manager and garbage collector that manages the heap
 
  preemptionYields
  - a boolean controlling the process primitives.  If true (old, incorrect, blue-book semantics) a preempted process is sent to the back of its run-queue.  If false, a process preempted by a higher-priority process is put back at the head of its run queue, hence preserving cooperative scheduling within priorities.
 
  primFailCode
  - primtiive success/failure flag, 0 for success, otherwise the reason code for failure
 
  profileMethod
  - the oop of the method at the time nextProfileTick was reached
 
  profileProcess
  - the oop of the activeProcess at the time nextProfileTick was reached
 
  profileSemaphore
  - the oop of the semaphore to signal when nextProfileTick is reached
  !

Item was added:
+ ----- Method: InterpreterPrimitives>>hasClosures (in category 'primitive table') -----
+ hasClosures
+ "True if the current image requires full closure support."
+
+ ^self imageFormatVersion ~= 6502 and: [self imageFormatVersion ~= 68000].!

Item was added:
+ ----- Method: InterpreterPrimitives>>installPrimitive:from:at: (in category 'primitive table') -----
+ installPrimitive: selector from: moduleName at: anInteger
+ "The primitive table is normally initialized at compile time. This allows an entry
+ in the table to be istalled at runtime. If the function cannot be loaded from the
+ named module, then let the numbered primitive fail."
+
+ <inline: false> "for readability"
+ <var: 'fn' declareC: 'void (*fn)(void)'>
+ | fn |
+ fn := self ioLoadFunction: selector From: moduleName.
+ fn = nil
+ ifTrue: [ primitiveTable at: anInteger put: #primitiveFail ]
+ ifFalse: [ primitiveTable at: anInteger put: fn ].
+ !

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.
- that it neeces 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)"
- "As of VMMaker-dtl.387 8 November 2016 (VMMaker 4.15.9), these primitives were
- removed from the primitive table for consistency with recent Cog/Spur. They are still
- required for running many older Squeak images. Install them here to support those
- images."
 
+ | primitiveTableUpdated |
- "TODO Need a general way to set up the table at runtime for a range of images"
-
  <inline: false>
+ <var: #primitiveTableUpdated type: 'static int'>
+ primitiveTableUpdated == true ifFalse: [
-
- 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: '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.
+ ]
- self installPrimitive: #primitiveBlockCopy at: 80.
- self installPrimitive: #primitiveValue at: 81.
- self installPrimitive: #primitiveValueWithArgs at: 82.
- self installPrimitive: #primitiveValueUninterruptably at: 123.
  ]
  !

Item was added:
+ ----- Method: InterpreterPrimitives>>useOldPrimitives (in category 'primitive table') -----
+ useOldPrimitives
+ "The primitives table changes over time. An image may require a specific set
+ of numbered primitives in order to function as originally intended, but in general
+ the images prior to the introduction of full block closures can run successfully with
+ one set of older primitives, and later images can use a more recent set.
+
+ Answer true if the older set of primitives should be used."
+
+ ^self hasClosures not
+ !

Item was added:
+ Object subclass: #PrimitiveTableHistory
+ instanceVariableNames: ''
+ classVariableNames: 'MaxPrimitiveIndex PrimitiveTable'
+ poolDictionaries: ''
+ category: 'VMMaker-Interpreter'!
+
+ !PrimitiveTableHistory commentStamp: 'dtl 12/26/2016 10:15' prior: 0!
+ PrimitiveTableHistory shows history and differences between versions of the primitive table.
+
+ Browse all recorded changes:
+ "PrimitiveTableHistory enumerate"
+
+ Changes from last pre-closure version to present:
+ "PrimitiveTableHistory differenceFrom: self lastPreClosuresVersion to: PrimitiveTableHistory current"
+
+ Early versions through Squeak 3.0 are extracted from changes and sources files
+ found on files.squeak.org. After Squeak 3.0 the VM was maintained externally.
+ Beginning in 2004, the VM was maintained in Monticello. Versions between Feb
+ 2001 and Feb 2004 are not recorded here.
+
+ Versions present in the source.squeak.org VMMaker repository:
+
+ VMMaker-tpr.2 tpr 2/11/2004 19:48
+ VMMaker-tpr.4 tpr 3/24/2004 21:25 initialization  
+ VMMaker-tpr.9 ajh 7/19/2004 14:37 initialization  
+ VMMaker-tpr.22 JMM 1/27/2005 15:05 initialization  
+ VMMaker-eem.114 eem 2/18/2009 10:00 initialization  
+ VMMaker-dtl.209 dtl 12/11/2010 13:08 initialization  
+ VMMaker-dtl.256 dtl 10/15/2011 18:48 initialization  
+ MMaker-dtl.260 dtl 11/25/2011 12:32 initialization
+ VMMaker-dtl.264 dtl 1/30/2012 22:00 initialization  
+ VMMaker-dtl.278 dtl 7/4/2012 20:04 initialization  
+ VMMaker-dtl.285 dtl 8/9/2012 07:55 initialization  
+ VMMaker-dtl.295 dtl 1/5/2013 09:39 initialization  
+ VMMaker-dtl.305 eem 3/14/2013 15:22 initialization  
+ VMMaker-dtl.374 dtl 1/20/2016 20:08 initialization  
+ VMMaker-dtl.375 dtl 1/23/2016 16:11 initialization  
+ ** change to ContextInterpreter
+ VMMaker-dtl.381 dtl 1/23/2016 16:11 initialization  
+ VMMaker-dtl.386 dtl 1/23/2016 16:11 initialization  
+ ** change back to Interpreter
+ VMMaker-dtl.387 dtl 5/1/2016 21:20 initialization  
+ VMMaker-dtl.388 dtl 5/1/2016 21:20 initialization  
+ ** start runtime overrides here
+ VMMaker-dtl.389 dtl 12/21/2016 16:54 initialization  (with udpdatePrimitiveTable dtl 12/21/2016 16:58 primitive table  )!

Item was added:
+ ----- Method: PrimitiveTableHistory class>>current (in category 'significant versions') -----
+ current
+ "Most recent version, which may possibly be overridden at runtime to provide
+ backward compatibility. This may be a version compatible with latest Cog/Spur
+ but not necessarily suitable for interpreter VM use."
+
+ "self current"
+ ^self table20161221!

Item was added:
+ ----- Method: PrimitiveTableHistory class>>differenceFrom:to: (in category 'transforming') -----
+ differenceFrom: table1 to: table2
+
+ ^{ table1 difference: table2 . table2 difference: table1 }
+ !

Item was added:
+ ----- Method: PrimitiveTableHistory class>>enumerate (in category 'enumerating differences') -----
+ enumerate
+ "For each change to the primitive table beginning with the version from
+ Squeak 1.1, show the old and new table entiries."
+
+ "self enumerate"
+
+ | tables forwardDict reverseDict differenceDict |
+ forwardDict := Dictionary new.
+ tables := (self class selectors select: [ :sel | (sel beginsWith: #table) and: [ (sel includes: $: ) not] ]) sort.
+ tables inject: nil into: [ :last :sel |
+ last ifNotNil: [
+ forwardDict at: last -> sel
+ put: ((self perform: last) difference: (self perform: sel))].
+ sel ].
+ reverseDict := Dictionary new.
+ tables := tables reversed.
+ tables inject: nil into: [ :last :sel |
+ last ifNotNil: [
+ reverseDict at: sel -> last
+ put: ((self perform: last) difference: (self perform: sel))].
+ sel ].
+ differenceDict := Dictionary new.
+ forwardDict keysDo: [ :key |
+ differenceDict at: key put: {(forwardDict at: key) . (reverseDict at: key)}].
+ ^ differenceDict.
+
+ !

Item was added:
+ ----- Method: PrimitiveTableHistory class>>enumerateDifferencesByVersion (in category 'enumerating differences') -----
+ enumerateDifferencesByVersion
+
+ "self enumerateDifferencesByVersion"
+
+ | tables dict |
+ dict := Dictionary new.
+ tables := (self class selectors select: [ :sel | (sel beginsWith: #table) and: [ (sel includes: $: ) not] ]) sort.
+ tables inject: nil into: [ :last :sel |
+ last ifNotNil: [
+ dict at: last -> sel
+ put: ((self perform: last) difference: (self perform: sel))].
+ sel ].
+ ^ dict.
+
+ !

Item was added:
+ ----- Method: PrimitiveTableHistory class>>enumerateDifferencesVersusLatestForInterpreterVM (in category 'enumerating differences') -----
+ enumerateDifferencesVersusLatestForInterpreterVM
+
+ "self enumerateDifferencesVersusLatestForInterpreterVM"
+
+ | tables referencePoint dict |
+ dict := Dictionary new.
+ tables := (self class selectors select: [ :sel | (sel beginsWith: #table) and: [ (sel includes: $: ) not] ]) sort reversed.
+ referencePoint := self latestForInterpreterVM.
+ tables do: [ :table | dict at: table put: ((self perform: table) difference: referencePoint ) ].
+ ^ dict.
+
+ !

Item was added:
+ ----- Method: PrimitiveTableHistory class>>firstClosuresVersion (in category 'significant versions') -----
+ firstClosuresVersion
+ "The primitive table corresponding to the first closures enabled image"
+
+ "self firstClosuresVersion"
+ "self differenceFrom: self lastPreClosuresVersion to: self firstClosuresVersion"
+ "self differenceFrom: self firstClosuresVersion to: self latestForInterpreterVM"
+
+ ^self table20090218!

Item was added:
+ ----- Method: PrimitiveTableHistory class>>firstKnownVersion (in category 'significant versions') -----
+ firstKnownVersion
+ "Extracted from the changes file of Squeak 1.1"
+
+ "self firstKnownVersion"
+ "self differenceFrom: self firstKnownVersion to: self firstVersionInRepository"
+
+ ^self table19961028!

Item was added:
+ ----- Method: PrimitiveTableHistory class>>firstVersionInRepository (in category 'significant versions') -----
+ firstVersionInRepository
+ "The primitive table immediately prior to the first closures enabled image"
+
+ "self firstVersionInRepository"
+ "self differenceFrom: self firstVersionInRepository to: self latestForInterpreterVM"
+
+ ^self table20040211!

Item was added:
+ ----- Method: PrimitiveTableHistory class>>initializePrimitiveTable19961028Squeak11 (in category 'initialization history') -----
+ initializePrimitiveTable19961028Squeak11
+ "From changes file of Squeak 1.1, and remaining in effect through Squeak 1.17"
+
+ "'From Squeak 1.1 of September 21, 1996 on 23 September 1996 at 8:34:59 pm'!!"
+ "initializePrimitiveTable"
+ "Interpreter initializePrimitiveTable"
+ "Note: This table will be used to generate a C switch statement."
+
+ PrimitiveTable _ Array new: 256.
+ self table: PrimitiveTable from:
+ #(
+ "Integer Primitives (0-19)"
+ (0 primitiveFail)
+ (1 primitiveAdd)
+ (2 primitiveSubtract)
+ (3 primitiveLessThan)
+ (4 primitiveGreaterThan)
+ (5 primitiveLessOrEqual)
+ (6 primitiveGreaterOrEqual)
+ (7 primitiveEqual)
+ (8 primitiveNotEqual)
+ (9 primitiveMultiply)
+ (10 primitiveDivide)
+ (11 primitiveMod)
+ (12 primitiveDiv)
+ (13 primitiveQuo)
+ (14 primitiveBitAnd)
+ (15 primitiveBitOr)
+ (16 primitiveBitXor)
+ (17 primitiveBitShift)
+ (18 primitiveMakePoint)
+ (19 primitiveFail)
+
+ "LargeInteger Primitives (20-39)"
+ "32-bit logic is aliased to Integer prims above"
+ (20 39 primitiveFail)
+
+ "Float Primitives (40-59)"
+ (40 primitiveAsFloat)
+ (41 primitiveFloatAdd)
+ (42 primitiveFloatSubtract)
+ (43 primitiveFloatLessThan)
+ (44 primitiveFloatGreaterThan)
+ (45 primitiveFloatLessOrEqual)
+ (46 primitiveFloatGreaterOrEqual)
+ (47 primitiveFloatEqual)
+ (48 primitiveFloatNotEqual)
+ (49 primitiveFloatMultiply)
+ (50 primitiveFloatDivide)
+ (51 primitiveTruncated)
+ (52 primitiveFractionalPart)
+ (53 primitiveExponent)
+ (54 primitiveTimesTwoPower)
+ (55 59 primitiveFail)
+
+ "Subscript and Stream Primitives (60-67)"
+ (60 primitiveAt)
+ (61 primitiveAtPut)
+ (62 primitiveSize)
+ (63 primitiveStringAt)
+ (64 primitiveStringAtPut)
+ (65 primitiveNext)
+ (66 primitiveNextPut)
+ (67 primitiveAtEnd)
+
+ "StorageManagement Primitives (68-79)"
+ (68 primitiveObjectAt)
+ (69 primitiveObjectAtPut)
+ (70 primitiveNew)
+ (71 primitiveNewWithArg)
+ (72 primitiveFail) "Blue Book: primitiveBecome"
+ (73 primitiveInstVarAt)
+ (74 primitiveInstVarAtPut)
+ (75 primitiveAsOop)
+ (76 primitiveFail) "Blue Book: primitiveAsObject"
+ (77 primitiveSomeInstance)
+ (78 primitiveNextInstance)
+ (79 primitiveNewMethod)
+
+ "Control Primitives (80-89)"
+ (80 primitiveFail)   "Blue Book:  primitiveBlockCopy"
+ (81 primitiveValue)
+ (82 primitiveValueWithArgs)
+ (83 primitivePerform)
+ (84 primitivePerformWithArgs)
+ (85 primitiveSignal)
+ (86 primitiveWait)
+ (87 primitiveResume)
+ (88 primitiveSuspend)
+ (89 primitiveFlushCache)
+
+ "Input/Output Primitives (90-109)"
+ (90 primitiveMousePoint)
+ (91 primitiveFail) "Blue Book: primitiveCursorLocPut"
+ (92 primitiveFail) "Blue Book: primitiveCursorLink"
+ (93 primitiveInputSemaphore)
+ (94 primitiveFail) "Blue Book: primitiveSampleInterval"
+ (95 primitiveInputWord)
+ (96 primitiveCopyBits)
+ (97 primitiveSnapshot)
+ (98 primitiveFail) "Blue Book: primitiveTimeWordsInto"
+ (99 primitiveFail) "Blue Book: primitiveTickWordsInto"
+ (100 primitiveFail) "Blue Book: primitiveSignalAtTick"
+ (101 primitiveBeCursor)
+ (102 primitiveBeDisplay)
+ (103 primitiveScanCharacters)
+ (104 primitiveDrawLoop)
+ (105 primitiveStringReplace)
+ (106 primitiveScreenSize)
+ (107 primitiveMouseButtons)
+ (108 primitiveKbdNext)
+ (109 primitiveKbdPeek)
+
+ "System Primitives (110-119)"
+ (110 primitiveEquivalent)
+ (111 primitiveClass)
+ (112 primitiveBytesLeft)
+ (113 primitiveQuit)
+ (114 primitiveExitToDebugger)
+ (115 primitiveFail) "Blue Book: primitiveOopsLeft"
+ (116 primitiveFail)
+ (117 primitiveFail)
+ (118 primitiveFail)
+ (119 primitiveFail)
+
+ "Miscellaneous Primitives (120-127)"
+ (120 primitiveFail)
+ (121 primitiveImageName)
+ (122 primitiveNoop) "Blue Book: primitiveImageVolume"
+ (123 primitiveFail)
+ (124 primitiveLowSpaceSemaphore)
+ (125 primitiveSignalAtBytesLeft)
+ (126 primitiveFail)
+ (127 primitiveFail)
+
+ "AppleSmalltalk Primitives Start Here"
+
+ "Apple Miscellaneous Primitives (128-149)"
+ (128 primitiveArrayBecome)
+ (129 primitiveSpecialObjectsOop)
+ (130 primitiveFullGC)
+ (131 primitiveIncrementalGC)
+ (132 primitiveObjectPointsTo)
+ (133 primitiveSetInterruptKey)
+ (134 primitiveInterruptSemaphore)
+ (135 primitiveMillisecondClock)
+ (136 primitiveSignalAtMilliseconds)
+ (137 primitiveSecondsClock)
+ (138 primitiveSomeObject)
+ (139 primitiveNextObject)
+ (140 primitiveBeep)
+ (141 primitiveClipboardText)
+ (142 primitiveVMPath)
+ (143 primitiveShortAt)
+ (144 primitiveShortAtPut)
+ (145 primitiveConstantFill)
+ (146 primitiveReadJoystick)
+ (147 primitiveWarpBits)
+ (148 149 primitiveFail)
+
+ "File Primitives (150-169)"
+ (150 primitiveFileAtEnd)
+ (151 primitiveFileClose)
+ (152 primitiveFileGetPosition)
+ (153 primitiveFileOpen)
+ (154 primitiveFileRead)
+ (155 primitiveFileSetPosition)
+ (156 primitiveFileDelete)
+ (157 primitiveFileSize)
+ (158 primitiveFileWrite)
+ (159 primitiveFileRename)
+ (160 primitiveDirectoryCreate)
+ (161 primitiveDirectoryDelimitor)
+ (162 primitiveDirectoryLookup)
+ (163 168 primitiveFail)
+ (169 primitiveDirectorySetMacTypeAndCreator)
+
+ "Sound Primitives (170-199)"
+ (170 primitiveSoundStart)
+ (171 primitiveFail)
+ (172 primitiveSoundStop)
+ (173 primitiveSoundAvailableSpace)
+ (174 primitiveSoundPlaySamples)
+ (175 primitiveSoundPlaySilence)
+ (176 primWaveTableSoundmixSampleCountintostartingAtpan)
+ (177 primFMSoundmixSampleCountintostartingAtpan)
+ (178 primPluckedSoundmixSampleCountintostartingAtpan)
+ (179 199 primitiveFail)
+
+ "Unimplemented Primitives (200-249)"
+ (200 249 primitiveFail)
+
+ "VM Implementor Primitives (250-255)"
+ (250 clearProfile)
+ (251 dumpProfile)
+ (252 startProfiling)
+ (253 stopProfiling)
+ (254 primitiveFail)
+ (255 primitiveFail)
+ ).!

Item was added:
+ ----- Method: PrimitiveTableHistory class>>initializePrimitiveTable19970118Squeak118 (in category 'initialization history') -----
+ initializePrimitiveTable19970118Squeak118
+ "From changes file of Squeak 1.18"
+ "initializePrimitiveTable"
+ "Interpreter initializePrimitiveTable"
+ "Note: This table will be used to generate a C switch statement."
+
+ PrimitiveTable _ Array new: 256.
+ self table: PrimitiveTable from:
+ #(
+ "Integer Primitives (0-19)"
+ (0 primitiveFail)
+ (1 primitiveAdd)
+ (2 primitiveSubtract)
+ (3 primitiveLessThan)
+ (4 primitiveGreaterThan)
+ (5 primitiveLessOrEqual)
+ (6 primitiveGreaterOrEqual)
+ (7 primitiveEqual)
+ (8 primitiveNotEqual)
+ (9 primitiveMultiply)
+ (10 primitiveDivide)
+ (11 primitiveMod)
+ (12 primitiveDiv)
+ (13 primitiveQuo)
+ (14 primitiveBitAnd)
+ (15 primitiveBitOr)
+ (16 primitiveBitXor)
+ (17 primitiveBitShift)
+ (18 primitiveMakePoint)
+ (19 primitiveFail)
+
+ "LargeInteger Primitives (20-39)"
+ "32-bit logic is aliased to Integer prims above"
+ (20 39 primitiveFail)
+
+ "Float Primitives (40-59)"
+ (40 primitiveAsFloat)
+ (41 primitiveFloatAdd)
+ (42 primitiveFloatSubtract)
+ (43 primitiveFloatLessThan)
+ (44 primitiveFloatGreaterThan)
+ (45 primitiveFloatLessOrEqual)
+ (46 primitiveFloatGreaterOrEqual)
+ (47 primitiveFloatEqual)
+ (48 primitiveFloatNotEqual)
+ (49 primitiveFloatMultiply)
+ (50 primitiveFloatDivide)
+ (51 primitiveTruncated)
+ (52 primitiveFractionalPart)
+ (53 primitiveExponent)
+ (54 primitiveTimesTwoPower)
+ (55 primitiveSquareRoot)
+ (56 primitiveSine)
+ (57 primitiveArctan)
+ (58 primitiveLogN)
+ (59 primitiveExp)
+
+ "Subscript and Stream Primitives (60-67)"
+ (60 primitiveAt)
+ (61 primitiveAtPut)
+ (62 primitiveSize)
+ (63 primitiveStringAt)
+ (64 primitiveStringAtPut)
+ (65 primitiveNext)
+ (66 primitiveNextPut)
+ (67 primitiveAtEnd)
+
+ "StorageManagement Primitives (68-79)"
+ (68 primitiveObjectAt)
+ (69 primitiveObjectAtPut)
+ (70 primitiveNew)
+ (71 primitiveNewWithArg)
+ (72 primitiveFail) "Blue Book: primitiveBecome"
+ (73 primitiveInstVarAt)
+ (74 primitiveInstVarAtPut)
+ (75 primitiveAsOop)
+ (76 primitiveFail) "Blue Book: primitiveAsObject"
+ (77 primitiveSomeInstance)
+ (78 primitiveNextInstance)
+ (79 primitiveNewMethod)
+
+ "Control Primitives (80-89)"
+ (80 primitiveFail)   "Blue Book:  primitiveBlockCopy"
+ (81 primitiveValue)
+ (82 primitiveValueWithArgs)
+ (83 primitivePerform)
+ (84 primitivePerformWithArgs)
+ (85 primitiveSignal)
+ (86 primitiveWait)
+ (87 primitiveResume)
+ (88 primitiveSuspend)
+ (89 primitiveFlushCache)
+
+ "Input/Output Primitives (90-109)"
+ (90 primitiveMousePoint)
+ (91 primitiveFail) "Blue Book: primitiveCursorLocPut"
+ (92 primitiveFail) "Blue Book: primitiveCursorLink"
+ (93 primitiveInputSemaphore)
+ (94 primitiveFail) "Blue Book: primitiveSampleInterval"
+ (95 primitiveInputWord)
+ (96 primitiveCopyBits)
+ (97 primitiveSnapshot)
+ (98 primitiveFail) "Blue Book: primitiveTimeWordsInto"
+ (99 primitiveFail) "Blue Book: primitiveTickWordsInto"
+ (100 primitiveFail) "Blue Book: primitiveSignalAtTick"
+ (101 primitiveBeCursor)
+ (102 primitiveBeDisplay)
+ (103 primitiveScanCharacters)
+ (104 primitiveDrawLoop)
+ (105 primitiveStringReplace)
+ (106 primitiveScreenSize)
+ (107 primitiveMouseButtons)
+ (108 primitiveKbdNext)
+ (109 primitiveKbdPeek)
+
+ "System Primitives (110-119)"
+ (110 primitiveEquivalent)
+ (111 primitiveClass)
+ (112 primitiveBytesLeft)
+ (113 primitiveQuit)
+ (114 primitiveExitToDebugger)
+ (115 primitiveFail) "Blue Book: primitiveOopsLeft"
+ (116 primitiveFail)
+ (117 primitiveFail)
+ (118 primitiveFail)
+ (119 primitiveFail)
+
+ "Miscellaneous Primitives (120-127)"
+ (120 primitiveFail)
+ (121 primitiveImageName)
+ (122 primitiveNoop) "Blue Book: primitiveImageVolume"
+ (123 primitiveFail)
+ (124 primitiveLowSpaceSemaphore)
+ (125 primitiveSignalAtBytesLeft)
+ (126 primitiveFail)
+ (127 primitiveFail)
+
+ "AppleSmalltalk Primitives Start Here"
+
+ "Apple Miscellaneous Primitives (128-149)"
+ (128 primitiveArrayBecome)
+ (129 primitiveSpecialObjectsOop)
+ (130 primitiveFullGC)
+ (131 primitiveIncrementalGC)
+ (132 primitiveObjectPointsTo)
+ (133 primitiveSetInterruptKey)
+ (134 primitiveInterruptSemaphore)
+ (135 primitiveMillisecondClock)
+ (136 primitiveSignalAtMilliseconds)
+ (137 primitiveSecondsClock)
+ (138 primitiveSomeObject)
+ (139 primitiveNextObject)
+ (140 primitiveBeep)
+ (141 primitiveClipboardText)
+ (142 primitiveVMPath)
+ (143 primitiveShortAt)
+ (144 primitiveShortAtPut)
+ (145 primitiveConstantFill)
+ (146 primitiveReadJoystick)
+ (147 primitiveWarpBits)
+ (148 primitiveClone)
+ (149 primitiveFail)
+
+ "File Primitives (150-169)"
+ (150 primitiveFileAtEnd)
+ (151 primitiveFileClose)
+ (152 primitiveFileGetPosition)
+ (153 primitiveFileOpen)
+ (154 primitiveFileRead)
+ (155 primitiveFileSetPosition)
+ (156 primitiveFileDelete)
+ (157 primitiveFileSize)
+ (158 primitiveFileWrite)
+ (159 primitiveFileRename)
+ (160 primitiveDirectoryCreate)
+ (161 primitiveDirectoryDelimitor)
+ (162 primitiveDirectoryLookup)
+ (163 168 primitiveFail)
+ (169 primitiveDirectorySetMacTypeAndCreator)
+
+ "Sound Primitives (170-199)"
+ (170 primitiveSoundStart)
+ (171 primitiveFail)
+ (172 primitiveSoundStop)
+ (173 primitiveSoundAvailableSpace)
+ (174 primitiveSoundPlaySamples)
+ (175 primitiveSoundPlaySilence)
+ (176 primWaveTableSoundmixSampleCountintostartingAtpan)
+ (177 primFMSoundmixSampleCountintostartingAtpan)
+ (178 primPluckedSoundmixSampleCountintostartingAtpan)
+ (179 199 primitiveFail)
+
+ "Unimplemented Primitives (200-249)"
+ (200 249 primitiveFail)
+
+ "VM Implementor Primitives (250-255)"
+ (250 clearProfile)
+ (251 dumpProfile)
+ (252 startProfiling)
+ (253 stopProfiling)
+ (254 primitiveFail)
+ (255 primitiveFail)
+ ).!

Item was added:
+ ----- Method: PrimitiveTableHistory class>>initializePrimitiveTable19970617jm (in category 'initialization history') -----
+ initializePrimitiveTable19970617jm
+ "From changes file of Squeak 1.20"
+ "!!Interpreter class methodsFor: 'initialization' stamp: 'jm 6/17/97 07:07'!!
+ initializePrimitiveTable"
+ "Interpreter initializePrimitiveTable"
+ "Note: This table will be used to generate a C switch statement."
+
+ PrimitiveTable _ Array new: 256.
+ self table: PrimitiveTable from:
+ #(
+ "Integer Primitives (0-19)"
+ (0 primitiveFail)
+ (1 primitiveAdd)
+ (2 primitiveSubtract)
+ (3 primitiveLessThan)
+ (4 primitiveGreaterThan)
+ (5 primitiveLessOrEqual)
+ (6 primitiveGreaterOrEqual)
+ (7 primitiveEqual)
+ (8 primitiveNotEqual)
+ (9 primitiveMultiply)
+ (10 primitiveDivide)
+ (11 primitiveMod)
+ (12 primitiveDiv)
+ (13 primitiveQuo)
+ (14 primitiveBitAnd)
+ (15 primitiveBitOr)
+ (16 primitiveBitXor)
+ (17 primitiveBitShift)
+ (18 primitiveMakePoint)
+ (19 primitiveFail)
+
+ "LargeInteger Primitives (20-39)"
+ "32-bit logic is aliased to Integer prims above"
+ (20 39 primitiveFail)
+
+ "Float Primitives (40-59)"
+ (40 primitiveAsFloat)
+ (41 primitiveFloatAdd)
+ (42 primitiveFloatSubtract)
+ (43 primitiveFloatLessThan)
+ (44 primitiveFloatGreaterThan)
+ (45 primitiveFloatLessOrEqual)
+ (46 primitiveFloatGreaterOrEqual)
+ (47 primitiveFloatEqual)
+ (48 primitiveFloatNotEqual)
+ (49 primitiveFloatMultiply)
+ (50 primitiveFloatDivide)
+ (51 primitiveTruncated)
+ (52 primitiveFractionalPart)
+ (53 primitiveExponent)
+ (54 primitiveTimesTwoPower)
+ (55 primitiveSquareRoot)
+ (56 primitiveSine)
+ (57 primitiveArctan)
+ (58 primitiveLogN)
+ (59 primitiveExp)
+
+ "Subscript and Stream Primitives (60-67)"
+ (60 primitiveAt)
+ (61 primitiveAtPut)
+ (62 primitiveSize)
+ (63 primitiveStringAt)
+ (64 primitiveStringAtPut)
+ (65 primitiveNext)
+ (66 primitiveNextPut)
+ (67 primitiveAtEnd)
+
+ "StorageManagement Primitives (68-79)"
+ (68 primitiveObjectAt)
+ (69 primitiveObjectAtPut)
+ (70 primitiveNew)
+ (71 primitiveNewWithArg)
+ (72 primitiveFail) "Blue Book: primitiveBecome"
+ (73 primitiveInstVarAt)
+ (74 primitiveInstVarAtPut)
+ (75 primitiveAsOop)
+ (76 primitiveFail) "Blue Book: primitiveAsObject"
+ (77 primitiveSomeInstance)
+ (78 primitiveNextInstance)
+ (79 primitiveNewMethod)
+
+ "Control Primitives (80-89)"
+ (80 primitiveFail)   "Blue Book:  primitiveBlockCopy"
+ (81 primitiveValue)
+ (82 primitiveValueWithArgs)
+ (83 primitivePerform)
+ (84 primitivePerformWithArgs)
+ (85 primitiveSignal)
+ (86 primitiveWait)
+ (87 primitiveResume)
+ (88 primitiveSuspend)
+ (89 primitiveFlushCache)
+
+ "Input/Output Primitives (90-109)"
+ (90 primitiveMousePoint)
+ (91 primitiveFail) "Blue Book: primitiveCursorLocPut"
+ (92 primitiveFail) "Blue Book: primitiveCursorLink"
+ (93 primitiveInputSemaphore)
+ (94 primitiveFail) "Blue Book: primitiveSampleInterval"
+ (95 primitiveInputWord)
+ (96 primitiveCopyBits)
+ (97 primitiveSnapshot)
+ (98 primitiveFail) "Blue Book: primitiveTimeWordsInto"
+ (99 primitiveFail) "Blue Book: primitiveTickWordsInto"
+ (100 primitiveFail) "Blue Book: primitiveSignalAtTick"
+ (101 primitiveBeCursor)
+ (102 primitiveBeDisplay)
+ (103 primitiveScanCharacters)
+ (104 primitiveDrawLoop)
+ (105 primitiveStringReplace)
+ (106 primitiveScreenSize)
+ (107 primitiveMouseButtons)
+ (108 primitiveKbdNext)
+ (109 primitiveKbdPeek)
+
+ "System Primitives (110-119)"
+ (110 primitiveEquivalent)
+ (111 primitiveClass)
+ (112 primitiveBytesLeft)
+ (113 primitiveQuit)
+ (114 primitiveExitToDebugger)
+ (115 primitiveFail) "Blue Book: primitiveOopsLeft"
+ (116 primitiveFail)
+ (117 primitiveFail)
+ (118 primitiveFail)
+ (119 primitiveFail)
+
+ "Miscellaneous Primitives (120-127)"
+ (120 primitiveFail)
+ (121 primitiveImageName)
+ (122 primitiveNoop) "Blue Book: primitiveImageVolume"
+ (123 primitiveFail)
+ (124 primitiveLowSpaceSemaphore)
+ (125 primitiveSignalAtBytesLeft)
+ (126 primitiveFail)
+ (127 primitiveFail)
+
+ "Squeak Primitives Start Here"
+
+ "Squeak Miscellaneous Primitives (128-149)"
+ (128 primitiveArrayBecome)
+ (129 primitiveSpecialObjectsOop)
+ (130 primitiveFullGC)
+ (131 primitiveIncrementalGC)
+ (132 primitiveObjectPointsTo)
+ (133 primitiveSetInterruptKey)
+ (134 primitiveInterruptSemaphore)
+ (135 primitiveMillisecondClock)
+ (136 primitiveSignalAtMilliseconds)
+ (137 primitiveSecondsClock)
+ (138 primitiveSomeObject)
+ (139 primitiveNextObject)
+ (140 primitiveBeep)
+ (141 primitiveClipboardText)
+ (142 primitiveVMPath)
+ (143 primitiveShortAt)
+ (144 primitiveShortAtPut)
+ (145 primitiveConstantFill)
+ (146 primitiveReadJoystick)
+ (147 primitiveWarpBits)
+ (148 primitiveClone)
+ (149 primitiveGetAttribute)
+
+ "File Primitives (150-169)"
+ (150 primitiveFileAtEnd)
+ (151 primitiveFileClose)
+ (152 primitiveFileGetPosition)
+ (153 primitiveFileOpen)
+ (154 primitiveFileRead)
+ (155 primitiveFileSetPosition)
+ (156 primitiveFileDelete)
+ (157 primitiveFileSize)
+ (158 primitiveFileWrite)
+ (159 primitiveFileRename)
+ (160 primitiveDirectoryCreate)
+ (161 primitiveDirectoryDelimitor)
+ (162 primitiveDirectoryLookup)
+ (163 168 primitiveFail)
+ (169 primitiveDirectorySetMacTypeAndCreator)
+
+ "Sound Primitives (170-199)"
+ (170 primitiveSoundStart)
+ (171 primitiveFail)
+ (172 primitiveSoundStop)
+ (173 primitiveSoundAvailableSpace)
+ (174 primitiveSoundPlaySamples)
+ (175 primitiveSoundPlaySilence)
+ (176 primWaveTableSoundmixSampleCountintostartingAtpan)
+ (177 primFMSoundmixSampleCountintostartingAtpan)
+ (178 primPluckedSoundmixSampleCountintostartingAtpan)
+ (179 primSampledSoundmixSampleCountintostartingAtpan)
+ (180 199 primitiveFail)
+
+ "Networking Primitives (200-229)"
+ (200 primitiveInitializeNetwork)
+ (201 primitiveResolverStartNameLookup)
+ (202 primitiveResolverNameLookupResult)
+ (203 primitiveResolverStartAddressLookup)
+ (204 primitiveResolverAddressLookupResult)
+ (205 primitiveResolverAbortLookup)
+ (206 primitiveResolverLocalAddress)
+ (207 primitiveResolverStatus)
+ (208 primitiveResolverError)
+ (209 primitiveSocketCreate)
+ (210 primitiveSocketDestroy)
+ (211 primitiveSocketConnectionStatus)
+ (212 primitiveSocketError)
+ (213 primitiveSocketLocalAddress)
+ (214 primitiveSocketLocalPort)
+ (215 primitiveSocketRemoteAddress)
+ (216 primitiveSocketRemotePort)
+ (217 primitiveSocketConnectToPort)
+ (218 primitiveSocketListenOnPort)
+ (219 primitiveSocketCloseConnection)
+ (220 primitiveSocketAbortConnection)
+ (221 primitiveSocketReceiveDataBufCount)
+ (222 primitiveSocketReceiveDataAvailable)
+ (223 primitiveSocketSendDataBufCount)
+ (224 primitiveSocketSendDone)
+ (225 229 primitiveFail)
+
+ "Unimplemented Primitives (230-249)"
+ (230 249 primitiveFail)
+
+ "VM Implementor Primitives (250-255)"
+ (250 clearProfile)
+ (251 dumpProfile)
+ (252 startProfiling)
+ (253 stopProfiling)
+ (254 primitiveFail)
+ (255 primitiveFail)
+ ).!

Item was added:
+ ----- Method: PrimitiveTableHistory class>>initializePrimitiveTable19970918jm (in category 'initialization history') -----
+ initializePrimitiveTable19970918jm
+ "From changes file of Squeak 1.22"
+ "!!Interpreter class methodsFor: 'initialization' stamp: 'jm 9/18/97 21:09'!!
+ initializePrimitiveTable"
+ "Interpreter initializePrimitiveTable"
+ "This table generates a C switch statement."
+
+ "NOTE: The real limit here is 2047, but our C compiler currently barfs over 700"
+ MaxPrimitiveIndex _ 699.
+ PrimitiveTable _ Array new: MaxPrimitiveIndex+1.
+ self table: PrimitiveTable from:
+ #(
+ "Integer Primitives (0-19)"
+ (0 primitiveFail)
+ (1 primitiveAdd)
+ (2 primitiveSubtract)
+ (3 primitiveLessThan)
+ (4 primitiveGreaterThan)
+ (5 primitiveLessOrEqual)
+ (6 primitiveGreaterOrEqual)
+ (7 primitiveEqual)
+ (8 primitiveNotEqual)
+ (9 primitiveMultiply)
+ (10 primitiveDivide)
+ (11 primitiveMod)
+ (12 primitiveDiv)
+ (13 primitiveQuo)
+ (14 primitiveBitAnd)
+ (15 primitiveBitOr)
+ (16 primitiveBitXor)
+ (17 primitiveBitShift)
+ (18 primitiveMakePoint)
+ (19 primitiveFail)
+
+ "LargeInteger Primitives (20-39)"
+ "32-bit logic is aliased to Integer prims above"
+ (20 39 primitiveFail)
+
+ "Float Primitives (40-59)"
+ (40 primitiveAsFloat)
+ (41 primitiveFloatAdd)
+ (42 primitiveFloatSubtract)
+ (43 primitiveFloatLessThan)
+ (44 primitiveFloatGreaterThan)
+ (45 primitiveFloatLessOrEqual)
+ (46 primitiveFloatGreaterOrEqual)
+ (47 primitiveFloatEqual)
+ (48 primitiveFloatNotEqual)
+ (49 primitiveFloatMultiply)
+ (50 primitiveFloatDivide)
+ (51 primitiveTruncated)
+ (52 primitiveFractionalPart)
+ (53 primitiveExponent)
+ (54 primitiveTimesTwoPower)
+ (55 primitiveSquareRoot)
+ (56 primitiveSine)
+ (57 primitiveArctan)
+ (58 primitiveLogN)
+ (59 primitiveExp)
+
+ "Subscript and Stream Primitives (60-67)"
+ (60 primitiveAt)
+ (61 primitiveAtPut)
+ (62 primitiveSize)
+ (63 primitiveStringAt)
+ (64 primitiveStringAtPut)
+ (65 primitiveNext)
+ (66 primitiveNextPut)
+ (67 primitiveAtEnd)
+
+ "StorageManagement Primitives (68-79)"
+ (68 primitiveObjectAt)
+ (69 primitiveObjectAtPut)
+ (70 primitiveNew)
+ (71 primitiveNewWithArg)
+ (72 primitiveFail) "Blue Book: primitiveBecome"
+ (73 primitiveInstVarAt)
+ (74 primitiveInstVarAtPut)
+ (75 primitiveAsOop)
+ (76 primitiveFail) "Blue Book: primitiveAsObject"
+ (77 primitiveSomeInstance)
+ (78 primitiveNextInstance)
+ (79 primitiveNewMethod)
+
+ "Control Primitives (80-89)"
+ (80 primitiveFail)   "Blue Book:  primitiveBlockCopy"
+ (81 primitiveValue)
+ (82 primitiveValueWithArgs)
+ (83 primitivePerform)
+ (84 primitivePerformWithArgs)
+ (85 primitiveSignal)
+ (86 primitiveWait)
+ (87 primitiveResume)
+ (88 primitiveSuspend)
+ (89 primitiveFlushCache)
+
+ "Input/Output Primitives (90-109)"
+ (90 primitiveMousePoint)
+ (91 primitiveFail) "Blue Book: primitiveCursorLocPut"
+ (92 primitiveFail) "Blue Book: primitiveCursorLink"
+ (93 primitiveInputSemaphore)
+ (94 primitiveFail) "Blue Book: primitiveSampleInterval"
+ (95 primitiveInputWord)
+ (96 primitiveCopyBits)
+ (97 primitiveSnapshot)
+ (98 primitiveFail) "Blue Book: primitiveTimeWordsInto"
+ (99 primitiveFail) "Blue Book: primitiveTickWordsInto"
+ (100 primitiveFail) "Blue Book: primitiveSignalAtTick"
+ (101 primitiveBeCursor)
+ (102 primitiveBeDisplay)
+ (103 primitiveScanCharacters)
+ (104 primitiveDrawLoop)
+ (105 primitiveStringReplace)
+ (106 primitiveScreenSize)
+ (107 primitiveMouseButtons)
+ (108 primitiveKbdNext)
+ (109 primitiveKbdPeek)
+
+ "System Primitives (110-119)"
+ (110 primitiveEquivalent)
+ (111 primitiveClass)
+ (112 primitiveBytesLeft)
+ (113 primitiveQuit)
+ (114 primitiveExitToDebugger)
+ (115 primitiveFail) "Blue Book: primitiveOopsLeft"
+ (116 primitiveFail)
+ (117 primitiveFail)
+ (118 primitiveFail)
+ (119 primitiveFail)
+
+ "Miscellaneous Primitives (120-127)"
+ (120 primitiveFail)
+ (121 primitiveImageName)
+ (122 primitiveNoop) "Blue Book: primitiveImageVolume"
+ (123 primitiveFail)
+ (124 primitiveLowSpaceSemaphore)
+ (125 primitiveSignalAtBytesLeft)
+ (126 primitiveFail)
+ (127 primitiveFail)
+
+ "Squeak Primitives Start Here"
+
+ "Squeak Miscellaneous Primitives (128-149)"
+ (128 primitiveArrayBecome)
+ (129 primitiveSpecialObjectsOop)
+ (130 primitiveFullGC)
+ (131 primitiveIncrementalGC)
+ (132 primitiveObjectPointsTo)
+ (133 primitiveSetInterruptKey)
+ (134 primitiveInterruptSemaphore)
+ (135 primitiveMillisecondClock)
+ (136 primitiveSignalAtMilliseconds)
+ (137 primitiveSecondsClock)
+ (138 primitiveSomeObject)
+ (139 primitiveNextObject)
+ (140 primitiveBeep)
+ (141 primitiveClipboardText)
+ (142 primitiveVMPath)
+ (143 primitiveShortAt)
+ (144 primitiveShortAtPut)
+ (145 primitiveConstantFill)
+ (146 primitiveReadJoystick)
+ (147 primitiveWarpBits)
+ (148 primitiveClone)
+ (149 primitiveGetAttribute)
+
+ "File Primitives (150-169)"
+ (150 primitiveFileAtEnd)
+ (151 primitiveFileClose)
+ (152 primitiveFileGetPosition)
+ (153 primitiveFileOpen)
+ (154 primitiveFileRead)
+ (155 primitiveFileSetPosition)
+ (156 primitiveFileDelete)
+ (157 primitiveFileSize)
+ (158 primitiveFileWrite)
+ (159 primitiveFileRename)
+ (160 primitiveDirectoryCreate)
+ (161 primitiveDirectoryDelimitor)
+ (162 primitiveDirectoryLookup)
+ (163 168 primitiveFail)
+ (169 primitiveDirectorySetMacTypeAndCreator)
+
+ "Sound Primitives (170-199)"
+ (170 primitiveSoundStart)
+ (171 primitiveSoundStartWithSemaphore)
+ (172 primitiveSoundStop)
+ (173 primitiveSoundAvailableSpace)
+ (174 primitiveSoundPlaySamples)
+ (175 primitiveSoundPlaySilence) "obsolete; will be removed in the future"
+ (176 primWaveTableSoundmixSampleCountintostartingAtpan)
+ (177 primFMSoundmixSampleCountintostartingAtpan)
+ (178 primPluckedSoundmixSampleCountintostartingAtpan)
+ (179 primSampledSoundmixSampleCountintostartingAtpan)
+ (180 188 primitiveFail)
+ (189 primitiveSoundInsertSamples)
+ (190 primitiveSoundStartRecording)
+ (191 primitiveSoundStopRecording)
+ (192 primitiveSoundGetRecordingSampleRate)
+ (193 primitiveSoundRecordSamples)
+ (194 primitiveSoundSetRecordLevel)
+ (195 199 primitiveFail)
+
+ "Networking Primitives (200-229)"
+ (200 primitiveInitializeNetwork)
+ (201 primitiveResolverStartNameLookup)
+ (202 primitiveResolverNameLookupResult)
+ (203 primitiveResolverStartAddressLookup)
+ (204 primitiveResolverAddressLookupResult)
+ (205 primitiveResolverAbortLookup)
+ (206 primitiveResolverLocalAddress)
+ (207 primitiveResolverStatus)
+ (208 primitiveResolverError)
+ (209 primitiveSocketCreate)
+ (210 primitiveSocketDestroy)
+ (211 primitiveSocketConnectionStatus)
+ (212 primitiveSocketError)
+ (213 primitiveSocketLocalAddress)
+ (214 primitiveSocketLocalPort)
+ (215 primitiveSocketRemoteAddress)
+ (216 primitiveSocketRemotePort)
+ (217 primitiveSocketConnectToPort)
+ (218 primitiveSocketListenOnPort)
+ (219 primitiveSocketCloseConnection)
+ (220 primitiveSocketAbortConnection)
+ (221 primitiveSocketReceiveDataBufCount)
+ (222 primitiveSocketReceiveDataAvailable)
+ (223 primitiveSocketSendDataBufCount)
+ (224 primitiveSocketSendDone)
+ (225 229 primitiveFail)
+
+ "Other Primitives (230-249)"
+ (230 primitiveRelinquishProcessor)
+ (231 249 primitiveFail)
+
+ "VM Implementor Primitives (250-255)"
+ (250 clearProfile)
+ (251 dumpProfile)
+ (252 startProfiling)
+ (253 stopProfiling)
+ (254 primitiveVMParameter)
+ (255 primitiveFail)
+
+ "Quick Push Const Methods"
+ (256 primitivePushSelf)
+ (257 primitivePushTrue)
+ (258 primitivePushFalse)
+ (259 primitivePushNil)
+ (260 primitivePushMinusOne)
+ (261 primitivePushZero)
+ (262 primitivePushOne)
+ (263 primitivePushTwo)
+
+ "Quick Push Const Methods"
+ (264 519 primitiveLoadInstVar)
+
+ "Unassigned Primitives"
+ (520 primitiveBeep) "test of new primitive indices"
+ (521 699 primitiveFail)
+ ).!

Item was added:
+ ----- Method: PrimitiveTableHistory class>>initializePrimitiveTable19980114ikp (in category 'initialization history') -----
+ initializePrimitiveTable19980114ikp
+ "From changes file of Squeak 13"
+ "!!Interpreter class methodsFor: 'initialization' stamp: 'ikp 1/14/98 21:00'!!
+ initializePrimitiveTable"
+ "Interpreter initializePrimitiveTable"
+ "This table generates a C switch statement."
+
+ "NOTE: The real limit here is 2047, but our C compiler currently barfs over 700"
+ MaxPrimitiveIndex _ 700.
+ PrimitiveTable _ Array new: MaxPrimitiveIndex+1.
+ self table: PrimitiveTable from:
+ #(
+ "Integer Primitives (0-19)"
+ (0 primitiveFail)
+ (1 primitiveAdd)
+ (2 primitiveSubtract)
+ (3 primitiveLessThan)
+ (4 primitiveGreaterThan)
+ (5 primitiveLessOrEqual)
+ (6 primitiveGreaterOrEqual)
+ (7 primitiveEqual)
+ (8 primitiveNotEqual)
+ (9 primitiveMultiply)
+ (10 primitiveDivide)
+ (11 primitiveMod)
+ (12 primitiveDiv)
+ (13 primitiveQuo)
+ (14 primitiveBitAnd)
+ (15 primitiveBitOr)
+ (16 primitiveBitXor)
+ (17 primitiveBitShift)
+ (18 primitiveMakePoint)
+ (19 primitiveFail)
+
+ "LargeInteger Primitives (20-39)"
+ "32-bit logic is aliased to Integer prims above"
+ (20 39 primitiveFail)
+
+ "Float Primitives (40-59)"
+ (40 primitiveAsFloat)
+ (41 primitiveFloatAdd)
+ (42 primitiveFloatSubtract)
+ (43 primitiveFloatLessThan)
+ (44 primitiveFloatGreaterThan)
+ (45 primitiveFloatLessOrEqual)
+ (46 primitiveFloatGreaterOrEqual)
+ (47 primitiveFloatEqual)
+ (48 primitiveFloatNotEqual)
+ (49 primitiveFloatMultiply)
+ (50 primitiveFloatDivide)
+ (51 primitiveTruncated)
+ (52 primitiveFractionalPart)
+ (53 primitiveExponent)
+ (54 primitiveTimesTwoPower)
+ (55 primitiveSquareRoot)
+ (56 primitiveSine)
+ (57 primitiveArctan)
+ (58 primitiveLogN)
+ (59 primitiveExp)
+
+ "Subscript and Stream Primitives (60-67)"
+ (60 primitiveAt)
+ (61 primitiveAtPut)
+ (62 primitiveSize)
+ (63 primitiveStringAt)
+ (64 primitiveStringAtPut)
+ (65 primitiveNext)
+ (66 primitiveNextPut)
+ (67 primitiveAtEnd)
+
+ "StorageManagement Primitives (68-79)"
+ (68 primitiveObjectAt)
+ (69 primitiveObjectAtPut)
+ (70 primitiveNew)
+ (71 primitiveNewWithArg)
+ (72 primitiveFail) "Blue Book: primitiveBecome"
+ (73 primitiveInstVarAt)
+ (74 primitiveInstVarAtPut)
+ (75 primitiveAsOop)
+ (76 primitiveFail) "Blue Book: primitiveAsObject"
+ (77 primitiveSomeInstance)
+ (78 primitiveNextInstance)
+ (79 primitiveNewMethod)
+
+ "Control Primitives (80-89)"
+ (80 primitiveFail)   "Blue Book:  primitiveBlockCopy"
+ (81 primitiveValue)
+ (82 primitiveValueWithArgs)
+ (83 primitivePerform)
+ (84 primitivePerformWithArgs)
+ (85 primitiveSignal)
+ (86 primitiveWait)
+ (87 primitiveResume)
+ (88 primitiveSuspend)
+ (89 primitiveFlushCache)
+
+ "Input/Output Primitives (90-109)"
+ (90 primitiveMousePoint)
+ (91 primitiveFail) "Blue Book: primitiveCursorLocPut"
+ (92 primitiveFail) "Blue Book: primitiveCursorLink"
+ (93 primitiveInputSemaphore)
+ (94 primitiveFail) "Blue Book: primitiveSampleInterval"
+ (95 primitiveInputWord)
+ (96 primitiveCopyBits)
+ (97 primitiveSnapshot)
+ (98 primitiveFail) "Blue Book: primitiveTimeWordsInto"
+ (99 primitiveFail) "Blue Book: primitiveTickWordsInto"
+ (100 primitiveFail) "Blue Book: primitiveSignalAtTick"
+ (101 primitiveBeCursor)
+ (102 primitiveBeDisplay)
+ (103 primitiveScanCharacters)
+ (104 primitiveDrawLoop)
+ (105 primitiveStringReplace)
+ (106 primitiveScreenSize)
+ (107 primitiveMouseButtons)
+ (108 primitiveKbdNext)
+ (109 primitiveKbdPeek)
+
+ "System Primitives (110-119)"
+ (110 primitiveEquivalent)
+ (111 primitiveClass)
+ (112 primitiveBytesLeft)
+ (113 primitiveQuit)
+ (114 primitiveExitToDebugger)
+ (115 primitiveFail) "Blue Book: primitiveOopsLeft"
+ (116 primitiveFail)
+ (117 primitiveFail)
+ (118 primitiveDoPrimitiveWithArgs)
+ (119 primitiveFlushCacheSelective)
+
+ "Miscellaneous Primitives (120-127)"
+ (120 primitiveFail)
+ (121 primitiveImageName)
+ (122 primitiveNoop) "Blue Book: primitiveImageVolume"
+ (123 primitiveFail)
+ (124 primitiveLowSpaceSemaphore)
+ (125 primitiveSignalAtBytesLeft)
+ (126 primitiveFail)
+ (127 primitiveFail)
+
+ "Squeak Primitives Start Here"
+
+ "Squeak Miscellaneous Primitives (128-149)"
+ (128 primitiveArrayBecome)
+ (129 primitiveSpecialObjectsOop)
+ (130 primitiveFullGC)
+ (131 primitiveIncrementalGC)
+ (132 primitiveObjectPointsTo)
+ (133 primitiveSetInterruptKey)
+ (134 primitiveInterruptSemaphore)
+ (135 primitiveMillisecondClock)
+ (136 primitiveSignalAtMilliseconds)
+ (137 primitiveSecondsClock)
+ (138 primitiveSomeObject)
+ (139 primitiveNextObject)
+ (140 primitiveBeep)
+ (141 primitiveClipboardText)
+ (142 primitiveVMPath)
+ (143 primitiveShortAt)
+ (144 primitiveShortAtPut)
+ (145 primitiveConstantFill)
+ (146 primitiveReadJoystick)
+ (147 primitiveWarpBits)
+ (148 primitiveClone)
+ (149 primitiveGetAttribute)
+
+ "File Primitives (150-169)"
+ (150 primitiveFileAtEnd)
+ (151 primitiveFileClose)
+ (152 primitiveFileGetPosition)
+ (153 primitiveFileOpen)
+ (154 primitiveFileRead)
+ (155 primitiveFileSetPosition)
+ (156 primitiveFileDelete)
+ (157 primitiveFileSize)
+ (158 primitiveFileWrite)
+ (159 primitiveFileRename)
+ (160 primitiveDirectoryCreate)
+ (161 primitiveDirectoryDelimitor)
+ (162 primitiveDirectoryLookup)
+ (163 168 primitiveFail)
+ (169 primitiveDirectorySetMacTypeAndCreator)
+
+ "Sound Primitives (170-199)"
+ (170 primitiveSoundStart)
+ (171 primitiveSoundStartWithSemaphore)
+ (172 primitiveSoundStop)
+ (173 primitiveSoundAvailableSpace)
+ (174 primitiveSoundPlaySamples)
+ (175 primitiveSoundPlaySilence) "obsolete; will be removed in the future"
+ (176 primWaveTableSoundmixSampleCountintostartingAtpan)
+ (177 primFMSoundmixSampleCountintostartingAtpan)
+ (178 primPluckedSoundmixSampleCountintostartingAtpan)
+ (179 primSampledSoundmixSampleCountintostartingAtpan)
+ (180 primFMSoundmixSampleCountintostartingAtleftVolrightVol)
+ (181 primPluckedSoundmixSampleCountintostartingAtleftVolrightVol)
+ (182 primSampledSoundmixSampleCountintostartingAtleftVolrightVol)
+ (183 188 primitiveFail)
+ (189 primitiveSoundInsertSamples)
+ (190 primitiveSoundStartRecording)
+ (191 primitiveSoundStopRecording)
+ (192 primitiveSoundGetRecordingSampleRate)
+ (193 primitiveSoundRecordSamples)
+ (194 primitiveSoundSetRecordLevel)
+ (195 199 primitiveFail)
+
+ "Networking Primitives (200-229)"
+ (200 primitiveInitializeNetwork)
+ (201 primitiveResolverStartNameLookup)
+ (202 primitiveResolverNameLookupResult)
+ (203 primitiveResolverStartAddressLookup)
+ (204 primitiveResolverAddressLookupResult)
+ (205 primitiveResolverAbortLookup)
+ (206 primitiveResolverLocalAddress)
+ (207 primitiveResolverStatus)
+ (208 primitiveResolverError)
+ (209 primitiveSocketCreate)
+ (210 primitiveSocketDestroy)
+ (211 primitiveSocketConnectionStatus)
+ (212 primitiveSocketError)
+ (213 primitiveSocketLocalAddress)
+ (214 primitiveSocketLocalPort)
+ (215 primitiveSocketRemoteAddress)
+ (216 primitiveSocketRemotePort)
+ (217 primitiveSocketConnectToPort)
+ (218 primitiveSocketListenOnPort)
+ (219 primitiveSocketCloseConnection)
+ (220 primitiveSocketAbortConnection)
+ (221 primitiveSocketReceiveDataBufCount)
+ (222 primitiveSocketReceiveDataAvailable)
+ (223 primitiveSocketSendDataBufCount)
+ (224 primitiveSocketSendDone)
+ (225 229 primitiveFail)
+
+ "Other Primitives (230-249)"
+ (230 primitiveRelinquishProcessor)
+ (231 primitiveForceDisplayUpdate)
+ (232 primitiveFormPrint)
+ (233 249 primitiveFail)
+
+ "VM Implementor Primitives (250-255)"
+ (250 clearProfile)
+ (251 dumpProfile)
+ (252 startProfiling)
+ (253 stopProfiling)
+ (254 primitiveVMParameter)
+ (255 primitiveFail)
+
+ "Quick Push Const Methods"
+ (256 primitivePushSelf)
+ (257 primitivePushTrue)
+ (258 primitivePushFalse)
+ (259 primitivePushNil)
+ (260 primitivePushMinusOne)
+ (261 primitivePushZero)
+ (262 primitivePushOne)
+ (263 primitivePushTwo)
+
+ "Quick Push Const Methods"
+ (264 519 primitiveLoadInstVar)
+
+ "Unassigned Primitives"
+ (520 primitiveBeep) "test of new primitive indices"
+ (521 700 primitiveFail)
+ ).!

Item was added:
+ ----- Method: PrimitiveTableHistory class>>initializePrimitiveTable19980121jm (in category 'initialization history') -----
+ initializePrimitiveTable19980121jm
+ "From changes file of Squeak 131"
+
+ "!!Interpreter class methodsFor: 'initialization' stamp: 'jm 1/21/98 17:47'!!
+ initializePrimitiveTable"
+ "Interpreter initializePrimitiveTable"
+ "This table generates a C switch statement."
+
+ "NOTE: The real limit here is 2047, but our C compiler currently barfs over 700"
+ MaxPrimitiveIndex _ 700.
+ PrimitiveTable _ Array new: MaxPrimitiveIndex+1.
+ self table: PrimitiveTable from:
+ #(
+ "Integer Primitives (0-19)"
+ (0 primitiveFail)
+ (1 primitiveAdd)
+ (2 primitiveSubtract)
+ (3 primitiveLessThan)
+ (4 primitiveGreaterThan)
+ (5 primitiveLessOrEqual)
+ (6 primitiveGreaterOrEqual)
+ (7 primitiveEqual)
+ (8 primitiveNotEqual)
+ (9 primitiveMultiply)
+ (10 primitiveDivide)
+ (11 primitiveMod)
+ (12 primitiveDiv)
+ (13 primitiveQuo)
+ (14 primitiveBitAnd)
+ (15 primitiveBitOr)
+ (16 primitiveBitXor)
+ (17 primitiveBitShift)
+ (18 primitiveMakePoint)
+ (19 primitiveFail)
+
+ "LargeInteger Primitives (20-39)"
+ "32-bit logic is aliased to Integer prims above"
+ (20 39 primitiveFail)
+
+ "Float Primitives (40-59)"
+ (40 primitiveAsFloat)
+ (41 primitiveFloatAdd)
+ (42 primitiveFloatSubtract)
+ (43 primitiveFloatLessThan)
+ (44 primitiveFloatGreaterThan)
+ (45 primitiveFloatLessOrEqual)
+ (46 primitiveFloatGreaterOrEqual)
+ (47 primitiveFloatEqual)
+ (48 primitiveFloatNotEqual)
+ (49 primitiveFloatMultiply)
+ (50 primitiveFloatDivide)
+ (51 primitiveTruncated)
+ (52 primitiveFractionalPart)
+ (53 primitiveExponent)
+ (54 primitiveTimesTwoPower)
+ (55 primitiveSquareRoot)
+ (56 primitiveSine)
+ (57 primitiveArctan)
+ (58 primitiveLogN)
+ (59 primitiveExp)
+
+ "Subscript and Stream Primitives (60-67)"
+ (60 primitiveAt)
+ (61 primitiveAtPut)
+ (62 primitiveSize)
+ (63 primitiveStringAt)
+ (64 primitiveStringAtPut)
+ (65 primitiveNext)
+ (66 primitiveNextPut)
+ (67 primitiveAtEnd)
+
+ "StorageManagement Primitives (68-79)"
+ (68 primitiveObjectAt)
+ (69 primitiveObjectAtPut)
+ (70 primitiveNew)
+ (71 primitiveNewWithArg)
+ (72 primitiveFail) "Blue Book: primitiveBecome"
+ (73 primitiveInstVarAt)
+ (74 primitiveInstVarAtPut)
+ (75 primitiveAsOop)
+ (76 primitiveFail) "Blue Book: primitiveAsObject"
+ (77 primitiveSomeInstance)
+ (78 primitiveNextInstance)
+ (79 primitiveNewMethod)
+
+ "Control Primitives (80-89)"
+ (80 primitiveFail)   "Blue Book:  primitiveBlockCopy"
+ (81 primitiveValue)
+ (82 primitiveValueWithArgs)
+ (83 primitivePerform)
+ (84 primitivePerformWithArgs)
+ (85 primitiveSignal)
+ (86 primitiveWait)
+ (87 primitiveResume)
+ (88 primitiveSuspend)
+ (89 primitiveFlushCache)
+
+ "Input/Output Primitives (90-109)"
+ (90 primitiveMousePoint)
+ (91 primitiveFail) "Blue Book: primitiveCursorLocPut"
+ (92 primitiveFail) "Blue Book: primitiveCursorLink"
+ (93 primitiveInputSemaphore)
+ (94 primitiveFail) "Blue Book: primitiveSampleInterval"
+ (95 primitiveInputWord)
+ (96 primitiveCopyBits)
+ (97 primitiveSnapshot)
+ (98 primitiveFail) "Blue Book: primitiveTimeWordsInto"
+ (99 primitiveFail) "Blue Book: primitiveTickWordsInto"
+ (100 primitiveFail) "Blue Book: primitiveSignalAtTick"
+ (101 primitiveBeCursor)
+ (102 primitiveBeDisplay)
+ (103 primitiveScanCharacters)
+ (104 primitiveDrawLoop)
+ (105 primitiveStringReplace)
+ (106 primitiveScreenSize)
+ (107 primitiveMouseButtons)
+ (108 primitiveKbdNext)
+ (109 primitiveKbdPeek)
+
+ "System Primitives (110-119)"
+ (110 primitiveEquivalent)
+ (111 primitiveClass)
+ (112 primitiveBytesLeft)
+ (113 primitiveQuit)
+ (114 primitiveExitToDebugger)
+ (115 primitiveFail) "Blue Book: primitiveOopsLeft"
+ (116 primitiveFail)
+ (117 primitiveFail)
+ (118 primitiveDoPrimitiveWithArgs)
+ (119 primitiveFlushCacheSelective)
+
+ "Miscellaneous Primitives (120-127)"
+ (120 primitiveFail)
+ (121 primitiveImageName)
+ (122 primitiveNoop) "Blue Book: primitiveImageVolume"
+ (123 primitiveFail)
+ (124 primitiveLowSpaceSemaphore)
+ (125 primitiveSignalAtBytesLeft)
+ (126 primitiveFail)
+ (127 primitiveFail)
+
+ "Squeak Primitives Start Here"
+
+ "Squeak Miscellaneous Primitives (128-149)"
+ (128 primitiveArrayBecome)
+ (129 primitiveSpecialObjectsOop)
+ (130 primitiveFullGC)
+ (131 primitiveIncrementalGC)
+ (132 primitiveObjectPointsTo)
+ (133 primitiveSetInterruptKey)
+ (134 primitiveInterruptSemaphore)
+ (135 primitiveMillisecondClock)
+ (136 primitiveSignalAtMilliseconds)
+ (137 primitiveSecondsClock)
+ (138 primitiveSomeObject)
+ (139 primitiveNextObject)
+ (140 primitiveBeep)
+ (141 primitiveClipboardText)
+ (142 primitiveVMPath)
+ (143 primitiveShortAt)
+ (144 primitiveShortAtPut)
+ (145 primitiveConstantFill)
+ (146 primitiveReadJoystick)
+ (147 primitiveWarpBits)
+ (148 primitiveClone)
+ (149 primitiveGetAttribute)
+
+ "File Primitives (150-169)"
+ (150 primitiveFileAtEnd)
+ (151 primitiveFileClose)
+ (152 primitiveFileGetPosition)
+ (153 primitiveFileOpen)
+ (154 primitiveFileRead)
+ (155 primitiveFileSetPosition)
+ (156 primitiveFileDelete)
+ (157 primitiveFileSize)
+ (158 primitiveFileWrite)
+ (159 primitiveFileRename)
+ (160 primitiveDirectoryCreate)
+ (161 primitiveDirectoryDelimitor)
+ (162 primitiveDirectoryLookup)
+ (163 168 primitiveFail)
+ (169 primitiveDirectorySetMacTypeAndCreator)
+
+ "Sound Primitives (170-199)"
+ (170 primitiveSoundStart)
+ (171 primitiveSoundStartWithSemaphore)
+ (172 primitiveSoundStop)
+ (173 primitiveSoundAvailableSpace)
+ (174 primitiveSoundPlaySamples)
+ (175 primitiveSoundPlaySilence) "obsolete; will be removed in the future"
+ (176 primWaveTableSoundmixSampleCountintostartingAtpan)
+ (177 primFMSoundmixSampleCountintostartingAtpan)
+ (178 primPluckedSoundmixSampleCountintostartingAtpan)
+ (179 primSampledSoundmixSampleCountintostartingAtpan)
+ (180 primFMSoundmixSampleCountintostartingAtleftVolrightVol)
+ (181 primPluckedSoundmixSampleCountintostartingAtleftVolrightVol)
+ (182 primSampledSoundmixSampleCountintostartingAtleftVolrightVol)
+ (183 primReverbSoundapplyReverbTostartingAtcount)
+ (184 188 primitiveFail)
+ (189 primitiveSoundInsertSamples)
+ (190 primitiveSoundStartRecording)
+ (191 primitiveSoundStopRecording)
+ (192 primitiveSoundGetRecordingSampleRate)
+ (193 primitiveSoundRecordSamples)
+ (194 primitiveSoundSetRecordLevel)
+ (195 199 primitiveFail)
+
+ "Networking Primitives (200-229)"
+ (200 primitiveInitializeNetwork)
+ (201 primitiveResolverStartNameLookup)
+ (202 primitiveResolverNameLookupResult)
+ (203 primitiveResolverStartAddressLookup)
+ (204 primitiveResolverAddressLookupResult)
+ (205 primitiveResolverAbortLookup)
+ (206 primitiveResolverLocalAddress)
+ (207 primitiveResolverStatus)
+ (208 primitiveResolverError)
+ (209 primitiveSocketCreate)
+ (210 primitiveSocketDestroy)
+ (211 primitiveSocketConnectionStatus)
+ (212 primitiveSocketError)
+ (213 primitiveSocketLocalAddress)
+ (214 primitiveSocketLocalPort)
+ (215 primitiveSocketRemoteAddress)
+ (216 primitiveSocketRemotePort)
+ (217 primitiveSocketConnectToPort)
+ (218 primitiveSocketListenOnPort)
+ (219 primitiveSocketCloseConnection)
+ (220 primitiveSocketAbortConnection)
+ (221 primitiveSocketReceiveDataBufCount)
+ (222 primitiveSocketReceiveDataAvailable)
+ (223 primitiveSocketSendDataBufCount)
+ (224 primitiveSocketSendDone)
+ (225 229 primitiveFail)
+
+ "Other Primitives (230-249)"
+ (230 primitiveRelinquishProcessor)
+ (231 primitiveForceDisplayUpdate)
+ (232 primitiveFormPrint)
+ (233 249 primitiveFail)
+
+ "VM Implementor Primitives (250-255)"
+ (250 clearProfile)
+ (251 dumpProfile)
+ (252 startProfiling)
+ (253 stopProfiling)
+ (254 primitiveVMParameter)
+ (255 primitiveFail)
+
+ "Quick Push Const Methods"
+ (256 primitivePushSelf)
+ (257 primitivePushTrue)
+ (258 primitivePushFalse)
+ (259 primitivePushNil)
+ (260 primitivePushMinusOne)
+ (261 primitivePushZero)
+ (262 primitivePushOne)
+ (263 primitivePushTwo)
+
+ "Quick Push Const Methods"
+ (264 519 primitiveLoadInstVar)
+
+ "Unassigned Primitives"
+ (520 primitiveBeep) "test of new primitive indices"
+ (521 700 primitiveFail)
+ ).!

Item was added:
+ ----- Method: PrimitiveTableHistory class>>initializePrimitiveTable19980518jm (in category 'initialization history') -----
+ initializePrimitiveTable19980518jm
+ "From sources file of Squeak 2.0 SqueakV2.sources"
+ "!!Interpreter class methodsFor: 'initialization' stamp: 'jm 5/18/1998 13:01'!!
+ initializePrimitiveTable"
+ "This table generates a C switch statement for primitive dispatching."
+
+ "NOTE: The real limit here is 2047, but our C compiler currently barfs over 700"
+ MaxPrimitiveIndex _ 700.
+ PrimitiveTable _ Array new: MaxPrimitiveIndex + 1.
+ self table: PrimitiveTable from:
+ #( "Integer Primitives (0-19)"
+ (0 primitiveFail)
+ (1 primitiveAdd)
+ (2 primitiveSubtract)
+ (3 primitiveLessThan)
+ (4 primitiveGreaterThan)
+ (5 primitiveLessOrEqual)
+ (6 primitiveGreaterOrEqual)
+ (7 primitiveEqual)
+ (8 primitiveNotEqual)
+ (9 primitiveMultiply)
+ (10 primitiveDivide)
+ (11 primitiveMod)
+ (12 primitiveDiv)
+ (13 primitiveQuo)
+ (14 primitiveBitAnd)
+ (15 primitiveBitOr)
+ (16 primitiveBitXor)
+ (17 primitiveBitShift)
+ (18 primitiveMakePoint)
+ (19 primitiveFail)
+
+ "LargeInteger Primitives (20-39)"
+ "32-bit logic is aliased to Integer prims above"
+ (20 39 primitiveFail)
+
+ "Float Primitives (40-59)"
+ (40 primitiveAsFloat)
+ (41 primitiveFloatAdd)
+ (42 primitiveFloatSubtract)
+ (43 primitiveFloatLessThan)
+ (44 primitiveFloatGreaterThan)
+ (45 primitiveFloatLessOrEqual)
+ (46 primitiveFloatGreaterOrEqual)
+ (47 primitiveFloatEqual)
+ (48 primitiveFloatNotEqual)
+ (49 primitiveFloatMultiply)
+ (50 primitiveFloatDivide)
+ (51 primitiveTruncated)
+ (52 primitiveFractionalPart)
+ (53 primitiveExponent)
+ (54 primitiveTimesTwoPower)
+ (55 primitiveSquareRoot)
+ (56 primitiveSine)
+ (57 primitiveArctan)
+ (58 primitiveLogN)
+ (59 primitiveExp)
+
+ "Subscript and Stream Primitives (60-67)"
+ (60 primitiveAt)
+ (61 primitiveAtPut)
+ (62 primitiveSize)
+ (63 primitiveStringAt)
+ (64 primitiveStringAtPut)
+ (65 primitiveNext)
+ (66 primitiveNextPut)
+ (67 primitiveAtEnd)
+
+ "StorageManagement Primitives (68-79)"
+ (68 primitiveObjectAt)
+ (69 primitiveObjectAtPut)
+ (70 primitiveNew)
+ (71 primitiveNewWithArg)
+ (72 primitiveFail) "Blue Book: primitiveBecome"
+ (73 primitiveInstVarAt)
+ (74 primitiveInstVarAtPut)
+ (75 primitiveAsOop)
+ (76 primitiveFail) "Blue Book: primitiveAsObject"
+ (77 primitiveSomeInstance)
+ (78 primitiveNextInstance)
+ (79 primitiveNewMethod)
+
+ "Control Primitives (80-89)"
+ (80 primitiveFail)   "Blue Book:  primitiveBlockCopy"
+ (81 primitiveValue)
+ (82 primitiveValueWithArgs)
+ (83 primitivePerform)
+ (84 primitivePerformWithArgs)
+ (85 primitiveSignal)
+ (86 primitiveWait)
+ (87 primitiveResume)
+ (88 primitiveSuspend)
+ (89 primitiveFlushCache)
+
+ "Input/Output Primitives (90-109)"
+ (90 primitiveMousePoint)
+ (91 primitiveFail) "Blue Book: primitiveCursorLocPut"
+ (92 primitiveFail) "Blue Book: primitiveCursorLink"
+ (93 primitiveInputSemaphore)
+ (94 primitiveFail) "Blue Book: primitiveSampleInterval"
+ (95 primitiveInputWord)
+ (96 primitiveCopyBits)
+ (97 primitiveSnapshot)
+ (98 primitiveFail) "Blue Book: primitiveTimeWordsInto"
+ (99 primitiveFail) "Blue Book: primitiveTickWordsInto"
+ (100 primitiveFail) "Blue Book: primitiveSignalAtTick"
+ (101 primitiveBeCursor)
+ (102 primitiveBeDisplay)
+ (103 primitiveScanCharacters)
+ (104 primitiveDrawLoop)
+ (105 primitiveStringReplace)
+ (106 primitiveScreenSize)
+ (107 primitiveMouseButtons)
+ (108 primitiveKbdNext)
+ (109 primitiveKbdPeek)
+
+ "System Primitives (110-119)"
+ (110 primitiveEquivalent)
+ (111 primitiveClass)
+ (112 primitiveBytesLeft)
+ (113 primitiveQuit)
+ (114 primitiveExitToDebugger)
+ (115 primitiveFail) "Blue Book: primitiveOopsLeft"
+ (116 primitiveFail)
+ (117 primitiveFail)
+ (118 primitiveDoPrimitiveWithArgs)
+ (119 primitiveFlushCacheSelective)
+
+ "Miscellaneous Primitives (120-127)"
+ (120 primitiveFail)
+ (121 primitiveImageName)
+ (122 primitiveNoop) "Blue Book: primitiveImageVolume"
+ (123 primitiveFail)
+ (124 primitiveLowSpaceSemaphore)
+ (125 primitiveSignalAtBytesLeft)
+
+ "Squeak Primitives Start Here"
+
+ "Squeak Miscellaneous Primitives (128-149)"
+ (126 primitiveDeferDisplayUpdates)
+ (127 primitiveShowDisplayRect)
+ (128 primitiveArrayBecome)
+ (129 primitiveSpecialObjectsOop)
+ (130 primitiveFullGC)
+ (131 primitiveIncrementalGC)
+ (132 primitiveObjectPointsTo)
+ (133 primitiveSetInterruptKey)
+ (134 primitiveInterruptSemaphore)
+ (135 primitiveMillisecondClock)
+ (136 primitiveSignalAtMilliseconds)
+ (137 primitiveSecondsClock)
+ (138 primitiveSomeObject)
+ (139 primitiveNextObject)
+ (140 primitiveBeep)
+ (141 primitiveClipboardText)
+ (142 primitiveVMPath)
+ (143 primitiveShortAt)
+ (144 primitiveShortAtPut)
+ (145 primitiveConstantFill)
+ (146 primitiveReadJoystick)
+ (147 primitiveWarpBits)
+ (148 primitiveClone)
+ (149 primitiveGetAttribute)
+
+ "File Primitives (150-169)"
+ (150 primitiveFileAtEnd)
+ (151 primitiveFileClose)
+ (152 primitiveFileGetPosition)
+ (153 primitiveFileOpen)
+ (154 primitiveFileRead)
+ (155 primitiveFileSetPosition)
+ (156 primitiveFileDelete)
+ (157 primitiveFileSize)
+ (158 primitiveFileWrite)
+ (159 primitiveFileRename)
+ (160 primitiveDirectoryCreate)
+ (161 primitiveDirectoryDelimitor)
+ (162 primitiveDirectoryLookup)
+ (163 168 primitiveFail)
+ (169 primitiveDirectorySetMacTypeAndCreator)
+
+ "Sound Primitives (170-199)"
+ (170 primitiveSoundStart)
+ (171 primitiveSoundStartWithSemaphore)
+ (172 primitiveSoundStop)
+ (173 primitiveSoundAvailableSpace)
+ (174 primitiveSoundPlaySamples)
+ (175 primitiveSoundPlaySilence) "obsolete; will be removed in the future"
+ (176 primWaveTableSoundmixSampleCountintostartingAtpan)
+ (177 primFMSoundmixSampleCountintostartingAtpan)
+ (178 primPluckedSoundmixSampleCountintostartingAtpan)
+ (179 primSampledSoundmixSampleCountintostartingAtpan)
+ (180 primFMSoundmixSampleCountintostartingAtleftVolrightVol)
+ (181 primPluckedSoundmixSampleCountintostartingAtleftVolrightVol)
+ (182 primSampledSoundmixSampleCountintostartingAtleftVolrightVol)
+ (183 primReverbSoundapplyReverbTostartingAtcount)
+ (184 188 primitiveFail)
+ (189 primitiveSoundInsertSamples)
+ (190 primitiveSoundStartRecording)
+ (191 primitiveSoundStopRecording)
+ (192 primitiveSoundGetRecordingSampleRate)
+ (193 primitiveSoundRecordSamples)
+ (194 primitiveSoundSetRecordLevel)
+ (195 199 primitiveFail)
+
+ "Networking Primitives (200-229)"
+ (200 primitiveInitializeNetwork)
+ (201 primitiveResolverStartNameLookup)
+ (202 primitiveResolverNameLookupResult)
+ (203 primitiveResolverStartAddressLookup)
+ (204 primitiveResolverAddressLookupResult)
+ (205 primitiveResolverAbortLookup)
+ (206 primitiveResolverLocalAddress)
+ (207 primitiveResolverStatus)
+ (208 primitiveResolverError)
+ (209 primitiveSocketCreate)
+ (210 primitiveSocketDestroy)
+ (211 primitiveSocketConnectionStatus)
+ (212 primitiveSocketError)
+ (213 primitiveSocketLocalAddress)
+ (214 primitiveSocketLocalPort)
+ (215 primitiveSocketRemoteAddress)
+ (216 primitiveSocketRemotePort)
+ (217 primitiveSocketConnectToPort)
+ (218 primitiveSocketListenOnPort)
+ (219 primitiveSocketCloseConnection)
+ (220 primitiveSocketAbortConnection)
+ (221 primitiveSocketReceiveDataBufCount)
+ (222 primitiveSocketReceiveDataAvailable)
+ (223 primitiveSocketSendDataBufCount)
+ (224 primitiveSocketSendDone)
+ (225 229 primitiveFail)
+
+ "Other Primitives (230-249)"
+ (230 primitiveRelinquishProcessor)
+ (231 primitiveForceDisplayUpdate)
+ (232 primitiveFormPrint)
+ (233 primitiveSetFullScreen)
+ (234 primBitmapdecompressfromByteArrayat)
+ (235 primStringcomparewithcollated)
+ (236 primSampledSoundconvert8bitSignedFromto16Bit)
+ (237 primBitmapcompresstoByteArray)
+ (238 primitiveSerialPortOpen)
+ (239 primitiveSerialPortClose)
+ (240 primitiveSerialPortWrite)
+ (241 primitiveSerialPortRead)
+ (242 249 primitiveFail)
+
+ "VM Implementor Primitives (250-255)"
+ (250 clearProfile)
+ (251 dumpProfile)
+ (252 startProfiling)
+ (253 stopProfiling)
+ (254 primitiveVMParameter)
+ (255 primitiveFail)
+
+ "Quick Push Const Methods"
+ (256 primitivePushSelf)
+ (257 primitivePushTrue)
+ (258 primitivePushFalse)
+ (259 primitivePushNil)
+ (260 primitivePushMinusOne)
+ (261 primitivePushZero)
+ (262 primitivePushOne)
+ (263 primitivePushTwo)
+
+ "Quick Push Const Methods"
+ (264 519 primitiveLoadInstVar)
+
+ "MIDI Primitives (520-539)"
+ (520 primitiveFail)
+ (521 primitiveMIDIClosePort)
+ (522 primitiveMIDIGetClock)
+ (523 primitiveMIDIGetPortCount)
+ (524 primitiveMIDIGetPortDirectionality)
+ (525 primitiveMIDIGetPortName)
+ (526 primitiveMIDIOpenPort)
+ (527 primitiveMIDIParameterGetOrSet)
+ (528 primitiveMIDIRead)
+ (529 primitiveMIDIWrite)
+ (530 539 primitiveFail)  "reserved for extended MIDI primitives"
+
+ "Unassigned Primitives"
+ (540 700 primitiveFail)).
+ !

Item was added:
+ ----- Method: PrimitiveTableHistory class>>initializePrimitiveTable19980628jm (in category 'initialization history') -----
+ initializePrimitiveTable19980628jm
+ "From changes file of Squeak 2.1"
+ "!!Interpreter class methodsFor: 'initialization' stamp: 'jm 6/28/1998 12:49'!!
+ initializePrimitiveTable"
+ "This table generates a C switch statement for primitive dispatching."
+
+ "NOTE: The real limit here is 2047, but our C compiler currently barfs over 700"
+ MaxPrimitiveIndex _ 700.
+ PrimitiveTable _ Array new: MaxPrimitiveIndex + 1.
+ self table: PrimitiveTable from:
+ #( "Integer Primitives (0-19)"
+ (0 primitiveFail)
+ (1 primitiveAdd)
+ (2 primitiveSubtract)
+ (3 primitiveLessThan)
+ (4 primitiveGreaterThan)
+ (5 primitiveLessOrEqual)
+ (6 primitiveGreaterOrEqual)
+ (7 primitiveEqual)
+ (8 primitiveNotEqual)
+ (9 primitiveMultiply)
+ (10 primitiveDivide)
+ (11 primitiveMod)
+ (12 primitiveDiv)
+ (13 primitiveQuo)
+ (14 primitiveBitAnd)
+ (15 primitiveBitOr)
+ (16 primitiveBitXor)
+ (17 primitiveBitShift)
+ (18 primitiveMakePoint)
+ (19 primitiveFail) "Guard primitive for simulation -- *must* fail"
+
+ "LargeInteger Primitives (20-39)"
+ "32-bit logic is aliased to Integer prims above"
+ (20 39 primitiveFail)
+
+ "Float Primitives (40-59)"
+ (40 primitiveAsFloat)
+ (41 primitiveFloatAdd)
+ (42 primitiveFloatSubtract)
+ (43 primitiveFloatLessThan)
+ (44 primitiveFloatGreaterThan)
+ (45 primitiveFloatLessOrEqual)
+ (46 primitiveFloatGreaterOrEqual)
+ (47 primitiveFloatEqual)
+ (48 primitiveFloatNotEqual)
+ (49 primitiveFloatMultiply)
+ (50 primitiveFloatDivide)
+ (51 primitiveTruncated)
+ (52 primitiveFractionalPart)
+ (53 primitiveExponent)
+ (54 primitiveTimesTwoPower)
+ (55 primitiveSquareRoot)
+ (56 primitiveSine)
+ (57 primitiveArctan)
+ (58 primitiveLogN)
+ (59 primitiveExp)
+
+ "Subscript and Stream Primitives (60-67)"
+ (60 primitiveAt)
+ (61 primitiveAtPut)
+ (62 primitiveSize)
+ (63 primitiveStringAt)
+ (64 primitiveStringAtPut)
+ (65 primitiveNext)
+ (66 primitiveNextPut)
+ (67 primitiveAtEnd)
+
+ "StorageManagement Primitives (68-79)"
+ (68 primitiveObjectAt)
+ (69 primitiveObjectAtPut)
+ (70 primitiveNew)
+ (71 primitiveNewWithArg)
+ (72 primitiveFail) "Blue Book: primitiveBecome"
+ (73 primitiveInstVarAt)
+ (74 primitiveInstVarAtPut)
+ (75 primitiveAsOop)
+ (76 primitiveFail) "Blue Book: primitiveAsObject"
+ (77 primitiveSomeInstance)
+ (78 primitiveNextInstance)
+ (79 primitiveNewMethod)
+
+ "Control Primitives (80-89)"
+ (80 primitiveFail)   "Blue Book:  primitiveBlockCopy"
+ (81 primitiveValue)
+ (82 primitiveValueWithArgs)
+ (83 primitivePerform)
+ (84 primitivePerformWithArgs)
+ (85 primitiveSignal)
+ (86 primitiveWait)
+ (87 primitiveResume)
+ (88 primitiveSuspend)
+ (89 primitiveFlushCache)
+
+ "Input/Output Primitives (90-109)"
+ (90 primitiveMousePoint)
+ (91 primitiveFail) "Blue Book: primitiveCursorLocPut"
+ (92 primitiveFail) "Blue Book: primitiveCursorLink"
+ (93 primitiveInputSemaphore)
+ (94 primitiveFail) "Blue Book: primitiveSampleInterval"
+ (95 primitiveInputWord)
+ (96 primitiveCopyBits)
+ (97 primitiveSnapshot)
+ (98 primitiveFail) "Blue Book: primitiveTimeWordsInto"
+ (99 primitiveFail) "Blue Book: primitiveTickWordsInto"
+ (100 primitiveFail) "Blue Book: primitiveSignalAtTick"
+ (101 primitiveBeCursor)
+ (102 primitiveBeDisplay)
+ (103 primitiveScanCharacters)
+ (104 primitiveDrawLoop)
+ (105 primitiveStringReplace)
+ (106 primitiveScreenSize)
+ (107 primitiveMouseButtons)
+ (108 primitiveKbdNext)
+ (109 primitiveKbdPeek)
+
+ "System Primitives (110-119)"
+ (110 primitiveEquivalent)
+ (111 primitiveClass)
+ (112 primitiveBytesLeft)
+ (113 primitiveQuit)
+ (114 primitiveExitToDebugger)
+ (115 primitiveFail) "Blue Book: primitiveOopsLeft"
+ (116 primitiveFail)
+ (117 primitiveFail)
+ (118 primitiveDoPrimitiveWithArgs)
+ (119 primitiveFlushCacheSelective)
+
+ "Miscellaneous Primitives (120-127)"
+ (120 primitiveFail)
+ (121 primitiveImageName)
+ (122 primitiveNoop) "Blue Book: primitiveImageVolume"
+ (123 primitiveFail)
+ (124 primitiveLowSpaceSemaphore)
+ (125 primitiveSignalAtBytesLeft)
+
+ "Squeak Primitives Start Here"
+
+ "Squeak Miscellaneous Primitives (128-149)"
+ (126 primitiveDeferDisplayUpdates)
+ (127 primitiveShowDisplayRect)
+ (128 primitiveArrayBecome)
+ (129 primitiveSpecialObjectsOop)
+ (130 primitiveFullGC)
+ (131 primitiveIncrementalGC)
+ (132 primitiveObjectPointsTo)
+ (133 primitiveSetInterruptKey)
+ (134 primitiveInterruptSemaphore)
+ (135 primitiveMillisecondClock)
+ (136 primitiveSignalAtMilliseconds)
+ (137 primitiveSecondsClock)
+ (138 primitiveSomeObject)
+ (139 primitiveNextObject)
+ (140 primitiveBeep)
+ (141 primitiveClipboardText)
+ (142 primitiveVMPath)
+ (143 primitiveShortAt)
+ (144 primitiveShortAtPut)
+ (145 primitiveConstantFill)
+ (146 primitiveReadJoystick)
+ (147 primitiveWarpBits)
+ (148 primitiveClone)
+ (149 primitiveGetAttribute)
+
+ "File Primitives (150-169)"
+ (150 primitiveFileAtEnd)
+ (151 primitiveFileClose)
+ (152 primitiveFileGetPosition)
+ (153 primitiveFileOpen)
+ (154 primitiveFileRead)
+ (155 primitiveFileSetPosition)
+ (156 primitiveFileDelete)
+ (157 primitiveFileSize)
+ (158 primitiveFileWrite)
+ (159 primitiveFileRename)
+ (160 primitiveDirectoryCreate)
+ (161 primitiveDirectoryDelimitor)
+ (162 primitiveDirectoryLookup)
+ (163 168 primitiveFail)
+ (169 primitiveDirectorySetMacTypeAndCreator)
+
+ "Sound Primitives (170-199)"
+ (170 primitiveSoundStart)
+ (171 primitiveSoundStartWithSemaphore)
+ (172 primitiveSoundStop)
+ (173 primitiveSoundAvailableSpace)
+ (174 primitiveSoundPlaySamples)
+ (175 primitiveSoundPlaySilence) "obsolete; will be removed in the future"
+ (176 primWaveTableSoundmixSampleCountintostartingAtpan)
+ (177 primFMSoundmixSampleCountintostartingAtpan)
+ (178 primPluckedSoundmixSampleCountintostartingAtpan)
+ (179 primSampledSoundmixSampleCountintostartingAtpan)
+ (180 primFMSoundmixSampleCountintostartingAtleftVolrightVol)
+ (181 primPluckedSoundmixSampleCountintostartingAtleftVolrightVol)
+ (182 primSampledSoundmixSampleCountintostartingAtleftVolrightVol)
+ (183 primReverbSoundapplyReverbTostartingAtcount)
+ (184 188 primitiveFail)
+ (189 primitiveSoundInsertSamples)
+ (190 primitiveSoundStartRecording)
+ (191 primitiveSoundStopRecording)
+ (192 primitiveSoundGetRecordingSampleRate)
+ (193 primitiveSoundRecordSamples)
+ (194 primitiveSoundSetRecordLevel)
+ (195 199 primitiveFail)
+
+ "Networking Primitives (200-229)"
+ (200 primitiveInitializeNetwork)
+ (201 primitiveResolverStartNameLookup)
+ (202 primitiveResolverNameLookupResult)
+ (203 primitiveResolverStartAddressLookup)
+ (204 primitiveResolverAddressLookupResult)
+ (205 primitiveResolverAbortLookup)
+ (206 primitiveResolverLocalAddress)
+ (207 primitiveResolverStatus)
+ (208 primitiveResolverError)
+ (209 primitiveSocketCreate)
+ (210 primitiveSocketDestroy)
+ (211 primitiveSocketConnectionStatus)
+ (212 primitiveSocketError)
+ (213 primitiveSocketLocalAddress)
+ (214 primitiveSocketLocalPort)
+ (215 primitiveSocketRemoteAddress)
+ (216 primitiveSocketRemotePort)
+ (217 primitiveSocketConnectToPort)
+ (218 primitiveSocketListenOnPort)
+ (219 primitiveSocketCloseConnection)
+ (220 primitiveSocketAbortConnection)
+ (221 primitiveSocketReceiveDataBufCount)
+ (222 primitiveSocketReceiveDataAvailable)
+ (223 primitiveSocketSendDataBufCount)
+ (224 primitiveSocketSendDone)
+ (225 229 primitiveFail)
+
+ "Other Primitives (230-249)"
+ (230 primitiveRelinquishProcessor)
+ (231 primitiveForceDisplayUpdate)
+ (232 primitiveFormPrint)
+ (233 primitiveSetFullScreen)
+ (234 primBitmapdecompressfromByteArrayat)
+ (235 primStringcomparewithcollated)
+ (236 primSampledSoundconvert8bitSignedFromto16Bit)
+ (237 primBitmapcompresstoByteArray)
+ (238 primitiveSerialPortOpen)
+ (239 primitiveSerialPortClose)
+ (240 primitiveSerialPortWrite)
+ (241 primitiveSerialPortRead)
+ (242 249 primitiveFail)
+
+ "VM Implementor Primitives (250-255)"
+ (250 clearProfile)
+ (251 dumpProfile)
+ (252 startProfiling)
+ (253 stopProfiling)
+ (254 primitiveVMParameter)
+ (255 primitiveFail)
+
+ "Quick Push Const Methods"
+ (256 primitivePushSelf)
+ (257 primitivePushTrue)
+ (258 primitivePushFalse)
+ (259 primitivePushNil)
+ (260 primitivePushMinusOne)
+ (261 primitivePushZero)
+ (262 primitivePushOne)
+ (263 primitivePushTwo)
+
+ "Quick Push Const Methods"
+ (264 519 primitiveLoadInstVar)
+
+ "MIDI Primitives (520-539)"
+ (520 primitiveFail)
+ (521 primitiveMIDIClosePort)
+ (522 primitiveMIDIGetClock)
+ (523 primitiveMIDIGetPortCount)
+ (524 primitiveMIDIGetPortDirectionality)
+ (525 primitiveMIDIGetPortName)
+ (526 primitiveMIDIOpenPort)
+ (527 primitiveMIDIParameterGetOrSet)
+ (528 primitiveMIDIRead)
+ (529 primitiveMIDIWrite)
+ (530 539 primitiveFail)  "reserved for extended MIDI primitives"
+
+ "Experimental Asynchrous File Primitives"
+ (540 primitiveAsyncFileClose)
+ (541 primitiveAsyncFileOpen)
+ (542 primitiveAsyncFileReadResult)
+ (543 primitiveAsyncFileReadStart)
+ (544 primitiveAsyncFileWriteResult)
+ (545 primitiveAsyncFileWriteStart)
+
+ "Unassigned Primitives"
+ (546 700 primitiveFail)).
+ !

Item was added:
+ ----- Method: PrimitiveTableHistory class>>initializePrimitiveTable19980922jm (in category 'initialization history') -----
+ initializePrimitiveTable19980922jm
+ "From changes file of Squeak 2.2"
+ "!!Interpreter class methodsFor: 'initialization' stamp: 'jm 9/22/1998 16:52'!!
+ initializePrimitiveTable"
+ "This table generates a C switch statement for primitive dispatching."
+
+ "NOTE: The real limit here is 2047, but our C compiler currently barfs over 700"
+ MaxPrimitiveIndex _ 700.
+ PrimitiveTable _ Array new: MaxPrimitiveIndex + 1.
+ self table: PrimitiveTable from:
+ #( "Integer Primitives (0-19)"
+ (0 primitiveFail)
+ (1 primitiveAdd)
+ (2 primitiveSubtract)
+ (3 primitiveLessThan)
+ (4 primitiveGreaterThan)
+ (5 primitiveLessOrEqual)
+ (6 primitiveGreaterOrEqual)
+ (7 primitiveEqual)
+ (8 primitiveNotEqual)
+ (9 primitiveMultiply)
+ (10 primitiveDivide)
+ (11 primitiveMod)
+ (12 primitiveDiv)
+ (13 primitiveQuo)
+ (14 primitiveBitAnd)
+ (15 primitiveBitOr)
+ (16 primitiveBitXor)
+ (17 primitiveBitShift)
+ (18 primitiveMakePoint)
+ (19 primitiveFail) "Guard primitive for simulation -- *must* fail"
+
+ "LargeInteger Primitives (20-39)"
+ "32-bit logic is aliased to Integer prims above"
+ (20 39 primitiveFail)
+
+ "Float Primitives (40-59)"
+ (40 primitiveAsFloat)
+ (41 primitiveFloatAdd)
+ (42 primitiveFloatSubtract)
+ (43 primitiveFloatLessThan)
+ (44 primitiveFloatGreaterThan)
+ (45 primitiveFloatLessOrEqual)
+ (46 primitiveFloatGreaterOrEqual)
+ (47 primitiveFloatEqual)
+ (48 primitiveFloatNotEqual)
+ (49 primitiveFloatMultiply)
+ (50 primitiveFloatDivide)
+ (51 primitiveTruncated)
+ (52 primitiveFractionalPart)
+ (53 primitiveExponent)
+ (54 primitiveTimesTwoPower)
+ (55 primitiveSquareRoot)
+ (56 primitiveSine)
+ (57 primitiveArctan)
+ (58 primitiveLogN)
+ (59 primitiveExp)
+
+ "Subscript and Stream Primitives (60-67)"
+ (60 primitiveAt)
+ (61 primitiveAtPut)
+ (62 primitiveSize)
+ (63 primitiveStringAt)
+ (64 primitiveStringAtPut)
+ (65 primitiveNext)
+ (66 primitiveNextPut)
+ (67 primitiveAtEnd)
+
+ "StorageManagement Primitives (68-79)"
+ (68 primitiveObjectAt)
+ (69 primitiveObjectAtPut)
+ (70 primitiveNew)
+ (71 primitiveNewWithArg)
+ (72 primitiveFail) "Blue Book: primitiveBecome"
+ (73 primitiveInstVarAt)
+ (74 primitiveInstVarAtPut)
+ (75 primitiveAsOop)
+ (76 primitiveFail) "Blue Book: primitiveAsObject"
+ (77 primitiveSomeInstance)
+ (78 primitiveNextInstance)
+ (79 primitiveNewMethod)
+
+ "Control Primitives (80-89)"
+ (80 primitiveFail)   "Blue Book:  primitiveBlockCopy"
+ (81 primitiveValue)
+ (82 primitiveValueWithArgs)
+ (83 primitivePerform)
+ (84 primitivePerformWithArgs)
+ (85 primitiveSignal)
+ (86 primitiveWait)
+ (87 primitiveResume)
+ (88 primitiveSuspend)
+ (89 primitiveFlushCache)
+
+ "Input/Output Primitives (90-109)"
+ (90 primitiveMousePoint)
+ (91 primitiveFail) "Blue Book: primitiveCursorLocPut"
+ (92 primitiveFail) "Blue Book: primitiveCursorLink"
+ (93 primitiveInputSemaphore)
+ (94 primitiveFail) "Blue Book: primitiveSampleInterval"
+ (95 primitiveInputWord)
+ (96 primitiveCopyBits)
+ (97 primitiveSnapshot)
+ (98 primitiveFail) "Blue Book: primitiveTimeWordsInto"
+ (99 primitiveFail) "Blue Book: primitiveTickWordsInto"
+ (100 primitiveFail) "Blue Book: primitiveSignalAtTick"
+ (101 primitiveBeCursor)
+ (102 primitiveBeDisplay)
+ (103 primitiveScanCharacters)
+ (104 primitiveDrawLoop)
+ (105 primitiveStringReplace)
+ (106 primitiveScreenSize)
+ (107 primitiveMouseButtons)
+ (108 primitiveKbdNext)
+ (109 primitiveKbdPeek)
+
+ "System Primitives (110-119)"
+ (110 primitiveEquivalent)
+ (111 primitiveClass)
+ (112 primitiveBytesLeft)
+ (113 primitiveQuit)
+ (114 primitiveExitToDebugger)
+ (115 primitiveFail) "Blue Book: primitiveOopsLeft"
+ (116 primitiveFail)
+ (117 primitiveFail)
+ (118 primitiveDoPrimitiveWithArgs)
+ (119 primitiveFlushCacheSelective)
+
+ "Miscellaneous Primitives (120-127)"
+ (120 primitiveFail)
+ (121 primitiveImageName)
+ (122 primitiveNoop) "Blue Book: primitiveImageVolume"
+ (123 primitiveFail)
+ (124 primitiveLowSpaceSemaphore)
+ (125 primitiveSignalAtBytesLeft)
+
+ "Squeak Primitives Start Here"
+
+ "Squeak Miscellaneous Primitives (128-149)"
+ (126 primitiveDeferDisplayUpdates)
+ (127 primitiveShowDisplayRect)
+ (128 primitiveArrayBecome)
+ (129 primitiveSpecialObjectsOop)
+ (130 primitiveFullGC)
+ (131 primitiveIncrementalGC)
+ (132 primitiveObjectPointsTo)
+ (133 primitiveSetInterruptKey)
+ (134 primitiveInterruptSemaphore)
+ (135 primitiveMillisecondClock)
+ (136 primitiveSignalAtMilliseconds)
+ (137 primitiveSecondsClock)
+ (138 primitiveSomeObject)
+ (139 primitiveNextObject)
+ (140 primitiveBeep)
+ (141 primitiveClipboardText)
+ (142 primitiveVMPath)
+ (143 primitiveShortAt)
+ (144 primitiveShortAtPut)
+ (145 primitiveConstantFill)
+ (146 primitiveReadJoystick)
+ (147 primitiveWarpBits)
+ (148 primitiveClone)
+ (149 primitiveGetAttribute)
+
+ "File Primitives (150-169)"
+ (150 primitiveFileAtEnd)
+ (151 primitiveFileClose)
+ (152 primitiveFileGetPosition)
+ (153 primitiveFileOpen)
+ (154 primitiveFileRead)
+ (155 primitiveFileSetPosition)
+ (156 primitiveFileDelete)
+ (157 primitiveFileSize)
+ (158 primitiveFileWrite)
+ (159 primitiveFileRename)
+ (160 primitiveDirectoryCreate)
+ (161 primitiveDirectoryDelimitor)
+ (162 primitiveDirectoryLookup)
+ (163 168 primitiveFail)
+ (169 primitiveDirectorySetMacTypeAndCreator)
+
+ "Sound Primitives (170-199)"
+ (170 primitiveSoundStart)
+ (171 primitiveSoundStartWithSemaphore)
+ (172 primitiveSoundStop)
+ (173 primitiveSoundAvailableSpace)
+ (174 primitiveSoundPlaySamples)
+ (175 primitiveSoundPlaySilence) "obsolete; will be removed in the future"
+ (176 primWaveTableSoundmixSampleCountintostartingAtpan)
+ (177 primFMSoundmixSampleCountintostartingAtpan)
+ (178 primPluckedSoundmixSampleCountintostartingAtpan)
+ (179 primSampledSoundmixSampleCountintostartingAtpan)
+ (180 primFMSoundmixSampleCountintostartingAtleftVolrightVol)
+ (181 primPluckedSoundmixSampleCountintostartingAtleftVolrightVol)
+ (182 primSampledSoundmixSampleCountintostartingAtleftVolrightVol)
+ (183 primReverbSoundapplyReverbTostartingAtcount)
+ (184 primLoopedSampledSoundmixSampleCountintostartingAtleftVolrightVol)
+ (185 188 primitiveFail)
+ (189 primitiveSoundInsertSamples)
+ (190 primitiveSoundStartRecording)
+ (191 primitiveSoundStopRecording)
+ (192 primitiveSoundGetRecordingSampleRate)
+ (193 primitiveSoundRecordSamples)
+ (194 primitiveSoundSetRecordLevel)
+ (195 199 primitiveFail)
+
+ "Networking Primitives (200-229)"
+ (200 primitiveInitializeNetwork)
+ (201 primitiveResolverStartNameLookup)
+ (202 primitiveResolverNameLookupResult)
+ (203 primitiveResolverStartAddressLookup)
+ (204 primitiveResolverAddressLookupResult)
+ (205 primitiveResolverAbortLookup)
+ (206 primitiveResolverLocalAddress)
+ (207 primitiveResolverStatus)
+ (208 primitiveResolverError)
+ (209 primitiveSocketCreate)
+ (210 primitiveSocketDestroy)
+ (211 primitiveSocketConnectionStatus)
+ (212 primitiveSocketError)
+ (213 primitiveSocketLocalAddress)
+ (214 primitiveSocketLocalPort)
+ (215 primitiveSocketRemoteAddress)
+ (216 primitiveSocketRemotePort)
+ (217 primitiveSocketConnectToPort)
+ (218 primitiveSocketListenOnPort)
+ (219 primitiveSocketCloseConnection)
+ (220 primitiveSocketAbortConnection)
+ (221 primitiveSocketReceiveDataBufCount)
+ (222 primitiveSocketReceiveDataAvailable)
+ (223 primitiveSocketSendDataBufCount)
+ (224 primitiveSocketSendDone)
+ (225 229 primitiveFail)
+
+ "Other Primitives (230-249)"
+ (230 primitiveRelinquishProcessor)
+ (231 primitiveForceDisplayUpdate)
+ (232 primitiveFormPrint)
+ (233 primitiveSetFullScreen)
+ (234 primBitmapdecompressfromByteArrayat)
+ (235 primStringcomparewithcollated)
+ (236 primSampledSoundconvert8bitSignedFromto16Bit)
+ (237 primBitmapcompresstoByteArray)
+ (238 primitiveSerialPortOpen)
+ (239 primitiveSerialPortClose)
+ (240 primitiveSerialPortWrite)
+ (241 primitiveSerialPortRead)
+ (242 primitiveFail)
+ (243 primStringtranslatefromtotable)
+ (244 primStringfindFirstInStringinSetstartingAt)
+ (245 primStringindexOfAsciiinStringstartingAt)
+ (246 249 primitiveFail)
+
+ "VM Implementor Primitives (250-255)"
+ (250 clearProfile)
+ (251 dumpProfile)
+ (252 startProfiling)
+ (253 stopProfiling)
+ (254 primitiveVMParameter)
+ (255 primitiveFail)
+
+ "Quick Push Const Methods"
+ (256 primitivePushSelf)
+ (257 primitivePushTrue)
+ (258 primitivePushFalse)
+ (259 primitivePushNil)
+ (260 primitivePushMinusOne)
+ (261 primitivePushZero)
+ (262 primitivePushOne)
+ (263 primitivePushTwo)
+
+ "Quick Push Const Methods"
+ (264 519 primitiveLoadInstVar)
+
+ "MIDI Primitives (520-539)"
+ (520 primitiveFail)
+ (521 primitiveMIDIClosePort)
+ (522 primitiveMIDIGetClock)
+ (523 primitiveMIDIGetPortCount)
+ (524 primitiveMIDIGetPortDirectionality)
+ (525 primitiveMIDIGetPortName)
+ (526 primitiveMIDIOpenPort)
+ (527 primitiveMIDIParameterGetOrSet)
+ (528 primitiveMIDIRead)
+ (529 primitiveMIDIWrite)
+ (530 539 primitiveFail)  "reserved for extended MIDI primitives"
+
+ "Experimental Asynchrous File Primitives"
+ (540 primitiveAsyncFileClose)
+ (541 primitiveAsyncFileOpen)
+ (542 primitiveAsyncFileReadResult)
+ (543 primitiveAsyncFileReadStart)
+ (544 primitiveAsyncFileWriteResult)
+ (545 primitiveAsyncFileWriteStart)
+
+ "Unassigned Primitives"
+ (546 700 primitiveFail)).
+ !

Item was added:
+ ----- Method: PrimitiveTableHistory class>>initializePrimitiveTable19990128di (in category 'initialization history') -----
+ initializePrimitiveTable19990128di
+ "From changes file of Squeak 2.3"
+ "!!Interpreter class methodsFor: 'initialization' stamp: 'di 1/11/1999 10:44'!!
+ initializePrimitiveTable"
+ "This table generates a C switch statement for primitive dispatching."
+
+ "NOTE: The real limit here is 2047, but our C compiler currently barfs over 700"
+ MaxPrimitiveIndex _ 700.
+ PrimitiveTable _ Array new: MaxPrimitiveIndex + 1.
+ self table: PrimitiveTable from:
+ #( "Integer Primitives (0-19)"
+ (0 primitiveFail)
+ (1 primitiveAdd)
+ (2 primitiveSubtract)
+ (3 primitiveLessThan)
+ (4 primitiveGreaterThan)
+ (5 primitiveLessOrEqual)
+ (6 primitiveGreaterOrEqual)
+ (7 primitiveEqual)
+ (8 primitiveNotEqual)
+ (9 primitiveMultiply)
+ (10 primitiveDivide)
+ (11 primitiveMod)
+ (12 primitiveDiv)
+ (13 primitiveQuo)
+ (14 primitiveBitAnd)
+ (15 primitiveBitOr)
+ (16 primitiveBitXor)
+ (17 primitiveBitShift)
+ (18 primitiveMakePoint)
+ (19 primitiveFail) "Guard primitive for simulation -- *must* fail"
+
+ "LargeInteger Primitives (20-39)"
+ "32-bit logic is aliased to Integer prims above"
+ (20 39 primitiveFail)
+
+ "Float Primitives (40-59)"
+ (40 primitiveAsFloat)
+ (41 primitiveFloatAdd)
+ (42 primitiveFloatSubtract)
+ (43 primitiveFloatLessThan)
+ (44 primitiveFloatGreaterThan)
+ (45 primitiveFloatLessOrEqual)
+ (46 primitiveFloatGreaterOrEqual)
+ (47 primitiveFloatEqual)
+ (48 primitiveFloatNotEqual)
+ (49 primitiveFloatMultiply)
+ (50 primitiveFloatDivide)
+ (51 primitiveTruncated)
+ (52 primitiveFractionalPart)
+ (53 primitiveExponent)
+ (54 primitiveTimesTwoPower)
+ (55 primitiveSquareRoot)
+ (56 primitiveSine)
+ (57 primitiveArctan)
+ (58 primitiveLogN)
+ (59 primitiveExp)
+
+ "Subscript and Stream Primitives (60-67)"
+ (60 primitiveAt)
+ (61 primitiveAtPut)
+ (62 primitiveSize)
+ (63 primitiveStringAt)
+ (64 primitiveStringAtPut)
+ (65 primitiveNext)
+ (66 primitiveNextPut)
+ (67 primitiveAtEnd)
+
+ "StorageManagement Primitives (68-79)"
+ (68 primitiveObjectAt)
+ (69 primitiveObjectAtPut)
+ (70 primitiveNew)
+ (71 primitiveNewWithArg)
+ (72 primitiveArrayBecomeOneWay) "Blue Book: primitiveBecome"
+ (73 primitiveInstVarAt)
+ (74 primitiveInstVarAtPut)
+ (75 primitiveAsOop)
+ (76 primitiveStoreStackp) "Blue Book: primitiveAsObject"
+ (77 primitiveSomeInstance)
+ (78 primitiveNextInstance)
+ (79 primitiveNewMethod)
+
+ "Control Primitives (80-89)"
+ (80 primitiveBlockCopy)
+ (81 primitiveValue)
+ (82 primitiveValueWithArgs)
+ (83 primitivePerform)
+ (84 primitivePerformWithArgs)
+ (85 primitiveSignal)
+ (86 primitiveWait)
+ (87 primitiveResume)
+ (88 primitiveSuspend)
+ (89 primitiveFlushCache)
+
+ "Input/Output Primitives (90-109)"
+ (90 primitiveMousePoint)
+ (91 primitiveFail) "Blue Book: primitiveCursorLocPut"
+ (92 primitiveFail) "Blue Book: primitiveCursorLink"
+ (93 primitiveInputSemaphore)
+ (94 primitiveFail) "Blue Book: primitiveSampleInterval"
+ (95 primitiveInputWord)
+ (96 primitiveCopyBits)
+ (97 primitiveSnapshot)
+ (98 primitiveFail) "Blue Book: primitiveTimeWordsInto"
+ (99 primitiveFail) "Blue Book: primitiveTickWordsInto"
+ (100 primitiveFail) "Blue Book: primitiveSignalAtTick"
+ (101 primitiveBeCursor)
+ (102 primitiveBeDisplay)
+ (103 primitiveScanCharacters)
+ (104 primitiveDrawLoop)
+ (105 primitiveStringReplace)
+ (106 primitiveScreenSize)
+ (107 primitiveMouseButtons)
+ (108 primitiveKbdNext)
+ (109 primitiveKbdPeek)
+
+ "System Primitives (110-119)"
+ (110 primitiveEquivalent)
+ (111 primitiveClass)
+ (112 primitiveBytesLeft)
+ (113 primitiveQuit)
+ (114 primitiveExitToDebugger)
+ (115 primitiveFail) "Blue Book: primitiveOopsLeft"
+ (116 primitiveFlushCacheByMethod)
+ (117 primitiveExternalCall)
+ (118 primitiveDoPrimitiveWithArgs)
+ (119 primitiveFlushCacheSelective)
+ "Squeak 2.2 and earlier use 119.  Squeak 2.3 and later use 116.
+ Both are supported for backward compatibility."
+
+ "Miscellaneous Primitives (120-127)"
+ (120 primitiveFail)
+ (121 primitiveImageName)
+ (122 primitiveNoop) "Blue Book: primitiveImageVolume"
+ (123 primitiveFail)
+ (124 primitiveLowSpaceSemaphore)
+ (125 primitiveSignalAtBytesLeft)
+
+ "Squeak Primitives Start Here"
+
+ "Squeak Miscellaneous Primitives (128-149)"
+ (126 primitiveDeferDisplayUpdates)
+ (127 primitiveShowDisplayRect)
+ (128 primitiveArrayBecome)
+ (129 primitiveSpecialObjectsOop)
+ (130 primitiveFullGC)
+ (131 primitiveIncrementalGC)
+ (132 primitiveObjectPointsTo)
+ (133 primitiveSetInterruptKey)
+ (134 primitiveInterruptSemaphore)
+ (135 primitiveMillisecondClock)
+ (136 primitiveSignalAtMilliseconds)
+ (137 primitiveSecondsClock)
+ (138 primitiveSomeObject)
+ (139 primitiveNextObject)
+ (140 primitiveBeep)
+ (141 primitiveClipboardText)
+ (142 primitiveVMPath)
+ (143 primitiveShortAt)
+ (144 primitiveShortAtPut)
+ (145 primitiveConstantFill)
+ (146 primitiveReadJoystick)
+ (147 primitiveWarpBits)
+ (148 primitiveClone)
+ (149 primitiveGetAttribute)
+
+ "File Primitives (150-169)"
+ (150 primitiveFileAtEnd)
+ (151 primitiveFileClose)
+ (152 primitiveFileGetPosition)
+ (153 primitiveFileOpen)
+ (154 primitiveFileRead)
+ (155 primitiveFileSetPosition)
+ (156 primitiveFileDelete)
+ (157 primitiveFileSize)
+ (158 primitiveFileWrite)
+ (159 primitiveFileRename)
+ (160 primitiveDirectoryCreate)
+ (161 primitiveDirectoryDelimitor)
+ (162 primitiveDirectoryLookup)
+ (163 168 primitiveFail)
+ (169 primitiveDirectorySetMacTypeAndCreator)
+
+ "Sound Primitives (170-199)"
+ (170 primitiveSoundStart)
+ (171 primitiveSoundStartWithSemaphore)
+ (172 primitiveSoundStop)
+ (173 primitiveSoundAvailableSpace)
+ (174 primitiveSoundPlaySamples)
+ (175 primitiveSoundPlaySilence) "obsolete; will be removed in the future"
+ (176 primWaveTableSoundmixSampleCountintostartingAtpan)
+ (177 primFMSoundmixSampleCountintostartingAtpan)
+ (178 primPluckedSoundmixSampleCountintostartingAtpan)
+ (179 primSampledSoundmixSampleCountintostartingAtpan)
+ (180 primFMSoundmixSampleCountintostartingAtleftVolrightVol)
+ (181 primPluckedSoundmixSampleCountintostartingAtleftVolrightVol)
+ (182 primSampledSoundmixSampleCountintostartingAtleftVolrightVol)
+ (183 primReverbSoundapplyReverbTostartingAtcount)
+ (184 primLoopedSampledSoundmixSampleCountintostartingAtleftVolrightVol)
+ (185 188 primitiveFail)
+ (189 primitiveSoundInsertSamples)
+ (190 primitiveSoundStartRecording)
+ (191 primitiveSoundStopRecording)
+ (192 primitiveSoundGetRecordingSampleRate)
+ (193 primitiveSoundRecordSamples)
+ (194 primitiveSoundSetRecordLevel)
+ (195 199 primitiveFail)
+
+ "Networking Primitives (200-229)"
+ (200 primitiveInitializeNetwork)
+ (201 primitiveResolverStartNameLookup)
+ (202 primitiveResolverNameLookupResult)
+ (203 primitiveResolverStartAddressLookup)
+ (204 primitiveResolverAddressLookupResult)
+ (205 primitiveResolverAbortLookup)
+ (206 primitiveResolverLocalAddress)
+ (207 primitiveResolverStatus)
+ (208 primitiveResolverError)
+ (209 primitiveSocketCreate)
+ (210 primitiveSocketDestroy)
+ (211 primitiveSocketConnectionStatus)
+ (212 primitiveSocketError)
+ (213 primitiveSocketLocalAddress)
+ (214 primitiveSocketLocalPort)
+ (215 primitiveSocketRemoteAddress)
+ (216 primitiveSocketRemotePort)
+ (217 primitiveSocketConnectToPort)
+ (218 primitiveSocketListenOnPort)
+ (219 primitiveSocketCloseConnection)
+ (220 primitiveSocketAbortConnection)
+ (221 primitiveSocketReceiveDataBufCount)
+ (222 primitiveSocketReceiveDataAvailable)
+ (223 primitiveSocketSendDataBufCount)
+ (224 primitiveSocketSendDone)
+ (225 229 primitiveFail)
+
+ "Other Primitives (230-249)"
+ (230 primitiveRelinquishProcessor)
+ (231 primitiveForceDisplayUpdate)
+ (232 primitiveFormPrint)
+ (233 primitiveSetFullScreen)
+ (234 primBitmapdecompressfromByteArrayat)
+ (235 primStringcomparewithcollated)
+ (236 primSampledSoundconvert8bitSignedFromto16Bit)
+ (237 primBitmapcompresstoByteArray)
+ (238 primitiveSerialPortOpen)
+ (239 primitiveSerialPortClose)
+ (240 primitiveSerialPortWrite)
+ (241 primitiveSerialPortRead)
+ (242 primitiveFail)
+ (243 primStringtranslatefromtotable)
+ (244 primStringfindFirstInStringinSetstartingAt)
+ (245 primStringindexOfAsciiinStringstartingAt)
+ (246 primStringfindSubstringinstartingAtmatchTable)
+ (247 249 primitiveFail)
+
+ "VM Implementor Primitives (250-255)"
+ (250 clearProfile)
+ (251 dumpProfile)
+ (252 startProfiling)
+ (253 stopProfiling)
+ (254 primitiveVMParameter)
+ (255 primitiveInstVarsPutFromStack) "Never used except in Disney tests.  Remove after 2.3 release."
+
+ "Quick Push Const Methods"
+ (256 primitivePushSelf)
+ (257 primitivePushTrue)
+ (258 primitivePushFalse)
+ (259 primitivePushNil)
+ (260 primitivePushMinusOne)
+ (261 primitivePushZero)
+ (262 primitivePushOne)
+ (263 primitivePushTwo)
+
+ "Quick Push Const Methods"
+ (264 519 primitiveLoadInstVar)
+
+ "MIDI Primitives (520-539)"
+ (520 primitiveFail)
+ (521 primitiveMIDIClosePort)
+ (522 primitiveMIDIGetClock)
+ (523 primitiveMIDIGetPortCount)
+ (524 primitiveMIDIGetPortDirectionality)
+ (525 primitiveMIDIGetPortName)
+ (526 primitiveMIDIOpenPort)
+ (527 primitiveMIDIParameterGetOrSet)
+ (528 primitiveMIDIRead)
+ (529 primitiveMIDIWrite)
+ (530 539 primitiveFail)  "reserved for extended MIDI primitives"
+
+ "Experimental Asynchrous File Primitives"
+ (540 primitiveAsyncFileClose)
+ (541 primitiveAsyncFileOpen)
+ (542 primitiveAsyncFileReadResult)
+ (543 primitiveAsyncFileReadStart)
+ (544 primitiveAsyncFileWriteResult)
+ (545 primitiveAsyncFileWriteStart)
+
+ "Unassigned Primitives"
+ (546 700 primitiveFail)).
+ !

Item was added:
+ ----- Method: PrimitiveTableHistory class>>initializePrimitiveTable19990421jm (in category 'initialization history') -----
+ initializePrimitiveTable19990421jm
+ "From changes file of Squeak 2.4"
+ "!!Interpreter class methodsFor: 'initialization' stamp: 'jm 4/10/1999 12:27'!!
+ initializePrimitiveTable "
+ "This table generates a C switch statement for primitive dispatching."
+
+ "NOTE: The real limit here is 2047, but our C compiler currently barfs over 700"
+ MaxPrimitiveIndex _ 700.
+ PrimitiveTable _ Array new: MaxPrimitiveIndex + 1.
+ self table: PrimitiveTable from:
+ #( "Integer Primitives (0-19)"
+ (0 primitiveFail)
+ (1 primitiveAdd)
+ (2 primitiveSubtract)
+ (3 primitiveLessThan)
+ (4 primitiveGreaterThan)
+ (5 primitiveLessOrEqual)
+ (6 primitiveGreaterOrEqual)
+ (7 primitiveEqual)
+ (8 primitiveNotEqual)
+ (9 primitiveMultiply)
+ (10 primitiveDivide)
+ (11 primitiveMod)
+ (12 primitiveDiv)
+ (13 primitiveQuo)
+ (14 primitiveBitAnd)
+ (15 primitiveBitOr)
+ (16 primitiveBitXor)
+ (17 primitiveBitShift)
+ (18 primitiveMakePoint)
+ (19 primitiveFail) "Guard primitive for simulation -- *must* fail"
+
+ "LargeInteger Primitives (20-39)"
+ "32-bit logic is aliased to Integer prims above"
+ (20 39 primitiveFail)
+
+ "Float Primitives (40-59)"
+ (40 primitiveAsFloat)
+ (41 primitiveFloatAdd)
+ (42 primitiveFloatSubtract)
+ (43 primitiveFloatLessThan)
+ (44 primitiveFloatGreaterThan)
+ (45 primitiveFloatLessOrEqual)
+ (46 primitiveFloatGreaterOrEqual)
+ (47 primitiveFloatEqual)
+ (48 primitiveFloatNotEqual)
+ (49 primitiveFloatMultiply)
+ (50 primitiveFloatDivide)
+ (51 primitiveTruncated)
+ (52 primitiveFractionalPart)
+ (53 primitiveExponent)
+ (54 primitiveTimesTwoPower)
+ (55 primitiveSquareRoot)
+ (56 primitiveSine)
+ (57 primitiveArctan)
+ (58 primitiveLogN)
+ (59 primitiveExp)
+
+ "Subscript and Stream Primitives (60-67)"
+ (60 primitiveAt)
+ (61 primitiveAtPut)
+ (62 primitiveSize)
+ (63 primitiveStringAt)
+ (64 primitiveStringAtPut)
+ (65 primitiveNext)
+ (66 primitiveNextPut)
+ (67 primitiveAtEnd)
+
+ "StorageManagement Primitives (68-79)"
+ (68 primitiveObjectAt)
+ (69 primitiveObjectAtPut)
+ (70 primitiveNew)
+ (71 primitiveNewWithArg)
+ (72 primitiveArrayBecomeOneWay) "Blue Book: primitiveBecome"
+ (73 primitiveInstVarAt)
+ (74 primitiveInstVarAtPut)
+ (75 primitiveAsOop)
+ (76 primitiveStoreStackp) "Blue Book: primitiveAsObject"
+ (77 primitiveSomeInstance)
+ (78 primitiveNextInstance)
+ (79 primitiveNewMethod)
+
+ "Control Primitives (80-89)"
+ (80 primitiveBlockCopy)
+ (81 primitiveValue)
+ (82 primitiveValueWithArgs)
+ (83 primitivePerform)
+ (84 primitivePerformWithArgs)
+ (85 primitiveSignal)
+ (86 primitiveWait)
+ (87 primitiveResume)
+ (88 primitiveSuspend)
+ (89 primitiveFlushCache)
+
+ "Input/Output Primitives (90-109)"
+ (90 primitiveMousePoint)
+ (91 primitiveFail) "Blue Book: primitiveCursorLocPut"
+ (92 primitiveFail) "Blue Book: primitiveCursorLink"
+ (93 primitiveInputSemaphore)
+ (94 primitiveFail) "Blue Book: primitiveSampleInterval"
+ (95 primitiveInputWord)
+ (96 primitiveCopyBits)
+ (97 primitiveSnapshot)
+ (98 primitiveStoreImageSegment)
+ (99 primitiveLoadImageSegment)
+ (100 primitivePerformInSuperclass) "Blue Book: primitiveSignalAtTick"
+ (101 primitiveBeCursor)
+ (102 primitiveBeDisplay)
+ (103 primitiveScanCharacters)
+ (104 primitiveDrawLoop)
+ (105 primitiveStringReplace)
+ (106 primitiveScreenSize)
+ (107 primitiveMouseButtons)
+ (108 primitiveKbdNext)
+ (109 primitiveKbdPeek)
+
+ "System Primitives (110-119)"
+ (110 primitiveEquivalent)
+ (111 primitiveClass)
+ (112 primitiveBytesLeft)
+ (113 primitiveQuit)
+ (114 primitiveExitToDebugger)
+ (115 primitiveFail) "Blue Book: primitiveOopsLeft"
+ (116 primitiveFlushCacheByMethod)
+ (117 primitiveExternalCall)
+ (118 primitiveDoPrimitiveWithArgs)
+ (119 primitiveFlushCacheSelective)
+ "Squeak 2.2 and earlier use 119.  Squeak 2.3 and later use 116.
+ Both are supported for backward compatibility."
+
+ "Miscellaneous Primitives (120-127)"
+ (120 primitiveFail)
+ (121 primitiveImageName)
+ (122 primitiveNoop) "Blue Book: primitiveImageVolume"
+ (123 primitiveFail)
+ (124 primitiveLowSpaceSemaphore)
+ (125 primitiveSignalAtBytesLeft)
+
+ "Squeak Primitives Start Here"
+
+ "Squeak Miscellaneous Primitives (128-149)"
+ (126 primitiveDeferDisplayUpdates)
+ (127 primitiveShowDisplayRect)
+ (128 primitiveArrayBecome)
+ (129 primitiveSpecialObjectsOop)
+ (130 primitiveFullGC)
+ (131 primitiveIncrementalGC)
+ (132 primitiveObjectPointsTo)
+ (133 primitiveSetInterruptKey)
+ (134 primitiveInterruptSemaphore)
+ (135 primitiveMillisecondClock)
+ (136 primitiveSignalAtMilliseconds)
+ (137 primitiveSecondsClock)
+ (138 primitiveSomeObject)
+ (139 primitiveNextObject)
+ (140 primitiveBeep)
+ (141 primitiveClipboardText)
+ (142 primitiveVMPath)
+ (143 primitiveShortAt)
+ (144 primitiveShortAtPut)
+ (145 primitiveConstantFill)
+ (146 primitiveReadJoystick)
+ (147 primitiveWarpBits)
+ (148 primitiveClone)
+ (149 primitiveGetAttribute)
+
+ "File Primitives (150-169)"
+ (150 primitiveFileAtEnd)
+ (151 primitiveFileClose)
+ (152 primitiveFileGetPosition)
+ (153 primitiveFileOpen)
+ (154 primitiveFileRead)
+ (155 primitiveFileSetPosition)
+ (156 primitiveFileDelete)
+ (157 primitiveFileSize)
+ (158 primitiveFileWrite)
+ (159 primitiveFileRename)
+ (160 primitiveDirectoryCreate)
+ (161 primitiveDirectoryDelimitor)
+ (162 primitiveDirectoryLookup)
+ (163 primitiveDirectoryDelete)
+ (164 168 primitiveFail)
+ (169 primitiveDirectorySetMacTypeAndCreator)
+
+ "Sound Primitives (170-199)"
+ (170 primitiveSoundStart)
+ (171 primitiveSoundStartWithSemaphore)
+ (172 primitiveSoundStop)
+ (173 primitiveSoundAvailableSpace)
+ (174 primitiveSoundPlaySamples)
+ (175 primitiveSoundPlaySilence) "obsolete; will be removed in the future"
+ (176 primWaveTableSoundmixSampleCountintostartingAtpan)
+ (177 primFMSoundmixSampleCountintostartingAtpan)
+ (178 primPluckedSoundmixSampleCountintostartingAtpan)
+ (179 primSampledSoundmixSampleCountintostartingAtpan)
+ (180 primFMSoundmixSampleCountintostartingAtleftVolrightVol)
+ (181 primPluckedSoundmixSampleCountintostartingAtleftVolrightVol)
+ (182 primSampledSoundmixSampleCountintostartingAtleftVolrightVol)
+ (183 primReverbSoundapplyReverbTostartingAtcount)
+ (184 primLoopedSampledSoundmixSampleCountintostartingAtleftVolrightVol)
+ (185 188 primitiveFail)
+ (189 primitiveSoundInsertSamples)
+ (190 primitiveSoundStartRecording)
+ (191 primitiveSoundStopRecording)
+ (192 primitiveSoundGetRecordingSampleRate)
+ (193 primitiveSoundRecordSamples)
+ (194 primitiveSoundSetRecordLevel)
+ (195 199 primitiveFail)
+
+ "Networking Primitives (200-229)"
+ (200 primitiveInitializeNetwork)
+ (201 primitiveResolverStartNameLookup)
+ (202 primitiveResolverNameLookupResult)
+ (203 primitiveResolverStartAddressLookup)
+ (204 primitiveResolverAddressLookupResult)
+ (205 primitiveResolverAbortLookup)
+ (206 primitiveResolverLocalAddress)
+ (207 primitiveResolverStatus)
+ (208 primitiveResolverError)
+ (209 primitiveSocketCreate)
+ (210 primitiveSocketDestroy)
+ (211 primitiveSocketConnectionStatus)
+ (212 primitiveSocketError)
+ (213 primitiveSocketLocalAddress)
+ (214 primitiveSocketLocalPort)
+ (215 primitiveSocketRemoteAddress)
+ (216 primitiveSocketRemotePort)
+ (217 primitiveSocketConnectToPort)
+ (218 primitiveSocketListenOnPort)
+ (219 primitiveSocketCloseConnection)
+ (220 primitiveSocketAbortConnection)
+ (221 primitiveSocketReceiveDataBufCount)
+ (222 primitiveSocketReceiveDataAvailable)
+ (223 primitiveSocketSendDataBufCount)
+ (224 primitiveSocketSendDone)
+ (225 229 primitiveFail)
+
+ "Other Primitives (230-249)"
+ (230 primitiveRelinquishProcessor)
+ (231 primitiveForceDisplayUpdate)
+ (232 primitiveFormPrint)
+ (233 primitiveSetFullScreen)
+ (234 primBitmapdecompressfromByteArrayat)
+ (235 primStringcomparewithcollated)
+ (236 primSampledSoundconvert8bitSignedFromto16Bit)
+ (237 primBitmapcompresstoByteArray)
+ (238 primitiveSerialPortOpen)
+ (239 primitiveSerialPortClose)
+ (240 primitiveSerialPortWrite)
+ (241 primitiveSerialPortRead)
+ (242 primitiveFail)
+ (243 primStringtranslatefromtotable)
+ (244 primStringfindFirstInStringinSetstartingAt)
+ (245 primStringindexOfAsciiinStringstartingAt)
+ (246 primStringfindSubstringinstartingAtmatchTable)
+ (247 249 primitiveFail)
+
+ "VM Implementor Primitives (250-255)"
+ (250 clearProfile)
+ (251 dumpProfile)
+ (252 startProfiling)
+ (253 stopProfiling)
+ (254 primitiveVMParameter)
+ (255 primitiveInstVarsPutFromStack) "Never used except in Disney tests.  Remove after 2.3 release."
+
+ "Quick Push Const Methods"
+ (256 primitivePushSelf)
+ (257 primitivePushTrue)
+ (258 primitivePushFalse)
+ (259 primitivePushNil)
+ (260 primitivePushMinusOne)
+ (261 primitivePushZero)
+ (262 primitivePushOne)
+ (263 primitivePushTwo)
+
+ "Quick Push Const Methods"
+ (264 519 primitiveLoadInstVar)
+
+ "MIDI Primitives (520-539)"
+ (520 primitiveFail)
+ (521 primitiveMIDIClosePort)
+ (522 primitiveMIDIGetClock)
+ (523 primitiveMIDIGetPortCount)
+ (524 primitiveMIDIGetPortDirectionality)
+ (525 primitiveMIDIGetPortName)
+ (526 primitiveMIDIOpenPort)
+ (527 primitiveMIDIParameterGetOrSet)
+ (528 primitiveMIDIRead)
+ (529 primitiveMIDIWrite)
+ (530 539 primitiveFail)  "reserved for extended MIDI primitives"
+
+ "Experimental Asynchrous File Primitives"
+ (540 primitiveAsyncFileClose)
+ (541 primitiveAsyncFileOpen)
+ (542 primitiveAsyncFileReadResult)
+ (543 primitiveAsyncFileReadStart)
+ (544 primitiveAsyncFileWriteResult)
+ (545 primitiveAsyncFileWriteStart)
+ (546 547 primitiveFail)
+
+ "Pen Tablet Primitives"
+ (548 primitiveGetTabletParameters)
+ (549 primitiveReadTablet)
+
+ "Sound Codec Primitives"
+ (550 primADPCMCodecprivateDecodeMono)
+ (551 primADPCMCodecprivateDecodeStereo)
+ (552 primADPCMCodecprivateEncodeMono)
+ (553 primADPCMCodecprivateEncodeStereo)
+ (554 569 primitiveFail)  "reserved for additional codec primitives"
+
+ "Unassigned Primitives"
+ (570 700 primitiveFail)).
+ !

Item was added:
+ ----- Method: PrimitiveTableHistory class>>initializePrimitiveTable19990920ar (in category 'initialization history') -----
+ initializePrimitiveTable19990920ar
+ "From changes file of Squeak 2.5 and Squeak 2.6"
+ "!!Interpreter class methodsFor: 'initialization' stamp: 'ar 7/16/1999 15:00'!!
+ initializePrimitiveTable "
+ "This table generates a C switch statement for primitive dispatching."
+
+ "NOTE: The real limit here is 2047, but our C compiler currently barfs over 700"
+ MaxPrimitiveIndex _ 700.
+ PrimitiveTable _ Array new: MaxPrimitiveIndex + 1.
+ self table: PrimitiveTable from:
+ #( "Integer Primitives (0-19)"
+ (0 primitiveFail)
+ (1 primitiveAdd)
+ (2 primitiveSubtract)
+ (3 primitiveLessThan)
+ (4 primitiveGreaterThan)
+ (5 primitiveLessOrEqual)
+ (6 primitiveGreaterOrEqual)
+ (7 primitiveEqual)
+ (8 primitiveNotEqual)
+ (9 primitiveMultiply)
+ (10 primitiveDivide)
+ (11 primitiveMod)
+ (12 primitiveDiv)
+ (13 primitiveQuo)
+ (14 primitiveBitAnd)
+ (15 primitiveBitOr)
+ (16 primitiveBitXor)
+ (17 primitiveBitShift)
+ (18 primitiveMakePoint)
+ (19 primitiveFail) "Guard primitive for simulation -- *must* fail"
+
+ "LargeInteger Primitives (20-39)"
+ "32-bit logic is aliased to Integer prims above"
+ (20 39 primitiveFail)
+
+ "Float Primitives (40-59)"
+ (40 primitiveAsFloat)
+ (41 primitiveFloatAdd)
+ (42 primitiveFloatSubtract)
+ (43 primitiveFloatLessThan)
+ (44 primitiveFloatGreaterThan)
+ (45 primitiveFloatLessOrEqual)
+ (46 primitiveFloatGreaterOrEqual)
+ (47 primitiveFloatEqual)
+ (48 primitiveFloatNotEqual)
+ (49 primitiveFloatMultiply)
+ (50 primitiveFloatDivide)
+ (51 primitiveTruncated)
+ (52 primitiveFractionalPart)
+ (53 primitiveExponent)
+ (54 primitiveTimesTwoPower)
+ (55 primitiveSquareRoot)
+ (56 primitiveSine)
+ (57 primitiveArctan)
+ (58 primitiveLogN)
+ (59 primitiveExp)
+
+ "Subscript and Stream Primitives (60-67)"
+ (60 primitiveAt)
+ (61 primitiveAtPut)
+ (62 primitiveSize)
+ (63 primitiveStringAt)
+ (64 primitiveStringAtPut)
+ (65 primitiveNext)
+ (66 primitiveNextPut)
+ (67 primitiveAtEnd)
+
+ "StorageManagement Primitives (68-79)"
+ (68 primitiveObjectAt)
+ (69 primitiveObjectAtPut)
+ (70 primitiveNew)
+ (71 primitiveNewWithArg)
+ (72 primitiveArrayBecomeOneWay) "Blue Book: primitiveBecome"
+ (73 primitiveInstVarAt)
+ (74 primitiveInstVarAtPut)
+ (75 primitiveAsOop)
+ (76 primitiveStoreStackp) "Blue Book: primitiveAsObject"
+ (77 primitiveSomeInstance)
+ (78 primitiveNextInstance)
+ (79 primitiveNewMethod)
+
+ "Control Primitives (80-89)"
+ (80 primitiveBlockCopy)
+ (81 primitiveValue)
+ (82 primitiveValueWithArgs)
+ (83 primitivePerform)
+ (84 primitivePerformWithArgs)
+ (85 primitiveSignal)
+ (86 primitiveWait)
+ (87 primitiveResume)
+ (88 primitiveSuspend)
+ (89 primitiveFlushCache)
+
+ "Input/Output Primitives (90-109)"
+ (90 primitiveMousePoint)
+ (91 primitiveTestDisplayDepth) "Blue Book: primitiveCursorLocPut"
+ (92 primitiveSetDisplayMode) "Blue Book: primitiveCursorLink"
+ (93 primitiveInputSemaphore)
+ (94 primitiveFail) "Blue Book: primitiveSampleInterval"
+ (95 primitiveInputWord)
+ (96 primitiveCopyBits)
+ (97 primitiveSnapshot)
+ (98 primitiveStoreImageSegment)
+ (99 primitiveLoadImageSegment)
+ (100 primitivePerformInSuperclass) "Blue Book: primitiveSignalAtTick"
+ (101 primitiveBeCursor)
+ (102 primitiveBeDisplay)
+ (103 primitiveScanCharacters)
+ (104 primitiveDrawLoop)
+ (105 primitiveStringReplace)
+ (106 primitiveScreenSize)
+ (107 primitiveMouseButtons)
+ (108 primitiveKbdNext)
+ (109 primitiveKbdPeek)
+
+ "System Primitives (110-119)"
+ (110 primitiveEquivalent)
+ (111 primitiveClass)
+ (112 primitiveBytesLeft)
+ (113 primitiveQuit)
+ (114 primitiveExitToDebugger)
+ (115 primitiveFail) "Blue Book: primitiveOopsLeft"
+ (116 primitiveFlushCacheByMethod)
+ (117 primitiveExternalCall)
+ (118 primitiveDoPrimitiveWithArgs)
+ (119 primitiveFlushCacheSelective)
+ "Squeak 2.2 and earlier use 119.  Squeak 2.3 and later use 116.
+ Both are supported for backward compatibility."
+
+ "Miscellaneous Primitives (120-127)"
+ (120 primitiveFail)
+ (121 primitiveImageName)
+ (122 primitiveNoop) "Blue Book: primitiveImageVolume"
+ (123 primitiveFail)
+ (124 primitiveLowSpaceSemaphore)
+ (125 primitiveSignalAtBytesLeft)
+
+ "Squeak Primitives Start Here"
+
+ "Squeak Miscellaneous Primitives (128-149)"
+ (126 primitiveDeferDisplayUpdates)
+ (127 primitiveShowDisplayRect)
+ (128 primitiveArrayBecome)
+ (129 primitiveSpecialObjectsOop)
+ (130 primitiveFullGC)
+ (131 primitiveIncrementalGC)
+ (132 primitiveObjectPointsTo)
+ (133 primitiveSetInterruptKey)
+ (134 primitiveInterruptSemaphore)
+ (135 primitiveMillisecondClock)
+ (136 primitiveSignalAtMilliseconds)
+ (137 primitiveSecondsClock)
+ (138 primitiveSomeObject)
+ (139 primitiveNextObject)
+ (140 primitiveBeep)
+ (141 primitiveClipboardText)
+ (142 primitiveVMPath)
+ (143 primitiveShortAt)
+ (144 primitiveShortAtPut)
+ (145 primitiveConstantFill)
+ (146 primitiveReadJoystick)
+ (147 primitiveWarpBits)
+ (148 primitiveClone)
+ (149 primitiveGetAttribute)
+
+ "File Primitives (150-169)"
+ (150 primitiveFileAtEnd)
+ (151 primitiveFileClose)
+ (152 primitiveFileGetPosition)
+ (153 primitiveFileOpen)
+ (154 primitiveFileRead)
+ (155 primitiveFileSetPosition)
+ (156 primitiveFileDelete)
+ (157 primitiveFileSize)
+ (158 primitiveFileWrite)
+ (159 primitiveFileRename)
+ (160 primitiveDirectoryCreate)
+ (161 primitiveDirectoryDelimitor)
+ (162 primitiveDirectoryLookup)
+ (163 primitiveDirectoryDelete)
+ (164 168 primitiveFail)
+ (169 primitiveDirectorySetMacTypeAndCreator)
+
+ "Sound Primitives (170-199)"
+ (170 primitiveSoundStart)
+ (171 primitiveSoundStartWithSemaphore)
+ (172 primitiveSoundStop)
+ (173 primitiveSoundAvailableSpace)
+ (174 primitiveSoundPlaySamples)
+ (175 primitiveSoundPlaySilence) "obsolete; will be removed in the future"
+ (176 primWaveTableSoundmixSampleCountintostartingAtpan)
+ (177 primFMSoundmixSampleCountintostartingAtpan)
+ (178 primPluckedSoundmixSampleCountintostartingAtpan)
+ (179 primSampledSoundmixSampleCountintostartingAtpan)
+ (180 primFMSoundmixSampleCountintostartingAtleftVolrightVol)
+ (181 primPluckedSoundmixSampleCountintostartingAtleftVolrightVol)
+ (182 oldprimSampledSoundmixSampleCountintostartingAtleftVolrightVol)
+ (183 primReverbSoundapplyReverbTostartingAtcount)
+ (184 primLoopedSampledSoundmixSampleCountintostartingAtleftVolrightVol)
+ (185 primSampledSoundmixSampleCountintostartingAtleftVolrightVol)
+ (186 188 primitiveFail)
+ (189 primitiveSoundInsertSamples)
+ (190 primitiveSoundStartRecording)
+ (191 primitiveSoundStopRecording)
+ (192 primitiveSoundGetRecordingSampleRate)
+ (193 primitiveSoundRecordSamples)
+ (194 primitiveSoundSetRecordLevel)
+ (195 199 primitiveFail)
+
+ "Networking Primitives (200-229)"
+ (200 primitiveInitializeNetwork)
+ (201 primitiveResolverStartNameLookup)
+ (202 primitiveResolverNameLookupResult)
+ (203 primitiveResolverStartAddressLookup)
+ (204 primitiveResolverAddressLookupResult)
+ (205 primitiveResolverAbortLookup)
+ (206 primitiveResolverLocalAddress)
+ (207 primitiveResolverStatus)
+ (208 primitiveResolverError)
+ (209 primitiveSocketCreate)
+ (210 primitiveSocketDestroy)
+ (211 primitiveSocketConnectionStatus)
+ (212 primitiveSocketError)
+ (213 primitiveSocketLocalAddress)
+ (214 primitiveSocketLocalPort)
+ (215 primitiveSocketRemoteAddress)
+ (216 primitiveSocketRemotePort)
+ (217 primitiveSocketConnectToPort)
+ (218 primitiveSocketListenOnPort)
+ (219 primitiveSocketCloseConnection)
+ (220 primitiveSocketAbortConnection)
+ (221 primitiveSocketReceiveDataBufCount)
+ (222 primitiveSocketReceiveDataAvailable)
+ (223 primitiveSocketSendDataBufCount)
+ (224 primitiveSocketSendDone)
+ (225 primitiveSocketAccept)
+ (226 229 primitiveFail)
+
+ "Other Primitives (230-249)"
+ (230 primitiveRelinquishProcessor)
+ (231 primitiveForceDisplayUpdate)
+ (232 primitiveFormPrint)
+ (233 primitiveSetFullScreen)
+ (234 primBitmapdecompressfromByteArrayat)
+ (235 primStringcomparewithcollated)
+ (236 primSampledSoundconvert8bitSignedFromto16Bit)
+ (237 primBitmapcompresstoByteArray)
+ (238 primitiveSerialPortOpen)
+ (239 primitiveSerialPortClose)
+ (240 primitiveSerialPortWrite)
+ (241 primitiveSerialPortRead)
+ (242 primitiveFail)
+ (243 primStringtranslatefromtotable)
+ (244 primStringfindFirstInStringinSetstartingAt)
+ (245 primStringindexOfAsciiinStringstartingAt)
+ (246 primStringfindSubstringinstartingAtmatchTable)
+ (247 249 primitiveFail)
+
+ "VM Implementor Primitives (250-255)"
+ (250 clearProfile)
+ (251 dumpProfile)
+ (252 startProfiling)
+ (253 stopProfiling)
+ (254 primitiveVMParameter)
+ (255 primitiveInstVarsPutFromStack) "Never used except in Disney tests.  Remove after 2.3 release."
+
+ "Quick Push Const Methods"
+ (256 primitivePushSelf)
+ (257 primitivePushTrue)
+ (258 primitivePushFalse)
+ (259 primitivePushNil)
+ (260 primitivePushMinusOne)
+ (261 primitivePushZero)
+ (262 primitivePushOne)
+ (263 primitivePushTwo)
+
+ "Quick Push Const Methods"
+ (264 519 primitiveLoadInstVar)
+
+ "MIDI Primitives (520-539)"
+ (520 primitiveFail)
+ (521 primitiveMIDIClosePort)
+ (522 primitiveMIDIGetClock)
+ (523 primitiveMIDIGetPortCount)
+ (524 primitiveMIDIGetPortDirectionality)
+ (525 primitiveMIDIGetPortName)
+ (526 primitiveMIDIOpenPort)
+ (527 primitiveMIDIParameterGetOrSet)
+ (528 primitiveMIDIRead)
+ (529 primitiveMIDIWrite)
+ (530 539 primitiveFail)  "reserved for extended MIDI primitives"
+
+ "Experimental Asynchrous File Primitives"
+ (540 primitiveAsyncFileClose)
+ (541 primitiveAsyncFileOpen)
+ (542 primitiveAsyncFileReadResult)
+ (543 primitiveAsyncFileReadStart)
+ (544 primitiveAsyncFileWriteResult)
+ (545 primitiveAsyncFileWriteStart)
+ (546 547 primitiveFail)
+
+ "Pen Tablet Primitives"
+ (548 primitiveGetTabletParameters)
+ (549 primitiveReadTablet)
+
+ "Sound Codec Primitives"
+ (550 primADPCMCodecprivateDecodeMono)
+ (551 primADPCMCodecprivateDecodeStereo)
+ (552 primADPCMCodecprivateEncodeMono)
+ (553 primADPCMCodecprivateEncodeStereo)
+ (554 569 primitiveFail)  "reserved for additional codec primitives"
+
+ "Unassigned Primitives"
+ (570 700 primitiveFail)).
+ !

Item was added:
+ ----- Method: PrimitiveTableHistory class>>initializePrimitiveTable20000119ar (in category 'initialization history') -----
+ initializePrimitiveTable20000119ar
+ "From changes file of Squeak 2.7"
+ "!!Interpreter class methodsFor: 'initialization' stamp: 'ar 11/28/1999 19:39'!!
+ initializePrimitiveTable "
+ "This table generates a C switch statement for primitive dispatching."
+
+ "NOTE: The real limit here is 2047, but our C compiler currently barfs over 700"
+ MaxPrimitiveIndex _ 700.
+ PrimitiveTable _ Array new: MaxPrimitiveIndex + 1.
+ self table: PrimitiveTable from:
+ #( "Integer Primitives (0-19)"
+ (0 primitiveFail)
+ (1 primitiveAdd)
+ (2 primitiveSubtract)
+ (3 primitiveLessThan)
+ (4 primitiveGreaterThan)
+ (5 primitiveLessOrEqual)
+ (6 primitiveGreaterOrEqual)
+ (7 primitiveEqual)
+ (8 primitiveNotEqual)
+ (9 primitiveMultiply)
+ (10 primitiveDivide)
+ (11 primitiveMod)
+ (12 primitiveDiv)
+ (13 primitiveQuo)
+ (14 primitiveBitAnd)
+ (15 primitiveBitOr)
+ (16 primitiveBitXor)
+ (17 primitiveBitShift)
+ (18 primitiveMakePoint)
+ (19 primitiveFail) "Guard primitive for simulation -- *must* fail"
+
+ "LargeInteger Primitives (20-39)"
+ "32-bit logic is aliased to Integer prims above"
+ (20 39 primitiveFail)
+
+ "Float Primitives (40-59)"
+ (40 primitiveAsFloat)
+ (41 primitiveFloatAdd)
+ (42 primitiveFloatSubtract)
+ (43 primitiveFloatLessThan)
+ (44 primitiveFloatGreaterThan)
+ (45 primitiveFloatLessOrEqual)
+ (46 primitiveFloatGreaterOrEqual)
+ (47 primitiveFloatEqual)
+ (48 primitiveFloatNotEqual)
+ (49 primitiveFloatMultiply)
+ (50 primitiveFloatDivide)
+ (51 primitiveTruncated)
+ (52 primitiveFractionalPart)
+ (53 primitiveExponent)
+ (54 primitiveTimesTwoPower)
+ (55 primitiveSquareRoot)
+ (56 primitiveSine)
+ (57 primitiveArctan)
+ (58 primitiveLogN)
+ (59 primitiveExp)
+
+ "Subscript and Stream Primitives (60-67)"
+ (60 primitiveAt)
+ (61 primitiveAtPut)
+ (62 primitiveSize)
+ (63 primitiveStringAt)
+ (64 primitiveStringAtPut)
+ (65 primitiveNext)
+ (66 primitiveNextPut)
+ (67 primitiveAtEnd)
+
+ "StorageManagement Primitives (68-79)"
+ (68 primitiveObjectAt)
+ (69 primitiveObjectAtPut)
+ (70 primitiveNew)
+ (71 primitiveNewWithArg)
+ (72 primitiveArrayBecomeOneWay) "Blue Book: primitiveBecome"
+ (73 primitiveInstVarAt)
+ (74 primitiveInstVarAtPut)
+ (75 primitiveAsOop)
+ (76 primitiveStoreStackp) "Blue Book: primitiveAsObject"
+ (77 primitiveSomeInstance)
+ (78 primitiveNextInstance)
+ (79 primitiveNewMethod)
+
+ "Control Primitives (80-89)"
+ (80 primitiveBlockCopy)
+ (81 primitiveValue)
+ (82 primitiveValueWithArgs)
+ (83 primitivePerform)
+ (84 primitivePerformWithArgs)
+ (85 primitiveSignal)
+ (86 primitiveWait)
+ (87 primitiveResume)
+ (88 primitiveSuspend)
+ (89 primitiveFlushCache)
+
+ "Input/Output Primitives (90-109)"
+ (90 primitiveMousePoint)
+ (91 primitiveTestDisplayDepth) "Blue Book: primitiveCursorLocPut"
+ (92 primitiveSetDisplayMode) "Blue Book: primitiveCursorLink"
+ (93 primitiveInputSemaphore)
+ (94 primitiveFail) "Blue Book: primitiveSampleInterval"
+ (95 primitiveInputWord)
+ (96 primitiveCopyBits)
+ (97 primitiveSnapshot)
+ (98 primitiveStoreImageSegment)
+ (99 primitiveLoadImageSegment)
+ (100 primitivePerformInSuperclass) "Blue Book: primitiveSignalAtTick"
+ (101 primitiveBeCursor)
+ (102 primitiveBeDisplay)
+ (103 primitiveScanCharacters)
+ (104 primitiveDrawLoop)
+ (105 primitiveStringReplace)
+ (106 primitiveScreenSize)
+ (107 primitiveMouseButtons)
+ (108 primitiveKbdNext)
+ (109 primitiveKbdPeek)
+
+ "System Primitives (110-119)"
+ (110 primitiveEquivalent)
+ (111 primitiveClass)
+ (112 primitiveBytesLeft)
+ (113 primitiveQuit)
+ (114 primitiveExitToDebugger)
+ (115 primitiveFail) "Blue Book: primitiveOopsLeft"
+ (116 primitiveFlushCacheByMethod)
+ (117 primitiveExternalCall)
+ (118 primitiveDoPrimitiveWithArgs)
+ (119 primitiveFlushCacheSelective)
+ "Squeak 2.2 and earlier use 119.  Squeak 2.3 and later use 116.
+ Both are supported for backward compatibility."
+
+ "Miscellaneous Primitives (120-127)"
+ (120 primitiveCalloutToFFI)
+ (121 primitiveImageName)
+ (122 primitiveNoop) "Blue Book: primitiveImageVolume"
+ (123 primitiveFail)
+ (124 primitiveLowSpaceSemaphore)
+ (125 primitiveSignalAtBytesLeft)
+
+ "Squeak Primitives Start Here"
+
+ "Squeak Miscellaneous Primitives (128-149)"
+ (126 primitiveDeferDisplayUpdates)
+ (127 primitiveShowDisplayRect)
+ (128 primitiveArrayBecome)
+ (129 primitiveSpecialObjectsOop)
+ (130 primitiveFullGC)
+ (131 primitiveIncrementalGC)
+ (132 primitiveObjectPointsTo)
+ (133 primitiveSetInterruptKey)
+ (134 primitiveInterruptSemaphore)
+ (135 primitiveMillisecondClock)
+ (136 primitiveSignalAtMilliseconds)
+ (137 primitiveSecondsClock)
+ (138 primitiveSomeObject)
+ (139 primitiveNextObject)
+ (140 primitiveBeep)
+ (141 primitiveClipboardText)
+ (142 primitiveVMPath)
+ (143 primitiveShortAt)
+ (144 primitiveShortAtPut)
+ (145 primitiveConstantFill)
+ (146 primitiveReadJoystick)
+ (147 primitiveWarpBits)
+ (148 primitiveClone)
+ (149 primitiveGetAttribute)
+
+ "File Primitives (150-169)"
+ (150 primitiveFileAtEnd)
+ (151 primitiveFileClose)
+ (152 primitiveFileGetPosition)
+ (153 primitiveFileOpen)
+ (154 primitiveFileRead)
+ (155 primitiveFileSetPosition)
+ (156 primitiveFileDelete)
+ (157 primitiveFileSize)
+ (158 primitiveFileWrite)
+ (159 primitiveFileRename)
+ (160 primitiveDirectoryCreate)
+ (161 primitiveDirectoryDelimitor)
+ (162 primitiveDirectoryLookup)
+ (163 primitiveDirectoryDelete)
+ (164 168 primitiveFail)
+ (169 primitiveDirectorySetMacTypeAndCreator)
+
+ "Sound Primitives (170-199)"
+ (170 primitiveSoundStart)
+ (171 primitiveSoundStartWithSemaphore)
+ (172 primitiveSoundStop)
+ (173 primitiveSoundAvailableSpace)
+ (174 primitiveSoundPlaySamples)
+ (175 primitiveSoundPlaySilence) "obsolete; will be removed in the future"
+ (176 primWaveTableSoundmixSampleCountintostartingAtpan)
+ (177 primFMSoundmixSampleCountintostartingAtpan)
+ (178 primPluckedSoundmixSampleCountintostartingAtpan)
+ (179 primSampledSoundmixSampleCountintostartingAtpan)
+ (180 primFMSoundmixSampleCountintostartingAtleftVolrightVol)
+ (181 primPluckedSoundmixSampleCountintostartingAtleftVolrightVol)
+ (182 oldprimSampledSoundmixSampleCountintostartingAtleftVolrightVol)
+ (183 primReverbSoundapplyReverbTostartingAtcount)
+ (184 primLoopedSampledSoundmixSampleCountintostartingAtleftVolrightVol)
+ (185 primSampledSoundmixSampleCountintostartingAtleftVolrightVol)
+ (186 188 primitiveFail)
+ (189 primitiveSoundInsertSamples)
+ (190 primitiveSoundStartRecording)
+ (191 primitiveSoundStopRecording)
+ (192 primitiveSoundGetRecordingSampleRate)
+ (193 primitiveSoundRecordSamples)
+ (194 primitiveSoundSetRecordLevel)
+ (195 199 primitiveFail)
+
+ "Networking Primitives (200-229)"
+ (200 primitiveInitializeNetwork)
+ (201 primitiveResolverStartNameLookup)
+ (202 primitiveResolverNameLookupResult)
+ (203 primitiveResolverStartAddressLookup)
+ (204 primitiveResolverAddressLookupResult)
+ (205 primitiveResolverAbortLookup)
+ (206 primitiveResolverLocalAddress)
+ (207 primitiveResolverStatus)
+ (208 primitiveResolverError)
+ (209 primitiveSocketCreate)
+ (210 primitiveSocketDestroy)
+ (211 primitiveSocketConnectionStatus)
+ (212 primitiveSocketError)
+ (213 primitiveSocketLocalAddress)
+ (214 primitiveSocketLocalPort)
+ (215 primitiveSocketRemoteAddress)
+ (216 primitiveSocketRemotePort)
+ (217 primitiveSocketConnectToPort)
+ (218 primitiveSocketListenOnPort)
+ (219 primitiveSocketCloseConnection)
+ (220 primitiveSocketAbortConnection)
+ (221 primitiveSocketReceiveDataBufCount)
+ (222 primitiveSocketReceiveDataAvailable)
+ (223 primitiveSocketSendDataBufCount)
+ (224 primitiveSocketSendDone)
+ (225 primitiveSocketAccept)
+ (226 229 primitiveFail)
+
+ "Other Primitives (230-249)"
+ (230 primitiveRelinquishProcessor)
+ (231 primitiveForceDisplayUpdate)
+ (232 primitiveFormPrint)
+ (233 primitiveSetFullScreen)
+ (234 primBitmapdecompressfromByteArrayat)
+ (235 primStringcomparewithcollated)
+ (236 primSampledSoundconvert8bitSignedFromto16Bit)
+ (237 primBitmapcompresstoByteArray)
+ (238 primitiveSerialPortOpen)
+ (239 primitiveSerialPortClose)
+ (240 primitiveSerialPortWrite)
+ (241 primitiveSerialPortRead)
+ (242 primitiveFail)
+ (243 primStringtranslatefromtotable)
+ (244 primStringfindFirstInStringinSetstartingAt)
+ (245 primStringindexOfAsciiinStringstartingAt)
+ (246 primStringfindSubstringinstartingAtmatchTable)
+ (247 249 primitiveFail)
+
+ "VM Implementor Primitives (250-255)"
+ (250 clearProfile)
+ (251 dumpProfile)
+ (252 startProfiling)
+ (253 stopProfiling)
+ (254 primitiveVMParameter)
+ (255 primitiveInstVarsPutFromStack) "Never used except in Disney tests.  Remove after 2.3 release."
+
+ "Quick Push Const Methods"
+ (256 primitivePushSelf)
+ (257 primitivePushTrue)
+ (258 primitivePushFalse)
+ (259 primitivePushNil)
+ (260 primitivePushMinusOne)
+ (261 primitivePushZero)
+ (262 primitivePushOne)
+ (263 primitivePushTwo)
+
+ "Quick Push Const Methods"
+ (264 519 primitiveLoadInstVar)
+
+ "MIDI Primitives (520-539)"
+ (520 primitiveFail)
+ (521 primitiveMIDIClosePort)
+ (522 primitiveMIDIGetClock)
+ (523 primitiveMIDIGetPortCount)
+ (524 primitiveMIDIGetPortDirectionality)
+ (525 primitiveMIDIGetPortName)
+ (526 primitiveMIDIOpenPort)
+ (527 primitiveMIDIParameterGetOrSet)
+ (528 primitiveMIDIRead)
+ (529 primitiveMIDIWrite)
+ (530 539 primitiveFail)  "reserved for extended MIDI primitives"
+
+ "Experimental Asynchrous File Primitives"
+ (540 primitiveAsyncFileClose)
+ (541 primitiveAsyncFileOpen)
+ (542 primitiveAsyncFileReadResult)
+ (543 primitiveAsyncFileReadStart)
+ (544 primitiveAsyncFileWriteResult)
+ (545 primitiveAsyncFileWriteStart)
+ (546 547 primitiveFail)
+
+ "Pen Tablet Primitives"
+ (548 primitiveGetTabletParameters)
+ (549 primitiveReadTablet)
+
+ "Sound Codec Primitives"
+ (550 primADPCMCodecprivateDecodeMono)
+ (551 primADPCMCodecprivateDecodeStereo)
+ (552 primADPCMCodecprivateEncodeMono)
+ (553 primADPCMCodecprivateEncodeStereo)
+ (554 569 primitiveFail)  "reserved for additional codec primitives"
+
+ "Unassigned Primitives"
+ (570 700 primitiveFail)).
+ !

Item was added:
+ ----- Method: PrimitiveTableHistory class>>initializePrimitiveTable20000906tpr (in category 'initialization history') -----
+ initializePrimitiveTable20000906tpr
+ "From changes file of Squeak 2.8"
+ "!!Interpreter class methodsFor: 'initialization' stamp: 'TPR 5/23/2000 22:02'!!
+ initializePrimitiveTable "
+ "This table generates a C switch statement for primitive dispatching."
+
+ "NOTE: The real limit here is 2047, but our C compiler currently barfs over 700"
+ MaxPrimitiveIndex _ 700.
+ PrimitiveTable _ Array new: MaxPrimitiveIndex + 1.
+ self table: PrimitiveTable from:
+ #( "Integer Primitives (0-19)"
+ (0 primitiveFail)
+ (1 primitiveAdd)
+ (2 primitiveSubtract)
+ (3 primitiveLessThan)
+ (4 primitiveGreaterThan)
+ (5 primitiveLessOrEqual)
+ (6 primitiveGreaterOrEqual)
+ (7 primitiveEqual)
+ (8 primitiveNotEqual)
+ (9 primitiveMultiply)
+ (10 primitiveDivide)
+ (11 primitiveMod)
+ (12 primitiveDiv)
+ (13 primitiveQuo)
+ (14 primitiveBitAnd)
+ (15 primitiveBitOr)
+ (16 primitiveBitXor)
+ (17 primitiveBitShift)
+ (18 primitiveMakePoint)
+ (19 primitiveFail) "Guard primitive for simulation -- *must* fail"
+
+ "LargeInteger Primitives (20-39)"
+ "32-bit logic is aliased to Integer prims above"
+ (20 39 primitiveFail)
+
+ "Float Primitives (40-59)"
+ (40 primitiveAsFloat)
+ (41 primitiveFloatAdd)
+ (42 primitiveFloatSubtract)
+ (43 primitiveFloatLessThan)
+ (44 primitiveFloatGreaterThan)
+ (45 primitiveFloatLessOrEqual)
+ (46 primitiveFloatGreaterOrEqual)
+ (47 primitiveFloatEqual)
+ (48 primitiveFloatNotEqual)
+ (49 primitiveFloatMultiply)
+ (50 primitiveFloatDivide)
+ (51 primitiveTruncated)
+ (52 primitiveFractionalPart)
+ (53 primitiveExponent)
+ (54 primitiveTimesTwoPower)
+ (55 primitiveSquareRoot)
+ (56 primitiveSine)
+ (57 primitiveArctan)
+ (58 primitiveLogN)
+ (59 primitiveExp)
+
+ "Subscript and Stream Primitives (60-67)"
+ (60 primitiveAt)
+ (61 primitiveAtPut)
+ (62 primitiveSize)
+ (63 primitiveStringAt)
+ (64 primitiveStringAtPut)
+ (65 primitiveNext)
+ (66 primitiveNextPut)
+ (67 primitiveAtEnd)
+
+ "StorageManagement Primitives (68-79)"
+ (68 primitiveObjectAt)
+ (69 primitiveObjectAtPut)
+ (70 primitiveNew)
+ (71 primitiveNewWithArg)
+ (72 primitiveArrayBecomeOneWay) "Blue Book: primitiveBecome"
+ (73 primitiveInstVarAt)
+ (74 primitiveInstVarAtPut)
+ (75 primitiveAsOop)
+ (76 primitiveStoreStackp) "Blue Book: primitiveAsObject"
+ (77 primitiveSomeInstance)
+ (78 primitiveNextInstance)
+ (79 primitiveNewMethod)
+
+ "Control Primitives (80-89)"
+ (80 primitiveBlockCopy)
+ (81 primitiveValue)
+ (82 primitiveValueWithArgs)
+ (83 primitivePerform)
+ (84 primitivePerformWithArgs)
+ (85 primitiveSignal)
+ (86 primitiveWait)
+ (87 primitiveResume)
+ (88 primitiveSuspend)
+ (89 primitiveFlushCache)
+
+ "Input/Output Primitives (90-109)"
+ (90 primitiveMousePoint)
+ (91 primitiveTestDisplayDepth) "Blue Book: primitiveCursorLocPut"
+ (92 primitiveSetDisplayMode) "Blue Book: primitiveCursorLink"
+ (93 primitiveInputSemaphore)
+ (94 primitiveFail) "Blue Book: primitiveSampleInterval"
+ (95 primitiveInputWord)
+ (96 primitiveObsoleteIndexedPrimitive) "primitiveCopyBits"
+ (97 primitiveSnapshot)
+ (98 primitiveStoreImageSegment)
+ (99 primitiveLoadImageSegment)
+ (100 primitivePerformInSuperclass) "Blue Book: primitiveSignalAtTick"
+ (101 primitiveBeCursor)
+ (102 primitiveBeDisplay)
+ (103 primitiveScanCharacters)
+ (104 primitiveObsoleteIndexedPrimitive) "primitiveDrawLoop"
+ (105 primitiveStringReplace)
+ (106 primitiveScreenSize)
+ (107 primitiveMouseButtons)
+ (108 primitiveKbdNext)
+ (109 primitiveKbdPeek)
+
+ "System Primitives (110-119)"
+ (110 primitiveEquivalent)
+ (111 primitiveClass)
+ (112 primitiveBytesLeft)
+ (113 primitiveQuit)
+ (114 primitiveExitToDebugger)
+ (115 primitiveFail) "Blue Book: primitiveOopsLeft"
+ (116 primitiveFlushCacheByMethod)
+ (117 primitiveExternalCall)
+ (118 primitiveDoPrimitiveWithArgs)
+ (119 primitiveFlushCacheSelective)
+ "Squeak 2.2 and earlier use 119.  Squeak 2.3 and later use 116.
+ Both are supported for backward compatibility."
+
+ "Miscellaneous Primitives (120-127)"
+ (120 primitiveCalloutToFFI)
+ (121 primitiveImageName)
+ (122 primitiveNoop) "Blue Book: primitiveImageVolume"
+ (123 primitiveFail)
+ (124 primitiveLowSpaceSemaphore)
+ (125 primitiveSignalAtBytesLeft)
+
+ "Squeak Primitives Start Here"
+
+ "Squeak Miscellaneous Primitives (128-149)"
+ (126 primitiveDeferDisplayUpdates)
+ (127 primitiveShowDisplayRect)
+ (128 primitiveArrayBecome)
+ (129 primitiveSpecialObjectsOop)
+ (130 primitiveFullGC)
+ (131 primitiveIncrementalGC)
+ (132 primitiveObjectPointsTo)
+ (133 primitiveSetInterruptKey)
+ (134 primitiveInterruptSemaphore)
+ (135 primitiveMillisecondClock)
+ (136 primitiveSignalAtMilliseconds)
+ (137 primitiveSecondsClock)
+ (138 primitiveSomeObject)
+ (139 primitiveNextObject)
+ (140 primitiveBeep)
+ (141 primitiveClipboardText)
+ (142 primitiveVMPath)
+ (143 primitiveShortAt)
+ (144 primitiveShortAtPut)
+ (145 primitiveConstantFill)
+ (146 primitiveObsoleteIndexedPrimitive) "primitiveReadJoystick"
+ (147 primitiveObsoleteIndexedPrimitive) "primitiveWarpBits"
+ (148 primitiveClone)
+ (149 primitiveGetAttribute)
+
+ "File Primitives (150-169)"
+ (150 163 primitiveObsoleteIndexedPrimitive)
+ (164 168 primitiveFail)
+ (169 primitiveObsoleteIndexedPrimitive)
+
+ "Sound Primitives (170-199)"
+ (170 175 primitiveObsoleteIndexedPrimitive)
+ (176 primWaveTableSoundmixSampleCountintostartingAtpan)
+ (177 primFMSoundmixSampleCountintostartingAtpan)
+ (178 primPluckedSoundmixSampleCountintostartingAtpan)
+ (179 primSampledSoundmixSampleCountintostartingAtpan)
+ (180 primFMSoundmixSampleCountintostartingAtleftVolrightVol)
+ (181 primPluckedSoundmixSampleCountintostartingAtleftVolrightVol)
+ (182 oldprimSampledSoundmixSampleCountintostartingAtleftVolrightVol)
+ (183 primReverbSoundapplyReverbTostartingAtcount)
+ (184 primLoopedSampledSoundmixSampleCountintostartingAtleftVolrightVol)
+ (185 primSampledSoundmixSampleCountintostartingAtleftVolrightVol)
+
+ (186 188 primitiveFail)
+ (189 194 primitiveObsoleteIndexedPrimitive)
+ (195 199 primitiveFail)
+
+ "Networking Primitives (200-229)"
+ (200 225 primitiveObsoleteIndexedPrimitive)
+ (226 229 primitiveFail)
+
+ "Other Primitives (230-249)"
+ (230 primitiveRelinquishProcessor)
+ (231 primitiveForceDisplayUpdate)
+ (232 primitiveFormPrint)
+ (233 primitiveSetFullScreen)
+ (234 primBitmapdecompressfromByteArrayat)
+ (235 primStringcomparewithcollated)
+ (236 primSampledSoundconvert8bitSignedFromto16Bit)
+ (237 primBitmapcompresstoByteArray)
+ (238 241 primitiveObsoleteIndexedPrimitive)
+ (242 primitiveFail)
+ (243 primStringtranslatefromtotable)
+ (244 primStringfindFirstInStringinSetstartingAt)
+ (245 primStringindexOfAsciiinStringstartingAt)
+ (246 primStringfindSubstringinstartingAtmatchTable)
+ (247 249 primitiveFail)
+
+ "VM Implementor Primitives (250-255)"
+ (250 clearProfile)
+ (251 dumpProfile)
+ (252 startProfiling)
+ (253 stopProfiling)
+ (254 primitiveVMParameter)
+ (255 primitiveInstVarsPutFromStack) "Never used except in Disney tests.  Remove after 2.3 release."
+
+ "Quick Push Const Methods"
+ (256 primitivePushSelf)
+ (257 primitivePushTrue)
+ (258 primitivePushFalse)
+ (259 primitivePushNil)
+ (260 primitivePushMinusOne)
+ (261 primitivePushZero)
+ (262 primitivePushOne)
+ (263 primitivePushTwo)
+
+ "Quick Push Const Methods"
+ (264 519 primitiveLoadInstVar)
+
+ "MIDI Primitives (520-539)"
+ (520 529 primitiveObsoleteIndexedPrimitive)
+ (530 539 primitiveFail)  "reserved for extended MIDI primitives"
+
+ "Experimental Asynchrous File Primitives"
+ (540 545 primitiveObsoleteIndexedPrimitive)
+ (546 547 primitiveFail)
+
+ "Pen Tablet Primitives"
+ (548 primitiveObsoleteIndexedPrimitive)
+ (549 primitiveObsoleteIndexedPrimitive)
+
+ "Sound Codec Primitives"
+ (550 primADPCMCodecprivateDecodeMono)
+ (551 primADPCMCodecprivateDecodeStereo)
+ (552 primADPCMCodecprivateEncodeMono)
+ (553 primADPCMCodecprivateEncodeStereo)
+ (554 569 primitiveFail)  "reserved for additional codec primitives"
+
+ "External primitive support primitives"
+ (570 primitiveFlushExternalPrimitives)
+ (571 primitiveUnloadModule)
+ (572 primitiveListBuiltinModule)
+ (573 primitiveListExternalModule)
+ (574 primitiveFail) "reserved for addl. external support prims"
+
+ "Unassigned Primitives"
+ (575 700 primitiveFail)).
+ !

Item was added:
+ ----- Method: PrimitiveTableHistory class>>initializePrimitiveTable20010203ar (in category 'initialization history') -----
+ initializePrimitiveTable20010203ar
+ "From sources file of Squeak 3.0"
+ "!!Interpreter class methodsFor: 'initialization' stamp: 'ar 2/3/2001 16:22'!!
+ initializePrimitiveTable "
+ "This table generates a C switch statement for primitive dispatching."
+
+ "NOTE: The real limit here is 2047, but our C compiler currently barfs over 700"
+ MaxPrimitiveIndex _ 700.
+ PrimitiveTable _ Array new: MaxPrimitiveIndex + 1.
+ self table: PrimitiveTable from:
+ #( "Integer Primitives (0-19)"
+ (0 primitiveFail)
+ (1 primitiveAdd)
+ (2 primitiveSubtract)
+ (3 primitiveLessThan)
+ (4 primitiveGreaterThan)
+ (5 primitiveLessOrEqual)
+ (6 primitiveGreaterOrEqual)
+ (7 primitiveEqual)
+ (8 primitiveNotEqual)
+ (9 primitiveMultiply)
+ (10 primitiveDivide)
+ (11 primitiveMod)
+ (12 primitiveDiv)
+ (13 primitiveQuo)
+ (14 primitiveBitAnd)
+ (15 primitiveBitOr)
+ (16 primitiveBitXor)
+ (17 primitiveBitShift)
+ (18 primitiveMakePoint)
+ (19 primitiveFail) "Guard primitive for simulation -- *must* fail"
+
+ "LargeInteger Primitives (20-39)"
+ "32-bit logic is aliased to Integer prims above"
+ (20 39 primitiveFail)
+
+ "Float Primitives (40-59)"
+ (40 primitiveAsFloat)
+ (41 primitiveFloatAdd)
+ (42 primitiveFloatSubtract)
+ (43 primitiveFloatLessThan)
+ (44 primitiveFloatGreaterThan)
+ (45 primitiveFloatLessOrEqual)
+ (46 primitiveFloatGreaterOrEqual)
+ (47 primitiveFloatEqual)
+ (48 primitiveFloatNotEqual)
+ (49 primitiveFloatMultiply)
+ (50 primitiveFloatDivide)
+ (51 primitiveTruncated)
+ (52 primitiveFractionalPart)
+ (53 primitiveExponent)
+ (54 primitiveTimesTwoPower)
+ (55 primitiveSquareRoot)
+ (56 primitiveSine)
+ (57 primitiveArctan)
+ (58 primitiveLogN)
+ (59 primitiveExp)
+
+ "Subscript and Stream Primitives (60-67)"
+ (60 primitiveAt)
+ (61 primitiveAtPut)
+ (62 primitiveSize)
+ (63 primitiveStringAt)
+ (64 primitiveStringAtPut)
+ (65 primitiveNext)
+ (66 primitiveNextPut)
+ (67 primitiveAtEnd)
+
+ "StorageManagement Primitives (68-79)"
+ (68 primitiveObjectAt)
+ (69 primitiveObjectAtPut)
+ (70 primitiveNew)
+ (71 primitiveNewWithArg)
+ (72 primitiveArrayBecomeOneWay) "Blue Book: primitiveBecome"
+ (73 primitiveInstVarAt)
+ (74 primitiveInstVarAtPut)
+ (75 primitiveAsOop)
+ (76 primitiveStoreStackp) "Blue Book: primitiveAsObject"
+ (77 primitiveSomeInstance)
+ (78 primitiveNextInstance)
+ (79 primitiveNewMethod)
+
+ "Control Primitives (80-89)"
+ (80 primitiveBlockCopy)
+ (81 primitiveValue)
+ (82 primitiveValueWithArgs)
+ (83 primitivePerform)
+ (84 primitivePerformWithArgs)
+ (85 primitiveSignal)
+ (86 primitiveWait)
+ (87 primitiveResume)
+ (88 primitiveSuspend)
+ (89 primitiveFlushCache)
+
+ "Input/Output Primitives (90-109)"
+ (90 primitiveMousePoint)
+ (91 primitiveTestDisplayDepth) "Blue Book: primitiveCursorLocPut"
+ (92 primitiveSetDisplayMode) "Blue Book: primitiveCursorLink"
+ (93 primitiveInputSemaphore)
+ (94 primitiveGetNextEvent) "Blue Book: primitiveSampleInterval"
+ (95 primitiveInputWord)
+ (96 primitiveObsoleteIndexedPrimitive) "primitiveCopyBits"
+ (97 primitiveSnapshot)
+ (98 primitiveStoreImageSegment)
+ (99 primitiveLoadImageSegment)
+ (100 primitivePerformInSuperclass) "Blue Book: primitiveSignalAtTick"
+ (101 primitiveBeCursor)
+ (102 primitiveBeDisplay)
+ (103 primitiveScanCharacters)
+ (104 primitiveObsoleteIndexedPrimitive) "primitiveDrawLoop"
+ (105 primitiveStringReplace)
+ (106 primitiveScreenSize)
+ (107 primitiveMouseButtons)
+ (108 primitiveKbdNext)
+ (109 primitiveKbdPeek)
+
+ "System Primitives (110-119)"
+ (110 primitiveEquivalent)
+ (111 primitiveClass)
+ (112 primitiveBytesLeft)
+ (113 primitiveQuit)
+ (114 primitiveExitToDebugger)
+ (115 primitiveFail) "Blue Book: primitiveOopsLeft"
+ (116 primitiveFlushCacheByMethod)
+ (117 primitiveExternalCall)
+ (118 primitiveDoPrimitiveWithArgs)
+ (119 primitiveFlushCacheSelective)
+ "Squeak 2.2 and earlier use 119.  Squeak 2.3 and later use 116.
+ Both are supported for backward compatibility."
+
+ "Miscellaneous Primitives (120-127)"
+ (120 primitiveCalloutToFFI)
+ (121 primitiveImageName)
+ (122 primitiveNoop) "Blue Book: primitiveImageVolume"
+ (123 primitiveFail)
+ (124 primitiveLowSpaceSemaphore)
+ (125 primitiveSignalAtBytesLeft)
+
+ "Squeak Primitives Start Here"
+
+ "Squeak Miscellaneous Primitives (128-149)"
+ (126 primitiveDeferDisplayUpdates)
+ (127 primitiveShowDisplayRect)
+ (128 primitiveArrayBecome)
+ (129 primitiveSpecialObjectsOop)
+ (130 primitiveFullGC)
+ (131 primitiveIncrementalGC)
+ (132 primitiveObjectPointsTo)
+ (133 primitiveSetInterruptKey)
+ (134 primitiveInterruptSemaphore)
+ (135 primitiveMillisecondClock)
+ (136 primitiveSignalAtMilliseconds)
+ (137 primitiveSecondsClock)
+ (138 primitiveSomeObject)
+ (139 primitiveNextObject)
+ (140 primitiveBeep)
+ (141 primitiveClipboardText)
+ (142 primitiveVMPath)
+ (143 primitiveShortAt)
+ (144 primitiveShortAtPut)
+ (145 primitiveConstantFill)
+ (146 primitiveObsoleteIndexedPrimitive) "primitiveReadJoystick"
+ (147 primitiveObsoleteIndexedPrimitive) "primitiveWarpBits"
+ (148 primitiveClone)
+ (149 primitiveGetAttribute)
+
+ "File Primitives (150-169) - NO LONGER INDEXED"
+ (150 164 primitiveObsoleteIndexedPrimitive)
+ (165 168 primitiveFail)
+ (169 primitiveObsoleteIndexedPrimitive)
+
+ "Sound Primitives (170-199) - NO LONGER INDEXED"
+ (170 185 primitiveObsoleteIndexedPrimitive)
+ (186 188 primitiveFail)
+ (189 194 primitiveObsoleteIndexedPrimitive)
+ (195 199 primitiveFail)
+
+ "Networking Primitives (200-229) - NO LONGER INDEXED"
+ (200 225 primitiveObsoleteIndexedPrimitive)
+ (226 229 primitiveFail)
+
+ "Other Primitives (230-249)"
+ (230 primitiveRelinquishProcessor)
+ (231 primitiveForceDisplayUpdate)
+ (232 primitiveFormPrint)
+ (233 primitiveSetFullScreen)
+ (234 primitiveObsoleteIndexedPrimitive) "primBitmapdecompressfromByteArrayat"
+ (235 primitiveObsoleteIndexedPrimitive) "primStringcomparewithcollated"
+ (236 primitiveObsoleteIndexedPrimitive) "primSampledSoundconvert8bitSignedFromto16Bit"
+ (237 primitiveObsoleteIndexedPrimitive) "primBitmapcompresstoByteArray"
+ (238 241 primitiveObsoleteIndexedPrimitive) "serial port primitives"
+ (242 primitiveFail)
+ (243 primitiveObsoleteIndexedPrimitive) "primStringtranslatefromtotable"
+ (244 primitiveObsoleteIndexedPrimitive) "primStringfindFirstInStringinSetstartingAt"
+ (245 primitiveObsoleteIndexedPrimitive) "primStringindexOfAsciiinStringstartingAt"
+ (246 primitiveObsoleteIndexedPrimitive) "primStringfindSubstringinstartingAtmatchTable"
+ (247 primitiveSnapshotEmbedded)
+ (248 249 primitiveFail)
+
+ "VM Implementor Primitives (250-255)"
+ (250 clearProfile)
+ (251 dumpProfile)
+ (252 startProfiling)
+ (253 stopProfiling)
+ (254 primitiveVMParameter)
+ (255 primitiveInstVarsPutFromStack) "Never used except in Disney tests.  Remove after 2.3 release."
+
+ "Quick Push Const Methods"
+ (256 primitivePushSelf)
+ (257 primitivePushTrue)
+ (258 primitivePushFalse)
+ (259 primitivePushNil)
+ (260 primitivePushMinusOne)
+ (261 primitivePushZero)
+ (262 primitivePushOne)
+ (263 primitivePushTwo)
+
+ "Quick Push Const Methods"
+ (264 519 primitiveLoadInstVar)
+
+ "MIDI Primitives (520-539) - NO LONGER INDEXED"
+ (520 529 primitiveObsoleteIndexedPrimitive)
+ (530 539 primitiveFail)  "reserved for extended MIDI primitives"
+
+ "Experimental Asynchrous File Primitives - NO LONGER INDEXED"
+ (540 545 primitiveObsoleteIndexedPrimitive)
+ (546 547 primitiveFail)
+
+ "Pen Tablet Primitives - NO LONGER INDEXED"
+ (548 primitiveObsoleteIndexedPrimitive)
+ (549 primitiveObsoleteIndexedPrimitive)
+
+ "Sound Codec Primitives - NO LONGER INDEXED"
+ (550 553 primitiveObsoleteIndexedPrimitive)
+ (554 569 primitiveFail)
+
+ "External primitive support primitives"
+ (570 primitiveFlushExternalPrimitives)
+ (571 primitiveUnloadModule)
+ (572 primitiveListBuiltinModule)
+ (573 primitiveListExternalModule)
+ (574 primitiveFail) "reserved for addl. external support prims"
+
+ "Unassigned Primitives"
+ (575 700 primitiveFail)).
+ !

Item was added:
+ ----- Method: PrimitiveTableHistory class>>initializePrimitiveTable20040211tpr (in category 'initialization history') -----
+ initializePrimitiveTable20040211tpr
+ "This table generates a C switch statement for primitive dispatching."
+
+ "NOTE: The real limit here is 2047, but our C compiler currently barfs over 700"
+ MaxPrimitiveIndex _ 700.
+ PrimitiveTable _ Array new: MaxPrimitiveIndex + 1.
+ self table: PrimitiveTable from:
+ #( "Integer Primitives (0-19)"
+ (0 primitiveFail)
+ (1 primitiveAdd)
+ (2 primitiveSubtract)
+ (3 primitiveLessThan)
+ (4 primitiveGreaterThan)
+ (5 primitiveLessOrEqual)
+ (6 primitiveGreaterOrEqual)
+ (7 primitiveEqual)
+ (8 primitiveNotEqual)
+ (9 primitiveMultiply)
+ (10 primitiveDivide)
+ (11 primitiveMod)
+ (12 primitiveDiv)
+ (13 primitiveQuo)
+ (14 primitiveBitAnd)
+ (15 primitiveBitOr)
+ (16 primitiveBitXor)
+ (17 primitiveBitShift)
+ (18 primitiveMakePoint)
+ (19 primitiveFail) "Guard primitive for simulation -- *must* fail"
+
+ "LargeInteger Primitives (20-39)"
+ "32-bit logic is aliased to Integer prims above"
+ (20 39 primitiveFail)
+
+ "Float Primitives (40-59)"
+ (40 primitiveAsFloat)
+ (41 primitiveFloatAdd)
+ (42 primitiveFloatSubtract)
+ (43 primitiveFloatLessThan)
+ (44 primitiveFloatGreaterThan)
+ (45 primitiveFloatLessOrEqual)
+ (46 primitiveFloatGreaterOrEqual)
+ (47 primitiveFloatEqual)
+ (48 primitiveFloatNotEqual)
+ (49 primitiveFloatMultiply)
+ (50 primitiveFloatDivide)
+ (51 primitiveTruncated)
+ (52 primitiveFractionalPart)
+ (53 primitiveExponent)
+ (54 primitiveTimesTwoPower)
+ (55 primitiveSquareRoot)
+ (56 primitiveSine)
+ (57 primitiveArctan)
+ (58 primitiveLogN)
+ (59 primitiveExp)
+
+ "Subscript and Stream Primitives (60-67)"
+ (60 primitiveAt)
+ (61 primitiveAtPut)
+ (62 primitiveSize)
+ (63 primitiveStringAt)
+ (64 primitiveStringAtPut)
+ (65 primitiveNext)
+ (66 primitiveNextPut)
+ (67 primitiveAtEnd)
+
+ "StorageManagement Primitives (68-79)"
+ (68 primitiveObjectAt)
+ (69 primitiveObjectAtPut)
+ (70 primitiveNew)
+ (71 primitiveNewWithArg)
+ (72 primitiveArrayBecomeOneWay) "Blue Book: primitiveBecome"
+ (73 primitiveInstVarAt)
+ (74 primitiveInstVarAtPut)
+ (75 primitiveAsOop)
+ (76 primitiveStoreStackp) "Blue Book: primitiveAsObject"
+ (77 primitiveSomeInstance)
+ (78 primitiveNextInstance)
+ (79 primitiveNewMethod)
+
+ "Control Primitives (80-89)"
+ (80 primitiveBlockCopy)
+ (81 primitiveValue)
+ (82 primitiveValueWithArgs)
+ (83 primitivePerform)
+ (84 primitivePerformWithArgs)
+ (85 primitiveSignal)
+ (86 primitiveWait)
+ (87 primitiveResume)
+ (88 primitiveSuspend)
+ (89 primitiveFlushCache)
+
+ "Input/Output Primitives (90-109)"
+ (90 primitiveMousePoint)
+ (91 primitiveTestDisplayDepth) "Blue Book: primitiveCursorLocPut"
+ (92 primitiveSetDisplayMode) "Blue Book: primitiveCursorLink"
+ (93 primitiveInputSemaphore)
+ (94 primitiveGetNextEvent) "Blue Book: primitiveSampleInterval"
+ (95 primitiveInputWord)
+ (96 primitiveObsoleteIndexedPrimitive) "primitiveCopyBits"
+ (97 primitiveSnapshot)
+ (98 primitiveStoreImageSegment)
+ (99 primitiveLoadImageSegment)
+ (100 primitivePerformInSuperclass) "Blue Book: primitiveSignalAtTick"
+ (101 primitiveBeCursor)
+ (102 primitiveBeDisplay)
+ (103 primitiveScanCharacters)
+ (104 primitiveObsoleteIndexedPrimitive) "primitiveDrawLoop"
+ (105 primitiveStringReplace)
+ (106 primitiveScreenSize)
+ (107 primitiveMouseButtons)
+ (108 primitiveKbdNext)
+ (109 primitiveKbdPeek)
+
+ "System Primitives (110-119)"
+ (110 primitiveEquivalent)
+ (111 primitiveClass)
+ (112 primitiveBytesLeft)
+ (113 primitiveQuit)
+ (114 primitiveExitToDebugger)
+ (115 primitiveChangeClass) "Blue Book: primitiveOopsLeft"
+ (116 primitiveFlushCacheByMethod)
+ (117 primitiveExternalCall)
+ (118 primitiveDoPrimitiveWithArgs)
+ (119 primitiveFlushCacheSelective)
+ "Squeak 2.2 and earlier use 119.  Squeak 2.3 and later use 116.
+ Both are supported for backward compatibility."
+
+ "Miscellaneous Primitives (120-127)"
+ (120 primitiveCalloutToFFI)
+ (121 primitiveImageName)
+ (122 primitiveNoop) "Blue Book: primitiveImageVolume"
+ (123 primitiveValueUninterruptably) "@@@: Remove this when all VMs have support"
+ (124 primitiveLowSpaceSemaphore)
+ (125 primitiveSignalAtBytesLeft)
+
+ "Squeak Primitives Start Here"
+
+ "Squeak Miscellaneous Primitives (128-149)"
+ (126 primitiveDeferDisplayUpdates)
+ (127 primitiveShowDisplayRect)
+ (128 primitiveArrayBecome)
+ (129 primitiveSpecialObjectsOop)
+ (130 primitiveFullGC)
+ (131 primitiveIncrementalGC)
+ (132 primitiveObjectPointsTo)
+ (133 primitiveSetInterruptKey)
+ (134 primitiveInterruptSemaphore)
+ (135 primitiveMillisecondClock)
+ (136 primitiveSignalAtMilliseconds)
+ (137 primitiveSecondsClock)
+ (138 primitiveSomeObject)
+ (139 primitiveNextObject)
+ (140 primitiveBeep)
+ (141 primitiveClipboardText)
+ (142 primitiveVMPath)
+ (143 primitiveShortAt)
+ (144 primitiveShortAtPut)
+ (145 primitiveConstantFill)
+ "NOTE: When removing the obsolete indexed primitives,
+ the following two should go become #primitiveIntegerAt / atPut"
+ (146 primitiveObsoleteIndexedPrimitive) "primitiveReadJoystick"
+ (147 primitiveObsoleteIndexedPrimitive) "primitiveWarpBits"
+ (148 primitiveClone)
+ (149 primitiveGetAttribute)
+
+ "File Primitives (150-169) - NO LONGER INDEXED"
+ (150 164 primitiveObsoleteIndexedPrimitive)
+ (165 primitiveIntegerAt) "hacked in here for now"
+ (166 primitiveIntegerAtPut)
+ (167 primitiveYield)
+ (168 primitiveCopyObject)
+ (169 primitiveObsoleteIndexedPrimitive)
+
+ "Sound Primitives (170-199) - NO LONGER INDEXED"
+ (170 185 primitiveObsoleteIndexedPrimitive)
+
+ "Closure primitives"
+ (186 primitiveClosureValue)
+ (187 primitiveClosureValueWithArgs)
+ (188 primitiveExecuteMethod)
+
+ "Sound Primitives (continued) - NO LONGER INDEXED"
+ (189 194 primitiveObsoleteIndexedPrimitive)
+
+ "Unwind primitives"
+ (195 primitiveFindNextUnwindContext)
+ (196 primitiveTerminateTo)
+ (197 primitiveFindHandlerContext)
+ (198 primitiveMarkUnwindMethod)
+ (199 primitiveMarkHandlerMethod)
+
+ "Networking Primitives (200-229) - NO LONGER INDEXED"
+ (200 225 primitiveObsoleteIndexedPrimitive)
+ (226 229 primitiveFail)
+
+ "Other Primitives (230-249)"
+ (230 primitiveRelinquishProcessor)
+ (231 primitiveForceDisplayUpdate)
+ (232 primitiveFormPrint)
+ (233 primitiveSetFullScreen)
+ (234 primitiveObsoleteIndexedPrimitive) "primBitmapdecompressfromByteArrayat"
+ (235 primitiveObsoleteIndexedPrimitive) "primStringcomparewithcollated"
+ (236 primitiveObsoleteIndexedPrimitive) "primSampledSoundconvert8bitSignedFromto16Bit"
+ (237 primitiveObsoleteIndexedPrimitive) "primBitmapcompresstoByteArray"
+ (238 241 primitiveObsoleteIndexedPrimitive) "serial port primitives"
+ (242 primitiveFail)
+ (243 primitiveObsoleteIndexedPrimitive) "primStringtranslatefromtotable"
+ (244 primitiveObsoleteIndexedPrimitive) "primStringfindFirstInStringinSetstartingAt"
+ (245 primitiveObsoleteIndexedPrimitive) "primStringindexOfAsciiinStringstartingAt"
+ (246 primitiveObsoleteIndexedPrimitive) "primStringfindSubstringinstartingAtmatchTable"
+ (247 primitiveSnapshotEmbedded)
+ (248 primitiveInvokeObjectAsMethod)
+ (249 primitiveArrayBecomeOneWayCopyHash)
+
+ "VM Implementor Primitives (250-255)"
+ (250 clearProfile)
+ (251 dumpProfile)
+ (252 startProfiling)
+ (253 stopProfiling)
+ (254 primitiveVMParameter)
+ (255 primitiveInstVarsPutFromStack) "Never used except in Disney tests.  Remove after 2.3 release."
+
+ "Quick Push Const Methods"
+ (256 primitivePushSelf)
+ (257 primitivePushTrue)
+ (258 primitivePushFalse)
+ (259 primitivePushNil)
+ (260 primitivePushMinusOne)
+ (261 primitivePushZero)
+ (262 primitivePushOne)
+ (263 primitivePushTwo)
+
+ "Quick Push Const Methods"
+ (264 519 primitiveLoadInstVar)
+
+ "MIDI Primitives (520-539) - NO LONGER INDEXED"
+ (520 529 primitiveObsoleteIndexedPrimitive)
+ (530 539 primitiveFail)  "reserved for extended MIDI primitives"
+
+ "Experimental Asynchrous File Primitives - NO LONGER INDEXED"
+ (540 545 primitiveObsoleteIndexedPrimitive)
+ (546 547 primitiveFail)
+
+ "Pen Tablet Primitives - NO LONGER INDEXED"
+ (548 primitiveObsoleteIndexedPrimitive)
+ (549 primitiveObsoleteIndexedPrimitive)
+
+ "Sound Codec Primitives - NO LONGER INDEXED"
+ (550 553 primitiveObsoleteIndexedPrimitive)
+ (554 569 primitiveFail)
+
+ "External primitive support primitives"
+ (570 primitiveFlushExternalPrimitives)
+ (571 primitiveUnloadModule)
+ (572 primitiveListBuiltinModule)
+ (573 primitiveListExternalModule)
+ (574 primitiveFail) "reserved for addl. external support prims"
+
+ "Unassigned Primitives"
+ (575 700 primitiveFail)).
+ !

Item was added:
+ ----- Method: PrimitiveTableHistory class>>initializePrimitiveTable20040324tpr (in category 'initialization history') -----
+ initializePrimitiveTable20040324tpr
+ "This table generates a C function address table use in primitiveResponse along with dispatchFunctionPointerOn:in:"
+
+ "NOTE: The real limit here is 2047 because of the method header layout but there is no point in going over the needed size"
+ MaxPrimitiveIndex _ 575.
+ PrimitiveTable _ Array new: MaxPrimitiveIndex + 1.
+ self table: PrimitiveTable from:
+ #( "Integer Primitives (0-19)"
+ (0 primitiveFail)
+ (1 primitiveAdd)
+ (2 primitiveSubtract)
+ (3 primitiveLessThan)
+ (4 primitiveGreaterThan)
+ (5 primitiveLessOrEqual)
+ (6 primitiveGreaterOrEqual)
+ (7 primitiveEqual)
+ (8 primitiveNotEqual)
+ (9 primitiveMultiply)
+ (10 primitiveDivide)
+ (11 primitiveMod)
+ (12 primitiveDiv)
+ (13 primitiveQuo)
+ (14 primitiveBitAnd)
+ (15 primitiveBitOr)
+ (16 primitiveBitXor)
+ (17 primitiveBitShift)
+ (18 primitiveMakePoint)
+ (19 primitiveFail) "Guard primitive for simulation -- *must* fail"
+
+ "LargeInteger Primitives (20-39)"
+ "32-bit logic is aliased to Integer prims above"
+ (20 39 primitiveFail)
+
+ "Float Primitives (40-59)"
+ (40 primitiveAsFloat)
+ (41 primitiveFloatAdd)
+ (42 primitiveFloatSubtract)
+ (43 primitiveFloatLessThan)
+ (44 primitiveFloatGreaterThan)
+ (45 primitiveFloatLessOrEqual)
+ (46 primitiveFloatGreaterOrEqual)
+ (47 primitiveFloatEqual)
+ (48 primitiveFloatNotEqual)
+ (49 primitiveFloatMultiply)
+ (50 primitiveFloatDivide)
+ (51 primitiveTruncated)
+ (52 primitiveFractionalPart)
+ (53 primitiveExponent)
+ (54 primitiveTimesTwoPower)
+ (55 primitiveSquareRoot)
+ (56 primitiveSine)
+ (57 primitiveArctan)
+ (58 primitiveLogN)
+ (59 primitiveExp)
+
+ "Subscript and Stream Primitives (60-67)"
+ (60 primitiveAt)
+ (61 primitiveAtPut)
+ (62 primitiveSize)
+ (63 primitiveStringAt)
+ (64 primitiveStringAtPut)
+ (65 primitiveNext)
+ (66 primitiveNextPut)
+ (67 primitiveAtEnd)
+
+ "StorageManagement Primitives (68-79)"
+ (68 primitiveObjectAt)
+ (69 primitiveObjectAtPut)
+ (70 primitiveNew)
+ (71 primitiveNewWithArg)
+ (72 primitiveArrayBecomeOneWay) "Blue Book: primitiveBecome"
+ (73 primitiveInstVarAt)
+ (74 primitiveInstVarAtPut)
+ (75 primitiveAsOop)
+ (76 primitiveStoreStackp) "Blue Book: primitiveAsObject"
+ (77 primitiveSomeInstance)
+ (78 primitiveNextInstance)
+ (79 primitiveNewMethod)
+
+ "Control Primitives (80-89)"
+ (80 primitiveBlockCopy)
+ (81 primitiveValue)
+ (82 primitiveValueWithArgs)
+ (83 primitivePerform)
+ (84 primitivePerformWithArgs)
+ (85 primitiveSignal)
+ (86 primitiveWait)
+ (87 primitiveResume)
+ (88 primitiveSuspend)
+ (89 primitiveFlushCache)
+
+ "Input/Output Primitives (90-109)"
+ (90 primitiveMousePoint)
+ (91 primitiveTestDisplayDepth) "Blue Book: primitiveCursorLocPut"
+ (92 primitiveSetDisplayMode) "Blue Book: primitiveCursorLink"
+ (93 primitiveInputSemaphore)
+ (94 primitiveGetNextEvent) "Blue Book: primitiveSampleInterval"
+ (95 primitiveInputWord)
+ (96 primitiveObsoleteIndexedPrimitive) "primitiveCopyBits"
+ (97 primitiveSnapshot)
+ (98 primitiveStoreImageSegment)
+ (99 primitiveLoadImageSegment)
+ (100 primitivePerformInSuperclass) "Blue Book: primitiveSignalAtTick"
+ (101 primitiveBeCursor)
+ (102 primitiveBeDisplay)
+ (103 primitiveScanCharacters)
+ (104 primitiveObsoleteIndexedPrimitive) "primitiveDrawLoop"
+ (105 primitiveStringReplace)
+ (106 primitiveScreenSize)
+ (107 primitiveMouseButtons)
+ (108 primitiveKbdNext)
+ (109 primitiveKbdPeek)
+
+ "System Primitives (110-119)"
+ (110 primitiveEquivalent)
+ (111 primitiveClass)
+ (112 primitiveBytesLeft)
+ (113 primitiveQuit)
+ (114 primitiveExitToDebugger)
+ (115 primitiveChangeClass) "Blue Book: primitiveOopsLeft"
+ (116 primitiveFlushCacheByMethod)
+ (117 primitiveExternalCall)
+ (118 primitiveDoPrimitiveWithArgs)
+ (119 primitiveFlushCacheSelective)
+ "Squeak 2.2 and earlier use 119.  Squeak 2.3 and later use 116.
+ Both are supported for backward compatibility."
+
+ "Miscellaneous Primitives (120-127)"
+ (120 primitiveCalloutToFFI)
+ (121 primitiveImageName)
+ (122 primitiveNoop) "Blue Book: primitiveImageVolume"
+ (123 primitiveValueUninterruptably) "@@@: Remove this when all VMs have support"
+ (124 primitiveLowSpaceSemaphore)
+ (125 primitiveSignalAtBytesLeft)
+
+ "Squeak Primitives Start Here"
+
+ "Squeak Miscellaneous Primitives (128-149)"
+ (126 primitiveDeferDisplayUpdates)
+ (127 primitiveShowDisplayRect)
+ (128 primitiveArrayBecome)
+ (129 primitiveSpecialObjectsOop)
+ (130 primitiveFullGC)
+ (131 primitiveIncrementalGC)
+ (132 primitiveObjectPointsTo)
+ (133 primitiveSetInterruptKey)
+ (134 primitiveInterruptSemaphore)
+ (135 primitiveMillisecondClock)
+ (136 primitiveSignalAtMilliseconds)
+ (137 primitiveSecondsClock)
+ (138 primitiveSomeObject)
+ (139 primitiveNextObject)
+ (140 primitiveBeep)
+ (141 primitiveClipboardText)
+ (142 primitiveVMPath)
+ (143 primitiveShortAt)
+ (144 primitiveShortAtPut)
+ (145 primitiveConstantFill)
+ "NOTE: When removing the obsolete indexed primitives,
+ the following two should go become #primitiveIntegerAt / atPut"
+ (146 primitiveObsoleteIndexedPrimitive) "primitiveReadJoystick"
+ (147 primitiveObsoleteIndexedPrimitive) "primitiveWarpBits"
+ (148 primitiveClone)
+ (149 primitiveGetAttribute)
+
+ "File Primitives (150-169) - NO LONGER INDEXED"
+ (150 164 primitiveObsoleteIndexedPrimitive)
+ (165 primitiveIntegerAt) "hacked in here for now"
+ (166 primitiveIntegerAtPut)
+ (167 primitiveYield)
+ (168 primitiveCopyObject)
+ (169 primitiveObsoleteIndexedPrimitive)
+
+ "Sound Primitives (170-199) - NO LONGER INDEXED"
+ (170 185 primitiveObsoleteIndexedPrimitive)
+
+ "Closure primitives"
+ (186 primitiveClosureValue)
+ (187 primitiveClosureValueWithArgs)
+ (188 primitiveExecuteMethod)
+
+ "Sound Primitives (continued) - NO LONGER INDEXED"
+ (189 194 primitiveObsoleteIndexedPrimitive)
+
+ "Unwind primitives"
+ (195 primitiveFindNextUnwindContext)
+ (196 primitiveTerminateTo)
+ (197 primitiveFindHandlerContext)
+ (198 primitiveMarkUnwindMethod)
+ (199 primitiveMarkHandlerMethod)
+
+ "Networking Primitives (200-229) - NO LONGER INDEXED"
+ (200 225 primitiveObsoleteIndexedPrimitive)
+ (226 229 primitiveFail)
+
+ "Other Primitives (230-249)"
+ (230 primitiveRelinquishProcessor)
+ (231 primitiveForceDisplayUpdate)
+ (232 primitiveFormPrint)
+ (233 primitiveSetFullScreen)
+ (234 primitiveObsoleteIndexedPrimitive) "primBitmapdecompressfromByteArrayat"
+ (235 primitiveObsoleteIndexedPrimitive) "primStringcomparewithcollated"
+ (236 primitiveObsoleteIndexedPrimitive) "primSampledSoundconvert8bitSignedFromto16Bit"
+ (237 primitiveObsoleteIndexedPrimitive) "primBitmapcompresstoByteArray"
+ (238 241 primitiveObsoleteIndexedPrimitive) "serial port primitives"
+ (242 primitiveFail)
+ (243 primitiveObsoleteIndexedPrimitive) "primStringtranslatefromtotable"
+ (244 primitiveObsoleteIndexedPrimitive) "primStringfindFirstInStringinSetstartingAt"
+ (245 primitiveObsoleteIndexedPrimitive) "primStringindexOfAsciiinStringstartingAt"
+ (246 primitiveObsoleteIndexedPrimitive) "primStringfindSubstringinstartingAtmatchTable"
+ (247 primitiveSnapshotEmbedded)
+ (248 primitiveInvokeObjectAsMethod)
+ (249 primitiveArrayBecomeOneWayCopyHash)
+
+ "VM Implementor Primitives (250-255)"
+ (250 clearProfile)
+ (251 dumpProfile)
+ (252 startProfiling)
+ (253 stopProfiling)
+ (254 primitiveVMParameter)
+ (255 primitiveInstVarsPutFromStack) "Never used except in Disney tests.  Remove after 2.3 release."
+
+ "Quick Push Const Methods"
+ (256 primitivePushSelf)
+ (257 primitivePushTrue)
+ (258 primitivePushFalse)
+ (259 primitivePushNil)
+ (260 primitivePushMinusOne)
+ (261 primitivePushZero)
+ (262 primitivePushOne)
+ (263 primitivePushTwo)
+
+ "Quick Push Const Methods"
+ (264 519 primitiveLoadInstVar)
+
+ "MIDI Primitives (520-539) - NO LONGER INDEXED"
+ (520 529 primitiveObsoleteIndexedPrimitive)
+ (530 539 primitiveFail)  "reserved for extended MIDI primitives"
+
+ "Experimental Asynchrous File Primitives - NO LONGER INDEXED"
+ (540 545 primitiveObsoleteIndexedPrimitive)
+ (546 547 primitiveFail)
+
+ "Pen Tablet Primitives - NO LONGER INDEXED"
+ (548 primitiveObsoleteIndexedPrimitive)
+ (549 primitiveObsoleteIndexedPrimitive)
+
+ "Sound Codec Primitives - NO LONGER INDEXED"
+ (550 553 primitiveObsoleteIndexedPrimitive)
+ (554 569 primitiveFail)
+
+ "External primitive support primitives"
+ (570 primitiveFlushExternalPrimitives)
+ (571 primitiveUnloadModule)
+ (572 primitiveListBuiltinModule)
+ (573 primitiveListExternalModule)
+ (574 primitiveFail) "reserved for addl. external support prims"
+
+ "Unassigned Primitives"
+ (575 primitiveFail)).
+ !

Item was added:
+ ----- Method: PrimitiveTableHistory class>>initializePrimitiveTable20040719ajh (in category 'initialization history') -----
+ initializePrimitiveTable20040719ajh
+ "This table generates a C function address table use in primitiveResponse along with dispatchFunctionPointerOn:in:"
+
+ "NOTE: The real limit here is 2047 because of the method header layout but there is no point in going over the needed size"
+ MaxPrimitiveIndex _ 575.
+ PrimitiveTable _ Array new: MaxPrimitiveIndex + 1.
+ self table: PrimitiveTable from:
+ #( "Integer Primitives (0-19)"
+ (0 primitiveFail)
+ (1 primitiveAdd)
+ (2 primitiveSubtract)
+ (3 primitiveLessThan)
+ (4 primitiveGreaterThan)
+ (5 primitiveLessOrEqual)
+ (6 primitiveGreaterOrEqual)
+ (7 primitiveEqual)
+ (8 primitiveNotEqual)
+ (9 primitiveMultiply)
+ (10 primitiveDivide)
+ (11 primitiveMod)
+ (12 primitiveDiv)
+ (13 primitiveQuo)
+ (14 primitiveBitAnd)
+ (15 primitiveBitOr)
+ (16 primitiveBitXor)
+ (17 primitiveBitShift)
+ (18 primitiveMakePoint)
+ (19 primitiveFail) "Guard primitive for simulation -- *must* fail"
+
+ "LargeInteger Primitives (20-39)"
+ "32-bit logic is aliased to Integer prims above"
+ (20 39 primitiveFail)
+
+ "Float Primitives (40-59)"
+ (40 primitiveAsFloat)
+ (41 primitiveFloatAdd)
+ (42 primitiveFloatSubtract)
+ (43 primitiveFloatLessThan)
+ (44 primitiveFloatGreaterThan)
+ (45 primitiveFloatLessOrEqual)
+ (46 primitiveFloatGreaterOrEqual)
+ (47 primitiveFloatEqual)
+ (48 primitiveFloatNotEqual)
+ (49 primitiveFloatMultiply)
+ (50 primitiveFloatDivide)
+ (51 primitiveTruncated)
+ (52 primitiveFractionalPart)
+ (53 primitiveExponent)
+ (54 primitiveTimesTwoPower)
+ (55 primitiveSquareRoot)
+ (56 primitiveSine)
+ (57 primitiveArctan)
+ (58 primitiveLogN)
+ (59 primitiveExp)
+
+ "Subscript and Stream Primitives (60-67)"
+ (60 primitiveAt)
+ (61 primitiveAtPut)
+ (62 primitiveSize)
+ (63 primitiveStringAt)
+ (64 primitiveStringAtPut)
+ (65 primitiveNext)
+ (66 primitiveNextPut)
+ (67 primitiveAtEnd)
+
+ "StorageManagement Primitives (68-79)"
+ (68 primitiveObjectAt)
+ (69 primitiveObjectAtPut)
+ (70 primitiveNew)
+ (71 primitiveNewWithArg)
+ (72 primitiveArrayBecomeOneWay) "Blue Book: primitiveBecome"
+ (73 primitiveInstVarAt)
+ (74 primitiveInstVarAtPut)
+ (75 primitiveAsOop)
+ (76 primitiveStoreStackp) "Blue Book: primitiveAsObject"
+ (77 primitiveSomeInstance)
+ (78 primitiveNextInstance)
+ (79 primitiveNewMethod)
+
+ "Control Primitives (80-89)"
+ (80 primitiveBlockCopy)
+ (81 primitiveValue)
+ (82 primitiveValueWithArgs)
+ (83 primitivePerform)
+ (84 primitivePerformWithArgs)
+ (85 primitiveSignal)
+ (86 primitiveWait)
+ (87 primitiveResume)
+ (88 primitiveSuspend)
+ (89 primitiveFlushCache)
+
+ "Input/Output Primitives (90-109)"
+ (90 primitiveMousePoint)
+ (91 primitiveTestDisplayDepth) "Blue Book: primitiveCursorLocPut"
+ (92 primitiveSetDisplayMode) "Blue Book: primitiveCursorLink"
+ (93 primitiveInputSemaphore)
+ (94 primitiveGetNextEvent) "Blue Book: primitiveSampleInterval"
+ (95 primitiveInputWord)
+ (96 primitiveObsoleteIndexedPrimitive) "primitiveCopyBits"
+ (97 primitiveSnapshot)
+ (98 primitiveStoreImageSegment)
+ (99 primitiveLoadImageSegment)
+ (100 primitivePerformInSuperclass) "Blue Book: primitiveSignalAtTick"
+ (101 primitiveBeCursor)
+ (102 primitiveBeDisplay)
+ (103 primitiveScanCharacters)
+ (104 primitiveObsoleteIndexedPrimitive) "primitiveDrawLoop"
+ (105 primitiveStringReplace)
+ (106 primitiveScreenSize)
+ (107 primitiveMouseButtons)
+ (108 primitiveKbdNext)
+ (109 primitiveKbdPeek)
+
+ "System Primitives (110-119)"
+ (110 primitiveEquivalent)
+ (111 primitiveClass)
+ (112 primitiveBytesLeft)
+ (113 primitiveQuit)
+ (114 primitiveExitToDebugger)
+ (115 primitiveChangeClass) "Blue Book: primitiveOopsLeft"
+ (116 primitiveFlushCacheByMethod)
+ (117 primitiveExternalCall)
+ (118 primitiveDoPrimitiveWithArgs)
+ (119 primitiveFlushCacheSelective)
+ "Squeak 2.2 and earlier use 119.  Squeak 2.3 and later use 116.
+ Both are supported for backward compatibility."
+
+ "Miscellaneous Primitives (120-127)"
+ (120 primitiveCalloutToFFI)
+ (121 primitiveImageName)
+ (122 primitiveNoop) "Blue Book: primitiveImageVolume"
+ (123 primitiveValueUninterruptably) "@@@: Remove this when all VMs have support"
+ (124 primitiveLowSpaceSemaphore)
+ (125 primitiveSignalAtBytesLeft)
+
+ "Squeak Primitives Start Here"
+
+ "Squeak Miscellaneous Primitives (128-149)"
+ (126 primitiveDeferDisplayUpdates)
+ (127 primitiveShowDisplayRect)
+ (128 primitiveArrayBecome)
+ (129 primitiveSpecialObjectsOop)
+ (130 primitiveFullGC)
+ (131 primitiveIncrementalGC)
+ (132 primitiveObjectPointsTo)
+ (133 primitiveSetInterruptKey)
+ (134 primitiveInterruptSemaphore)
+ (135 primitiveMillisecondClock)
+ (136 primitiveSignalAtMilliseconds)
+ (137 primitiveSecondsClock)
+ (138 primitiveSomeObject)
+ (139 primitiveNextObject)
+ (140 primitiveBeep)
+ (141 primitiveClipboardText)
+ (142 primitiveVMPath)
+ (143 primitiveShortAt)
+ (144 primitiveShortAtPut)
+ (145 primitiveConstantFill)
+ "NOTE: When removing the obsolete indexed primitives,
+ the following two should go become #primitiveIntegerAt / atPut"
+ (146 primitiveObsoleteIndexedPrimitive) "primitiveReadJoystick"
+ (147 primitiveObsoleteIndexedPrimitive) "primitiveWarpBits"
+ (148 primitiveClone)
+ (149 primitiveGetAttribute)
+
+ "File Primitives (150-169) - NO LONGER INDEXED"
+ (150 164 primitiveObsoleteIndexedPrimitive)
+ (165 primitiveIntegerAt) "hacked in here for now"
+ (166 primitiveIntegerAtPut)
+ (167 primitiveYield)
+ (168 primitiveCopyObject)
+ (169 primitiveObsoleteIndexedPrimitive)
+
+ "Sound Primitives (170-199) - NO LONGER INDEXED"
+ (170 185 primitiveObsoleteIndexedPrimitive)
+
+ "Old closure primitives"
+ (186 primitiveFail) "was primitiveClosureValue"
+ (187 primitiveFail) "was primitiveClosureValueWithArgs"
+
+ "Perform method directly"
+ (188 primitiveExecuteMethodArgsArray)
+ (189 primitiveExecuteMethod)
+
+ "Sound Primitives (continued) - NO LONGER INDEXED"
+ (190 194 primitiveObsoleteIndexedPrimitive)
+
+ "Unwind primitives"
+ (195 primitiveFindNextUnwindContext)
+ (196 primitiveTerminateTo)
+ (197 primitiveFindHandlerContext)
+ (198 primitiveMarkUnwindMethod)
+ (199 primitiveMarkHandlerMethod)
+
+ "Networking Primitives (200-229) - NO LONGER INDEXED"
+ (200 225 primitiveObsoleteIndexedPrimitive)
+ (226 229 primitiveFail)
+
+ "Other Primitives (230-249)"
+ (230 primitiveRelinquishProcessor)
+ (231 primitiveForceDisplayUpdate)
+ (232 primitiveFormPrint)
+ (233 primitiveSetFullScreen)
+ (234 primitiveObsoleteIndexedPrimitive) "primBitmapdecompressfromByteArrayat"
+ (235 primitiveObsoleteIndexedPrimitive) "primStringcomparewithcollated"
+ (236 primitiveObsoleteIndexedPrimitive) "primSampledSoundconvert8bitSignedFromto16Bit"
+ (237 primitiveObsoleteIndexedPrimitive) "primBitmapcompresstoByteArray"
+ (238 241 primitiveObsoleteIndexedPrimitive) "serial port primitives"
+ (242 primitiveFail)
+ (243 primitiveObsoleteIndexedPrimitive) "primStringtranslatefromtotable"
+ (244 primitiveObsoleteIndexedPrimitive) "primStringfindFirstInStringinSetstartingAt"
+ (245 primitiveObsoleteIndexedPrimitive) "primStringindexOfAsciiinStringstartingAt"
+ (246 primitiveObsoleteIndexedPrimitive) "primStringfindSubstringinstartingAtmatchTable"
+ (247 primitiveSnapshotEmbedded)
+ (248 primitiveInvokeObjectAsMethod)
+ (249 primitiveArrayBecomeOneWayCopyHash)
+
+ "VM Implementor Primitives (250-255)"
+ (250 clearProfile)
+ (251 dumpProfile)
+ (252 startProfiling)
+ (253 stopProfiling)
+ (254 primitiveVMParameter)
+ (255 primitiveInstVarsPutFromStack) "Never used except in Disney tests.  Remove after 2.3 release."
+
+ "Quick Push Const Methods"
+ (256 primitivePushSelf)
+ (257 primitivePushTrue)
+ (258 primitivePushFalse)
+ (259 primitivePushNil)
+ (260 primitivePushMinusOne)
+ (261 primitivePushZero)
+ (262 primitivePushOne)
+ (263 primitivePushTwo)
+
+ "Quick Push Const Methods"
+ (264 519 primitiveLoadInstVar)
+
+ "MIDI Primitives (520-539) - NO LONGER INDEXED"
+ (520 529 primitiveObsoleteIndexedPrimitive)
+ (530 539 primitiveFail)  "reserved for extended MIDI primitives"
+
+ "Experimental Asynchrous File Primitives - NO LONGER INDEXED"
+ (540 545 primitiveObsoleteIndexedPrimitive)
+ (546 547 primitiveFail)
+
+ "Pen Tablet Primitives - NO LONGER INDEXED"
+ (548 primitiveObsoleteIndexedPrimitive)
+ (549 primitiveObsoleteIndexedPrimitive)
+
+ "Sound Codec Primitives - NO LONGER INDEXED"
+ (550 553 primitiveObsoleteIndexedPrimitive)
+ (554 569 primitiveFail)
+
+ "External primitive support primitives"
+ (570 primitiveFlushExternalPrimitives)
+ (571 primitiveUnloadModule)
+ (572 primitiveListBuiltinModule)
+ (573 primitiveListExternalModule)
+ (574 primitiveFail) "reserved for addl. external support prims"
+
+ "Unassigned Primitives"
+ (575 primitiveFail)).
+ !

Item was added:
+ ----- Method: PrimitiveTableHistory class>>initializePrimitiveTable20050127JMM (in category 'initialization history') -----
+ initializePrimitiveTable20050127JMM
+ "This table generates a C function address table use in primitiveResponse along with dispatchFunctionPointerOn:in:"
+
+ "NOTE: The real limit here is 2047 because of the method header layout but there is no point in going over the needed size"
+ MaxPrimitiveIndex _ 575.
+ PrimitiveTable _ Array new: MaxPrimitiveIndex + 1.
+ self table: PrimitiveTable from:
+ #( "Integer Primitives (0-19)"
+ (0 primitiveFail)
+ (1 primitiveAdd)
+ (2 primitiveSubtract)
+ (3 primitiveLessThan)
+ (4 primitiveGreaterThan)
+ (5 primitiveLessOrEqual)
+ (6 primitiveGreaterOrEqual)
+ (7 primitiveEqual)
+ (8 primitiveNotEqual)
+ (9 primitiveMultiply)
+ (10 primitiveDivide)
+ (11 primitiveMod)
+ (12 primitiveDiv)
+ (13 primitiveQuo)
+ (14 primitiveBitAnd)
+ (15 primitiveBitOr)
+ (16 primitiveBitXor)
+ (17 primitiveBitShift)
+ (18 primitiveMakePoint)
+ (19 primitiveFail) "Guard primitive for simulation -- *must* fail"
+
+ "LargeInteger Primitives (20-39)"
+ "32-bit logic is aliased to Integer prims above"
+ (20 39 primitiveFail)
+
+ "Float Primitives (40-59)"
+ (40 primitiveAsFloat)
+ (41 primitiveFloatAdd)
+ (42 primitiveFloatSubtract)
+ (43 primitiveFloatLessThan)
+ (44 primitiveFloatGreaterThan)
+ (45 primitiveFloatLessOrEqual)
+ (46 primitiveFloatGreaterOrEqual)
+ (47 primitiveFloatEqual)
+ (48 primitiveFloatNotEqual)
+ (49 primitiveFloatMultiply)
+ (50 primitiveFloatDivide)
+ (51 primitiveTruncated)
+ (52 primitiveFractionalPart)
+ (53 primitiveExponent)
+ (54 primitiveTimesTwoPower)
+ (55 primitiveSquareRoot)
+ (56 primitiveSine)
+ (57 primitiveArctan)
+ (58 primitiveLogN)
+ (59 primitiveExp)
+
+ "Subscript and Stream Primitives (60-67)"
+ (60 primitiveAt)
+ (61 primitiveAtPut)
+ (62 primitiveSize)
+ (63 primitiveStringAt)
+ (64 primitiveStringAtPut)
+ (65 primitiveNext)
+ (66 primitiveNextPut)
+ (67 primitiveAtEnd)
+
+ "StorageManagement Primitives (68-79)"
+ (68 primitiveObjectAt)
+ (69 primitiveObjectAtPut)
+ (70 primitiveNew)
+ (71 primitiveNewWithArg)
+ (72 primitiveArrayBecomeOneWay) "Blue Book: primitiveBecome"
+ (73 primitiveInstVarAt)
+ (74 primitiveInstVarAtPut)
+ (75 primitiveAsOop)
+ (76 primitiveStoreStackp) "Blue Book: primitiveAsObject"
+ (77 primitiveSomeInstance)
+ (78 primitiveNextInstance)
+ (79 primitiveNewMethod)
+
+ "Control Primitives (80-89)"
+ (80 primitiveBlockCopy)
+ (81 primitiveValue)
+ (82 primitiveValueWithArgs)
+ (83 primitivePerform)
+ (84 primitivePerformWithArgs)
+ (85 primitiveSignal)
+ (86 primitiveWait)
+ (87 primitiveResume)
+ (88 primitiveSuspend)
+ (89 primitiveFlushCache)
+
+ "Input/Output Primitives (90-109)"
+ (90 primitiveMousePoint)
+ (91 primitiveTestDisplayDepth) "Blue Book: primitiveCursorLocPut"
+ (92 primitiveSetDisplayMode) "Blue Book: primitiveCursorLink"
+ (93 primitiveInputSemaphore)
+ (94 primitiveGetNextEvent) "Blue Book: primitiveSampleInterval"
+ (95 primitiveInputWord)
+ (96 primitiveObsoleteIndexedPrimitive) "primitiveCopyBits"
+ (97 primitiveSnapshot)
+ (98 primitiveStoreImageSegment)
+ (99 primitiveLoadImageSegment)
+ (100 primitivePerformInSuperclass) "Blue Book: primitiveSignalAtTick"
+ (101 primitiveBeCursor)
+ (102 primitiveBeDisplay)
+ (103 primitiveScanCharacters)
+ (104 primitiveObsoleteIndexedPrimitive) "primitiveDrawLoop"
+ (105 primitiveStringReplace)
+ (106 primitiveScreenSize)
+ (107 primitiveMouseButtons)
+ (108 primitiveKbdNext)
+ (109 primitiveKbdPeek)
+
+ "System Primitives (110-119)"
+ (110 primitiveEquivalent)
+ (111 primitiveClass)
+ (112 primitiveBytesLeft)
+ (113 primitiveQuit)
+ (114 primitiveExitToDebugger)
+ (115 primitiveChangeClass) "Blue Book: primitiveOopsLeft"
+ (116 primitiveFlushCacheByMethod)
+ (117 primitiveExternalCall)
+ (118 primitiveDoPrimitiveWithArgs)
+ (119 primitiveFlushCacheSelective)
+ "Squeak 2.2 and earlier use 119.  Squeak 2.3 and later use 116.
+ Both are supported for backward compatibility."
+
+ "Miscellaneous Primitives (120-127)"
+ (120 primitiveCalloutToFFI)
+ (121 primitiveImageName)
+ (122 primitiveNoop) "Blue Book: primitiveImageVolume"
+ (123 primitiveValueUninterruptably) "@@@: Remove this when all VMs have support"
+ (124 primitiveLowSpaceSemaphore)
+ (125 primitiveSignalAtBytesLeft)
+
+ "Squeak Primitives Start Here"
+
+ "Squeak Miscellaneous Primitives (128-149)"
+ (126 primitiveDeferDisplayUpdates)
+ (127 primitiveShowDisplayRect)
+ (128 primitiveArrayBecome)
+ (129 primitiveSpecialObjectsOop)
+ (130 primitiveFullGC)
+ (131 primitiveIncrementalGC)
+ (132 primitiveObjectPointsTo)
+ (133 primitiveSetInterruptKey)
+ (134 primitiveInterruptSemaphore)
+ (135 primitiveMillisecondClock)
+ (136 primitiveSignalAtMilliseconds)
+ (137 primitiveSecondsClock)
+ (138 primitiveSomeObject)
+ (139 primitiveNextObject)
+ (140 primitiveBeep)
+ (141 primitiveClipboardText)
+ (142 primitiveVMPath)
+ (143 primitiveShortAt)
+ (144 primitiveShortAtPut)
+ (145 primitiveConstantFill)
+ "NOTE: When removing the obsolete indexed primitives,
+ the following two should go become #primitiveIntegerAt / atPut"
+ (146 primitiveObsoleteIndexedPrimitive) "primitiveReadJoystick"
+ (147 primitiveObsoleteIndexedPrimitive) "primitiveWarpBits"
+ (148 primitiveClone)
+ (149 primitiveGetAttribute)
+
+ "File Primitives (150-169) - NO LONGER INDEXED"
+ (150 164 primitiveObsoleteIndexedPrimitive)
+ (165 primitiveIntegerAt) "hacked in here for now"
+ (166 primitiveIntegerAtPut)
+ (167 primitiveYield)
+ (168 primitiveCopyObject)
+ (169 primitiveObsoleteIndexedPrimitive)
+
+ "Sound Primitives (170-199) - NO LONGER INDEXED"
+ (170 185 primitiveObsoleteIndexedPrimitive)
+
+ "Old closure primitives"
+ (186 primitiveFail) "was primitiveClosureValue"
+ (187 primitiveFail) "was primitiveClosureValueWithArgs"
+
+ "Perform method directly"
+ (188 primitiveExecuteMethodArgsArray)
+ (189 primitiveExecuteMethod)
+
+ "Sound Primitives (continued) - NO LONGER INDEXED"
+ (190 194 primitiveObsoleteIndexedPrimitive)
+
+ "Unwind primitives"
+ (195 primitiveFindNextUnwindContext)
+ (196 primitiveTerminateTo)
+ (197 primitiveFindHandlerContext)
+ (198 primitiveMarkUnwindMethod)
+ (199 primitiveMarkHandlerMethod)
+
+ "Networking Primitives (200-225) - NO LONGER INDEXED"
+ (200 225 primitiveObsoleteIndexedPrimitive)
+
+ "Other Primitives (226-249)"
+ (226 primitiveFail)
+ (227 primitiveFail)
+ (228 primitiveFail)
+ (229 primitiveFail)
+ (230 primitiveRelinquishProcessor)
+ (231 primitiveForceDisplayUpdate)
+ (232 primitiveFormPrint)
+ (233 primitiveSetFullScreen)
+ (234 primitiveObsoleteIndexedPrimitive) "primBitmapdecompressfromByteArrayat"
+ (235 primitiveObsoleteIndexedPrimitive) "primStringcomparewithcollated"
+ (236 primitiveObsoleteIndexedPrimitive) "primSampledSoundconvert8bitSignedFromto16Bit"
+ (237 primitiveObsoleteIndexedPrimitive) "primBitmapcompresstoByteArray"
+ (238 241 primitiveObsoleteIndexedPrimitive) "serial port primitives"
+ (242 primitiveFail)
+ (243 primitiveObsoleteIndexedPrimitive) "primStringtranslatefromtotable"
+ (244 primitiveObsoleteIndexedPrimitive) "primStringfindFirstInStringinSetstartingAt"
+ (245 primitiveObsoleteIndexedPrimitive) "primStringindexOfAsciiinStringstartingAt"
+ (246 primitiveObsoleteIndexedPrimitive) "primStringfindSubstringinstartingAtmatchTable"
+ (247 primitiveSnapshotEmbedded)
+ (248 primitiveInvokeObjectAsMethod)
+ (249 primitiveArrayBecomeOneWayCopyHash)
+
+ "VM Implementor Primitives (250-255)"
+ (250 clearProfile)
+ (251 dumpProfile)
+ (252 startProfiling)
+ (253 stopProfiling)
+ (254 primitiveVMParameter)
+ (255 primitiveInstVarsPutFromStack) "Never used except in Disney tests.  Remove after 2.3 release."
+
+ "Quick Push Const Methods"
+ (256 primitivePushSelf)
+ (257 primitivePushTrue)
+ (258 primitivePushFalse)
+ (259 primitivePushNil)
+ (260 primitivePushMinusOne)
+ (261 primitivePushZero)
+ (262 primitivePushOne)
+ (263 primitivePushTwo)
+
+ "Quick Push Const Methods"
+ (264 519 primitiveLoadInstVar)
+
+ (520 primitiveFail)
+ "MIDI Primitives (521-539) - NO LONGER INDEXED"
+ (521 529 primitiveObsoleteIndexedPrimitive)
+ (530 539 primitiveFail)  "reserved for extended MIDI primitives"
+
+ "Experimental Asynchrous File Primitives - NO LONGER INDEXED"
+ (540 545 primitiveObsoleteIndexedPrimitive)
+ (546 547 primitiveFail)
+
+ "Pen Tablet Primitives - NO LONGER INDEXED"
+ (548 primitiveObsoleteIndexedPrimitive)
+ (549 primitiveObsoleteIndexedPrimitive)
+
+ "Sound Codec Primitives - NO LONGER INDEXED"
+ (550 553 primitiveObsoleteIndexedPrimitive)
+ (554 569 primitiveFail)
+
+ "External primitive support primitives"
+ (570 primitiveFlushExternalPrimitives)
+ (571 primitiveUnloadModule)
+ (572 primitiveListBuiltinModule)
+ (573 primitiveListExternalModule)
+ (574 primitiveFail) "reserved for addl. external support prims"
+
+ "Unassigned Primitives"
+ (575 primitiveFail)).
+ !

Item was added:
+ ----- Method: PrimitiveTableHistory class>>initializePrimitiveTable20090218eem (in category 'initialization history') -----
+ initializePrimitiveTable20090218eem
+ "This table generates a C function address table use in primitiveResponse along with dispatchFunctionPointerOn:in:"
+
+ "NOTE: The real limit here is 2047 because of the method header layout but there is no point in going over the needed size"
+ MaxPrimitiveIndex := 575.
+ PrimitiveTable := Array new: MaxPrimitiveIndex + 1.
+ self table: PrimitiveTable from:
+ #( "Integer Primitives (0-19)"
+ (0 primitiveFail)
+ (1 primitiveAdd)
+ (2 primitiveSubtract)
+ (3 primitiveLessThan)
+ (4 primitiveGreaterThan)
+ (5 primitiveLessOrEqual)
+ (6 primitiveGreaterOrEqual)
+ (7 primitiveEqual)
+ (8 primitiveNotEqual)
+ (9 primitiveMultiply)
+ (10 primitiveDivide)
+ (11 primitiveMod)
+ (12 primitiveDiv)
+ (13 primitiveQuo)
+ (14 primitiveBitAnd)
+ (15 primitiveBitOr)
+ (16 primitiveBitXor)
+ (17 primitiveBitShift)
+ (18 primitiveMakePoint)
+ (19 primitiveFail) "Guard primitive for simulation -- *must* fail"
+
+ "LargeInteger Primitives (20-39)"
+ "32-bit logic is aliased to Integer prims above"
+ (20 39 primitiveFail)
+
+ "Float Primitives (40-59)"
+ (40 primitiveAsFloat)
+ (41 primitiveFloatAdd)
+ (42 primitiveFloatSubtract)
+ (43 primitiveFloatLessThan)
+ (44 primitiveFloatGreaterThan)
+ (45 primitiveFloatLessOrEqual)
+ (46 primitiveFloatGreaterOrEqual)
+ (47 primitiveFloatEqual)
+ (48 primitiveFloatNotEqual)
+ (49 primitiveFloatMultiply)
+ (50 primitiveFloatDivide)
+ (51 primitiveTruncated)
+ (52 primitiveFractionalPart)
+ (53 primitiveExponent)
+ (54 primitiveTimesTwoPower)
+ (55 primitiveSquareRoot)
+ (56 primitiveSine)
+ (57 primitiveArctan)
+ (58 primitiveLogN)
+ (59 primitiveExp)
+
+ "Subscript and Stream Primitives (60-67)"
+ (60 primitiveAt)
+ (61 primitiveAtPut)
+ (62 primitiveSize)
+ (63 primitiveStringAt)
+ (64 primitiveStringAtPut)
+ (65 primitiveNext)
+ (66 primitiveNextPut)
+ (67 primitiveAtEnd)
+
+ "StorageManagement Primitives (68-79)"
+ (68 primitiveObjectAt)
+ (69 primitiveObjectAtPut)
+ (70 primitiveNew)
+ (71 primitiveNewWithArg)
+ (72 primitiveArrayBecomeOneWay) "Blue Book: primitiveBecome"
+ (73 primitiveInstVarAt)
+ (74 primitiveInstVarAtPut)
+ (75 primitiveAsOop)
+ (76 primitiveStoreStackp) "Blue Book: primitiveAsObject"
+ (77 primitiveSomeInstance)
+ (78 primitiveNextInstance)
+ (79 primitiveNewMethod)
+
+ "Control Primitives (80-89)"
+ (80 primitiveBlockCopy)
+ (81 primitiveValue)
+ (82 primitiveValueWithArgs)
+ (83 primitivePerform)
+ (84 primitivePerformWithArgs)
+ (85 primitiveSignal)
+ (86 primitiveWait)
+ (87 primitiveResume)
+ (88 primitiveSuspend)
+ (89 primitiveFlushCache)
+
+ "Input/Output Primitives (90-109)"
+ (90 primitiveMousePoint)
+ (91 primitiveTestDisplayDepth) "Blue Book: primitiveCursorLocPut"
+ (92 primitiveSetDisplayMode) "Blue Book: primitiveCursorLink"
+ (93 primitiveInputSemaphore)
+ (94 primitiveGetNextEvent) "Blue Book: primitiveSampleInterval"
+ (95 primitiveInputWord)
+ (96 primitiveObsoleteIndexedPrimitive) "primitiveCopyBits"
+ (97 primitiveSnapshot)
+ (98 primitiveStoreImageSegment)
+ (99 primitiveLoadImageSegment)
+ (100 primitivePerformInSuperclass) "Blue Book: primitiveSignalAtTick"
+ (101 primitiveBeCursor)
+ (102 primitiveBeDisplay)
+ (103 primitiveScanCharacters)
+ (104 primitiveObsoleteIndexedPrimitive) "primitiveDrawLoop"
+ (105 primitiveStringReplace)
+ (106 primitiveScreenSize)
+ (107 primitiveMouseButtons)
+ (108 primitiveKbdNext)
+ (109 primitiveKbdPeek)
+
+ "System Primitives (110-119)"
+ (110 primitiveEquivalent)
+ (111 primitiveClass)
+ (112 primitiveBytesLeft)
+ (113 primitiveQuit)
+ (114 primitiveExitToDebugger)
+ (115 primitiveChangeClass) "Blue Book: primitiveOopsLeft"
+ (116 primitiveFlushCacheByMethod)
+ (117 primitiveExternalCall)
+ (118 primitiveDoPrimitiveWithArgs)
+ (119 primitiveFlushCacheSelective)
+ "Squeak 2.2 and earlier use 119.  Squeak 2.3 and later use 116.
+ Both are supported for backward compatibility."
+
+ "Miscellaneous Primitives (120-127)"
+ (120 primitiveCalloutToFFI)
+ (121 primitiveImageName)
+ (122 primitiveNoop) "Blue Book: primitiveImageVolume"
+ (123 primitiveValueUninterruptably) "@@@: Remove this when all VMs have support"
+ (124 primitiveLowSpaceSemaphore)
+ (125 primitiveSignalAtBytesLeft)
+
+ "Squeak Primitives Start Here"
+
+ "Squeak Miscellaneous Primitives (128-149)"
+ (126 primitiveDeferDisplayUpdates)
+ (127 primitiveShowDisplayRect)
+ (128 primitiveArrayBecome)
+ (129 primitiveSpecialObjectsOop)
+ (130 primitiveFullGC)
+ (131 primitiveIncrementalGC)
+ (132 primitiveObjectPointsTo)
+ (133 primitiveSetInterruptKey)
+ (134 primitiveInterruptSemaphore)
+ (135 primitiveMillisecondClock)
+ (136 primitiveSignalAtMilliseconds)
+ (137 primitiveSecondsClock)
+ (138 primitiveSomeObject)
+ (139 primitiveNextObject)
+ (140 primitiveBeep)
+ (141 primitiveClipboardText)
+ (142 primitiveVMPath)
+ (143 primitiveShortAt)
+ (144 primitiveShortAtPut)
+ (145 primitiveConstantFill)
+ "NOTE: When removing the obsolete indexed primitives,
+ the following two should go become #primitiveIntegerAt / atPut"
+ (146 primitiveObsoleteIndexedPrimitive) "primitiveReadJoystick"
+ (147 primitiveObsoleteIndexedPrimitive) "primitiveWarpBits"
+ (148 primitiveClone)
+ (149 primitiveGetAttribute)
+
+ "File Primitives (150-169) - NO LONGER INDEXED"
+ (150 164 primitiveObsoleteIndexedPrimitive)
+ (165 primitiveIntegerAt) "hacked in here for now"
+ (166 primitiveIntegerAtPut)
+ (167 primitiveYield)
+ (168 primitiveCopyObject)
+ (169 primitiveObsoleteIndexedPrimitive)
+
+ "Sound Primitives (170-199) - NO LONGER INDEXED"
+ (170 185 primitiveObsoleteIndexedPrimitive)
+
+ "Old closure primitives"
+ (186 primitiveFail) "was primitiveClosureValue"
+ (187 primitiveFail) "was primitiveClosureValueWithArgs"
+
+ "Perform method directly"
+ (188 primitiveExecuteMethodArgsArray)
+ (189 primitiveExecuteMethod)
+
+ "Sound Primitives (continued) - NO LONGER INDEXED"
+ (190 194 primitiveObsoleteIndexedPrimitive)
+
+ "Unwind primitives"
+ (195 primitiveFindNextUnwindContext)
+ (196 primitiveTerminateTo)
+ (197 primitiveFindHandlerContext)
+ (198 primitiveMarkUnwindMethod)
+ (199 primitiveMarkHandlerMethod)
+
+ "new closure primitives (were Networking primitives)"
+ (200 primitiveClosureCopyWithCopiedValues)
+ (201 primitiveClosureValue) "value"
+ (202 primitiveClosureValue) "value:"
+ (203 primitiveClosureValue) "value:value:"
+ (204 primitiveClosureValue) "value:value:value:"
+ (205 primitiveClosureValue) "value:value:value:value:"
+ (206 primitiveClosureValueWithArgs) "valueWithArguments:"
+
+ (207 209 primitiveFail) "reserved for Cog primitives"
+
+ (210 primitiveAt) "Compatibility with Cog StackInterpreter Context primitives"
+ (211 primitiveAtPut) "Compatibility with Cog StackInterpreter Context primitives"
+ (212 primitiveSize) "Compatibility with Cog StackInterpreter Context primitives"
+ (213 217 primitiveFail) "reserved for Cog primitives"
+ (218 primitiveDoNamedPrimitiveWithArgs)
+ (219 primitiveFail) "reserved for Cog primitives"
+
+ (220 primitiveFail) "reserved for Cog primitives"
+
+ (221 primitiveClosureValueNoContextSwitch) "valueNoContextSwitch"
+ (222 primitiveClosureValueNoContextSwitch) "valueNoContextSwitch:"
+
+ (223 229 primitiveFail) "reserved for Cog primitives"
+
+ "Other Primitives (230-249)"
+ (230 primitiveRelinquishProcessor)
+ (231 primitiveForceDisplayUpdate)
+ (232 primitiveFormPrint)
+ (233 primitiveSetFullScreen)
+ (234 primitiveObsoleteIndexedPrimitive) "primBitmapdecompressfromByteArrayat"
+ (235 primitiveObsoleteIndexedPrimitive) "primStringcomparewithcollated"
+ (236 primitiveObsoleteIndexedPrimitive) "primSampledSoundconvert8bitSignedFromto16Bit"
+ (237 primitiveObsoleteIndexedPrimitive) "primBitmapcompresstoByteArray"
+ (238 241 primitiveObsoleteIndexedPrimitive) "serial port primitives"
+ (242 primitiveFail)
+ (243 primitiveObsoleteIndexedPrimitive) "primStringtranslatefromtotable"
+ (244 primitiveObsoleteIndexedPrimitive) "primStringfindFirstInStringinSetstartingAt"
+ (245 primitiveObsoleteIndexedPrimitive) "primStringindexOfAsciiinStringstartingAt"
+ (246 primitiveObsoleteIndexedPrimitive) "primStringfindSubstringinstartingAtmatchTable"
+ (247 primitiveSnapshotEmbedded)
+ (248 primitiveInvokeObjectAsMethod)
+ (249 primitiveArrayBecomeOneWayCopyHash)
+
+ "VM Implementor Primitives (250-255)"
+ (250 clearProfile)
+ (251 dumpProfile)
+ (252 startProfiling)
+ (253 stopProfiling)
+ (254 primitiveVMParameter)
+ (255 primitiveInstVarsPutFromStack) "Never used except in Disney tests.  Remove after 2.3 release."
+
+ "Quick Push Const Methods"
+ (256 primitivePushSelf)
+ (257 primitivePushTrue)
+ (258 primitivePushFalse)
+ (259 primitivePushNil)
+ (260 primitivePushMinusOne)
+ (261 primitivePushZero)
+ (262 primitivePushOne)
+ (263 primitivePushTwo)
+
+ "Quick Push Const Methods"
+ (264 519 primitiveLoadInstVar)
+
+ (520 primitiveFail)
+ "MIDI Primitives (521-539) - NO LONGER INDEXED"
+ (521 529 primitiveObsoleteIndexedPrimitive)
+ (530 539 primitiveFail)  "reserved for extended MIDI primitives"
+
+ "Experimental Asynchrous File Primitives - NO LONGER INDEXED"
+ (540 545 primitiveObsoleteIndexedPrimitive)
+ (546 547 primitiveFail)
+
+ "Pen Tablet Primitives - NO LONGER INDEXED"
+ (548 primitiveObsoleteIndexedPrimitive)
+ (549 primitiveObsoleteIndexedPrimitive)
+
+ "Sound Codec Primitives - NO LONGER INDEXED"
+ (550 553 primitiveObsoleteIndexedPrimitive)
+ (554 569 primitiveFail)
+
+ "External primitive support primitives"
+ (570 primitiveFlushExternalPrimitives)
+ (571 primitiveUnloadModule)
+ (572 primitiveListBuiltinModule)
+ (573 primitiveListExternalModule)
+ (574 primitiveFail) "reserved for addl. external support prims"
+
+ "Unassigned Primitives"
+ (575 primitiveFail))!

Item was added:
+ ----- Method: PrimitiveTableHistory class>>initializePrimitiveTable20101211dtl (in category 'initialization history') -----
+ initializePrimitiveTable20101211dtl
+ "This table generates a C function address table use in primitiveResponse along with dispatchFunctionPointerOn:in:"
+
+ "NOTE: The real limit here is 2047 because of the method header layout but there is no point in going over the needed size"
+ MaxPrimitiveIndex := 575.
+ PrimitiveTable := Array new: MaxPrimitiveIndex + 1.
+ self table: PrimitiveTable from:
+ #( "Integer Primitives (0-19)"
+ (0 primitiveFail)
+ (1 primitiveAdd)
+ (2 primitiveSubtract)
+ (3 primitiveLessThan)
+ (4 primitiveGreaterThan)
+ (5 primitiveLessOrEqual)
+ (6 primitiveGreaterOrEqual)
+ (7 primitiveEqual)
+ (8 primitiveNotEqual)
+ (9 primitiveMultiply)
+ (10 primitiveDivide)
+ (11 primitiveMod)
+ (12 primitiveDiv)
+ (13 primitiveQuo)
+ (14 primitiveBitAnd)
+ (15 primitiveBitOr)
+ (16 primitiveBitXor)
+ (17 primitiveBitShift)
+ (18 primitiveMakePoint)
+ (19 primitiveFail) "Guard primitive for simulation -- *must* fail"
+
+ "LargeInteger Primitives (20-39)"
+ (20 primitiveFail)
+ (21 primitiveAddLargeIntegers)
+ (22 primitiveSubtractLargeIntegers)
+ (23 primitiveLessThanLargeIntegers)
+ (24 primitiveGreaterThanLargeIntegers)
+ (25 primitiveLessOrEqualLargeIntegers)
+ (26 primitiveGreaterOrEqualLargeIntegers)
+ (27 primitiveEqualLargeIntegers)
+ (28 primitiveNotEqualLargeIntegers)
+ (29 primitiveMultiplyLargeIntegers)
+ (30 primitiveDivideLargeIntegers)
+ (31 primitiveModLargeIntegers)
+ (32 primitiveDivLargeIntegers)
+ (33 primitiveQuoLargeIntegers)
+ (34 primitiveBitAndLargeIntegers)
+ (35 primitiveBitOrLargeIntegers)
+ (36 primitiveBitXorLargeIntegers)
+ (37 primitiveBitShiftLargeIntegers)
+ (38 primitiveFail)
+ (39 primitiveFail)
+
+ "Float Primitives (40-59)"
+ (40 primitiveAsFloat)
+ (41 primitiveFloatAdd)
+ (42 primitiveFloatSubtract)
+ (43 primitiveFloatLessThan)
+ (44 primitiveFloatGreaterThan)
+ (45 primitiveFloatLessOrEqual)
+ (46 primitiveFloatGreaterOrEqual)
+ (47 primitiveFloatEqual)
+ (48 primitiveFloatNotEqual)
+ (49 primitiveFloatMultiply)
+ (50 primitiveFloatDivide)
+ (51 primitiveTruncated)
+ (52 primitiveFractionalPart)
+ (53 primitiveExponent)
+ (54 primitiveTimesTwoPower)
+ (55 primitiveSquareRoot)
+ (56 primitiveSine)
+ (57 primitiveArctan)
+ (58 primitiveLogN)
+ (59 primitiveExp)
+
+ "Subscript and Stream Primitives (60-67)"
+ (60 primitiveAt)
+ (61 primitiveAtPut)
+ (62 primitiveSize)
+ (63 primitiveStringAt)
+ (64 primitiveStringAtPut)
+ (65 primitiveFail) "was primitiveNext which no longer pays its way (normal Smalltalk code is faster)"
+ (66 primitiveFail) "was primitiveNextPut which no longer pays its way (normal Smalltalk code is faster)"
+ (67 primitiveFail) "was primitiveAtEnd which no longer pays its way (normal Smalltalk code is faster)"
+
+ "StorageManagement Primitives (68-79)"
+ (68 primitiveObjectAt)
+ (69 primitiveObjectAtPut)
+ (70 primitiveNew)
+ (71 primitiveNewWithArg)
+ (72 primitiveArrayBecomeOneWay) "Blue Book: primitiveBecome"
+ (73 primitiveInstVarAt)
+ (74 primitiveInstVarAtPut)
+ (75 primitiveAsOop)
+ (76 primitiveStoreStackp) "Blue Book: primitiveAsObject"
+ (77 primitiveSomeInstance)
+ (78 primitiveNextInstance)
+ (79 primitiveNewMethod)
+
+ "Control Primitives (80-89)"
+ (80 primitiveBlockCopy)
+ (81 primitiveValue)
+ (82 primitiveValueWithArgs)
+ (83 primitivePerform)
+ (84 primitivePerformWithArgs)
+ (85 primitiveSignal)
+ (86 primitiveWait)
+ (87 primitiveResume)
+ (88 primitiveSuspend)
+ (89 primitiveFlushCache)
+
+ "Input/Output Primitives (90-109)"
+ (90 primitiveMousePoint)
+ (91 primitiveTestDisplayDepth) "Blue Book: primitiveCursorLocPut"
+ (92 primitiveSetDisplayMode) "Blue Book: primitiveCursorLink"
+ (93 primitiveInputSemaphore)
+ (94 primitiveGetNextEvent) "Blue Book: primitiveSampleInterval"
+ (95 primitiveInputWord)
+ (96 primitiveFail) "primitiveCopyBits"
+ (97 primitiveSnapshot)
+ (98 primitiveStoreImageSegment)
+ (99 primitiveLoadImageSegment)
+ (100 primitivePerformInSuperclass) "Blue Book: primitiveSignalAtTick"
+ (101 primitiveBeCursor)
+ (102 primitiveBeDisplay)
+ (103 primitiveScanCharacters)
+ (104 primitiveFail) "primitiveDrawLoop"
+ (105 primitiveStringReplace)
+ (106 primitiveScreenSize)
+ (107 primitiveMouseButtons)
+ (108 primitiveKbdNext)
+ (109 primitiveKbdPeek)
+
+ "System Primitives (110-119)"
+ (110 primitiveEquivalent)
+ (111 primitiveClass)
+ (112 primitiveBytesLeft)
+ (113 primitiveQuit)
+ (114 primitiveExitToDebugger)
+ (115 primitiveChangeClass) "Blue Book: primitiveOopsLeft"
+ (116 primitiveFlushCacheByMethod)
+ (117 primitiveExternalCall)
+ (118 primitiveDoPrimitiveWithArgs)
+ (119 primitiveFlushCacheSelective)
+ "Squeak 2.2 and earlier use 119.  Squeak 2.3 and later use 116.
+ Both are supported for backward compatibility."
+
+ "Miscellaneous Primitives (120-127)"
+ (120 primitiveCalloutToFFI)
+ (121 primitiveImageName)
+ (122 primitiveNoop) "Blue Book: primitiveImageVolume"
+ (123 primitiveValueUninterruptably) "@@@: Remove this when all VMs have support"
+ (124 primitiveLowSpaceSemaphore)
+ (125 primitiveSignalAtBytesLeft)
+
+ "Squeak Primitives Start Here"
+
+ "Squeak Miscellaneous Primitives (128-149)"
+ (126 primitiveDeferDisplayUpdates)
+ (127 primitiveShowDisplayRect)
+ (128 primitiveArrayBecome)
+ (129 primitiveSpecialObjectsOop)
+ (130 primitiveFullGC)
+ (131 primitiveIncrementalGC)
+ (132 primitiveObjectPointsTo)
+ (133 primitiveSetInterruptKey)
+ (134 primitiveInterruptSemaphore)
+ (135 primitiveMillisecondClock)
+ (136 primitiveSignalAtMilliseconds)
+ (137 primitiveSecondsClock)
+ (138 primitiveSomeObject)
+ (139 primitiveNextObject)
+ (140 primitiveBeep)
+ (141 primitiveClipboardText)
+ (142 primitiveVMPath)
+ (143 primitiveShortAt)
+ (144 primitiveShortAtPut)
+ (145 primitiveConstantFill)
+ "NOTE: When removing the obsolete indexed primitives,
+ the following two should go become #primitiveIntegerAt / atPut"
+ (146 primitiveFail) "primitiveReadJoystick"
+ (147 primitiveFail) "primitiveWarpBits"
+ (148 primitiveClone)
+ (149 primitiveGetAttribute)
+
+ "File Primitives (150-169) - NO LONGER INDEXED"
+ (150 159 primitiveFail)
+ (160 primitiveAdoptInstance)
+ (161 164 primitiveFail)
+ (165 primitiveIntegerAt) "hacked in here for now"
+ (166 primitiveIntegerAtPut)
+ (167 primitiveYield)
+ (168 primitiveCopyObject)
+ (169 primitiveFail)
+
+ "Sound Primitives (170-199) - NO LONGER INDEXED"
+ (170 185 primitiveFail)
+
+ "Old closure primitives"
+ (186 primitiveFail) "was primitiveClosureValue"
+ (187 primitiveFail) "was primitiveClosureValueWithArgs"
+
+ "Perform method directly"
+ (188 primitiveExecuteMethodArgsArray)
+ (189 primitiveExecuteMethod)
+
+ "Sound Primitives (continued) - NO LONGER INDEXED"
+ (190 194 primitiveFail)
+
+ "Unwind primitives"
+ (195 primitiveFindNextUnwindContext)
+ (196 primitiveTerminateTo)
+ (197 primitiveFindHandlerContext)
+ (198 primitiveMarkUnwindMethod)
+ (199 primitiveMarkHandlerMethod)
+
+ "new closure primitives (were Networking primitives)"
+ (200 primitiveClosureCopyWithCopiedValues)
+ (201 primitiveClosureValue) "value"
+ (202 primitiveClosureValue) "value:"
+ (203 primitiveClosureValue) "value:value:"
+ (204 primitiveClosureValue) "value:value:value:"
+ (205 primitiveClosureValue) "value:value:value:value:"
+ (206 primitiveClosureValueWithArgs) "valueWithArguments:"
+
+ (207 209 primitiveFail) "reserved for Cog primitives"
+
+ (210 primitiveAt) "Compatibility with Cog StackInterpreter Context primitives"
+ (211 primitiveAtPut) "Compatibility with Cog StackInterpreter Context primitives"
+ (212 primitiveSize) "Compatibility with Cog StackInterpreter Context primitives"
+ (213 219 primitiveFail) "reserved for Cog primitives"
+
+ (220 primitiveFail) "reserved for Cog primitives"
+
+ (221 primitiveClosureValueNoContextSwitch) "valueNoContextSwitch"
+ (222 primitiveClosureValueNoContextSwitch) "valueNoContextSwitch:"
+
+ (223 229 primitiveFail) "reserved for Cog primitives"
+
+ (230 primitiveRelinquishProcessor)
+ (231 primitiveForceDisplayUpdate)
+ (232 primitiveFormPrint)
+ (233 primitiveSetFullScreen)
+ (234 primitiveFail) "primBitmapdecompressfromByteArrayat"
+ (235 primitiveFail) "primStringcomparewithcollated"
+ (236 primitiveFail) "primSampledSoundconvert8bitSignedFromto16Bit"
+ (237 primitiveFail) "primBitmapcompresstoByteArray"
+ (238 241 primitiveFail) "serial port primitives"
+ (242 primitiveFail)
+ (243 primitiveFail) "primStringtranslatefromtotable"
+ (244 primitiveFail) "primStringfindFirstInStringinSetstartingAt"
+ (245 primitiveFail) "primStringindexOfAsciiinStringstartingAt"
+ (246 primitiveFail) "primStringfindSubstringinstartingAtmatchTable"
+ (247 primitiveSnapshotEmbedded)
+ (248 primitiveInvokeObjectAsMethod)
+ (249 primitiveArrayBecomeOneWayCopyHash)
+
+ "VM Implementor Primitives (250-255)"
+ (250 clearProfile)
+ (251 dumpProfile)
+ (252 startProfiling)
+ (253 stopProfiling)
+ (254 primitiveVMParameter)
+ (255 primitiveInstVarsPutFromStack) "Never used except in Disney tests.  Remove after 2.3 release."
+
+ "Quick Push Const Methods"
+ (256 primitivePushSelf)
+ (257 primitivePushTrue)
+ (258 primitivePushFalse)
+ (259 primitivePushNil)
+ (260 primitivePushMinusOne)
+ (261 primitivePushZero)
+ (262 primitivePushOne)
+ (263 primitivePushTwo)
+
+ "Quick Push Const Methods"
+ (264 519 primitiveLoadInstVar)
+
+ "These ranges used to be used by obsiolete indexed primitives."
+ (520 529 primitiveFail)
+ (530 539 primitiveFail)
+ (540 549 primitiveFail)
+ (550 559 primitiveFail)
+ (560 569 primitiveFail)
+
+ "External primitive support primitives"
+ (570 primitiveFlushExternalPrimitives)
+ (571 primitiveUnloadModule)
+ (572 primitiveListBuiltinModule)
+ (573 primitiveListExternalModule)
+ (574 primitiveFail) "reserved for addl. external support prims"
+
+ "Unassigned Primitives"
+ (575 primitiveFail)).
+ !

Item was added:
+ ----- Method: PrimitiveTableHistory class>>initializePrimitiveTable20111015dtl (in category 'initialization history') -----
+ initializePrimitiveTable20111015dtl
+ "This table generates a C function address table use in primitiveResponse along with dispatchFunctionPointerOn:in:"
+
+ "NOTE: The real limit here is 2047 because of the method header layout but there is no point in going over the needed size"
+ MaxPrimitiveIndex := 575.
+ PrimitiveTable := Array new: MaxPrimitiveIndex + 1.
+ self table: PrimitiveTable from:
+ #( "Integer Primitives (0-19)"
+ (0 primitiveFail)
+ (1 primitiveAdd)
+ (2 primitiveSubtract)
+ (3 primitiveLessThan)
+ (4 primitiveGreaterThan)
+ (5 primitiveLessOrEqual)
+ (6 primitiveGreaterOrEqual)
+ (7 primitiveEqual)
+ (8 primitiveNotEqual)
+ (9 primitiveMultiply)
+ (10 primitiveDivide)
+ (11 primitiveMod)
+ (12 primitiveDiv)
+ (13 primitiveQuo)
+ (14 primitiveBitAnd)
+ (15 primitiveBitOr)
+ (16 primitiveBitXor)
+ (17 primitiveBitShift)
+ (18 primitiveMakePoint)
+ (19 primitiveFail) "Guard primitive for simulation -- *must* fail"
+
+ "LargeInteger Primitives (20-39)"
+ (20 primitiveFail)
+ (21 primitiveAddLargeIntegers)
+ (22 primitiveSubtractLargeIntegers)
+ (23 primitiveLessThanLargeIntegers)
+ (24 primitiveGreaterThanLargeIntegers)
+ (25 primitiveLessOrEqualLargeIntegers)
+ (26 primitiveGreaterOrEqualLargeIntegers)
+ (27 primitiveEqualLargeIntegers)
+ (28 primitiveNotEqualLargeIntegers)
+ (29 primitiveMultiplyLargeIntegers)
+ (30 primitiveDivideLargeIntegers)
+ (31 primitiveModLargeIntegers)
+ (32 primitiveDivLargeIntegers)
+ (33 primitiveQuoLargeIntegers)
+ (34 primitiveBitAndLargeIntegers)
+ (35 primitiveBitOrLargeIntegers)
+ (36 primitiveBitXorLargeIntegers)
+ (37 primitiveBitShiftLargeIntegers)
+ (38 primitiveFail)
+ (39 primitiveFail)
+
+ "Float Primitives (40-59)"
+ (40 primitiveAsFloat)
+ (41 primitiveFloatAdd)
+ (42 primitiveFloatSubtract)
+ (43 primitiveFloatLessThan)
+ (44 primitiveFloatGreaterThan)
+ (45 primitiveFloatLessOrEqual)
+ (46 primitiveFloatGreaterOrEqual)
+ (47 primitiveFloatEqual)
+ (48 primitiveFloatNotEqual)
+ (49 primitiveFloatMultiply)
+ (50 primitiveFloatDivide)
+ (51 primitiveTruncated)
+ (52 primitiveFractionalPart)
+ (53 primitiveExponent)
+ (54 primitiveTimesTwoPower)
+ (55 primitiveSquareRoot)
+ (56 primitiveSine)
+ (57 primitiveArctan)
+ (58 primitiveLogN)
+ (59 primitiveExp)
+
+ "Subscript and Stream Primitives (60-67)"
+ (60 primitiveAt)
+ (61 primitiveAtPut)
+ (62 primitiveSize)
+ (63 primitiveStringAt)
+ (64 primitiveStringAtPut)
+ (65 primitiveFail) "was primitiveNext which no longer pays its way (normal Smalltalk code is faster)"
+ (66 primitiveFail) "was primitiveNextPut which no longer pays its way (normal Smalltalk code is faster)"
+ (67 primitiveFail) "was primitiveAtEnd which no longer pays its way (normal Smalltalk code is faster)"
+
+ "StorageManagement Primitives (68-79)"
+ (68 primitiveObjectAt)
+ (69 primitiveObjectAtPut)
+ (70 primitiveNew)
+ (71 primitiveNewWithArg)
+ (72 primitiveArrayBecomeOneWay) "Blue Book: primitiveBecome"
+ (73 primitiveInstVarAt)
+ (74 primitiveInstVarAtPut)
+ (75 primitiveAsOop)
+ (76 primitiveStoreStackp) "Blue Book: primitiveAsObject"
+ (77 primitiveSomeInstance)
+ (78 primitiveNextInstance)
+ (79 primitiveNewMethod)
+
+ "Control Primitives (80-89)"
+ (80 primitiveBlockCopy)
+ (81 primitiveValue)
+ (82 primitiveValueWithArgs)
+ (83 primitivePerform)
+ (84 primitivePerformWithArgs)
+ (85 primitiveSignal)
+ (86 primitiveWait)
+ (87 primitiveResume)
+ (88 primitiveSuspend)
+ (89 primitiveFlushCache)
+
+ "Input/Output Primitives (90-109)"
+ (90 primitiveMousePoint)
+ (91 primitiveTestDisplayDepth) "Blue Book: primitiveCursorLocPut"
+ (92 primitiveSetDisplayMode) "Blue Book: primitiveCursorLink"
+ (93 primitiveInputSemaphore)
+ (94 primitiveGetNextEvent) "Blue Book: primitiveSampleInterval"
+ (95 primitiveInputWord)
+ (96 primitiveFail) "primitiveCopyBits"
+ (97 primitiveSnapshot)
+ (98 primitiveStoreImageSegment)
+ (99 primitiveLoadImageSegment)
+ (100 primitivePerformInSuperclass) "Blue Book: primitiveSignalAtTick"
+ (101 primitiveBeCursor)
+ (102 primitiveBeDisplay)
+ (103 primitiveScanCharacters)
+ (104 primitiveFail) "primitiveDrawLoop"
+ (105 primitiveStringReplace)
+ (106 primitiveScreenSize)
+ (107 primitiveMouseButtons)
+ (108 primitiveKbdNext)
+ (109 primitiveKbdPeek)
+
+ "System Primitives (110-119)"
+ (110 primitiveEquivalent)
+ (111 primitiveClass)
+ (112 primitiveBytesLeft)
+ (113 primitiveQuit)
+ (114 primitiveExitToDebugger)
+ (115 primitiveChangeClass) "Blue Book: primitiveOopsLeft"
+ (116 primitiveFlushCacheByMethod)
+ (117 primitiveExternalCall)
+ (118 primitiveDoPrimitiveWithArgs)
+ (119 primitiveFlushCacheSelective)
+ "Squeak 2.2 and earlier use 119.  Squeak 2.3 and later use 116.
+ Both are supported for backward compatibility."
+
+ "Miscellaneous Primitives (120-127)"
+ (120 primitiveCalloutToFFI)
+ (121 primitiveImageName)
+ (122 primitiveNoop) "Blue Book: primitiveImageVolume"
+ (123 primitiveValueUninterruptably) "@@@: Remove this when all VMs have support"
+ (124 primitiveLowSpaceSemaphore)
+ (125 primitiveSignalAtBytesLeft)
+
+ "Squeak Primitives Start Here"
+
+ "Squeak Miscellaneous Primitives (128-149)"
+ (126 primitiveDeferDisplayUpdates)
+ (127 primitiveShowDisplayRect)
+ (128 primitiveArrayBecome)
+ (129 primitiveSpecialObjectsOop)
+ (130 primitiveFullGC)
+ (131 primitiveIncrementalGC)
+ (132 primitiveObjectPointsTo)
+ (133 primitiveSetInterruptKey)
+ (134 primitiveInterruptSemaphore)
+ (135 primitiveMillisecondClock)
+ (136 primitiveSignalAtMilliseconds)
+ (137 primitiveSecondsClock)
+ (138 primitiveSomeObject)
+ (139 primitiveNextObject)
+ (140 primitiveBeep)
+ (141 primitiveClipboardText)
+ (142 primitiveVMPath)
+ (143 primitiveShortAt)
+ (144 primitiveShortAtPut)
+ (145 primitiveConstantFill)
+ "NOTE: When removing the obsolete indexed primitives,
+ the following two should go become #primitiveIntegerAt / atPut"
+ (146 primitiveFail) "primitiveReadJoystick"
+ (147 primitiveFail) "primitiveWarpBits"
+ (148 primitiveClone)
+ (149 primitiveGetAttribute)
+
+ "File Primitives (150-169) - NO LONGER INDEXED"
+ (150 159 primitiveFail)
+ (160 primitiveAdoptInstance)
+ (161 164 primitiveFail)
+ (165 primitiveIntegerAt) "hacked in here for now"
+ (166 primitiveIntegerAtPut)
+ (167 primitiveYield)
+ (168 primitiveCopyObject)
+ (169 primitiveNotIdentical)
+
+ "Sound Primitives (170-199) - NO LONGER INDEXED"
+ (170 185 primitiveFail)
+
+ "Old closure primitives"
+ (186 primitiveFail) "was primitiveClosureValue"
+ (187 primitiveFail) "was primitiveClosureValueWithArgs"
+
+ "Perform method directly"
+ (188 primitiveExecuteMethodArgsArray)
+ (189 primitiveExecuteMethod)
+
+ "Sound Primitives (continued) - NO LONGER INDEXED"
+ (190 194 primitiveFail)
+
+ "Unwind primitives"
+ (195 primitiveFindNextUnwindContext)
+ (196 primitiveTerminateTo)
+ (197 primitiveFindHandlerContext)
+ (198 primitiveMarkUnwindMethod)
+ (199 primitiveMarkHandlerMethod)
+
+ "new closure primitives (were Networking primitives)"
+ (200 primitiveClosureCopyWithCopiedValues)
+ (201 primitiveClosureValue) "value"
+ (202 primitiveClosureValue) "value:"
+ (203 primitiveClosureValue) "value:value:"
+ (204 primitiveClosureValue) "value:value:value:"
+ (205 primitiveClosureValue) "value:value:value:value:"
+ (206 primitiveClosureValueWithArgs) "valueWithArguments:"
+
+ (207 209 primitiveFail) "reserved for Cog primitives"
+
+ (210 primitiveAt) "Compatibility with Cog StackInterpreter Context primitives"
+ (211 primitiveAtPut) "Compatibility with Cog StackInterpreter Context primitives"
+ (212 primitiveSize) "Compatibility with Cog StackInterpreter Context primitives"
+ (213 219 primitiveFail) "reserved for Cog primitives"
+
+ (220 primitiveFail) "reserved for Cog primitives"
+
+ (221 primitiveClosureValueNoContextSwitch) "valueNoContextSwitch"
+ (222 primitiveClosureValueNoContextSwitch) "valueNoContextSwitch:"
+
+ (223 229 primitiveFail) "reserved for Cog primitives"
+
+ (230 primitiveRelinquishProcessor)
+ (231 primitiveForceDisplayUpdate)
+ (232 primitiveFormPrint)
+ (233 primitiveSetFullScreen)
+ (234 primitiveFail) "primBitmapdecompressfromByteArrayat"
+ (235 primitiveFail) "primStringcomparewithcollated"
+ (236 primitiveFail) "primSampledSoundconvert8bitSignedFromto16Bit"
+ (237 primitiveFail) "primBitmapcompresstoByteArray"
+ (238 241 primitiveFail) "serial port primitives"
+ (242 primitiveFail)
+ (243 primitiveFail) "primStringtranslatefromtotable"
+ (244 primitiveFail) "primStringfindFirstInStringinSetstartingAt"
+ (245 primitiveFail) "primStringindexOfAsciiinStringstartingAt"
+ (246 primitiveFail) "primStringfindSubstringinstartingAtmatchTable"
+ (247 primitiveSnapshotEmbedded)
+ (248 primitiveInvokeObjectAsMethod)
+ (249 primitiveArrayBecomeOneWayCopyHash)
+
+ "VM Implementor Primitives (250-255)"
+ (250 clearProfile)
+ (251 dumpProfile)
+ (252 startProfiling)
+ (253 stopProfiling)
+ (254 primitiveVMParameter)
+ (255 primitiveInstVarsPutFromStack) "Never used except in Disney tests.  Remove after 2.3 release."
+
+ "Quick Push Const Methods"
+ (256 primitivePushSelf)
+ (257 primitivePushTrue)
+ (258 primitivePushFalse)
+ (259 primitivePushNil)
+ (260 primitivePushMinusOne)
+ (261 primitivePushZero)
+ (262 primitivePushOne)
+ (263 primitivePushTwo)
+
+ "Quick Push Const Methods"
+ (264 519 primitiveLoadInstVar)
+
+ "These ranges used to be used by obsiolete indexed primitives."
+ (520 529 primitiveFail)
+ (530 539 primitiveFail)
+ (540 549 primitiveFail)
+ (550 559 primitiveFail)
+ (560 569 primitiveFail)
+
+ "External primitive support primitives"
+ (570 primitiveFlushExternalPrimitives)
+ (571 primitiveUnloadModule)
+ (572 primitiveListBuiltinModule)
+ (573 primitiveListExternalModule)
+ (574 primitiveFail) "reserved for addl. external support prims"
+
+ "Unassigned Primitives"
+ (575 primitiveFail)).
+ !

Item was added:
+ ----- Method: PrimitiveTableHistory class>>initializePrimitiveTable20111125dtl (in category 'initialization history') -----
+ initializePrimitiveTable20111125dtl
+ "This table generates a C function address table use in primitiveResponse along with dispatchFunctionPointerOn:in:"
+
+ "NOTE: The real limit here is 2047 because of the method header layout but there is no point in going over the needed size"
+ MaxPrimitiveIndex := 575.
+ PrimitiveTable := Array new: MaxPrimitiveIndex + 1.
+ self table: PrimitiveTable from:
+ #( "Integer Primitives (0-19)"
+ (0 primitiveFail)
+ (1 primitiveAdd)
+ (2 primitiveSubtract)
+ (3 primitiveLessThan)
+ (4 primitiveGreaterThan)
+ (5 primitiveLessOrEqual)
+ (6 primitiveGreaterOrEqual)
+ (7 primitiveEqual)
+ (8 primitiveNotEqual)
+ (9 primitiveMultiply)
+ (10 primitiveDivide)
+ (11 primitiveMod)
+ (12 primitiveDiv)
+ (13 primitiveQuo)
+ (14 primitiveBitAnd)
+ (15 primitiveBitOr)
+ (16 primitiveBitXor)
+ (17 primitiveBitShift)
+ (18 primitiveMakePoint)
+ (19 primitiveFail) "Guard primitive for simulation -- *must* fail"
+
+ "LargeInteger Primitives (20-39)"
+ (20 primitiveFail)
+ (21 primitiveAddLargeIntegers)
+ (22 primitiveSubtractLargeIntegers)
+ (23 primitiveLessThanLargeIntegers)
+ (24 primitiveGreaterThanLargeIntegers)
+ (25 primitiveLessOrEqualLargeIntegers)
+ (26 primitiveGreaterOrEqualLargeIntegers)
+ (27 primitiveEqualLargeIntegers)
+ (28 primitiveNotEqualLargeIntegers)
+ (29 primitiveMultiplyLargeIntegers)
+ (30 primitiveDivideLargeIntegers)
+ (31 primitiveModLargeIntegers)
+ (32 primitiveDivLargeIntegers)
+ (33 primitiveQuoLargeIntegers)
+ (34 primitiveBitAndLargeIntegers)
+ (35 primitiveBitOrLargeIntegers)
+ (36 primitiveBitXorLargeIntegers)
+ (37 primitiveBitShiftLargeIntegers)
+ (38 primitiveFail)
+ (39 primitiveFail)
+
+ "Float Primitives (40-59)"
+ (40 primitiveAsFloat)
+ (41 primitiveFloatAdd)
+ (42 primitiveFloatSubtract)
+ (43 primitiveFloatLessThan)
+ (44 primitiveFloatGreaterThan)
+ (45 primitiveFloatLessOrEqual)
+ (46 primitiveFloatGreaterOrEqual)
+ (47 primitiveFloatEqual)
+ (48 primitiveFloatNotEqual)
+ (49 primitiveFloatMultiply)
+ (50 primitiveFloatDivide)
+ (51 primitiveTruncated)
+ (52 primitiveFractionalPart)
+ (53 primitiveExponent)
+ (54 primitiveTimesTwoPower)
+ (55 primitiveSquareRoot)
+ (56 primitiveSine)
+ (57 primitiveArctan)
+ (58 primitiveLogN)
+ (59 primitiveExp)
+
+ "Subscript and Stream Primitives (60-67)"
+ (60 primitiveAt)
+ (61 primitiveAtPut)
+ (62 primitiveSize)
+ (63 primitiveStringAt)
+ (64 primitiveStringAtPut)
+ (65 primitiveFail) "was primitiveNext which no longer pays its way (normal Smalltalk code is faster)"
+ (66 primitiveFail) "was primitiveNextPut which no longer pays its way (normal Smalltalk code is faster)"
+ (67 primitiveFail) "was primitiveAtEnd which no longer pays its way (normal Smalltalk code is faster)"
+
+ "StorageManagement Primitives (68-79)"
+ (68 primitiveObjectAt)
+ (69 primitiveObjectAtPut)
+ (70 primitiveNew)
+ (71 primitiveNewWithArg)
+ (72 primitiveArrayBecomeOneWay) "Blue Book: primitiveBecome"
+ (73 primitiveInstVarAt)
+ (74 primitiveInstVarAtPut)
+ (75 primitiveAsOop)
+ (76 primitiveStoreStackp) "Blue Book: primitiveAsObject"
+ (77 primitiveSomeInstance)
+ (78 primitiveNextInstance)
+ (79 primitiveNewMethod)
+
+ "Control Primitives (80-89)"
+ (80 primitiveBlockCopy)
+ (81 primitiveValue)
+ (82 primitiveValueWithArgs)
+ (83 primitivePerform)
+ (84 primitivePerformWithArgs)
+ (85 primitiveSignal)
+ (86 primitiveWait)
+ (87 primitiveResume)
+ (88 primitiveSuspend)
+ (89 primitiveFlushCache)
+
+ "Input/Output Primitives (90-109)"
+ (90 primitiveMousePoint)
+ (91 primitiveTestDisplayDepth) "Blue Book: primitiveCursorLocPut"
+ (92 primitiveSetDisplayMode) "Blue Book: primitiveCursorLink"
+ (93 primitiveInputSemaphore)
+ (94 primitiveGetNextEvent) "Blue Book: primitiveSampleInterval"
+ (95 primitiveInputWord)
+ (96 primitiveFail) "primitiveCopyBits"
+ (97 primitiveSnapshot)
+ (98 primitiveStoreImageSegment)
+ (99 primitiveLoadImageSegment)
+ (100 primitivePerformInSuperclass) "Blue Book: primitiveSignalAtTick"
+ (101 primitiveBeCursor)
+ (102 primitiveBeDisplay)
+ (103 primitiveScanCharacters)
+ (104 primitiveFail) "primitiveDrawLoop"
+ (105 primitiveStringReplace)
+ (106 primitiveScreenSize)
+ (107 primitiveMouseButtons)
+ (108 primitiveKbdNext)
+ (109 primitiveKbdPeek)
+
+ "System Primitives (110-119)"
+ (110 primitiveIdentical)
+ (111 primitiveClass)
+ (112 primitiveBytesLeft)
+ (113 primitiveQuit)
+ (114 primitiveExitToDebugger)
+ (115 primitiveChangeClass) "Blue Book: primitiveOopsLeft"
+ (116 primitiveFlushCacheByMethod)
+ (117 primitiveExternalCall)
+ (118 primitiveDoPrimitiveWithArgs)
+ (119 primitiveFlushCacheSelective)
+ "Squeak 2.2 and earlier use 119.  Squeak 2.3 and later use 116.
+ Both are supported for backward compatibility."
+
+ "Miscellaneous Primitives (120-127)"
+ (120 primitiveCalloutToFFI)
+ (121 primitiveImageName)
+ (122 primitiveNoop) "Blue Book: primitiveImageVolume"
+ (123 primitiveValueUninterruptably) "@@@: Remove this when all VMs have support"
+ (124 primitiveLowSpaceSemaphore)
+ (125 primitiveSignalAtBytesLeft)
+
+ "Squeak Primitives Start Here"
+
+ "Squeak Miscellaneous Primitives (128-149)"
+ (126 primitiveDeferDisplayUpdates)
+ (127 primitiveShowDisplayRect)
+ (128 primitiveArrayBecome)
+ (129 primitiveSpecialObjectsOop)
+ (130 primitiveFullGC)
+ (131 primitiveIncrementalGC)
+ (132 primitiveObjectPointsTo)
+ (133 primitiveSetInterruptKey)
+ (134 primitiveInterruptSemaphore)
+ (135 primitiveMillisecondClock)
+ (136 primitiveSignalAtMilliseconds)
+ (137 primitiveSecondsClock)
+ (138 primitiveSomeObject)
+ (139 primitiveNextObject)
+ (140 primitiveBeep)
+ (141 primitiveClipboardText)
+ (142 primitiveVMPath)
+ (143 primitiveShortAt)
+ (144 primitiveShortAtPut)
+ (145 primitiveConstantFill)
+ "NOTE: When removing the obsolete indexed primitives,
+ the following two should go become #primitiveIntegerAt / atPut"
+ (146 primitiveFail) "primitiveReadJoystick"
+ (147 primitiveFail) "primitiveWarpBits"
+ (148 primitiveClone)
+ (149 primitiveGetAttribute)
+
+ "File Primitives (150-169) - NO LONGER INDEXED"
+ (150 159 primitiveFail)
+ (160 primitiveAdoptInstance)
+ (161 164 primitiveFail)
+ (165 primitiveIntegerAt) "hacked in here for now"
+ (166 primitiveIntegerAtPut)
+ (167 primitiveYield)
+ (168 primitiveCopyObject)
+ (169 primitiveNotIdentical)
+
+ "Sound Primitives (170-199) - NO LONGER INDEXED"
+ (170 185 primitiveFail)
+
+ "Old closure primitives"
+ (186 primitiveFail) "was primitiveClosureValue"
+ (187 primitiveFail) "was primitiveClosureValueWithArgs"
+
+ "Perform method directly"
+ (188 primitiveExecuteMethodArgsArray)
+ (189 primitiveExecuteMethod)
+
+ "Sound Primitives (continued) - NO LONGER INDEXED"
+ (190 194 primitiveFail)
+
+ "Unwind primitives"
+ (195 primitiveFindNextUnwindContext)
+ (196 primitiveTerminateTo)
+ (197 primitiveFindHandlerContext)
+ (198 primitiveMarkUnwindMethod)
+ (199 primitiveMarkHandlerMethod)
+
+ "new closure primitives (were Networking primitives)"
+ (200 primitiveClosureCopyWithCopiedValues)
+ (201 primitiveClosureValue) "value"
+ (202 primitiveClosureValue) "value:"
+ (203 primitiveClosureValue) "value:value:"
+ (204 primitiveClosureValue) "value:value:value:"
+ (205 primitiveClosureValue) "value:value:value:value:"
+ (206 primitiveClosureValueWithArgs) "valueWithArguments:"
+
+ (207 209 primitiveFail) "reserved for Cog primitives"
+
+ (210 primitiveAt) "Compatibility with Cog StackInterpreter Context primitives"
+ (211 primitiveAtPut) "Compatibility with Cog StackInterpreter Context primitives"
+ (212 primitiveSize) "Compatibility with Cog StackInterpreter Context primitives"
+ (213 219 primitiveFail) "reserved for Cog primitives"
+
+ (220 primitiveFail) "reserved for Cog primitives"
+
+ (221 primitiveClosureValueNoContextSwitch) "valueNoContextSwitch"
+ (222 primitiveClosureValueNoContextSwitch) "valueNoContextSwitch:"
+
+ (223 229 primitiveFail) "reserved for Cog primitives"
+
+ (230 primitiveRelinquishProcessor)
+ (231 primitiveForceDisplayUpdate)
+ (232 primitiveFormPrint)
+ (233 primitiveSetFullScreen)
+ (234 primitiveFail) "primBitmapdecompressfromByteArrayat"
+ (235 primitiveFail) "primStringcomparewithcollated"
+ (236 primitiveFail) "primSampledSoundconvert8bitSignedFromto16Bit"
+ (237 primitiveFail) "primBitmapcompresstoByteArray"
+ (238 241 primitiveFail) "serial port primitives"
+ (242 primitiveFail)
+ (243 primitiveFail) "primStringtranslatefromtotable"
+ (244 primitiveFail) "primStringfindFirstInStringinSetstartingAt"
+ (245 primitiveFail) "primStringindexOfAsciiinStringstartingAt"
+ (246 primitiveFail) "primStringfindSubstringinstartingAtmatchTable"
+ (247 primitiveSnapshotEmbedded)
+ (248 primitiveInvokeObjectAsMethod)
+ (249 primitiveArrayBecomeOneWayCopyHash)
+
+ "VM Implementor Primitives (250-255)"
+ (250 clearProfile)
+ (251 dumpProfile)
+ (252 startProfiling)
+ (253 stopProfiling)
+ (254 primitiveVMParameter)
+ (255 primitiveInstVarsPutFromStack) "Never used except in Disney tests.  Remove after 2.3 release."
+
+ "Quick Push Const Methods"
+ (256 primitivePushSelf)
+ (257 primitivePushTrue)
+ (258 primitivePushFalse)
+ (259 primitivePushNil)
+ (260 primitivePushMinusOne)
+ (261 primitivePushZero)
+ (262 primitivePushOne)
+ (263 primitivePushTwo)
+
+ "Quick Push Const Methods"
+ (264 519 primitiveLoadInstVar)
+
+ "These ranges used to be used by obsiolete indexed primitives."
+ (520 529 primitiveFail)
+ (530 539 primitiveFail)
+ (540 549 primitiveFail)
+ (550 559 primitiveFail)
+ (560 569 primitiveFail)
+
+ "External primitive support primitives"
+ (570 primitiveFlushExternalPrimitives)
+ (571 primitiveUnloadModule)
+ (572 primitiveListBuiltinModule)
+ (573 primitiveListExternalModule)
+ (574 primitiveFail) "reserved for addl. external support prims"
+
+ "Unassigned Primitives"
+ (575 primitiveFail)).
+ !

Item was added:
+ ----- Method: PrimitiveTableHistory class>>initializePrimitiveTable20120130dtl (in category 'initialization history') -----
+ initializePrimitiveTable20120130dtl
+ "This table generates a C function address table use in primitiveResponse along with dispatchFunctionPointerOn:in:"
+
+ "NOTE: The real limit here is 2047 because of the method header layout but there is no point in going over the needed size"
+ MaxPrimitiveIndex := 575.
+ PrimitiveTable := Array new: MaxPrimitiveIndex + 1.
+ self table: PrimitiveTable from:
+ #( "Integer Primitives (0-19)"
+ (0 primitiveFail)
+ (1 primitiveAdd)
+ (2 primitiveSubtract)
+ (3 primitiveLessThan)
+ (4 primitiveGreaterThan)
+ (5 primitiveLessOrEqual)
+ (6 primitiveGreaterOrEqual)
+ (7 primitiveEqual)
+ (8 primitiveNotEqual)
+ (9 primitiveMultiply)
+ (10 primitiveDivide)
+ (11 primitiveMod)
+ (12 primitiveDiv)
+ (13 primitiveQuo)
+ (14 primitiveBitAnd)
+ (15 primitiveBitOr)
+ (16 primitiveBitXor)
+ (17 primitiveBitShift)
+ (18 primitiveMakePoint)
+ (19 primitiveFail) "Guard primitive for simulation -- *must* fail"
+
+ "LargeInteger Primitives (20-39)"
+ (20 primitiveFail)
+ (21 primitiveAddLargeIntegers)
+ (22 primitiveSubtractLargeIntegers)
+ (23 primitiveLessThanLargeIntegers)
+ (24 primitiveGreaterThanLargeIntegers)
+ (25 primitiveLessOrEqualLargeIntegers)
+ (26 primitiveGreaterOrEqualLargeIntegers)
+ (27 primitiveEqualLargeIntegers)
+ (28 primitiveNotEqualLargeIntegers)
+ (29 primitiveMultiplyLargeIntegers)
+ (30 primitiveDivideLargeIntegers)
+ (31 primitiveModLargeIntegers)
+ (32 primitiveDivLargeIntegers)
+ (33 primitiveQuoLargeIntegers)
+ (34 primitiveBitAndLargeIntegers)
+ (35 primitiveBitOrLargeIntegers)
+ (36 primitiveBitXorLargeIntegers)
+ (37 primitiveBitShiftLargeIntegers)
+ (38 primitiveFail)
+ (39 primitiveFail)
+
+ "Float Primitives (40-59)"
+ (40 primitiveAsFloat)
+ (41 primitiveFloatAdd)
+ (42 primitiveFloatSubtract)
+ (43 primitiveFloatLessThan)
+ (44 primitiveFloatGreaterThan)
+ (45 primitiveFloatLessOrEqual)
+ (46 primitiveFloatGreaterOrEqual)
+ (47 primitiveFloatEqual)
+ (48 primitiveFloatNotEqual)
+ (49 primitiveFloatMultiply)
+ (50 primitiveFloatDivide)
+ (51 primitiveTruncated)
+ (52 primitiveFractionalPart)
+ (53 primitiveExponent)
+ (54 primitiveTimesTwoPower)
+ (55 primitiveSquareRoot)
+ (56 primitiveSine)
+ (57 primitiveArctan)
+ (58 primitiveLogN)
+ (59 primitiveExp)
+
+ "Subscript and Stream Primitives (60-67)"
+ (60 primitiveAt)
+ (61 primitiveAtPut)
+ (62 primitiveSize)
+ (63 primitiveStringAt)
+ (64 primitiveStringAtPut)
+ (65 primitiveFail) "was primitiveNext which no longer pays its way (normal Smalltalk code is faster)"
+ (66 primitiveFail) "was primitiveNextPut which no longer pays its way (normal Smalltalk code is faster)"
+ (67 primitiveFail) "was primitiveAtEnd which no longer pays its way (normal Smalltalk code is faster)"
+
+ "StorageManagement Primitives (68-79)"
+ (68 primitiveObjectAt)
+ (69 primitiveObjectAtPut)
+ (70 primitiveNew)
+ (71 primitiveNewWithArg)
+ (72 primitiveArrayBecomeOneWay) "Blue Book: primitiveBecome"
+ (73 primitiveInstVarAt)
+ (74 primitiveInstVarAtPut)
+ (75 primitiveAsOop)
+ (76 primitiveStoreStackp) "Blue Book: primitiveAsObject"
+ (77 primitiveSomeInstance)
+ (78 primitiveNextInstance)
+ (79 primitiveNewMethod)
+
+ "Control Primitives (80-89)"
+ (80 primitiveBlockCopy)
+ (81 primitiveValue)
+ (82 primitiveValueWithArgs)
+ (83 primitivePerform)
+ (84 primitivePerformWithArgs)
+ (85 primitiveSignal)
+ (86 primitiveWait)
+ (87 primitiveResume)
+ (88 primitiveSuspend)
+ (89 primitiveFlushCache)
+
+ "Input/Output Primitives (90-109)"
+ (90 primitiveMousePoint)
+ (91 primitiveTestDisplayDepth) "Blue Book: primitiveCursorLocPut"
+ (92 primitiveSetDisplayMode) "Blue Book: primitiveCursorLink"
+ (93 primitiveInputSemaphore)
+ (94 primitiveGetNextEvent) "Blue Book: primitiveSampleInterval"
+ (95 primitiveInputWord)
+ (96 primitiveFail) "primitiveCopyBits"
+ (97 primitiveSnapshot)
+ (98 primitiveStoreImageSegment)
+ (99 primitiveLoadImageSegment)
+ (100 primitivePerformInSuperclass) "Blue Book: primitiveSignalAtTick"
+ (101 primitiveBeCursor)
+ (102 primitiveBeDisplay)
+ (103 primitiveScanCharacters)
+ (104 primitiveFail) "primitiveDrawLoop"
+ (105 primitiveStringReplace)
+ (106 primitiveScreenSize)
+ (107 primitiveMouseButtons)
+ (108 primitiveKbdNext)
+ (109 primitiveKbdPeek)
+
+ "System Primitives (110-119)"
+ (110 primitiveIdentical)
+ (111 primitiveClass)
+ (112 primitiveBytesLeft)
+ (113 primitiveQuit)
+ (114 primitiveExitToDebugger)
+ (115 primitiveChangeClass) "Blue Book: primitiveOopsLeft"
+ (116 primitiveFlushCacheByMethod)
+ (117 primitiveExternalCall)
+ (118 primitiveDoPrimitiveWithArgs)
+ (119 primitiveFlushCacheSelective)
+ "Squeak 2.2 and earlier use 119.  Squeak 2.3 and later use 116.
+ Both are supported for backward compatibility."
+
+ "Miscellaneous Primitives (120-127)"
+ (120 primitiveCalloutToFFI)
+ (121 primitiveImageName)
+ (122 primitiveNoop) "Blue Book: primitiveImageVolume"
+ (123 primitiveValueUninterruptably) "@@@: Remove this when all VMs have support"
+ (124 primitiveLowSpaceSemaphore)
+ (125 primitiveSignalAtBytesLeft)
+
+ "Squeak Primitives Start Here"
+
+ "Squeak Miscellaneous Primitives (128-149)"
+ (126 primitiveDeferDisplayUpdates)
+ (127 primitiveShowDisplayRect)
+ (128 primitiveArrayBecome)
+ (129 primitiveSpecialObjectsOop)
+ (130 primitiveFullGC)
+ (131 primitiveIncrementalGC)
+ (132 primitiveObjectPointsTo)
+ (133 primitiveSetInterruptKey)
+ (134 primitiveInterruptSemaphore)
+ (135 primitiveMillisecondClock)
+ (136 primitiveSignalAtMilliseconds)
+ (137 primitiveSecondsClock)
+ (138 primitiveSomeObject)
+ (139 primitiveNextObject)
+ (140 primitiveBeep)
+ (141 primitiveClipboardText)
+ (142 primitiveVMPath)
+ (143 primitiveShortAt)
+ (144 primitiveShortAtPut)
+ (145 primitiveConstantFill)
+ "NOTE: When removing the obsolete indexed primitives,
+ the following two should go become #primitiveIntegerAt / atPut"
+ (146 primitiveFail) "primitiveReadJoystick"
+ (147 primitiveFail) "primitiveWarpBits"
+ (148 primitiveClone)
+ (149 primitiveGetAttribute)
+
+ "File Primitives (150-169) - NO LONGER INDEXED"
+ (150 159 primitiveFail)
+ (160 primitiveAdoptInstance)
+ (161 164 primitiveFail)
+ (165 primitiveIntegerAt) "hacked in here for now"
+ (166 primitiveIntegerAtPut)
+ (167 primitiveYield)
+ (168 primitiveCopyObject)
+ (169 primitiveNotIdentical)
+
+ "Sound Primitives (170-199) - NO LONGER INDEXED"
+ (170 185 primitiveFail)
+
+ "Old closure primitives"
+ (186 primitiveFail) "was primitiveClosureValue"
+ (187 primitiveFail) "was primitiveClosureValueWithArgs"
+
+ "Perform method directly"
+ (188 primitiveExecuteMethodArgsArray)
+ (189 primitiveExecuteMethod)
+
+ "Sound Primitives (continued) - NO LONGER INDEXED"
+ (190 194 primitiveFail)
+
+ "Unwind primitives"
+ (195 primitiveFindNextUnwindContext)
+ (196 primitiveTerminateTo)
+ (197 primitiveFindHandlerContext)
+ (198 primitiveMarkUnwindMethod)
+ (199 primitiveMarkHandlerMethod)
+
+ "new closure primitives (were Networking primitives)"
+ (200 primitiveClosureCopyWithCopiedValues)
+ (201 primitiveClosureValue) "value"
+ (202 primitiveClosureValue) "value:"
+ (203 primitiveClosureValue) "value:value:"
+ (204 primitiveClosureValue) "value:value:value:"
+ (205 primitiveClosureValue) "value:value:value:value:"
+ (206 primitiveClosureValueWithArgs) "valueWithArguments:"
+
+ (207 209 primitiveFail) "reserved for Cog primitives"
+
+ (210 primitiveAt) "Compatibility with Cog StackInterpreter Context primitives"
+ (211 primitiveAtPut) "Compatibility with Cog StackInterpreter Context primitives"
+ (212 primitiveSize) "Compatibility with Cog StackInterpreter Context primitives"
+ (213 219 primitiveFail) "reserved for Cog primitives"
+
+ (220 primitiveFail) "reserved for Cog primitives"
+
+ (221 primitiveClosureValueNoContextSwitch) "valueNoContextSwitch"
+ (222 primitiveClosureValueNoContextSwitch) "valueNoContextSwitch:"
+
+ (223 229 primitiveFail) "reserved for Cog primitives"
+
+ (230 primitiveRelinquishProcessor)
+ (231 primitiveForceDisplayUpdate)
+ (232 primitiveFormPrint)
+ (233 primitiveSetFullScreen)
+ (234 primitiveFail) "primBitmapdecompressfromByteArrayat"
+ (235 primitiveFail) "primStringcomparewithcollated"
+ (236 primitiveFail) "primSampledSoundconvert8bitSignedFromto16Bit"
+ (237 primitiveFail) "primBitmapcompresstoByteArray"
+ (238 241 primitiveFail) "serial port primitives"
+ (242 primitiveFail)
+ (243 primitiveFail) "primStringtranslatefromtotable"
+ (244 primitiveFail) "primStringfindFirstInStringinSetstartingAt"
+ (245 primitiveFail) "primStringindexOfAsciiinStringstartingAt"
+ (246 primitiveFail) "primStringfindSubstringinstartingAtmatchTable"
+ (247 primitiveSnapshotEmbedded)
+ (248 primitiveInvokeObjectAsMethod)
+ (249 primitiveArrayBecomeOneWayCopyHash)
+
+ "VM Implementor Primitives (250-255)"
+ (250 clearProfile)
+ (251 dumpProfile)
+ (252 startProfiling)
+ (253 stopProfiling)
+ (254 primitiveVMParameter)
+ (255 primitiveFail) "primitiveInstVarsPutFromStack. Never used except in Disney tests.  Remove after 2.3 release."
+
+ "Quick Push Const Methods"
+ (256 primitivePushSelf)
+ (257 primitivePushTrue)
+ (258 primitivePushFalse)
+ (259 primitivePushNil)
+ (260 primitivePushMinusOne)
+ (261 primitivePushZero)
+ (262 primitivePushOne)
+ (263 primitivePushTwo)
+
+ "Quick Push Const Methods"
+ (264 519 primitiveLoadInstVar)
+
+ "These ranges used to be used by obsiolete indexed primitives."
+ (520 529 primitiveFail)
+ (530 539 primitiveFail)
+ (540 549 primitiveFail)
+ (550 559 primitiveFail)
+ (560 569 primitiveFail)
+
+ "External primitive support primitives"
+ (570 primitiveFlushExternalPrimitives)
+ (571 primitiveUnloadModule)
+ (572 primitiveListBuiltinModule)
+ (573 primitiveListExternalModule)
+ (574 primitiveFail) "reserved for addl. external support prims"
+
+ "Unassigned Primitives"
+ (575 primitiveFail)).
+ !

Item was added:
+ ----- Method: PrimitiveTableHistory class>>initializePrimitiveTable20120704dtl (in category 'initialization history') -----
+ initializePrimitiveTable20120704dtl
+ "This table generates a C function address table use in primitiveResponse along with dispatchFunctionPointerOn:in:"
+
+ "NOTE: The real limit here is 2047 because of the method header layout but there is no point in going over the needed size"
+ MaxPrimitiveIndex := 575.
+ PrimitiveTable := Array new: MaxPrimitiveIndex + 1.
+ self table: PrimitiveTable from:
+ #( "Integer Primitives (0-19)"
+ (0 primitiveFail)
+ (1 primitiveAdd)
+ (2 primitiveSubtract)
+ (3 primitiveLessThan)
+ (4 primitiveGreaterThan)
+ (5 primitiveLessOrEqual)
+ (6 primitiveGreaterOrEqual)
+ (7 primitiveEqual)
+ (8 primitiveNotEqual)
+ (9 primitiveMultiply)
+ (10 primitiveDivide)
+ (11 primitiveMod)
+ (12 primitiveDiv)
+ (13 primitiveQuo)
+ (14 primitiveBitAnd)
+ (15 primitiveBitOr)
+ (16 primitiveBitXor)
+ (17 primitiveBitShift)
+ (18 primitiveMakePoint)
+ (19 primitiveFail) "Guard primitive for simulation -- *must* fail"
+
+ "LargeInteger Primitives (20-39)"
+ (20 primitiveFail)
+ (21 primitiveAddLargeIntegers)
+ (22 primitiveSubtractLargeIntegers)
+ (23 primitiveLessThanLargeIntegers)
+ (24 primitiveGreaterThanLargeIntegers)
+ (25 primitiveLessOrEqualLargeIntegers)
+ (26 primitiveGreaterOrEqualLargeIntegers)
+ (27 primitiveEqualLargeIntegers)
+ (28 primitiveNotEqualLargeIntegers)
+ (29 primitiveMultiplyLargeIntegers)
+ (30 primitiveDivideLargeIntegers)
+ (31 primitiveModLargeIntegers)
+ (32 primitiveDivLargeIntegers)
+ (33 primitiveQuoLargeIntegers)
+ (34 primitiveBitAndLargeIntegers)
+ (35 primitiveBitOrLargeIntegers)
+ (36 primitiveBitXorLargeIntegers)
+ (37 primitiveBitShiftLargeIntegers)
+
+ "Float Primitives (38-59)"
+ (38 primitiveFloatAt)
+ (39 primitiveFloatAtPut)
+ (40 primitiveAsFloat)
+ (41 primitiveFloatAdd)
+ (42 primitiveFloatSubtract)
+ (43 primitiveFloatLessThan)
+ (44 primitiveFloatGreaterThan)
+ (45 primitiveFloatLessOrEqual)
+ (46 primitiveFloatGreaterOrEqual)
+ (47 primitiveFloatEqual)
+ (48 primitiveFloatNotEqual)
+ (49 primitiveFloatMultiply)
+ (50 primitiveFloatDivide)
+ (51 primitiveTruncated)
+ (52 primitiveFractionalPart)
+ (53 primitiveExponent)
+ (54 primitiveTimesTwoPower)
+ (55 primitiveSquareRoot)
+ (56 primitiveSine)
+ (57 primitiveArctan)
+ (58 primitiveLogN)
+ (59 primitiveExp)
+
+ "Subscript and Stream Primitives (60-67)"
+ (60 primitiveAt)
+ (61 primitiveAtPut)
+ (62 primitiveSize)
+ (63 primitiveStringAt)
+ (64 primitiveStringAtPut)
+ (65 primitiveFail) "was primitiveNext which no longer pays its way (normal Smalltalk code is faster)"
+ (66 primitiveFail) "was primitiveNextPut which no longer pays its way (normal Smalltalk code is faster)"
+ (67 primitiveFail) "was primitiveAtEnd which no longer pays its way (normal Smalltalk code is faster)"
+
+ "StorageManagement Primitives (68-79)"
+ (68 primitiveObjectAt)
+ (69 primitiveObjectAtPut)
+ (70 primitiveNew)
+ (71 primitiveNewWithArg)
+ (72 primitiveArrayBecomeOneWay) "Blue Book: primitiveBecome"
+ (73 primitiveInstVarAt)
+ (74 primitiveInstVarAtPut)
+ (75 primitiveAsOop)
+ (76 primitiveStoreStackp) "Blue Book: primitiveAsObject"
+ (77 primitiveSomeInstance)
+ (78 primitiveNextInstance)
+ (79 primitiveNewMethod)
+
+ "Control Primitives (80-89)"
+ (80 primitiveBlockCopy)
+ (81 primitiveValue)
+ (82 primitiveValueWithArgs)
+ (83 primitivePerform)
+ (84 primitivePerformWithArgs)
+ (85 primitiveSignal)
+ (86 primitiveWait)
+ (87 primitiveResume)
+ (88 primitiveSuspend)
+ (89 primitiveFlushCache)
+
+ "Input/Output Primitives (90-109)"
+ (90 primitiveMousePoint)
+ (91 primitiveTestDisplayDepth) "Blue Book: primitiveCursorLocPut"
+ (92 primitiveSetDisplayMode) "Blue Book: primitiveCursorLink"
+ (93 primitiveInputSemaphore)
+ (94 primitiveGetNextEvent) "Blue Book: primitiveSampleInterval"
+ (95 primitiveInputWord)
+ (96 primitiveFail) "primitiveCopyBits"
+ (97 primitiveSnapshot)
+ (98 primitiveStoreImageSegment)
+ (99 primitiveLoadImageSegment)
+ (100 primitivePerformInSuperclass) "Blue Book: primitiveSignalAtTick"
+ (101 primitiveBeCursor)
+ (102 primitiveBeDisplay)
+ (103 primitiveScanCharacters)
+ (104 primitiveFail) "primitiveDrawLoop"
+ (105 primitiveStringReplace)
+ (106 primitiveScreenSize)
+ (107 primitiveMouseButtons)
+ (108 primitiveKbdNext)
+ (109 primitiveKbdPeek)
+
+ "System Primitives (110-119)"
+ (110 primitiveIdentical)
+ (111 primitiveClass)
+ (112 primitiveBytesLeft)
+ (113 primitiveQuit)
+ (114 primitiveExitToDebugger)
+ (115 primitiveChangeClass) "Blue Book: primitiveOopsLeft"
+ (116 primitiveFlushCacheByMethod)
+ (117 primitiveExternalCall)
+ (118 primitiveDoPrimitiveWithArgs)
+ (119 primitiveFlushCacheSelective)
+ "Squeak 2.2 and earlier use 119.  Squeak 2.3 and later use 116.
+ Both are supported for backward compatibility."
+
+ "Miscellaneous Primitives (120-127)"
+ (120 primitiveCalloutToFFI)
+ (121 primitiveImageName)
+ (122 primitiveNoop) "Blue Book: primitiveImageVolume"
+ (123 primitiveValueUninterruptably) "@@@: Remove this when all VMs have support"
+ (124 primitiveLowSpaceSemaphore)
+ (125 primitiveSignalAtBytesLeft)
+
+ "Squeak Primitives Start Here"
+
+ "Squeak Miscellaneous Primitives (128-149)"
+ (126 primitiveDeferDisplayUpdates)
+ (127 primitiveShowDisplayRect)
+ (128 primitiveArrayBecome)
+ (129 primitiveSpecialObjectsOop)
+ (130 primitiveFullGC)
+ (131 primitiveIncrementalGC)
+ (132 primitiveObjectPointsTo)
+ (133 primitiveSetInterruptKey)
+ (134 primitiveInterruptSemaphore)
+ (135 primitiveMillisecondClock)
+ (136 primitiveSignalAtMilliseconds)
+ (137 primitiveSecondsClock)
+ (138 primitiveSomeObject)
+ (139 primitiveNextObject)
+ (140 primitiveBeep)
+ (141 primitiveClipboardText)
+ (142 primitiveVMPath)
+ (143 primitiveShortAt)
+ (144 primitiveShortAtPut)
+ (145 primitiveConstantFill)
+ "NOTE: When removing the obsolete indexed primitives,
+ the following two should go become #primitiveIntegerAt / atPut"
+ (146 primitiveFail) "primitiveReadJoystick"
+ (147 primitiveFail) "primitiveWarpBits"
+ (148 primitiveClone)
+ (149 primitiveGetAttribute)
+
+ "File Primitives (150-169) - NO LONGER INDEXED"
+ (150 159 primitiveFail)
+ (160 primitiveAdoptInstance)
+ (161 primitiveSetIdentityHash) "CogMemoryManager primitives"
+ (162 164 primitiveFail)
+ (165 primitiveIntegerAt) "hacked in here for now"
+ (166 primitiveIntegerAtPut)
+ (167 primitiveYield)
+ (168 primitiveCopyObject)
+ (169 primitiveNotIdentical)
+
+ "Sound Primitives (170-199) - NO LONGER INDEXED"
+ (170 174 primitiveFail)
+
+ "CogMemoryManager primitives"
+ (175 primitiveBehaviorHash)
+ (176 primitiveMaxIdentityHash)
+ (177 185 primitiveFail)
+
+ "Old closure primitives"
+ (186 primitiveFail) "was primitiveClosureValue"
+ (187 primitiveFail) "was primitiveClosureValueWithArgs"
+
+ "Perform method directly"
+ (188 primitiveExecuteMethodArgsArray)
+ (189 primitiveExecuteMethod)
+
+ "Sound Primitives (continued) - NO LONGER INDEXED"
+ (190 194 primitiveFail)
+
+ "Unwind primitives"
+ (195 primitiveFindNextUnwindContext)
+ (196 primitiveTerminateTo)
+ (197 primitiveFindHandlerContext)
+ (198 primitiveMarkUnwindMethod)
+ (199 primitiveMarkHandlerMethod)
+
+ "new closure primitives (were Networking primitives)"
+ (200 primitiveClosureCopyWithCopiedValues)
+ (201 primitiveClosureValue) "value"
+ (202 primitiveClosureValue) "value:"
+ (203 primitiveClosureValue) "value:value:"
+ (204 primitiveClosureValue) "value:value:value:"
+ (205 primitiveClosureValue) "value:value:value:value:"
+ (206 primitiveClosureValueWithArgs) "valueWithArguments:"
+
+ (207 209 primitiveFail) "reserved for Cog primitives"
+
+ (210 primitiveAt) "Compatibility with Cog StackInterpreter Context primitives"
+ (211 primitiveAtPut) "Compatibility with Cog StackInterpreter Context primitives"
+ (212 primitiveSize) "Compatibility with Cog StackInterpreter Context primitives"
+ (213 219 primitiveFail) "reserved for Cog primitives"
+
+ (220 primitiveFail) "reserved for Cog primitives"
+
+ (221 primitiveClosureValueNoContextSwitch) "valueNoContextSwitch"
+ (222 primitiveClosureValueNoContextSwitch) "valueNoContextSwitch:"
+
+ (223 229 primitiveFail) "reserved for Cog primitives"
+
+ (230 primitiveRelinquishProcessor)
+ (231 primitiveForceDisplayUpdate)
+ (232 primitiveFormPrint)
+ (233 primitiveSetFullScreen)
+ (234 primitiveFail) "primBitmapdecompressfromByteArrayat"
+ (235 primitiveFail) "primStringcomparewithcollated"
+ (236 primitiveFail) "primSampledSoundconvert8bitSignedFromto16Bit"
+ (237 primitiveFail) "primBitmapcompresstoByteArray"
+ (238 241 primitiveFail) "serial port primitives"
+ (242 primitiveFail)
+ (243 primitiveFail) "primStringtranslatefromtotable"
+ (244 primitiveFail) "primStringfindFirstInStringinSetstartingAt"
+ (245 primitiveFail) "primStringindexOfAsciiinStringstartingAt"
+ (246 primitiveFail) "primStringfindSubstringinstartingAtmatchTable"
+ (247 primitiveSnapshotEmbedded)
+ (248 primitiveInvokeObjectAsMethod)
+ (249 primitiveArrayBecomeOneWayCopyHash)
+
+ "VM Implementor Primitives (250-255)"
+ (250 clearProfile)
+ (251 dumpProfile)
+ (252 startProfiling)
+ (253 stopProfiling)
+ (254 primitiveVMParameter)
+ (255 primitiveFail) "primitiveInstVarsPutFromStack. Never used except in Disney tests.  Remove after 2.3 release."
+
+ "Quick Push Const Methods"
+ (256 primitivePushSelf)
+ (257 primitivePushTrue)
+ (258 primitivePushFalse)
+ (259 primitivePushNil)
+ (260 primitivePushMinusOne)
+ (261 primitivePushZero)
+ (262 primitivePushOne)
+ (263 primitivePushTwo)
+
+ "Quick Push Const Methods"
+ (264 519 primitiveLoadInstVar)
+
+ "These ranges used to be used by obsiolete indexed primitives."
+ (520 529 primitiveFail)
+ (530 539 primitiveFail)
+ (540 549 primitiveFail)
+ (550 559 primitiveFail)
+ (560 569 primitiveFail)
+
+ "External primitive support primitives"
+ (570 primitiveFlushExternalPrimitives)
+ (571 primitiveUnloadModule)
+ (572 primitiveListBuiltinModule)
+ (573 primitiveListExternalModule)
+ (574 primitiveFail) "reserved for addl. external support prims"
+
+ "Unassigned Primitives"
+ (575 primitiveFail)).
+ !

Item was added:
+ ----- Method: PrimitiveTableHistory class>>initializePrimitiveTable20120809dtl (in category 'initialization history') -----
+ initializePrimitiveTable20120809dtl
+ "This table generates a C function address table use in primitiveResponse along with dispatchFunctionPointerOn:in:"
+
+ "NOTE: The real limit here is 2047 because of the method header layout but there is no point in going over the needed size"
+ MaxPrimitiveIndex := 575.
+ PrimitiveTable := Array new: MaxPrimitiveIndex + 1.
+ self table: PrimitiveTable from:
+ #( "Integer Primitives (0-19)"
+ (0 primitiveFail)
+ (1 primitiveAdd)
+ (2 primitiveSubtract)
+ (3 primitiveLessThan)
+ (4 primitiveGreaterThan)
+ (5 primitiveLessOrEqual)
+ (6 primitiveGreaterOrEqual)
+ (7 primitiveEqual)
+ (8 primitiveNotEqual)
+ (9 primitiveMultiply)
+ (10 primitiveDivide)
+ (11 primitiveMod)
+ (12 primitiveDiv)
+ (13 primitiveQuo)
+ (14 primitiveBitAnd)
+ (15 primitiveBitOr)
+ (16 primitiveBitXor)
+ (17 primitiveBitShift)
+ (18 primitiveMakePoint)
+ (19 primitiveFail) "Guard primitive for simulation -- *must* fail"
+
+ "LargeInteger Primitives (20-39)"
+ (20 primitiveFail)
+ (21 primitiveAddLargeIntegers)
+ (22 primitiveSubtractLargeIntegers)
+ (23 primitiveLessThanLargeIntegers)
+ (24 primitiveGreaterThanLargeIntegers)
+ (25 primitiveLessOrEqualLargeIntegers)
+ (26 primitiveGreaterOrEqualLargeIntegers)
+ (27 primitiveEqualLargeIntegers)
+ (28 primitiveNotEqualLargeIntegers)
+ (29 primitiveMultiplyLargeIntegers)
+ (30 primitiveDivideLargeIntegers)
+ (31 primitiveModLargeIntegers)
+ (32 primitiveDivLargeIntegers)
+ (33 primitiveQuoLargeIntegers)
+ (34 primitiveBitAndLargeIntegers)
+ (35 primitiveBitOrLargeIntegers)
+ (36 primitiveBitXorLargeIntegers)
+ (37 primitiveBitShiftLargeIntegers)
+
+ "Float Primitives (38-59)"
+ (38 primitiveFloatAt)
+ (39 primitiveFloatAtPut)
+ (40 primitiveAsFloat)
+ (41 primitiveFloatAdd)
+ (42 primitiveFloatSubtract)
+ (43 primitiveFloatLessThan)
+ (44 primitiveFloatGreaterThan)
+ (45 primitiveFloatLessOrEqual)
+ (46 primitiveFloatGreaterOrEqual)
+ (47 primitiveFloatEqual)
+ (48 primitiveFloatNotEqual)
+ (49 primitiveFloatMultiply)
+ (50 primitiveFloatDivide)
+ (51 primitiveTruncated)
+ (52 primitiveFractionalPart)
+ (53 primitiveExponent)
+ (54 primitiveTimesTwoPower)
+ (55 primitiveSquareRoot)
+ (56 primitiveSine)
+ (57 primitiveArctan)
+ (58 primitiveLogN)
+ (59 primitiveExp)
+
+ "Subscript and Stream Primitives (60-67)"
+ (60 primitiveAt)
+ (61 primitiveAtPut)
+ (62 primitiveSize)
+ (63 primitiveStringAt)
+ (64 primitiveStringAtPut)
+ (65 primitiveFail) "was primitiveNext which no longer pays its way (normal Smalltalk code is faster)"
+ (66 primitiveFail) "was primitiveNextPut which no longer pays its way (normal Smalltalk code is faster)"
+ (67 primitiveFail) "was primitiveAtEnd which no longer pays its way (normal Smalltalk code is faster)"
+
+ "StorageManagement Primitives (68-79)"
+ (68 primitiveObjectAt)
+ (69 primitiveObjectAtPut)
+ (70 primitiveNew)
+ (71 primitiveNewWithArg)
+ (72 primitiveArrayBecomeOneWay) "Blue Book: primitiveBecome"
+ (73 primitiveInstVarAt)
+ (74 primitiveInstVarAtPut)
+ (75 primitiveAsOop)
+ (76 primitiveStoreStackp) "Blue Book: primitiveAsObject"
+ (77 primitiveSomeInstance)
+ (78 primitiveNextInstance)
+ (79 primitiveNewMethod)
+
+ "Control Primitives (80-89)"
+ (80 primitiveBlockCopy)
+ (81 primitiveValue)
+ (82 primitiveValueWithArgs)
+ (83 primitivePerform)
+ (84 primitivePerformWithArgs)
+ (85 primitiveSignal)
+ (86 primitiveWait)
+ (87 primitiveResume)
+ (88 primitiveSuspend)
+ (89 primitiveFlushCache)
+
+ "Input/Output Primitives (90-109)"
+ (90 primitiveMousePoint)
+ (91 primitiveTestDisplayDepth) "Blue Book: primitiveCursorLocPut"
+ (92 primitiveSetDisplayMode) "Blue Book: primitiveCursorLink"
+ (93 primitiveInputSemaphore)
+ (94 primitiveGetNextEvent) "Blue Book: primitiveSampleInterval"
+ (95 primitiveInputWord)
+ (96 primitiveFail) "primitiveCopyBits"
+ (97 primitiveSnapshot)
+ (98 primitiveStoreImageSegment)
+ (99 primitiveLoadImageSegment)
+ (100 primitivePerformInSuperclass) "Blue Book: primitiveSignalAtTick"
+ (101 primitiveBeCursor)
+ (102 primitiveBeDisplay)
+ (103 primitiveScanCharacters)
+ (104 primitiveFail) "primitiveDrawLoop"
+ (105 primitiveStringReplace)
+ (106 primitiveScreenSize)
+ (107 primitiveMouseButtons)
+ (108 primitiveKbdNext)
+ (109 primitiveKbdPeek)
+
+ "System Primitives (110-119)"
+ (110 primitiveIdentical)
+ (111 primitiveClass)
+ (112 primitiveBytesLeft)
+ (113 primitiveQuit)
+ (114 primitiveExitToDebugger)
+ (115 primitiveChangeClass) "Blue Book: primitiveOopsLeft"
+ (116 primitiveFlushCacheByMethod)
+ (117 primitiveExternalCall)
+ (118 primitiveDoPrimitiveWithArgs)
+ (119 primitiveFlushCacheSelective)
+ "Squeak 2.2 and earlier use 119.  Squeak 2.3 and later use 116.
+ Both are supported for backward compatibility."
+
+ "Miscellaneous Primitives (120-127)"
+ (120 primitiveCalloutToFFI)
+ (121 primitiveImageName)
+ (122 primitiveNoop) "Blue Book: primitiveImageVolume"
+ (123 primitiveValueUninterruptably) "@@@: Remove this when all VMs have support"
+ (124 primitiveLowSpaceSemaphore)
+ (125 primitiveSignalAtBytesLeft)
+
+ "Squeak Primitives Start Here"
+
+ "Squeak Miscellaneous Primitives (128-149)"
+ (126 primitiveDeferDisplayUpdates)
+ (127 primitiveShowDisplayRect)
+ (128 primitiveArrayBecome)
+ (129 primitiveSpecialObjectsOop)
+ (130 primitiveFullGC)
+ (131 primitiveIncrementalGC)
+ (132 primitiveObjectPointsTo)
+ (133 primitiveSetInterruptKey)
+ (134 primitiveInterruptSemaphore)
+ (135 primitiveMillisecondClock)
+ (136 primitiveSignalAtMilliseconds)
+ (137 primitiveSecondsClock)
+ (138 primitiveSomeObject)
+ (139 primitiveNextObject)
+ (140 primitiveBeep)
+ (141 primitiveClipboardText)
+ (142 primitiveVMPath)
+ (143 primitiveShortAt)
+ (144 primitiveShortAtPut)
+ (145 primitiveConstantFill)
+ "NOTE: When removing the obsolete indexed primitives,
+ the following two should go become #primitiveIntegerAt / atPut"
+ (146 primitiveFail) "primitiveReadJoystick"
+ (147 primitiveFail) "primitiveWarpBits"
+ (148 primitiveClone)
+ (149 primitiveGetAttribute)
+
+ "File Primitives (150-169) - NO LONGER INDEXED"
+ (150 159 primitiveFail)
+ (160 primitiveAdoptInstance)
+ (161 primitiveSetIdentityHash) "CogMemoryManager primitives"
+ (162 164 primitiveFail)
+ (165 primitiveIntegerAt) "hacked in here for now"
+ (166 primitiveIntegerAtPut)
+ (167 primitiveYield)
+ (168 primitiveCopyObject)
+ (169 primitiveNotIdentical)
+
+ "Sound Primitives (170-199) - NO LONGER INDEXED"
+ (170 174 primitiveFail)
+
+ "CogMemoryManager primitives"
+ (175 primitiveBehaviorHash)
+ (176 primitiveMaxIdentityHash)
+ (177 185 primitiveFail)
+
+ "Old closure primitives"
+ (186 primitiveFail) "was primitiveClosureValue"
+ (187 primitiveFail) "was primitiveClosureValueWithArgs"
+
+ "Perform method directly"
+ (188 primitiveExecuteMethodArgsArray)
+ (189 primitiveExecuteMethod)
+
+ "Sound Primitives (continued) - NO LONGER INDEXED"
+ (190 194 primitiveFail)
+
+ "Unwind primitives"
+ (195 primitiveFindNextUnwindContext)
+ (196 primitiveTerminateTo)
+ (197 primitiveFindHandlerContext)
+ (198 primitiveMarkUnwindMethod)
+ (199 primitiveMarkHandlerMethod)
+
+ "new closure primitives (were Networking primitives)"
+ (200 primitiveClosureCopyWithCopiedValues)
+ (201 primitiveClosureValue) "value"
+ (202 primitiveClosureValue) "value:"
+ (203 primitiveClosureValue) "value:value:"
+ (204 primitiveClosureValue) "value:value:value:"
+ (205 primitiveClosureValue) "value:value:value:value:"
+ (206 primitiveClosureValueWithArgs) "valueWithArguments:"
+
+ (207 209 primitiveFail) "reserved for Cog primitives"
+
+ (210 primitiveAt) "Compatibility with Cog StackInterpreter Context primitives"
+ (211 primitiveAtPut) "Compatibility with Cog StackInterpreter Context primitives"
+ (212 primitiveSize) "Compatibility with Cog StackInterpreter Context primitives"
+ (213 219 primitiveFail) "reserved for Cog primitives"
+
+ (220 primitiveFail) "reserved for Cog primitives"
+
+ (221 primitiveClosureValueNoContextSwitch) "valueNoContextSwitch"
+ (222 primitiveClosureValueNoContextSwitch) "valueNoContextSwitch:"
+
+ (223 229 primitiveFail) "reserved for Cog primitives"
+
+ (230 primitiveRelinquishProcessor)
+ (231 primitiveForceDisplayUpdate)
+ (232 primitiveFormPrint)
+ (233 primitiveSetFullScreen)
+ (234 primitiveFail) "primBitmapdecompressfromByteArrayat"
+ (235 primitiveFail) "primStringcomparewithcollated"
+ (236 primitiveFail) "primSampledSoundconvert8bitSignedFromto16Bit"
+ (237 primitiveFail) "primBitmapcompresstoByteArray"
+ (238 239 primitiveFail) "serial port primitives"
+ (240 primitiveUTCMicrosecondClock) "was serial port primitive"
+ (241 primitiveLocalMicrosecondClock) "was serial port primitive"
+ (242 primitiveFail)
+ (243 primitiveFail) "primStringtranslatefromtotable"
+ (244 primitiveFail) "primStringfindFirstInStringinSetstartingAt"
+ (245 primitiveFail) "primStringindexOfAsciiinStringstartingAt"
+ (246 primitiveFail) "primStringfindSubstringinstartingAtmatchTable"
+ (247 primitiveSnapshotEmbedded)
+ (248 primitiveInvokeObjectAsMethod)
+ (249 primitiveArrayBecomeOneWayCopyHash)
+
+ "VM Implementor Primitives (250-255)"
+ (250 clearProfile)
+ (251 dumpProfile)
+ (252 startProfiling)
+ (253 stopProfiling)
+ (254 primitiveVMParameter)
+ (255 primitiveFail) "primitiveInstVarsPutFromStack. Never used except in Disney tests.  Remove after 2.3 release."
+
+ "Quick Push Const Methods"
+ (256 primitivePushSelf)
+ (257 primitivePushTrue)
+ (258 primitivePushFalse)
+ (259 primitivePushNil)
+ (260 primitivePushMinusOne)
+ (261 primitivePushZero)
+ (262 primitivePushOne)
+ (263 primitivePushTwo)
+
+ "Quick Push Const Methods"
+ (264 519 primitiveLoadInstVar)
+
+ "These ranges used to be used by obsiolete indexed primitives."
+ (520 529 primitiveFail)
+ (530 539 primitiveFail)
+ (540 549 primitiveFail)
+ (550 559 primitiveFail)
+ (560 569 primitiveFail)
+
+ "External primitive support primitives"
+ (570 primitiveFlushExternalPrimitives)
+ (571 primitiveUnloadModule)
+ (572 primitiveListBuiltinModule)
+ (573 primitiveListExternalModule)
+ (574 primitiveFail) "reserved for addl. external support prims"
+
+ "Unassigned Primitives"
+ (575 primitiveFail)).
+ !

Item was added:
+ ----- Method: PrimitiveTableHistory class>>initializePrimitiveTable20130105dtl (in category 'initialization history') -----
+ initializePrimitiveTable20130105dtl
+ "This table generates a C function address table use in primitiveResponse along with dispatchFunctionPointerOn:in:"
+
+ "NOTE: The real limit here is 2047 because of the method header layout but there is no point in going over the needed size"
+ MaxPrimitiveIndex := 575.
+ PrimitiveTable := Array new: MaxPrimitiveIndex + 1.
+ self table: PrimitiveTable from:
+ #( "Integer Primitives (0-19)"
+ (0 primitiveFail)
+ (1 primitiveAdd)
+ (2 primitiveSubtract)
+ (3 primitiveLessThan)
+ (4 primitiveGreaterThan)
+ (5 primitiveLessOrEqual)
+ (6 primitiveGreaterOrEqual)
+ (7 primitiveEqual)
+ (8 primitiveNotEqual)
+ (9 primitiveMultiply)
+ (10 primitiveDivide)
+ (11 primitiveMod)
+ (12 primitiveDiv)
+ (13 primitiveQuo)
+ (14 primitiveBitAnd)
+ (15 primitiveBitOr)
+ (16 primitiveBitXor)
+ (17 primitiveBitShift)
+ (18 primitiveMakePoint)
+ (19 primitiveFail) "Guard primitive for simulation -- *must* fail"
+
+ "LargeInteger Primitives (20-39)"
+ (20 primitiveRemLargeIntegers)
+ (21 primitiveAddLargeIntegers)
+ (22 primitiveSubtractLargeIntegers)
+ (23 primitiveLessThanLargeIntegers)
+ (24 primitiveGreaterThanLargeIntegers)
+ (25 primitiveLessOrEqualLargeIntegers)
+ (26 primitiveGreaterOrEqualLargeIntegers)
+ (27 primitiveEqualLargeIntegers)
+ (28 primitiveNotEqualLargeIntegers)
+ (29 primitiveMultiplyLargeIntegers)
+ (30 primitiveDivideLargeIntegers)
+ (31 primitiveModLargeIntegers)
+ (32 primitiveDivLargeIntegers)
+ (33 primitiveQuoLargeIntegers)
+ (34 primitiveBitAndLargeIntegers)
+ (35 primitiveBitOrLargeIntegers)
+ (36 primitiveBitXorLargeIntegers)
+ (37 primitiveBitShiftLargeIntegers)
+
+ "Float Primitives (38-59)"
+ (38 primitiveFloatAt)
+ (39 primitiveFloatAtPut)
+ (40 primitiveAsFloat)
+ (41 primitiveFloatAdd)
+ (42 primitiveFloatSubtract)
+ (43 primitiveFloatLessThan)
+ (44 primitiveFloatGreaterThan)
+ (45 primitiveFloatLessOrEqual)
+ (46 primitiveFloatGreaterOrEqual)
+ (47 primitiveFloatEqual)
+ (48 primitiveFloatNotEqual)
+ (49 primitiveFloatMultiply)
+ (50 primitiveFloatDivide)
+ (51 primitiveTruncated)
+ (52 primitiveFractionalPart)
+ (53 primitiveExponent)
+ (54 primitiveTimesTwoPower)
+ (55 primitiveSquareRoot)
+ (56 primitiveSine)
+ (57 primitiveArctan)
+ (58 primitiveLogN)
+ (59 primitiveExp)
+
+ "Subscript and Stream Primitives (60-67)"
+ (60 primitiveAt)
+ (61 primitiveAtPut)
+ (62 primitiveSize)
+ (63 primitiveStringAt)
+ (64 primitiveStringAtPut)
+ (65 primitiveFail) "was primitiveNext which no longer pays its way (normal Smalltalk code is faster)"
+ (66 primitiveFail) "was primitiveNextPut which no longer pays its way (normal Smalltalk code is faster)"
+ (67 primitiveFail) "was primitiveAtEnd which no longer pays its way (normal Smalltalk code is faster)"
+
+ "StorageManagement Primitives (68-79)"
+ (68 primitiveObjectAt)
+ (69 primitiveObjectAtPut)
+ (70 primitiveNew)
+ (71 primitiveNewWithArg)
+ (72 primitiveArrayBecomeOneWay) "Blue Book: primitiveBecome"
+ (73 primitiveInstVarAt)
+ (74 primitiveInstVarAtPut)
+ (75 primitiveAsOop)
+ (76 primitiveStoreStackp) "Blue Book: primitiveAsObject"
+ (77 primitiveSomeInstance)
+ (78 primitiveNextInstance)
+ (79 primitiveNewMethod)
+
+ "Control Primitives (80-89)"
+ (80 primitiveBlockCopy)
+ (81 primitiveValue)
+ (82 primitiveValueWithArgs)
+ (83 primitivePerform)
+ (84 primitivePerformWithArgs)
+ (85 primitiveSignal)
+ (86 primitiveWait)
+ (87 primitiveResume)
+ (88 primitiveSuspend)
+ (89 primitiveFlushCache)
+
+ "Input/Output Primitives (90-109)"
+ (90 primitiveMousePoint)
+ (91 primitiveTestDisplayDepth) "Blue Book: primitiveCursorLocPut"
+ (92 primitiveSetDisplayMode) "Blue Book: primitiveCursorLink"
+ (93 primitiveInputSemaphore)
+ (94 primitiveGetNextEvent) "Blue Book: primitiveSampleInterval"
+ (95 primitiveInputWord)
+ (96 primitiveFail) "primitiveCopyBits"
+ (97 primitiveSnapshot)
+ (98 primitiveStoreImageSegment)
+ (99 primitiveLoadImageSegment)
+ (100 primitivePerformInSuperclass) "Blue Book: primitiveSignalAtTick"
+ (101 primitiveBeCursor)
+ (102 primitiveBeDisplay)
+ (103 primitiveScanCharacters)
+ (104 primitiveFail) "primitiveDrawLoop"
+ (105 primitiveStringReplace)
+ (106 primitiveScreenSize)
+ (107 primitiveMouseButtons)
+ (108 primitiveKbdNext)
+ (109 primitiveKbdPeek)
+
+ "System Primitives (110-119)"
+ (110 primitiveIdentical)
+ (111 primitiveClass)
+ (112 primitiveBytesLeft)
+ (113 primitiveQuit)
+ (114 primitiveExitToDebugger)
+ (115 primitiveChangeClass) "Blue Book: primitiveOopsLeft"
+ (116 primitiveFlushCacheByMethod)
+ (117 primitiveExternalCall)
+ (118 primitiveDoPrimitiveWithArgs)
+ (119 primitiveFlushCacheSelective)
+ "Squeak 2.2 and earlier use 119.  Squeak 2.3 and later use 116.
+ Both are supported for backward compatibility."
+
+ "Miscellaneous Primitives (120-127)"
+ (120 primitiveCalloutToFFI)
+ (121 primitiveImageName)
+ (122 primitiveNoop) "Blue Book: primitiveImageVolume"
+ (123 primitiveValueUninterruptably) "@@@: Remove this when all VMs have support"
+ (124 primitiveLowSpaceSemaphore)
+ (125 primitiveSignalAtBytesLeft)
+
+ "Squeak Primitives Start Here"
+
+ "Squeak Miscellaneous Primitives (128-149)"
+ (126 primitiveDeferDisplayUpdates)
+ (127 primitiveShowDisplayRect)
+ (128 primitiveArrayBecome)
+ (129 primitiveSpecialObjectsOop)
+ (130 primitiveFullGC)
+ (131 primitiveIncrementalGC)
+ (132 primitiveObjectPointsTo)
+ (133 primitiveSetInterruptKey)
+ (134 primitiveInterruptSemaphore)
+ (135 primitiveMillisecondClock)
+ (136 primitiveSignalAtMilliseconds)
+ (137 primitiveSecondsClock)
+ (138 primitiveSomeObject)
+ (139 primitiveNextObject)
+ (140 primitiveBeep)
+ (141 primitiveClipboardText)
+ (142 primitiveVMPath)
+ (143 primitiveShortAt)
+ (144 primitiveShortAtPut)
+ (145 primitiveConstantFill)
+ "NOTE: When removing the obsolete indexed primitives,
+ the following two should go become #primitiveIntegerAt / atPut"
+ (146 primitiveFail) "primitiveReadJoystick"
+ (147 primitiveFail) "primitiveWarpBits"
+ (148 primitiveClone)
+ (149 primitiveGetAttribute)
+
+ "File Primitives (150-169) - NO LONGER INDEXED"
+ (150 159 primitiveFail)
+ (160 primitiveAdoptInstance)
+ (161 primitiveSetIdentityHash) "CogMemoryManager primitives"
+ (162 164 primitiveFail)
+ (165 primitiveIntegerAt) "hacked in here for now"
+ (166 primitiveIntegerAtPut)
+ (167 primitiveYield)
+ (168 primitiveCopyObject)
+ (169 primitiveNotIdentical)
+
+ "Sound Primitives (170-199) - NO LONGER INDEXED"
+ (170 174 primitiveFail)
+
+ "CogMemoryManager primitives"
+ (175 primitiveBehaviorHash)
+ (176 primitiveMaxIdentityHash)
+ (177 185 primitiveFail)
+
+ "Old closure primitives"
+ (186 primitiveFail) "was primitiveClosureValue"
+ (187 primitiveFail) "was primitiveClosureValueWithArgs"
+
+ "Perform method directly"
+ (188 primitiveExecuteMethodArgsArray)
+ (189 primitiveExecuteMethod)
+
+ "Sound Primitives (continued) - NO LONGER INDEXED"
+ (190 194 primitiveFail)
+
+ "Unwind primitives"
+ (195 primitiveFindNextUnwindContext)
+ (196 primitiveTerminateTo)
+ (197 primitiveFindHandlerContext)
+ (198 primitiveMarkUnwindMethod)
+ (199 primitiveMarkHandlerMethod)
+
+ "new closure primitives (were Networking primitives)"
+ (200 primitiveClosureCopyWithCopiedValues)
+ (201 primitiveClosureValue) "value"
+ (202 primitiveClosureValue) "value:"
+ (203 primitiveClosureValue) "value:value:"
+ (204 primitiveClosureValue) "value:value:value:"
+ (205 primitiveClosureValue) "value:value:value:value:"
+ (206 primitiveClosureValueWithArgs) "valueWithArguments:"
+
+ (207 209 primitiveFail) "reserved for Cog primitives"
+
+ (210 primitiveAt) "Compatibility with Cog StackInterpreter Context primitives"
+ (211 primitiveAtPut) "Compatibility with Cog StackInterpreter Context primitives"
+ (212 primitiveSize) "Compatibility with Cog StackInterpreter Context primitives"
+ (213 219 primitiveFail) "reserved for Cog primitives"
+
+ (220 primitiveFail) "reserved for Cog primitives"
+
+ (221 primitiveClosureValueNoContextSwitch) "valueNoContextSwitch"
+ (222 primitiveClosureValueNoContextSwitch) "valueNoContextSwitch:"
+
+ (223 229 primitiveFail) "reserved for Cog primitives"
+
+ (230 primitiveRelinquishProcessor)
+ (231 primitiveForceDisplayUpdate)
+ (232 primitiveFormPrint)
+ (233 primitiveSetFullScreen)
+ (234 primitiveFail) "primBitmapdecompressfromByteArrayat"
+ (235 primitiveFail) "primStringcomparewithcollated"
+ (236 primitiveFail) "primSampledSoundconvert8bitSignedFromto16Bit"
+ (237 primitiveFail) "primBitmapcompresstoByteArray"
+ (238 239 primitiveFail) "serial port primitives"
+ (240 primitiveUTCMicrosecondClock) "was serial port primitive"
+ (241 primitiveLocalMicrosecondClock) "was serial port primitive"
+ (242 primitiveFail)
+ (243 primitiveFail) "primStringtranslatefromtotable"
+ (244 primitiveFail) "primStringfindFirstInStringinSetstartingAt"
+ (245 primitiveFail) "primStringindexOfAsciiinStringstartingAt"
+ (246 primitiveFail) "primStringfindSubstringinstartingAtmatchTable"
+ (247 primitiveSnapshotEmbedded)
+ (248 primitiveInvokeObjectAsMethod)
+ (249 primitiveArrayBecomeOneWayCopyHash)
+
+ "VM Implementor Primitives (250-255)"
+ (250 clearProfile)
+ (251 dumpProfile)
+ (252 startProfiling)
+ (253 stopProfiling)
+ (254 primitiveVMParameter)
+ (255 primitiveFail) "primitiveInstVarsPutFromStack. Never used except in Disney tests.  Remove after 2.3 release."
+
+ "Quick Push Const Methods"
+ (256 primitivePushSelf)
+ (257 primitivePushTrue)
+ (258 primitivePushFalse)
+ (259 primitivePushNil)
+ (260 primitivePushMinusOne)
+ (261 primitivePushZero)
+ (262 primitivePushOne)
+ (263 primitivePushTwo)
+
+ "Quick Push Const Methods"
+ (264 519 primitiveLoadInstVar)
+
+ "These ranges used to be used by obsiolete indexed primitives."
+ (520 529 primitiveFail)
+ (530 539 primitiveFail)
+ (540 549 primitiveFail)
+ (550 559 primitiveFail)
+ (560 569 primitiveFail)
+
+ "External primitive support primitives"
+ (570 primitiveFlushExternalPrimitives)
+ (571 primitiveUnloadModule)
+ (572 primitiveListBuiltinModule)
+ (573 primitiveListExternalModule)
+ (574 primitiveFail) "reserved for addl. external support prims"
+
+ "Unassigned Primitives"
+ (575 primitiveFail)).
+ !

Item was added:
+ ----- Method: PrimitiveTableHistory class>>initializePrimitiveTable20130314eem (in category 'initialization history') -----
+ initializePrimitiveTable20130314eem
+ "This table generates a C function address table use in primitiveResponse along with dispatchFunctionPointerOn:in:"
+
+ "NOTE: The real limit here is 2047 because of the method header layout but there is no point in going over the needed size"
+ MaxPrimitiveIndex := 575.
+ PrimitiveTable := Array new: MaxPrimitiveIndex + 1.
+ self table: PrimitiveTable from:
+ #( "Integer Primitives (0-19)"
+ (0 primitiveFail)
+ (1 primitiveAdd)
+ (2 primitiveSubtract)
+ (3 primitiveLessThan)
+ (4 primitiveGreaterThan)
+ (5 primitiveLessOrEqual)
+ (6 primitiveGreaterOrEqual)
+ (7 primitiveEqual)
+ (8 primitiveNotEqual)
+ (9 primitiveMultiply)
+ (10 primitiveDivide)
+ (11 primitiveMod)
+ (12 primitiveDiv)
+ (13 primitiveQuo)
+ (14 primitiveBitAnd)
+ (15 primitiveBitOr)
+ (16 primitiveBitXor)
+ (17 primitiveBitShift)
+ (18 primitiveMakePoint)
+ (19 primitiveFail) "Guard primitive for simulation -- *must* fail"
+
+ "LargeInteger Primitives (20-39)"
+ (20 primitiveRemLargeIntegers)
+ (21 primitiveAddLargeIntegers)
+ (22 primitiveSubtractLargeIntegers)
+ (23 primitiveLessThanLargeIntegers)
+ (24 primitiveGreaterThanLargeIntegers)
+ (25 primitiveLessOrEqualLargeIntegers)
+ (26 primitiveGreaterOrEqualLargeIntegers)
+ (27 primitiveEqualLargeIntegers)
+ (28 primitiveNotEqualLargeIntegers)
+ (29 primitiveMultiplyLargeIntegers)
+ (30 primitiveDivideLargeIntegers)
+ (31 primitiveModLargeIntegers)
+ (32 primitiveDivLargeIntegers)
+ (33 primitiveQuoLargeIntegers)
+ (34 primitiveBitAndLargeIntegers)
+ (35 primitiveBitOrLargeIntegers)
+ (36 primitiveBitXorLargeIntegers)
+ (37 primitiveBitShiftLargeIntegers)
+
+ "Float Primitives (38-59)"
+ (38 primitiveFloatAt)
+ (39 primitiveFloatAtPut)
+ (40 primitiveAsFloat)
+ (41 primitiveFloatAdd)
+ (42 primitiveFloatSubtract)
+ (43 primitiveFloatLessThan)
+ (44 primitiveFloatGreaterThan)
+ (45 primitiveFloatLessOrEqual)
+ (46 primitiveFloatGreaterOrEqual)
+ (47 primitiveFloatEqual)
+ (48 primitiveFloatNotEqual)
+ (49 primitiveFloatMultiply)
+ (50 primitiveFloatDivide)
+ (51 primitiveTruncated)
+ (52 primitiveFractionalPart)
+ (53 primitiveExponent)
+ (54 primitiveTimesTwoPower)
+ (55 primitiveSquareRoot)
+ (56 primitiveSine)
+ (57 primitiveArctan)
+ (58 primitiveLogN)
+ (59 primitiveExp)
+
+ "Subscript and Stream Primitives (60-67)"
+ (60 primitiveAt)
+ (61 primitiveAtPut)
+ (62 primitiveSize)
+ (63 primitiveStringAt)
+ (64 primitiveStringAtPut)
+ (65 primitiveFail) "was primitiveNext which no longer pays its way (normal Smalltalk code is faster)"
+ (66 primitiveFail) "was primitiveNextPut which no longer pays its way (normal Smalltalk code is faster)"
+ (67 primitiveFail) "was primitiveAtEnd which no longer pays its way (normal Smalltalk code is faster)"
+
+ "StorageManagement Primitives (68-79)"
+ (68 primitiveObjectAt)
+ (69 primitiveObjectAtPut)
+ (70 primitiveNew)
+ (71 primitiveNewWithArg)
+ (72 primitiveArrayBecomeOneWay) "Blue Book: primitiveBecome"
+ (73 primitiveInstVarAt)
+ (74 primitiveInstVarAtPut)
+ (75 primitiveAsOop)
+ (76 primitiveStoreStackp) "Blue Book: primitiveAsObject"
+ (77 primitiveSomeInstance)
+ (78 primitiveNextInstance)
+ (79 primitiveNewMethod)
+
+ "Control Primitives (80-89)"
+ (80 primitiveBlockCopy)
+ (81 primitiveValue)
+ (82 primitiveValueWithArgs)
+ (83 primitivePerform)
+ (84 primitivePerformWithArgs)
+ (85 primitiveSignal)
+ (86 primitiveWait)
+ (87 primitiveResume)
+ (88 primitiveSuspend)
+ (89 primitiveFlushCache)
+
+ "Input/Output Primitives (90-109)"
+ (90 primitiveMousePoint)
+ (91 primitiveTestDisplayDepth) "Blue Book: primitiveCursorLocPut"
+ (92 primitiveSetDisplayMode) "Blue Book: primitiveCursorLink"
+ (93 primitiveInputSemaphore)
+ (94 primitiveGetNextEvent) "Blue Book: primitiveSampleInterval"
+ (95 primitiveInputWord)
+ (96 primitiveFail) "primitiveCopyBits"
+ (97 primitiveSnapshot)
+ (98 primitiveStoreImageSegment)
+ (99 primitiveLoadImageSegment)
+ (100 primitivePerformInSuperclass) "Blue Book: primitiveSignalAtTick"
+ (101 primitiveBeCursor)
+ (102 primitiveBeDisplay)
+ (103 primitiveScanCharacters)
+ (104 primitiveFail) "primitiveDrawLoop"
+ (105 primitiveStringReplace)
+ (106 primitiveScreenSize)
+ (107 primitiveMouseButtons)
+ (108 primitiveKbdNext)
+ (109 primitiveKbdPeek)
+
+ "System Primitives (110-119)"
+ (110 primitiveIdentical)
+ (111 primitiveClass)
+ (112 primitiveBytesLeft)
+ (113 primitiveQuit)
+ (114 primitiveExitToDebugger)
+ (115 primitiveChangeClass) "Blue Book: primitiveOopsLeft"
+ (116 primitiveFlushCacheByMethod)
+ (117 primitiveExternalCall)
+ (118 primitiveDoPrimitiveWithArgs)
+ (119 primitiveFlushCacheBySelector)
+ "Squeak 2.2 and earlier use 119.  Squeak 2.3 and later use 116.
+ Both are supported for backward compatibility."
+
+ "Miscellaneous Primitives (120-127)"
+ (120 primitiveCalloutToFFI)
+ (121 primitiveImageName)
+ (122 primitiveNoop) "Blue Book: primitiveImageVolume"
+ (123 primitiveValueUninterruptably) "@@@: Remove this when all VMs have support"
+ (124 primitiveLowSpaceSemaphore)
+ (125 primitiveSignalAtBytesLeft)
+
+ "Squeak Primitives Start Here"
+
+ "Squeak Miscellaneous Primitives (128-149)"
+ (126 primitiveDeferDisplayUpdates)
+ (127 primitiveShowDisplayRect)
+ (128 primitiveArrayBecome)
+ (129 primitiveSpecialObjectsOop)
+ (130 primitiveFullGC)
+ (131 primitiveIncrementalGC)
+ (132 primitiveObjectPointsTo)
+ (133 primitiveSetInterruptKey)
+ (134 primitiveInterruptSemaphore)
+ (135 primitiveMillisecondClock)
+ (136 primitiveSignalAtMilliseconds)
+ (137 primitiveSecondsClock)
+ (138 primitiveSomeObject)
+ (139 primitiveNextObject)
+ (140 primitiveBeep)
+ (141 primitiveClipboardText)
+ (142 primitiveVMPath)
+ (143 primitiveShortAt)
+ (144 primitiveShortAtPut)
+ (145 primitiveConstantFill)
+ "NOTE: When removing the obsolete indexed primitives,
+ the following two should go become #primitiveIntegerAt / atPut"
+ (146 primitiveFail) "primitiveReadJoystick"
+ (147 primitiveFail) "primitiveWarpBits"
+ (148 primitiveClone)
+ (149 primitiveGetAttribute)
+
+ "File Primitives (150-169) - NO LONGER INDEXED"
+ (150 159 primitiveFail)
+ (160 primitiveAdoptInstance)
+ (161 primitiveSetIdentityHash) "CogMemoryManager primitives"
+ (162 164 primitiveFail)
+ (165 primitiveIntegerAt) "hacked in here for now"
+ (166 primitiveIntegerAtPut)
+ (167 primitiveYield)
+ (168 primitiveCopyObject)
+ (169 primitiveNotIdentical)
+
+ "Sound Primitives (170-199) - NO LONGER INDEXED"
+ (170 174 primitiveFail)
+
+ "CogMemoryManager primitives"
+ (175 primitiveBehaviorHash)
+ (176 primitiveMaxIdentityHash)
+ (177 185 primitiveFail)
+
+ "Old closure primitives"
+ (186 primitiveFail) "was primitiveClosureValue"
+ (187 primitiveFail) "was primitiveClosureValueWithArgs"
+
+ "Perform method directly"
+ (188 primitiveExecuteMethodArgsArray)
+ (189 primitiveExecuteMethod)
+
+ "Sound Primitives (continued) - NO LONGER INDEXED"
+ (190 194 primitiveFail)
+
+ "Unwind primitives"
+ (195 primitiveFindNextUnwindContext)
+ (196 primitiveTerminateTo)
+ (197 primitiveFindHandlerContext)
+ (198 primitiveMarkUnwindMethod)
+ (199 primitiveMarkHandlerMethod)
+
+ "new closure primitives (were Networking primitives)"
+ (200 primitiveClosureCopyWithCopiedValues)
+ (201 primitiveClosureValue) "value"
+ (202 primitiveClosureValue) "value:"
+ (203 primitiveClosureValue) "value:value:"
+ (204 primitiveClosureValue) "value:value:value:"
+ (205 primitiveClosureValue) "value:value:value:value:"
+ (206 primitiveClosureValueWithArgs) "valueWithArguments:"
+
+ (207 209 primitiveFail) "reserved for Cog primitives"
+
+ (210 primitiveAt) "Compatibility with Cog StackInterpreter Context primitives"
+ (211 primitiveAtPut) "Compatibility with Cog StackInterpreter Context primitives"
+ (212 primitiveSize) "Compatibility with Cog StackInterpreter Context primitives"
+ (213 219 primitiveFail) "reserved for Cog primitives"
+
+ (220 primitiveFail) "reserved for Cog primitives"
+
+ (221 primitiveClosureValueNoContextSwitch) "valueNoContextSwitch"
+ (222 primitiveClosureValueNoContextSwitch) "valueNoContextSwitch:"
+
+ (223 229 primitiveFail) "reserved for Cog primitives"
+
+ (230 primitiveRelinquishProcessor)
+ (231 primitiveForceDisplayUpdate)
+ (232 primitiveFormPrint)
+ (233 primitiveSetFullScreen)
+ (234 primitiveFail) "primBitmapdecompressfromByteArrayat"
+ (235 primitiveFail) "primStringcomparewithcollated"
+ (236 primitiveFail) "primSampledSoundconvert8bitSignedFromto16Bit"
+ (237 primitiveFail) "primBitmapcompresstoByteArray"
+ (238 239 primitiveFail) "serial port primitives"
+ (240 primitiveUTCMicrosecondClock) "was serial port primitive"
+ (241 primitiveLocalMicrosecondClock) "was serial port primitive"
+ (242 primitiveFail)
+ (243 primitiveFail) "primStringtranslatefromtotable"
+ (244 primitiveFail) "primStringfindFirstInStringinSetstartingAt"
+ (245 primitiveFail) "primStringindexOfAsciiinStringstartingAt"
+ (246 primitiveFail) "primStringfindSubstringinstartingAtmatchTable"
+ (247 primitiveSnapshotEmbedded)
+ (248 primitiveInvokeObjectAsMethod)
+ (249 primitiveArrayBecomeOneWayCopyHash)
+
+ "VM Implementor Primitives (250-255)"
+ (250 clearProfile)
+ (251 dumpProfile)
+ (252 startProfiling)
+ (253 stopProfiling)
+ (254 primitiveVMParameter)
+ (255 primitiveFail) "primitiveInstVarsPutFromStack. Never used except in Disney tests.  Remove after 2.3 release."
+
+ "Quick Push Const Methods"
+ (256 primitivePushSelf)
+ (257 primitivePushTrue)
+ (258 primitivePushFalse)
+ (259 primitivePushNil)
+ (260 primitivePushMinusOne)
+ (261 primitivePushZero)
+ (262 primitivePushOne)
+ (263 primitivePushTwo)
+
+ "Quick Push Const Methods"
+ (264 519 primitiveLoadInstVar)
+
+ "These ranges used to be used by obsiolete indexed primitives."
+ (520 529 primitiveFail)
+ (530 539 primitiveFail)
+ (540 549 primitiveFail)
+ (550 559 primitiveFail)
+ (560 569 primitiveFail)
+
+ "External primitive support primitives"
+ (570 primitiveFlushExternalPrimitives)
+ (571 primitiveUnloadModule)
+ (572 primitiveListBuiltinModule)
+ (573 primitiveListExternalModule)
+ (574 primitiveFail) "reserved for addl. external support prims"
+
+ "Unassigned Primitives"
+ (575 primitiveFail)).
+ !

Item was added:
+ ----- Method: PrimitiveTableHistory class>>initializePrimitiveTable20160120dtl (in category 'initialization history') -----
+ initializePrimitiveTable20160120dtl
+ "This table generates a C function address table use in primitiveResponse along with dispatchFunctionPointerOn:in:"
+
+ "NOTE: The real limit here is 2047 because of the method header layout but there is no point in going over the needed size"
+ MaxPrimitiveIndex := 575.
+ PrimitiveTable := Array new: MaxPrimitiveIndex + 1.
+ self table: PrimitiveTable from:
+ #( "Integer Primitives (0-19)"
+ (0 primitiveFail)
+ (1 primitiveAdd)
+ (2 primitiveSubtract)
+ (3 primitiveLessThan)
+ (4 primitiveGreaterThan)
+ (5 primitiveLessOrEqual)
+ (6 primitiveGreaterOrEqual)
+ (7 primitiveEqual)
+ (8 primitiveNotEqual)
+ (9 primitiveMultiply)
+ (10 primitiveDivide)
+ (11 primitiveMod)
+ (12 primitiveDiv)
+ (13 primitiveQuo)
+ (14 primitiveBitAnd)
+ (15 primitiveBitOr)
+ (16 primitiveBitXor)
+ (17 primitiveBitShift)
+ (18 primitiveMakePoint)
+ (19 primitiveFail) "Guard primitive for simulation -- *must* fail"
+
+ "LargeInteger Primitives (20-39)"
+ (20 primitiveRemLargeIntegers)
+ (21 primitiveAddLargeIntegers)
+ (22 primitiveSubtractLargeIntegers)
+ (23 primitiveLessThanLargeIntegers)
+ (24 primitiveGreaterThanLargeIntegers)
+ (25 primitiveLessOrEqualLargeIntegers)
+ (26 primitiveGreaterOrEqualLargeIntegers)
+ (27 primitiveEqualLargeIntegers)
+ (28 primitiveNotEqualLargeIntegers)
+ (29 primitiveMultiplyLargeIntegers)
+ (30 primitiveDivideLargeIntegers)
+ (31 primitiveModLargeIntegers)
+ (32 primitiveDivLargeIntegers)
+ (33 primitiveQuoLargeIntegers)
+ (34 primitiveBitAndLargeIntegers)
+ (35 primitiveBitOrLargeIntegers)
+ (36 primitiveBitXorLargeIntegers)
+ (37 primitiveBitShiftLargeIntegers)
+
+ "Float Primitives (38-59)"
+ (38 primitiveFloatAt)
+ (39 primitiveFloatAtPut)
+ (40 primitiveAsFloat)
+ (41 primitiveFloatAdd)
+ (42 primitiveFloatSubtract)
+ (43 primitiveFloatLessThan)
+ (44 primitiveFloatGreaterThan)
+ (45 primitiveFloatLessOrEqual)
+ (46 primitiveFloatGreaterOrEqual)
+ (47 primitiveFloatEqual)
+ (48 primitiveFloatNotEqual)
+ (49 primitiveFloatMultiply)
+ (50 primitiveFloatDivide)
+ (51 primitiveTruncated)
+ (52 primitiveFractionalPart)
+ (53 primitiveExponent)
+ (54 primitiveTimesTwoPower)
+ (55 primitiveSquareRoot)
+ (56 primitiveSine)
+ (57 primitiveArctan)
+ (58 primitiveLogN)
+ (59 primitiveExp)
+
+ "Subscript and Stream Primitives (60-67)"
+ (60 primitiveAt)
+ (61 primitiveAtPut)
+ (62 primitiveSize)
+ (63 primitiveStringAt)
+ (64 primitiveStringAtPut)
+ (65 primitiveFail) "was primitiveNext which no longer pays its way (normal Smalltalk code is faster)"
+ (66 primitiveFail) "was primitiveNextPut which no longer pays its way (normal Smalltalk code is faster)"
+ (67 primitiveFail) "was primitiveAtEnd which no longer pays its way (normal Smalltalk code is faster)"
+
+ "StorageManagement Primitives (68-79)"
+ (68 primitiveObjectAt)
+ (69 primitiveObjectAtPut)
+ (70 primitiveNew)
+ (71 primitiveNewWithArg)
+ (72 primitiveArrayBecomeOneWay) "Blue Book: primitiveBecome"
+ (73 primitiveInstVarAt)
+ (74 primitiveInstVarAtPut)
+ (75 primitiveAsOop)
+ (76 primitiveStoreStackp) "Blue Book: primitiveAsObject"
+ (77 primitiveSomeInstance)
+ (78 primitiveNextInstance)
+ (79 primitiveNewMethod)
+
+ "Control Primitives (80-89)"
+ (80 primitiveBlockCopy)
+ (81 primitiveValue)
+ (82 primitiveValueWithArgs)
+ (83 primitivePerform)
+ (84 primitivePerformWithArgs)
+ (85 primitiveSignal)
+ (86 primitiveWait)
+ (87 primitiveResume)
+ (88 primitiveSuspend)
+ (89 primitiveFlushCache)
+
+ "Input/Output Primitives (90-109)"
+ (90 primitiveMousePoint)
+ (91 primitiveTestDisplayDepth) "Blue Book: primitiveCursorLocPut"
+ (92 primitiveSetDisplayMode) "Blue Book: primitiveCursorLink"
+ (93 primitiveInputSemaphore)
+ (94 primitiveGetNextEvent) "Blue Book: primitiveSampleInterval"
+ (95 primitiveInputWord)
+ (96 primitiveFail) "primitiveCopyBits"
+ (97 primitiveSnapshot)
+ (98 primitiveStoreImageSegment)
+ (99 primitiveLoadImageSegment)
+ (100 primitivePerformInSuperclass) "Blue Book: primitiveSignalAtTick"
+ (101 primitiveBeCursor)
+ (102 primitiveBeDisplay)
+ (103 primitiveScanCharacters)
+ (104 primitiveFail) "primitiveDrawLoop"
+ (105 primitiveStringReplace)
+ (106 primitiveScreenSize)
+ (107 primitiveMouseButtons)
+ (108 primitiveKbdNext)
+ (109 primitiveKbdPeek)
+
+ "System Primitives (110-119)"
+ (110 primitiveIdentical)
+ (111 primitiveClass)
+ (112 primitiveBytesLeft)
+ (113 primitiveQuit)
+ (114 primitiveExitToDebugger)
+ (115 primitiveChangeClass) "Blue Book: primitiveOopsLeft"
+ (116 primitiveFlushCacheByMethod)
+ (117 primitiveExternalCall)
+ (118 primitiveDoPrimitiveWithArgs)
+ (119 primitiveFlushCacheBySelector)
+ "Squeak 2.2 and earlier use 119.  Squeak 2.3 and later use 116.
+ Both are supported for backward compatibility."
+
+ "Miscellaneous Primitives (120-127)"
+ (120 primitiveCalloutToFFI)
+ (121 primitiveImageName)
+ (122 primitiveNoop) "Blue Book: primitiveImageVolume"
+ (123 primitiveValueUninterruptably) "@@@: Remove this when all VMs have support"
+ (124 primitiveLowSpaceSemaphore)
+ (125 primitiveSignalAtBytesLeft)
+
+ "Squeak Primitives Start Here"
+
+ "Squeak Miscellaneous Primitives (128-149)"
+ (126 primitiveDeferDisplayUpdates)
+ (127 primitiveShowDisplayRect)
+ (128 primitiveArrayBecome)
+ (129 primitiveSpecialObjectsOop)
+ (130 primitiveFullGC)
+ (131 primitiveIncrementalGC)
+ (132 primitiveObjectPointsTo)
+ (133 primitiveSetInterruptKey)
+ (134 primitiveInterruptSemaphore)
+ (135 primitiveMillisecondClock)
+ (136 primitiveSignalAtMilliseconds)
+ (137 primitiveSecondsClock)
+ (138 primitiveSomeObject)
+ (139 primitiveNextObject)
+ (140 primitiveBeep)
+ (141 primitiveClipboardText)
+ (142 primitiveVMPath)
+ (143 primitiveShortAt)
+ (144 primitiveShortAtPut)
+ (145 primitiveConstantFill)
+ "NOTE: When removing the obsolete indexed primitives,
+ the following two should go become #primitiveIntegerAt / atPut"
+ (146 primitiveFail) "primitiveReadJoystick"
+ (147 primitiveFail) "primitiveWarpBits"
+ (148 primitiveClone)
+ (149 primitiveGetAttribute)
+
+ "File Primitives (150-169) - NO LONGER INDEXED"
+ (150 159 primitiveFail)
+ (160 primitiveAdoptInstance)
+ (161 primitiveSetIdentityHash) "CogMemoryManager primitives"
+ (162 164 primitiveFail)
+ (165 primitiveIntegerAt) "hacked in here for now"
+ (166 primitiveIntegerAtPut)
+ (167 primitiveYield)
+ (168 primitiveCopyObject)
+ (169 primitiveNotIdentical)
+
+ "Sound Primitives (170-199) - NO LONGER INDEXED"
+ (170 174 primitiveFail)
+
+ "CogMemoryManager primitives"
+ (175 primitiveBehaviorHash)
+ (176 primitiveMaxIdentityHash)
+ (177 185 primitiveFail)
+
+ "Old closure primitives"
+ (186 primitiveFail) "was primitiveClosureValue"
+ (187 primitiveFail) "was primitiveClosureValueWithArgs"
+
+ "Perform method directly"
+ (188 primitiveExecuteMethodArgsArray)
+ (189 primitiveExecuteMethod)
+
+ "Sound Primitives (continued) - NO LONGER INDEXED"
+ (190 194 primitiveFail)
+
+ "Unwind primitives"
+ (195 primitiveFindNextUnwindContext)
+ (196 primitiveTerminateTo)
+ (197 primitiveFindHandlerContext)
+ (198 primitiveMarkUnwindMethod)
+ (199 primitiveMarkHandlerMethod)
+
+ "new closure primitives (were Networking primitives)"
+ (200 primitiveClosureCopyWithCopiedValues)
+ (201 primitiveClosureValue) "value"
+ (202 primitiveClosureValue) "value:"
+ (203 primitiveClosureValue) "value:value:"
+ (204 primitiveClosureValue) "value:value:value:"
+ (205 primitiveClosureValue) "value:value:value:value:"
+ (206 primitiveClosureValueWithArgs) "valueWithArguments:"
+
+ (207 209 primitiveFail) "reserved for Cog primitives"
+
+ (210 primitiveAt) "Compatibility with Cog StackInterpreter Context primitives"
+ (211 primitiveAtPut) "Compatibility with Cog StackInterpreter Context primitives"
+ (212 primitiveSize) "Compatibility with Cog StackInterpreter Context primitives"
+ (213 219 primitiveFail) "reserved for Cog primitives"
+
+ (220 primitiveFail) "reserved for Cog primitives"
+
+ (221 primitiveClosureValueNoContextSwitch) "valueNoContextSwitch"
+ (222 primitiveClosureValueNoContextSwitch) "valueNoContextSwitch:"
+
+ (223 229 primitiveFail) "reserved for Cog primitives"
+
+ (230 primitiveRelinquishProcessor)
+ (231 primitiveForceDisplayUpdate)
+ (232 primitiveFormPrint)
+ (233 primitiveSetFullScreen)
+ (234 primitiveFail) "primBitmapdecompressfromByteArrayat"
+ (235 primitiveFail) "primStringcomparewithcollated"
+ (236 primitiveFail) "primSampledSoundconvert8bitSignedFromto16Bit"
+ (237 primitiveFail) "primBitmapcompresstoByteArray"
+ (238 239 primitiveFail) "serial port primitives"
+ (240 primitiveUTCMicrosecondClock) "was serial port primitive"
+ (241 primitiveLocalMicrosecondClock) "was serial port primitive"
+ (242 primitiveSignalAtUTCMicroseconds)
+ (243 primitiveFail) "primStringtranslatefromtotable"
+ (244 primitiveFail) "primStringfindFirstInStringinSetstartingAt"
+ (245 primitiveFail) "primStringindexOfAsciiinStringstartingAt"
+ (246 primitiveFail) "primStringfindSubstringinstartingAtmatchTable"
+ (247 primitiveSnapshotEmbedded)
+ (248 primitiveInvokeObjectAsMethod)
+ (249 primitiveArrayBecomeOneWayCopyHash)
+
+ "VM Implementor Primitives (250-255)"
+ (250 clearProfile)
+ (251 dumpProfile)
+ (252 startProfiling)
+ (253 stopProfiling)
+ (254 primitiveVMParameter)
+ (255 primitiveFail) "primitiveInstVarsPutFromStack. Never used except in Disney tests.  Remove after 2.3 release."
+
+ "Quick Push Const Methods"
+ (256 primitivePushSelf)
+ (257 primitivePushTrue)
+ (258 primitivePushFalse)
+ (259 primitivePushNil)
+ (260 primitivePushMinusOne)
+ (261 primitivePushZero)
+ (262 primitivePushOne)
+ (263 primitivePushTwo)
+
+ "Quick Push Const Methods"
+ (264 519 primitiveLoadInstVar)
+
+ "These ranges used to be used by obsiolete indexed primitives."
+ (520 529 primitiveFail)
+ (530 539 primitiveFail)
+ (540 549 primitiveFail)
+ (550 559 primitiveFail)
+ (560 569 primitiveFail)
+
+ "External primitive support primitives"
+ (570 primitiveFlushExternalPrimitives)
+ (571 primitiveUnloadModule)
+ (572 primitiveListBuiltinModule)
+ (573 primitiveListExternalModule)
+ (574 primitiveFail) "reserved for addl. external support prims"
+
+ "Unassigned Primitives"
+ (575 primitiveFail)).
+ !

Item was added:
+ ----- Method: PrimitiveTableHistory class>>initializePrimitiveTable20160123dtl (in category 'initialization history') -----
+ initializePrimitiveTable20160123dtl
+ "This table generates a C function address table use in primitiveResponse along with dispatchFunctionPointerOn:in:"
+
+ "NOTE: The real limit here is 2047 because of the method header layout but there is no point in going over the needed size"
+ MaxPrimitiveIndex := 575.
+ PrimitiveTable := Array new: MaxPrimitiveIndex + 1.
+ self table: PrimitiveTable from:
+ #( "Integer Primitives (0-19)"
+ (0 primitiveFail)
+ (1 primitiveAdd)
+ (2 primitiveSubtract)
+ (3 primitiveLessThan)
+ (4 primitiveGreaterThan)
+ (5 primitiveLessOrEqual)
+ (6 primitiveGreaterOrEqual)
+ (7 primitiveEqual)
+ (8 primitiveNotEqual)
+ (9 primitiveMultiply)
+ (10 primitiveDivide)
+ (11 primitiveMod)
+ (12 primitiveDiv)
+ (13 primitiveQuo)
+ (14 primitiveBitAnd)
+ (15 primitiveBitOr)
+ (16 primitiveBitXor)
+ (17 primitiveBitShift)
+ (18 primitiveMakePoint)
+ (19 primitiveFail) "Guard primitive for simulation -- *must* fail"
+
+ "LargeInteger Primitives (20-39)"
+ (20 primitiveRemLargeIntegers)
+ (21 primitiveAddLargeIntegers)
+ (22 primitiveSubtractLargeIntegers)
+ (23 primitiveLessThanLargeIntegers)
+ (24 primitiveGreaterThanLargeIntegers)
+ (25 primitiveLessOrEqualLargeIntegers)
+ (26 primitiveGreaterOrEqualLargeIntegers)
+ (27 primitiveEqualLargeIntegers)
+ (28 primitiveNotEqualLargeIntegers)
+ (29 primitiveMultiplyLargeIntegers)
+ (30 primitiveDivideLargeIntegers)
+ (31 primitiveModLargeIntegers)
+ (32 primitiveDivLargeIntegers)
+ (33 primitiveQuoLargeIntegers)
+ (34 primitiveBitAndLargeIntegers)
+ (35 primitiveBitOrLargeIntegers)
+ (36 primitiveBitXorLargeIntegers)
+ (37 primitiveBitShiftLargeIntegers)
+
+ "Float Primitives (38-59)"
+ (38 primitiveFloatAt)
+ (39 primitiveFloatAtPut)
+ (40 primitiveAsFloat)
+ (41 primitiveFloatAdd)
+ (42 primitiveFloatSubtract)
+ (43 primitiveFloatLessThan)
+ (44 primitiveFloatGreaterThan)
+ (45 primitiveFloatLessOrEqual)
+ (46 primitiveFloatGreaterOrEqual)
+ (47 primitiveFloatEqual)
+ (48 primitiveFloatNotEqual)
+ (49 primitiveFloatMultiply)
+ (50 primitiveFloatDivide)
+ (51 primitiveTruncated)
+ (52 primitiveFractionalPart)
+ (53 primitiveExponent)
+ (54 primitiveTimesTwoPower)
+ (55 primitiveSquareRoot)
+ (56 primitiveSine)
+ (57 primitiveArctan)
+ (58 primitiveLogN)
+ (59 primitiveExp)
+
+ "Subscript and Stream Primitives (60-67)"
+ (60 primitiveAt)
+ (61 primitiveAtPut)
+ (62 primitiveSize)
+ (63 primitiveStringAt)
+ (64 primitiveStringAtPut)
+ (65 primitiveFail) "was primitiveNext which no longer pays its way (normal Smalltalk code is faster)"
+ (66 primitiveFail) "was primitiveNextPut which no longer pays its way (normal Smalltalk code is faster)"
+ (67 primitiveFail) "was primitiveAtEnd which no longer pays its way (normal Smalltalk code is faster)"
+
+ "StorageManagement Primitives (68-79)"
+ (68 primitiveObjectAt)
+ (69 primitiveObjectAtPut)
+ (70 primitiveNew)
+ (71 primitiveNewWithArg)
+ (72 primitiveArrayBecomeOneWay) "Blue Book: primitiveBecome"
+ (73 primitiveInstVarAt)
+ (74 primitiveInstVarAtPut)
+ (75 primitiveAsOop)
+ (76 primitiveStoreStackp) "Blue Book: primitiveAsObject"
+ (77 primitiveSomeInstance)
+ (78 primitiveNextInstance)
+ (79 primitiveNewMethod)
+
+ "Control Primitives (80-89)"
+ (80 primitiveBlockCopy)
+ (81 primitiveValue)
+ (82 primitiveValueWithArgs)
+ (83 primitivePerform)
+ (84 primitivePerformWithArgs)
+ (85 primitiveSignal)
+ (86 primitiveWait)
+ (87 primitiveResume)
+ (88 primitiveSuspend)
+ (89 primitiveFlushCache)
+
+ "Input/Output Primitives (90-109)"
+ (90 primitiveMousePoint)
+ (91 primitiveTestDisplayDepth) "Blue Book: primitiveCursorLocPut"
+ (92 primitiveSetDisplayMode) "Blue Book: primitiveCursorLink"
+ (93 primitiveInputSemaphore)
+ (94 primitiveGetNextEvent) "Blue Book: primitiveSampleInterval"
+ (95 primitiveInputWord)
+ (96 primitiveFail) "primitiveCopyBits"
+ (97 primitiveSnapshot)
+ (98 primitiveStoreImageSegment)
+ (99 primitiveLoadImageSegment)
+ (100 primitivePerformInSuperclass) "Blue Book: primitiveSignalAtTick"
+ (101 primitiveBeCursor)
+ (102 primitiveBeDisplay)
+ (103 primitiveScanCharacters)
+ (104 primitiveFail) "primitiveDrawLoop"
+ (105 primitiveStringReplace)
+ (106 primitiveScreenSize)
+ (107 primitiveMouseButtons)
+ (108 primitiveKbdNext)
+ (109 primitiveKbdPeek)
+
+ "System Primitives (110-119)"
+ (110 primitiveIdentical)
+ (111 primitiveClass)
+ (112 primitiveBytesLeft)
+ (113 primitiveQuit)
+ (114 primitiveExitToDebugger)
+ (115 primitiveChangeClass) "Blue Book: primitiveOopsLeft"
+ (116 primitiveFlushCacheByMethod)
+ (117 primitiveExternalCall)
+ (118 primitiveDoPrimitiveWithArgs)
+ (119 primitiveFlushCacheBySelector)
+ "Squeak 2.2 and earlier use 119.  Squeak 2.3 and later use 116.
+ Both are supported for backward compatibility."
+
+ "Miscellaneous Primitives (120-127)"
+ (120 primitiveCalloutToFFI)
+ (121 primitiveImageName)
+ (122 primitiveNoop) "Blue Book: primitiveImageVolume"
+ (123 primitiveValueUninterruptably) "@@@: Remove this when all VMs have support"
+ (124 primitiveLowSpaceSemaphore)
+ (125 primitiveSignalAtBytesLeft)
+
+ "Squeak Primitives Start Here"
+
+ "Squeak Miscellaneous Primitives (128-149)"
+ (126 primitiveDeferDisplayUpdates)
+ (127 primitiveShowDisplayRect)
+ (128 primitiveArrayBecome)
+ (129 primitiveSpecialObjectsOop)
+ (130 primitiveFullGC)
+ (131 primitiveIncrementalGC)
+ (132 primitiveObjectPointsTo)
+ (133 primitiveSetInterruptKey)
+ (134 primitiveInterruptSemaphore)
+ (135 primitiveMillisecondClock)
+ (136 primitiveSignalAtMilliseconds)
+ (137 primitiveSecondsClock)
+ (138 primitiveSomeObject)
+ (139 primitiveNextObject)
+ (140 primitiveBeep)
+ (141 primitiveClipboardText)
+ (142 primitiveVMPath)
+ (143 primitiveShortAt)
+ (144 primitiveShortAtPut)
+ (145 primitiveConstantFill)
+ "NOTE: When removing the obsolete indexed primitives,
+ the following two should go become #primitiveIntegerAt / atPut"
+ (146 primitiveFail) "primitiveReadJoystick"
+ (147 primitiveFail) "primitiveWarpBits"
+ (148 primitiveClone)
+ (149 primitiveGetAttribute)
+
+ "File Primitives (150-169) - NO LONGER INDEXED"
+ (150 159 primitiveFail)
+ (160 primitiveAdoptInstance)
+ (161 primitiveSetIdentityHash) "CogMemoryManager primitives"
+ (162 164 primitiveFail)
+ (165 primitiveIntegerAt) "hacked in here for now"
+ (166 primitiveIntegerAtPut)
+ (167 primitiveYield)
+ (168 primitiveCopyObject)
+ (169 primitiveNotIdentical)
+
+ "Sound Primitives (170-199) - NO LONGER INDEXED"
+ (170 174 primitiveFail)
+
+ "CogMemoryManager primitives"
+ (175 primitiveBehaviorHash)
+ (176 primitiveMaxIdentityHash)
+ (177 184 primitiveFail)
+
+ "CriticalSection primitives"
+ (185 primitiveExitCriticalSection) "similar to signal hence index = signal + 100"
+ (186 primitiveEnterCriticalSection) "similar to wait hence index = wait + 100. was primitiveClosureValue"
+ (187 primitiveTestAndSetOwnershipOfCriticalSection) "was primitiveClosureValueWithArgs"
+
+ "Perform method directly"
+ (188 primitiveExecuteMethodArgsArray)
+ (189 primitiveExecuteMethod)
+
+ "Sound Primitives (continued) - NO LONGER INDEXED"
+ (190 194 primitiveFail)
+
+ "Unwind primitives"
+ (195 primitiveFindNextUnwindContext)
+ (196 primitiveTerminateTo)
+ (197 primitiveFindHandlerContext)
+ (198 primitiveMarkUnwindMethod)
+ (199 primitiveMarkHandlerMethod)
+
+ "new closure primitives (were Networking primitives)"
+ (200 primitiveClosureCopyWithCopiedValues)
+ (201 primitiveClosureValue) "value"
+ (202 primitiveClosureValue) "value:"
+ (203 primitiveClosureValue) "value:value:"
+ (204 primitiveClosureValue) "value:value:value:"
+ (205 primitiveClosureValue) "value:value:value:value:"
+ (206 primitiveClosureValueWithArgs) "valueWithArguments:"
+
+ (207 209 primitiveFail) "reserved for Cog primitives"
+
+ (210 primitiveAt) "Compatibility with Cog StackInterpreter Context primitives"
+ (211 primitiveAtPut) "Compatibility with Cog StackInterpreter Context primitives"
+ (212 primitiveSize) "Compatibility with Cog StackInterpreter Context primitives"
+ (213 219 primitiveFail) "reserved for Cog primitives"
+
+ (220 primitiveFail) "reserved for Cog primitives"
+
+ (221 primitiveClosureValueNoContextSwitch) "valueNoContextSwitch"
+ (222 primitiveClosureValueNoContextSwitch) "valueNoContextSwitch:"
+
+ (223 229 primitiveFail) "reserved for Cog primitives"
+
+ (230 primitiveRelinquishProcessor)
+ (231 primitiveForceDisplayUpdate)
+ (232 primitiveFormPrint)
+ (233 primitiveSetFullScreen)
+ (234 primitiveFail) "primBitmapdecompressfromByteArrayat"
+ (235 primitiveFail) "primStringcomparewithcollated"
+ (236 primitiveFail) "primSampledSoundconvert8bitSignedFromto16Bit"
+ (237 primitiveFail) "primBitmapcompresstoByteArray"
+ (238 239 primitiveFail) "serial port primitives"
+ (240 primitiveUTCMicrosecondClock) "was serial port primitive"
+ (241 primitiveLocalMicrosecondClock) "was serial port primitive"
+ (242 primitiveSignalAtUTCMicroseconds)
+ (243 primitiveFail) "primStringtranslatefromtotable"
+ (244 primitiveFail) "primStringfindFirstInStringinSetstartingAt"
+ (245 primitiveFail) "primStringindexOfAsciiinStringstartingAt"
+ (246 primitiveFail) "primStringfindSubstringinstartingAtmatchTable"
+ (247 primitiveSnapshotEmbedded)
+ (248 primitiveInvokeObjectAsMethod)
+ (249 primitiveArrayBecomeOneWayCopyHash)
+
+ "VM Implementor Primitives (250-255)"
+ (250 clearProfile)
+ (251 dumpProfile)
+ (252 startProfiling)
+ (253 stopProfiling)
+ (254 primitiveVMParameter)
+ (255 primitiveFail) "primitiveInstVarsPutFromStack. Never used except in Disney tests.  Remove after 2.3 release."
+
+ "Quick Push Const Methods"
+ (256 primitivePushSelf)
+ (257 primitivePushTrue)
+ (258 primitivePushFalse)
+ (259 primitivePushNil)
+ (260 primitivePushMinusOne)
+ (261 primitivePushZero)
+ (262 primitivePushOne)
+ (263 primitivePushTwo)
+
+ "Quick Push Const Methods"
+ (264 519 primitiveLoadInstVar)
+
+ "These ranges used to be used by obsiolete indexed primitives."
+ (520 529 primitiveFail)
+ (530 539 primitiveFail)
+ (540 549 primitiveFail)
+ (550 559 primitiveFail)
+ (560 569 primitiveFail)
+
+ "External primitive support primitives"
+ (570 primitiveFlushExternalPrimitives)
+ (571 primitiveUnloadModule)
+ (572 primitiveListBuiltinModule)
+ (573 primitiveListExternalModule)
+ (574 primitiveFail) "reserved for addl. external support prims"
+
+ "Unassigned Primitives"
+ (575 primitiveFail)).
+ !

Item was added:
+ ----- Method: PrimitiveTableHistory class>>initializePrimitiveTable20160501dtl (in category 'initialization history') -----
+ initializePrimitiveTable20160501dtl
+ "This table generates a C function address table use in primitiveResponse along with dispatchFunctionPointerOn:in:"
+
+ "NOTE: The real limit here is 2047 because of the method header layout but there is no point in going over the needed size"
+ MaxPrimitiveIndex := 575.
+ PrimitiveTable := Array new: MaxPrimitiveIndex + 1.
+ self table: PrimitiveTable from:
+ #( "Integer Primitives (0-19)"
+ (0 primitiveFail)
+ (1 primitiveAdd)
+ (2 primitiveSubtract)
+ (3 primitiveLessThan)
+ (4 primitiveGreaterThan)
+ (5 primitiveLessOrEqual)
+ (6 primitiveGreaterOrEqual)
+ (7 primitiveEqual)
+ (8 primitiveNotEqual)
+ (9 primitiveMultiply)
+ (10 primitiveDivide)
+ (11 primitiveMod)
+ (12 primitiveDiv)
+ (13 primitiveQuo)
+ (14 primitiveBitAnd)
+ (15 primitiveBitOr)
+ (16 primitiveBitXor)
+ (17 primitiveBitShift)
+ (18 primitiveMakePoint)
+ (19 primitiveFail) "Guard primitive for simulation -- *must* fail"
+
+ "LargeInteger Primitives (20-39)"
+ (20 primitiveRemLargeIntegers)
+ (21 primitiveAddLargeIntegers)
+ (22 primitiveSubtractLargeIntegers)
+ (23 primitiveLessThanLargeIntegers)
+ (24 primitiveGreaterThanLargeIntegers)
+ (25 primitiveLessOrEqualLargeIntegers)
+ (26 primitiveGreaterOrEqualLargeIntegers)
+ (27 primitiveEqualLargeIntegers)
+ (28 primitiveNotEqualLargeIntegers)
+ (29 primitiveMultiplyLargeIntegers)
+ (30 primitiveDivideLargeIntegers)
+ (31 primitiveModLargeIntegers)
+ (32 primitiveDivLargeIntegers)
+ (33 primitiveQuoLargeIntegers)
+ (34 primitiveBitAndLargeIntegers)
+ (35 primitiveBitOrLargeIntegers)
+ (36 primitiveBitXorLargeIntegers)
+ (37 primitiveBitShiftLargeIntegers)
+
+ "Float Primitives (38-59)"
+ (38 primitiveFloatAt)
+ (39 primitiveFloatAtPut)
+ (40 primitiveAsFloat)
+ (41 primitiveFloatAdd)
+ (42 primitiveFloatSubtract)
+ (43 primitiveFloatLessThan)
+ (44 primitiveFloatGreaterThan)
+ (45 primitiveFloatLessOrEqual)
+ (46 primitiveFloatGreaterOrEqual)
+ (47 primitiveFloatEqual)
+ (48 primitiveFloatNotEqual)
+ (49 primitiveFloatMultiply)
+ (50 primitiveFloatDivide)
+ (51 primitiveTruncated)
+ (52 primitiveFractionalPart)
+ (53 primitiveExponent)
+ (54 primitiveTimesTwoPower)
+ (55 primitiveSquareRoot)
+ (56 primitiveSine)
+ (57 primitiveArctan)
+ (58 primitiveLogN)
+ (59 primitiveExp)
+
+ "Subscript and Stream Primitives (60-67)"
+ (60 primitiveAt)
+ (61 primitiveAtPut)
+ (62 primitiveSize)
+ (63 primitiveStringAt)
+ (64 primitiveStringAtPut)
+ (65 primitiveFail) "was primitiveNext which no longer pays its way (normal Smalltalk code is faster)"
+ (66 primitiveFail) "was primitiveNextPut which no longer pays its way (normal Smalltalk code is faster)"
+ (67 primitiveFail) "was primitiveAtEnd which no longer pays its way (normal Smalltalk code is faster)"
+
+ "StorageManagement Primitives (68-79)"
+ (68 primitiveObjectAt)
+ (69 primitiveObjectAtPut)
+ (70 primitiveNew)
+ (71 primitiveNewWithArg)
+ (72 primitiveArrayBecomeOneWay) "Blue Book: primitiveBecome"
+ (73 primitiveInstVarAt)
+ (74 primitiveInstVarAtPut)
+ (75 primitiveAsOop)
+ (76 primitiveStoreStackp) "Blue Book: primitiveAsObject"
+ (77 primitiveSomeInstance)
+ (78 primitiveNextInstance)
+ (79 primitiveNewMethod)
+
+ "Control Primitives (80-89)"
+ (80 primitiveFail) "Blue Book: primitiveBlockCopy"
+ (81 primitiveFail) "Blue Book: primitiveValue"
+ (82 primitiveFail) "Blue Book: primitiveValueWithArgs"
+ (83 primitivePerform)
+ (84 primitivePerformWithArgs)
+ (85 primitiveSignal)
+ (86 primitiveWait)
+ (87 primitiveResume)
+ (88 primitiveSuspend)
+ (89 primitiveFlushCache)
+
+ "Input/Output Primitives (90-109)"
+ (90 primitiveMousePoint)
+ (91 primitiveTestDisplayDepth) "Blue Book: primitiveCursorLocPut"
+ (92 primitiveSetDisplayMode) "Blue Book: primitiveCursorLink"
+ (93 primitiveInputSemaphore)
+ (94 primitiveGetNextEvent) "Blue Book: primitiveSampleInterval"
+ (95 primitiveInputWord)
+ (96 primitiveFail) "primitiveCopyBits"
+ (97 primitiveSnapshot)
+ (98 primitiveStoreImageSegment)
+ (99 primitiveLoadImageSegment)
+ (100 primitivePerformInSuperclass) "Blue Book: primitiveSignalAtTick"
+ (101 primitiveBeCursor)
+ (102 primitiveBeDisplay)
+ (103 primitiveScanCharacters)
+ (104 primitiveFail) "primitiveDrawLoop"
+ (105 primitiveStringReplace)
+ (106 primitiveScreenSize)
+ (107 primitiveMouseButtons)
+ (108 primitiveKbdNext)
+ (109 primitiveKbdPeek)
+
+ "System Primitives (110-119)"
+ (110 primitiveIdentical)
+ (111 primitiveClass)
+ (112 primitiveBytesLeft)
+ (113 primitiveQuit)
+ (114 primitiveExitToDebugger)
+ (115 primitiveChangeClass) "Blue Book: primitiveOopsLeft"
+ (116 primitiveFlushCacheByMethod)
+ (117 primitiveExternalCall)
+ (118 primitiveDoPrimitiveWithArgs)
+ (119 primitiveFlushCacheBySelector)
+ "Squeak 2.2 and earlier use 119.  Squeak 2.3 and later use 116.
+ Both are supported for backward compatibility."
+
+ "Miscellaneous Primitives (120-127)"
+ (120 primitiveCalloutToFFI)
+ (121 primitiveImageName)
+ (122 primitiveNoop) "Blue Book: primitiveImageVolume"
+ (123 primitiveFail) "was primitiveValueUninterruptably"
+ (124 primitiveLowSpaceSemaphore)
+ (125 primitiveSignalAtBytesLeft)
+
+ "Squeak Primitives Start Here"
+
+ "Squeak Miscellaneous Primitives (128-149)"
+ (126 primitiveDeferDisplayUpdates)
+ (127 primitiveShowDisplayRect)
+ (128 primitiveArrayBecome)
+ (129 primitiveSpecialObjectsOop)
+ (130 primitiveFullGC)
+ (131 primitiveIncrementalGC)
+ (132 primitiveObjectPointsTo)
+ (133 primitiveSetInterruptKey)
+ (134 primitiveInterruptSemaphore)
+ (135 primitiveMillisecondClock)
+ (136 primitiveSignalAtMilliseconds)
+ (137 primitiveSecondsClock)
+ (138 primitiveSomeObject)
+ (139 primitiveNextObject)
+ (140 primitiveBeep)
+ (141 primitiveClipboardText)
+ (142 primitiveVMPath)
+ (143 primitiveShortAt)
+ (144 primitiveShortAtPut)
+ (145 primitiveConstantFill)
+ "NOTE: When removing the obsolete indexed primitives,
+ the following two should go become #primitiveIntegerAt / atPut"
+ (146 primitiveFail) "primitiveReadJoystick"
+ (147 primitiveFail) "primitiveWarpBits"
+ (148 primitiveClone)
+ (149 primitiveGetAttribute)
+
+ "File Primitives (150-169) - NO LONGER INDEXED"
+ (150 159 primitiveFail)
+ (160 primitiveAdoptInstance)
+ (161 primitiveSetIdentityHash) "CogMemoryManager primitives"
+ (162 164 primitiveFail)
+ (165 primitiveIntegerAt) "hacked in here for now"
+ (166 primitiveIntegerAtPut)
+ (167 primitiveYield)
+ (168 primitiveCopyObject)
+ (169 primitiveNotIdentical)
+
+ "Sound Primitives (170-199) - NO LONGER INDEXED"
+ (170 174 primitiveFail)
+
+ "CogMemoryManager primitives"
+ (175 primitiveBehaviorHash)
+ (176 primitiveMaxIdentityHash)
+ (177 184 primitiveFail)
+
+ "CriticalSection primitives"
+ (185 primitiveExitCriticalSection) "similar to signal hence index = signal + 100"
+ (186 primitiveEnterCriticalSection) "similar to wait hence index = wait + 100. was primitiveClosureValue"
+ (187 primitiveTestAndSetOwnershipOfCriticalSection) "was primitiveClosureValueWithArgs"
+
+ "Perform method directly"
+ (188 primitiveExecuteMethodArgsArray)
+ (189 primitiveExecuteMethod)
+
+ "Sound Primitives (continued) - NO LONGER INDEXED"
+ (190 194 primitiveFail)
+
+ "Unwind primitives"
+ (195 primitiveFindNextUnwindContext)
+ (196 primitiveTerminateTo)
+ (197 primitiveFindHandlerContext)
+ (198 primitiveMarkUnwindMethod)
+ (199 primitiveMarkHandlerMethod)
+
+ "new closure primitives (were Networking primitives)"
+ (200 primitiveClosureCopyWithCopiedValues)
+ (201 primitiveClosureValue) "value"
+ (202 primitiveClosureValue) "value:"
+ (203 primitiveClosureValue) "value:value:"
+ (204 primitiveClosureValue) "value:value:value:"
+ (205 primitiveClosureValue) "value:value:value:value:"
+ (206 primitiveClosureValueWithArgs) "valueWithArguments:"
+
+ (207 209 primitiveFail) "reserved for Cog primitives"
+
+ (210 primitiveAt) "Compatibility with Cog StackInterpreter Context primitives"
+ (211 primitiveAtPut) "Compatibility with Cog StackInterpreter Context primitives"
+ (212 primitiveSize) "Compatibility with Cog StackInterpreter Context primitives"
+ (213 219 primitiveFail) "reserved for Cog primitives"
+
+ (220 primitiveFail) "reserved for Cog primitives"
+
+ (221 primitiveClosureValueNoContextSwitch) "valueNoContextSwitch"
+ (222 primitiveClosureValueNoContextSwitch) "valueNoContextSwitch:"
+
+ (223 229 primitiveFail) "reserved for Cog primitives"
+
+ (230 primitiveRelinquishProcessor)
+ (231 primitiveForceDisplayUpdate)
+ (232 primitiveFormPrint)
+ (233 primitiveSetFullScreen)
+ (234 primitiveFail) "primBitmapdecompressfromByteArrayat"
+ (235 primitiveFail) "primStringcomparewithcollated"
+ (236 primitiveFail) "primSampledSoundconvert8bitSignedFromto16Bit"
+ (237 primitiveFail) "primBitmapcompresstoByteArray"
+ (238 239 primitiveFail) "serial port primitives"
+ (240 primitiveUTCMicrosecondClock) "was serial port primitive"
+ (241 primitiveLocalMicrosecondClock) "was serial port primitive"
+ (242 primitiveSignalAtUTCMicroseconds)
+ (243 primitiveFail) "primStringtranslatefromtotable"
+ (244 primitiveFail) "primStringfindFirstInStringinSetstartingAt"
+ (245 primitiveFail) "primStringindexOfAsciiinStringstartingAt"
+ (246 primitiveFail) "primStringfindSubstringinstartingAtmatchTable"
+ (247 primitiveSnapshotEmbedded)
+ (248 primitiveInvokeObjectAsMethod)
+ (249 primitiveArrayBecomeOneWayCopyHash)
+
+ "VM Implementor Primitives (250-255)"
+ (250 clearProfile)
+ (251 dumpProfile)
+ (252 startProfiling)
+ (253 stopProfiling)
+ (254 primitiveVMParameter)
+ (255 primitiveFail) "primitiveInstVarsPutFromStack. Never used except in Disney tests.  Remove after 2.3 release."
+
+ "Quick push const methods for context interpreter"
+ (256 primitivePushSelf)
+ (257 primitivePushTrue)
+ (258 primitivePushFalse)
+ (259 primitivePushNil)
+ (260 primitivePushMinusOne)
+ (261 primitivePushZero)
+ (262 primitivePushOne)
+ (263 primitivePushTwo)
+
+ "Quick push inst var methods (next 256) for context interpreter"
+ (264 519 primitiveLoadInstVar)
+
+ "These ranges used to be used by obsiolete indexed primitives."
+ (520 529 primitiveFail)
+ (530 539 primitiveFail)
+ (540 549 primitiveFail)
+ (550 559 primitiveFail)
+ (560 569 primitiveFail)
+
+ "External primitive support primitives"
+ (570 primitiveFlushExternalPrimitives)
+ (571 primitiveUnloadModule)
+ (572 primitiveListBuiltinModule)
+ (573 primitiveListExternalModule)
+ (574 primitiveFail) "reserved for addl. external support prims"
+
+ "Unassigned Primitives"
+ (575 primitiveFail)).
+ !

Item was added:
+ ----- Method: PrimitiveTableHistory class>>initializePrimitiveTable20161221dtl (in category 'initialization history') -----
+ initializePrimitiveTable20161221dtl
+ "This table generates a C function address table use in primitiveResponse along with dispatchFunctionPointerOn:in:"
+
+ "NOTE: The real limit here is 2047 because of the method header layout but there is no point in going over the needed size"
+
+ self flag: #updatePrimitiveTable. "these default assignments may be overridden at run time"
+
+ MaxPrimitiveIndex := 575.
+ PrimitiveTable := Array new: MaxPrimitiveIndex + 1.
+ self table: PrimitiveTable from:
+ #( "Integer Primitives (0-19)"
+ (0 primitiveFail)
+ (1 primitiveAdd)
+ (2 primitiveSubtract)
+ (3 primitiveLessThan)
+ (4 primitiveGreaterThan)
+ (5 primitiveLessOrEqual)
+ (6 primitiveGreaterOrEqual)
+ (7 primitiveEqual)
+ (8 primitiveNotEqual)
+ (9 primitiveMultiply)
+ (10 primitiveDivide)
+ (11 primitiveMod)
+ (12 primitiveDiv)
+ (13 primitiveQuo)
+ (14 primitiveBitAnd)
+ (15 primitiveBitOr)
+ (16 primitiveBitXor)
+ (17 primitiveBitShift)
+ (18 primitiveMakePoint)
+ (19 primitiveFail) "Guard primitive for simulation -- *must* fail"
+
+ "LargeInteger Primitives (20-39)"
+ (20 primitiveRemLargeIntegers)
+ (21 primitiveAddLargeIntegers)
+ (22 primitiveSubtractLargeIntegers)
+ (23 primitiveLessThanLargeIntegers)
+ (24 primitiveGreaterThanLargeIntegers)
+ (25 primitiveLessOrEqualLargeIntegers)
+ (26 primitiveGreaterOrEqualLargeIntegers)
+ (27 primitiveEqualLargeIntegers)
+ (28 primitiveNotEqualLargeIntegers)
+ (29 primitiveMultiplyLargeIntegers)
+ (30 primitiveDivideLargeIntegers)
+ (31 primitiveModLargeIntegers)
+ (32 primitiveDivLargeIntegers)
+ (33 primitiveQuoLargeIntegers)
+ (34 primitiveBitAndLargeIntegers)
+ (35 primitiveBitOrLargeIntegers)
+ (36 primitiveBitXorLargeIntegers)
+ (37 primitiveBitShiftLargeIntegers)
+
+ "Float Primitives (38-59)"
+ (38 primitiveFloatAt)
+ (39 primitiveFloatAtPut)
+ (40 primitiveAsFloat)
+ (41 primitiveFloatAdd)
+ (42 primitiveFloatSubtract)
+ (43 primitiveFloatLessThan)
+ (44 primitiveFloatGreaterThan)
+ (45 primitiveFloatLessOrEqual)
+ (46 primitiveFloatGreaterOrEqual)
+ (47 primitiveFloatEqual)
+ (48 primitiveFloatNotEqual)
+ (49 primitiveFloatMultiply)
+ (50 primitiveFloatDivide)
+ (51 primitiveTruncated)
+ (52 primitiveFractionalPart)
+ (53 primitiveExponent)
+ (54 primitiveTimesTwoPower)
+ (55 primitiveSquareRoot)
+ (56 primitiveSine)
+ (57 primitiveArctan)
+ (58 primitiveLogN)
+ (59 primitiveExp)
+
+ "Subscript and Stream Primitives (60-67)"
+ (60 primitiveAt)
+ (61 primitiveAtPut)
+ (62 primitiveSize)
+ (63 primitiveStringAt)
+ (64 primitiveStringAtPut)
+ (65 primitiveFail) "was primitiveNext which no longer pays its way (normal Smalltalk code is faster)"
+ (66 primitiveFail) "was primitiveNextPut which no longer pays its way (normal Smalltalk code is faster)"
+ (67 primitiveFail) "was primitiveAtEnd which no longer pays its way (normal Smalltalk code is faster)"
+
+ "StorageManagement Primitives (68-79)"
+ (68 primitiveObjectAt)
+ (69 primitiveObjectAtPut)
+ (70 primitiveNew)
+ (71 primitiveNewWithArg)
+ (72 primitiveArrayBecomeOneWay) "Blue Book: primitiveBecome"
+ (73 primitiveInstVarAt)
+ (74 primitiveInstVarAtPut)
+ (75 primitiveAsOop)
+ (76 primitiveStoreStackp) "Blue Book: primitiveAsObject"
+ (77 primitiveSomeInstance)
+ (78 primitiveNextInstance)
+ (79 primitiveNewMethod)
+
+ "Control Primitives (80-89)"
+ (80 primitiveFail) "Blue Book: primitiveBlockCopy"
+ (81 primitiveFail) "Blue Book: primitiveValue"
+ (82 primitiveFail) "Blue Book: primitiveValueWithArgs"
+ (83 primitivePerform)
+ (84 primitivePerformWithArgs)
+ (85 primitiveSignal)
+ (86 primitiveWait)
+ (87 primitiveResume)
+ (88 primitiveSuspend)
+ (89 primitiveFlushCache)
+
+ "Input/Output Primitives (90-109)"
+ (90 primitiveMousePoint)
+ (91 primitiveTestDisplayDepth) "Blue Book: primitiveCursorLocPut"
+ (92 primitiveSetDisplayMode) "Blue Book: primitiveCursorLink"
+ (93 primitiveInputSemaphore)
+ (94 primitiveGetNextEvent) "Blue Book: primitiveSampleInterval"
+ (95 primitiveInputWord)
+ (96 primitiveFail) "primitiveCopyBits"
+ (97 primitiveSnapshot)
+ (98 primitiveStoreImageSegment)
+ (99 primitiveLoadImageSegment)
+ (100 primitivePerformInSuperclass) "Blue Book: primitiveSignalAtTick"
+ (101 primitiveBeCursor)
+ (102 primitiveBeDisplay)
+ (103 primitiveScanCharacters)
+ (104 primitiveFail) "primitiveDrawLoop"
+ (105 primitiveStringReplace)
+ (106 primitiveScreenSize)
+ (107 primitiveMouseButtons)
+ (108 primitiveKbdNext)
+ (109 primitiveKbdPeek)
+
+ "System Primitives (110-119)"
+ (110 primitiveIdentical)
+ (111 primitiveClass)
+ (112 primitiveBytesLeft)
+ (113 primitiveQuit)
+ (114 primitiveExitToDebugger)
+ (115 primitiveChangeClass) "Blue Book: primitiveOopsLeft"
+ (116 primitiveFlushCacheByMethod)
+ (117 primitiveExternalCall)
+ (118 primitiveDoPrimitiveWithArgs)
+ (119 primitiveFlushCacheBySelector)
+ "Squeak 2.2 and earlier use 119.  Squeak 2.3 and later use 116.
+ Both are supported for backward compatibility."
+
+ "Miscellaneous Primitives (120-127)"
+ (120 primitiveCalloutToFFI)
+ (121 primitiveImageName)
+ (122 primitiveNoop) "Blue Book: primitiveImageVolume"
+ (123 primitiveFail) "was primitiveValueUninterruptably"
+ (124 primitiveLowSpaceSemaphore)
+ (125 primitiveSignalAtBytesLeft)
+
+ "Squeak Primitives Start Here"
+
+ "Squeak Miscellaneous Primitives (128-149)"
+ (126 primitiveDeferDisplayUpdates)
+ (127 primitiveShowDisplayRect)
+ (128 primitiveArrayBecome)
+ (129 primitiveSpecialObjectsOop)
+ (130 primitiveFullGC)
+ (131 primitiveIncrementalGC)
+ (132 primitiveObjectPointsTo)
+ (133 primitiveSetInterruptKey)
+ (134 primitiveInterruptSemaphore)
+ (135 primitiveMillisecondClock)
+ (136 primitiveSignalAtMilliseconds)
+ (137 primitiveSecondsClock)
+ (138 primitiveSomeObject)
+ (139 primitiveNextObject)
+ (140 primitiveBeep)
+ (141 primitiveClipboardText)
+ (142 primitiveVMPath)
+ (143 primitiveShortAt)
+ (144 primitiveShortAtPut)
+ (145 primitiveConstantFill)
+ "NOTE: When removing the obsolete indexed primitives,
+ the following two should go become #primitiveIntegerAt / atPut"
+ (146 primitiveFail) "primitiveReadJoystick"
+ (147 primitiveFail) "primitiveWarpBits"
+ (148 primitiveClone)
+ (149 primitiveGetAttribute)
+
+ "File Primitives (150-169) - NO LONGER INDEXED"
+ (150 159 primitiveFail)
+ (160 primitiveAdoptInstance)
+ (161 primitiveSetIdentityHash) "CogMemoryManager primitives"
+ (162 164 primitiveFail)
+ (165 primitiveIntegerAt) "hacked in here for now"
+ (166 primitiveIntegerAtPut)
+ (167 primitiveYield)
+ (168 primitiveCopyObject)
+ (169 primitiveNotIdentical)
+
+ "Sound Primitives (170-199) - NO LONGER INDEXED"
+ (170 174 primitiveFail)
+
+ "CogMemoryManager primitives"
+ (175 primitiveBehaviorHash)
+ (176 primitiveMaxIdentityHash)
+ (177 184 primitiveFail)
+
+ "CriticalSection primitives"
+ (185 primitiveExitCriticalSection) "similar to signal hence index = signal + 100"
+ (186 primitiveEnterCriticalSection) "similar to wait hence index = wait + 100. was primitiveClosureValue"
+ (187 primitiveTestAndSetOwnershipOfCriticalSection) "was primitiveClosureValueWithArgs"
+
+ "Perform method directly"
+ (188 primitiveExecuteMethodArgsArray)
+ (189 primitiveExecuteMethod)
+
+ "Sound Primitives (continued) - NO LONGER INDEXED"
+ (190 194 primitiveFail)
+
+ "Unwind primitives"
+ (195 primitiveFindNextUnwindContext)
+ (196 primitiveTerminateTo)
+ (197 primitiveFindHandlerContext)
+ (198 primitiveMarkUnwindMethod)
+ (199 primitiveMarkHandlerMethod)
+
+ "new closure primitives (were Networking primitives)"
+ (200 primitiveClosureCopyWithCopiedValues)
+ (201 primitiveClosureValue) "value"
+ (202 primitiveClosureValue) "value:"
+ (203 primitiveClosureValue) "value:value:"
+ (204 primitiveClosureValue) "value:value:value:"
+ (205 primitiveClosureValue) "value:value:value:value:"
+ (206 primitiveClosureValueWithArgs) "valueWithArguments:"
+
+ (207 209 primitiveFail) "reserved for Cog primitives"
+
+ (210 primitiveAt) "Compatibility with Cog StackInterpreter Context primitives"
+ (211 primitiveAtPut) "Compatibility with Cog StackInterpreter Context primitives"
+ (212 primitiveSize) "Compatibility with Cog StackInterpreter Context primitives"
+ (213 219 primitiveFail) "reserved for Cog primitives"
+
+ (220 primitiveFail) "reserved for Cog primitives"
+
+ (221 primitiveClosureValueNoContextSwitch) "valueNoContextSwitch"
+ (222 primitiveClosureValueNoContextSwitch) "valueNoContextSwitch:"
+
+ (223 229 primitiveFail) "reserved for Cog primitives"
+
+ (230 primitiveRelinquishProcessor)
+ (231 primitiveForceDisplayUpdate)
+ (232 primitiveFormPrint)
+ (233 primitiveSetFullScreen)
+ (234 primitiveFail) "primBitmapdecompressfromByteArrayat"
+ (235 primitiveFail) "primStringcomparewithcollated"
+ (236 primitiveFail) "primSampledSoundconvert8bitSignedFromto16Bit"
+ (237 primitiveFail) "primBitmapcompresstoByteArray"
+ (238 239 primitiveFail) "serial port primitives"
+ (240 primitiveUTCMicrosecondClock) "was serial port primitive"
+ (241 primitiveLocalMicrosecondClock) "was serial port primitive"
+ (242 primitiveSignalAtUTCMicroseconds)
+ (243 primitiveFail) "primStringtranslatefromtotable"
+ (244 primitiveFail) "primStringfindFirstInStringinSetstartingAt"
+ (245 primitiveFail) "primStringindexOfAsciiinStringstartingAt"
+ (246 primitiveFail) "primStringfindSubstringinstartingAtmatchTable"
+ (247 primitiveSnapshotEmbedded)
+ (248 primitiveInvokeObjectAsMethod)
+ (249 primitiveArrayBecomeOneWayCopyHash)
+
+ "VM Implementor Primitives (250-255)"
+ (250 clearProfile)
+ (251 dumpProfile)
+ (252 startProfiling)
+ (253 stopProfiling)
+ (254 primitiveVMParameter)
+ (255 primitiveFail) "primitiveInstVarsPutFromStack. Never used except in Disney tests.  Remove after 2.3 release."
+
+ "Quick push const methods for context interpreter"
+ (256 primitivePushSelf)
+ (257 primitivePushTrue)
+ (258 primitivePushFalse)
+ (259 primitivePushNil)
+ (260 primitivePushMinusOne)
+ (261 primitivePushZero)
+ (262 primitivePushOne)
+ (263 primitivePushTwo)
+
+ "Quick push inst var methods (next 256) for context interpreter"
+ (264 519 primitiveLoadInstVar)
+
+ "These ranges used to be used by obsiolete indexed primitives."
+ (520 529 primitiveFail)
+ (530 539 primitiveFail)
+ (540 549 primitiveFail)
+ (550 559 primitiveFail)
+ (560 569 primitiveFail)
+
+ "External primitive support primitives"
+ (570 primitiveFlushExternalPrimitives)
+ (571 primitiveUnloadModule)
+ (572 primitiveListBuiltinModule)
+ (573 primitiveListExternalModule)
+ (574 primitiveFail) "reserved for addl. external support prims"
+
+ "Unassigned Primitives"
+ (575 primitiveFail)).
+ !

Item was added:
+ ----- Method: PrimitiveTableHistory class>>lastPreClosuresVersion (in category 'significant versions') -----
+ lastPreClosuresVersion
+ "The primitive table immediately prior to the first closures enabled image"
+
+ "self lastPreClosuresVersion"
+ "self differenceFrom: self lastPreClosuresVersion to: self firstClosuresVersion"
+ "self differenceFrom: self lastPreClosuresVersion to: self current"
+
+ ^self table20050127!

Item was added:
+ ----- Method: PrimitiveTableHistory class>>lastVersionInOldFiles (in category 'significant versions') -----
+ lastVersionInOldFiles
+ "The version in the Squeak 3 sources file, after which the VM was maintained outside the base image"
+
+ "self lastVersionInOldFiles"
+ "self differenceFrom: self lastVersionInOldFiles to: self firstVersionInRepository"
+
+ ^self table20010203!

Item was added:
+ ----- Method: PrimitiveTableHistory class>>latestForInterpreterVM (in category 'significant versions') -----
+ latestForInterpreterVM
+ "Most recent version suitable for interpreter VM use. Possibly a few versions
+ behind latest for oscog."
+
+ "self latestForInterpreterVM"
+ "self latestForInterpreterVM difference: self current"
+
+ ^self table20160123!

Item was added:
+ ----- Method: PrimitiveTableHistory class>>table19961028 (in category 'tables') -----
+ table19961028
+ "self table19961028"
+ self initializePrimitiveTable19961028Squeak11.
+ ^ PrimitiveTable copy!

Item was added:
+ ----- Method: PrimitiveTableHistory class>>table19970118 (in category 'tables') -----
+ table19970118
+ "self table19970118"
+ self initializePrimitiveTable19970118Squeak118.
+ ^ PrimitiveTable copy!

Item was added:
+ ----- Method: PrimitiveTableHistory class>>table19970617 (in category 'tables') -----
+ table19970617
+ "self table19970617"
+ self initializePrimitiveTable19970617jm.
+ ^ PrimitiveTable copy!

Item was added:
+ ----- Method: PrimitiveTableHistory class>>table19970918 (in category 'tables') -----
+ table19970918
+ "self table19970918"
+ self initializePrimitiveTable19970918jm.
+ ^ PrimitiveTable copy!

Item was added:
+ ----- Method: PrimitiveTableHistory class>>table19980114 (in category 'tables') -----
+ table19980114
+ "self table19980114"
+ "self differenceFrom: self table19980114 to: self table19980121"
+
+ self initializePrimitiveTable19980114ikp.
+ ^ PrimitiveTable copy!

Item was added:
+ ----- Method: PrimitiveTableHistory class>>table19980121 (in category 'tables') -----
+ table19980121
+ "self table19980121"
+ "self differenceFrom: self firstKnownVersion to: self table19980121"
+
+ self initializePrimitiveTable19980121jm.
+ ^ PrimitiveTable copy!

Item was added:
+ ----- Method: PrimitiveTableHistory class>>table19980518 (in category 'tables') -----
+ table19980518
+ "self table19980518"
+
+ self initializePrimitiveTable19980518jm.
+ ^ PrimitiveTable copy!

Item was added:
+ ----- Method: PrimitiveTableHistory class>>table19980628 (in category 'tables') -----
+ table19980628
+ "self table19980628"
+
+ self initializePrimitiveTable19980628jm.
+ ^ PrimitiveTable copy!

Item was added:
+ ----- Method: PrimitiveTableHistory class>>table19980922 (in category 'tables') -----
+ table19980922
+ "self table19980922"
+
+ self initializePrimitiveTable19980922jm.
+ ^ PrimitiveTable copy!

Item was added:
+ ----- Method: PrimitiveTableHistory class>>table19990128 (in category 'tables') -----
+ table19990128
+ "self table19990128"
+ self initializePrimitiveTable19990128di.
+ ^ PrimitiveTable copy!

Item was added:
+ ----- Method: PrimitiveTableHistory class>>table19990421 (in category 'tables') -----
+ table19990421
+ "self table19990421"
+ self initializePrimitiveTable19990421jm.
+ ^ PrimitiveTable copy!

Item was added:
+ ----- Method: PrimitiveTableHistory class>>table19990920 (in category 'tables') -----
+ table19990920
+ "self table19990920"
+ self initializePrimitiveTable19990920ar.
+ ^ PrimitiveTable copy!

Item was added:
+ ----- Method: PrimitiveTableHistory class>>table20000119 (in category 'tables') -----
+ table20000119
+ "self table20000119"
+ self initializePrimitiveTable20000119ar.
+ ^ PrimitiveTable copy!

Item was added:
+ ----- Method: PrimitiveTableHistory class>>table20000906 (in category 'tables') -----
+ table20000906
+ "self table20000906"
+ self initializePrimitiveTable20000906tpr.
+ ^ PrimitiveTable copy!

Item was added:
+ ----- Method: PrimitiveTableHistory class>>table20010203 (in category 'tables') -----
+ table20010203
+ "self table20010203"
+ self initializePrimitiveTable20010203ar.
+ ^ PrimitiveTable copy!

Item was added:
+ ----- Method: PrimitiveTableHistory class>>table20040211 (in category 'tables') -----
+ table20040211
+ "self table20040211"
+ self initializePrimitiveTable20040211tpr.
+ ^ PrimitiveTable copy!

Item was added:
+ ----- Method: PrimitiveTableHistory class>>table20040324 (in category 'tables') -----
+ table20040324
+ "self table20040324"
+ self initializePrimitiveTable20040324tpr.
+ ^ PrimitiveTable copy!

Item was added:
+ ----- Method: PrimitiveTableHistory class>>table20040719 (in category 'tables') -----
+ table20040719
+ "self table20040719"
+ self initializePrimitiveTable20040719ajh.
+ ^ PrimitiveTable copy!

Item was added:
+ ----- Method: PrimitiveTableHistory class>>table20050127 (in category 'tables') -----
+ table20050127
+ "self table20050127"
+ self initializePrimitiveTable20050127JMM.
+ ^ PrimitiveTable copy!

Item was added:
+ ----- Method: PrimitiveTableHistory class>>table20090218 (in category 'tables') -----
+ table20090218
+ "self table20090218"
+ self initializePrimitiveTable20090218eem.
+ ^ PrimitiveTable copy!

Item was added:
+ ----- Method: PrimitiveTableHistory class>>table20101211 (in category 'tables') -----
+ table20101211
+ "self table20101211"
+ self initializePrimitiveTable20101211dtl.
+ ^ PrimitiveTable copy!

Item was added:
+ ----- Method: PrimitiveTableHistory class>>table20111015 (in category 'tables') -----
+ table20111015
+ "self table20111015"
+ self initializePrimitiveTable20111015dtl.
+ ^ PrimitiveTable copy!

Item was added:
+ ----- Method: PrimitiveTableHistory class>>table20111125 (in category 'tables') -----
+ table20111125
+ "self table20111125"
+ self initializePrimitiveTable20111125dtl.
+ ^ PrimitiveTable copy!

Item was added:
+ ----- Method: PrimitiveTableHistory class>>table20120130 (in category 'tables') -----
+ table20120130
+ "self table20120130"
+ self initializePrimitiveTable20120130dtl.
+ ^ PrimitiveTable copy!

Item was added:
+ ----- Method: PrimitiveTableHistory class>>table20120704 (in category 'tables') -----
+ table20120704
+ "self table20120704"
+ self initializePrimitiveTable20120704dtl.
+ ^ PrimitiveTable copy!

Item was added:
+ ----- Method: PrimitiveTableHistory class>>table20120809 (in category 'tables') -----
+ table20120809
+ "self table20120809"
+ self initializePrimitiveTable20120809dtl.
+ ^ PrimitiveTable copy!

Item was added:
+ ----- Method: PrimitiveTableHistory class>>table20130105 (in category 'tables') -----
+ table20130105
+ "self table20130105"
+ self initializePrimitiveTable20130105dtl.
+ ^ PrimitiveTable copy!

Item was added:
+ ----- Method: PrimitiveTableHistory class>>table20130314 (in category 'tables') -----
+ table20130314
+ "self table20130314"
+ self initializePrimitiveTable20130314eem.
+ ^ PrimitiveTable copy!

Item was added:
+ ----- Method: PrimitiveTableHistory class>>table20160120 (in category 'tables') -----
+ table20160120
+ "self table20160120"
+ self initializePrimitiveTable20160120dtl.
+ ^ PrimitiveTable copy!

Item was added:
+ ----- Method: PrimitiveTableHistory class>>table20160123 (in category 'tables') -----
+ table20160123
+ "self table20160123"
+ self initializePrimitiveTable20160123dtl.
+ ^ PrimitiveTable copy!

Item was added:
+ ----- Method: PrimitiveTableHistory class>>table20160501 (in category 'tables') -----
+ table20160501
+ "self table20160501"
+ self initializePrimitiveTable20160501dtl.
+ ^ PrimitiveTable copy!

Item was added:
+ ----- Method: PrimitiveTableHistory class>>table20161221 (in category 'tables') -----
+ table20161221
+ "self table20161221"
+ self initializePrimitiveTable20161221dtl.
+ ^ PrimitiveTable copy!

Item was added:
+ ----- Method: PrimitiveTableHistory class>>table:from: (in category 'transforming') -----
+ table: anArray from: specArray
+ "SpecArray is an array of either (index selector) or (index1
+ index2 selector)."
+
+ PrimitiveTable := specArray "just save specArray without conversion"
+
+ "| contiguous |
+ contiguous := 0.
+ specArray do: [:spec |
+ (spec at: 1) = contiguous
+ ifFalse: [self error: 'Non-contiguous table entry'].
+ spec size = 2
+ ifTrue: [anArray at: (spec at: 1) + 1
+ put: (spec at: 2).
+ contiguous := contiguous + 1]
+ ifFalse: [(spec at: 1) to: (spec at: 2) do: [:i | anArray at: i + 1 put: (spec at: 3)].
+ contiguous := contiguous + ((spec at: 2) - (spec at: 1)) + 1]]"!

Item was changed:
  ----- Method: VMMaker class>>versionString (in category 'version testing') -----
  versionString
 
  "VMMaker versionString"
 
+ ^'4.16.1'!
- ^'4.15.11'!

Loading...