Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Missing primitives #1

Open
fniephaus opened this issue Dec 22, 2017 · 0 comments
Open

Missing primitives #1

fniephaus opened this issue Dec 22, 2017 · 0 comments
Assignees

Comments

@fniephaus
Copy link
Member

fniephaus commented Dec 22, 2017

Integer Primitives (0-19)

  • 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-37)

  • 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: 0 "a.k.a. primitiveFail" "was primitiveNext"
  • 66: 0 "a.k.a. primitiveFail" "was primitiveNextPut"
  • 67: 0 "a.k.a. primitiveFail" "was primitiveAtEnd"

StorageManagement Primitives (68-79)

  • 68: primitiveObjectAt
  • 69: primitiveObjectAtPut
  • 70: primitiveNew
  • 71: primitiveNewWithArg
  • 72: primitiveArrayBecomeOneWay "Blue Book: primitiveBecome"
  • 73: primitiveInstVarAt
  • 74: primitiveInstVarAtPut
  • 75: primitiveIdentityHash
  • 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

Miscellaneous Primitives (120-127)

  • 120: primitiveCalloutToFFI (in progress)
  • 121: primitiveImageName
  • 122: primitiveNoop "Blue Book: primitiveImageVolume"
  • 123: primitiveFail "was primitiveValueUninterruptably"
  • 124: primitiveLowSpaceSemaphore
  • 125: primitiveSignalAtBytesLeft

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: primitiveFail "primitiveReadJoystick"
  • 147: primitiveFail "primitiveWarpBits"
  • 148: primitiveClone
  • 149: primitiveGetAttribute
  • 150-159: primitiveFail "File Primitives (150-169 - NO LONGER INDEXED)"
  • 160: primitiveAdoptInstance
  • 161: primitiveSetOrHasIdentityHash
  • 162: primitiveFail "reserved for immutablity primitives"
  • 163: primitiveGetImmutability
  • 164: primitiveSetImmutability
  • 165: primitiveIntegerAt "hacked in here for now"
  • 166: primitiveIntegerAtPut
  • 167: primitiveYield
  • 168: primitiveCopyObject
  • 169: primitiveNotIdentical
  • 170: primitiveAsCharacter "SpurMemoryManager primitives"
  • 171: primitiveImmediateAsInteger
  • 172: primitiveFetchNextMourner
  • 173: primitiveSlotAt "c.f. (73) primitiveInstVarAt"
  • 174: primitiveSlotAtPut "c.f. (74) primitiveInstVarAtPut"
  • 175: primitiveBehaviorHash
  • 176: primitiveMaxIdentityHash
  • 177: primitiveAllInstances
  • 178: primitiveAllObjects
  • 179: primitiveFail "reserved for primitiveAllInstancesOfAny"
  • 180: primitiveGrowMemoryByAtLeast
  • 181: primitiveSizeInBytesOfInstance
  • 182: primitiveSizeInBytes (no senders)
  • 183: primitiveIsPinned
  • 184: primitivePin
  • 185: primitiveExitCriticalSection
  • 186: primitiveEnterCriticalSection
  • 187: primitiveTestAndSetOwnershipOfCriticalSection
  • 188: primitiveExecuteMethodArgsArray "Perform method directly"
  • 189: primitiveExecuteMethod
  • 190-194: primitiveFail "Sound Primitives (continued-NO LONGER INDEXED)"
  • 195: `primitiveFindNextUnwindContext1 "Unwind primitives"
  • 196: primitiveTerminateTo
  • 197: primitiveFindHandlerContext
  • 198: 0 "a.k.a. primitiveMarkUnwindMethod"
  • 199: 0 "a.k.a. 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: primitiveFullClosureValue "value[:value:value:value:] et al"
  • 208: primitiveFullClosureValueWithArgs "valueWithArguments:"
  • 209: primitiveFullClosureValueNoContextSwitch
  • 210: primitiveContextAt
  • 211: primitiveContextAtPut
  • 212: primitiveContextSize
  • 213: primitiveContextXray
  • 214: primitiveVoidVMState
  • 215: primitiveFlushCacheByMethod "primitiveVoidVMStateForMethod in Cog"
  • 216-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 (see 228 & 229 in CoInterpreterMT)"
  • 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: primitiveUpdateTimezone "primStringtranslatefromtotable"
  • 244: primitiveUtcAndTimezoneOffset
  • 245: primitiveFail "primStringindexOfAsciiinStringstartingAt"
  • 246: primitiveFail "primStringfindSubstringinstartingAtmatchTable"
  • 247: primitiveSnapshotEmbedded
  • 248: primitiveFail "primitiveInvokeObjectAsMethod"
  • 249: primitiveArrayBecomeOneWayCopyHash
  • 250: primitiveClearVMProfile "VM Implementor Primitives (250-255)"
  • 251: primitiveControlVMProfiling "primitiveStartVMProfiling"
  • 252: primitiveVMProfileSamplesInto "primitiveStopVMProfiling"
  • 253: primitiveFail "N.B. primitiveCollectCogCodeConstituents in Cog"
  • 254: primitiveVMParameter
  • 255: primFail "primitiveInstVarsPutFromStack. Used in Disney tests"
  • 256: nil "primitivePushSelf" "Quick Push Const Methods"
  • 257: nil "primitivePushTrue"
  • 258: nil "primitivePushFalse"
  • 259: nil "primitivePushNil"
  • 260: nil "primitivePushMinusOne"
  • 261: nil "primitivePushZero"
  • 262: nil "primitivePushOne"
  • 263: nil "primitivePushTwo"

Quick Push Inst Var Methods

  • 264-519: nil "primitiveLoadInstVar"

Reserved for Spur primitives

  • 520: primitiveFail
  • 521-529: primitiveFail
  • 530-539: primitiveFail

SmallFloat

  • 540: primitiveFail
  • 541: primitiveSmallFloatAdd
  • 542: primitiveSmallFloatSubtract
  • 543: primitiveSmallFloatLessThan
  • 544: primitiveSmallFloatGreaterThan
  • 545: primitiveSmallFloatLessOrEqual
  • 546: primitiveSmallFloatGreaterOrEqual
  • 547: primitiveSmallFloatEqual
  • 548: primitiveSmallFloatNotEqual
  • 549: primitiveSmallFloatMultiply
  • 550: primitiveSmallFloatDivide
  • 551: primitiveSmallFloatTruncated
  • 552: primitiveSmallFloatFractionalPart
  • 553: primitiveSmallFloatExponent
  • 554: primitiveSmallFloatTimesTwoPower
  • 555: primitiveSmallFloatSquareRoot
  • 556: primitiveSmallFloatSine
  • 557: primitiveSmallFloatArctan
  • 558: primitiveSmallFloatLogN
  • 559: primitiveSmallFloatExp

Other

  • 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
@fniephaus fniephaus mentioned this issue Mar 18, 2018
24 tasks
@fniephaus fniephaus self-assigned this Dec 17, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant