Object, 60-62, 67, 73, 76, 78, 81, 84, 88, 107-108, 114, 134, 148, 195, 201, 215-216, 218, 226, 237-239, 242, 269-271, 274, 277, 290, 300, 589, 635, 641, 653 defined on, 95-97, 99-103, 240-241, 244, 246-247

OpaqueForm, 398

OrderedCollection, 30, 40, 46-47, 130, 133, 136, 140, 145, 157, 161, 165, 173, 175-177, 179, 182-183, 195, 201, 277, 279-280, 400-401 defined on, 158-159, 231-233 used on, 174, 178, 180, 184, 217

Path, 383, 400, 403 defined on, 401

Pen, 365, 368, 370-379, 383 defined on, 366-367 used on, 369

perform:, 246 defined on, 244 used on, 245 See also message, computed

Point, 9, 18, 77-78, 182, 338, 340, 348, 365, 376, 383, 400-401, 403, 411, 544, 625, 651 defined on, 341, 343-344

Polygon defined on, 368-369

PositionableStream, 195, 198, 273 defined on, 199-200

Process, 162, 251-252, 254, 256-258, 260-266, 440, 463, 637, 641-647, 651 defined on, 253, 255

Processor, 254-255, 258, 264, 644 used on, 265, 461

ProcessorScheduler, 251, 254-255, 462, 641, 643-645, 652 defined on, 256-257

Random, 129-130, 172, 174, 183, 195, 274 defined on, 204-205 used on, 175, 184, 420

ReadStream, 198, 204 defined on, 200

ReadWriteStream, 198, 204, 208

Rectangle, 9, 18, 56, 77-78, 298-299, 304, 338, 343, 367, 383, 390, 542-544, 546, 548, 550-551, 562 defined on, 344-349

reject:, 138 defined on, 137, 216

RunArray, 165-166

select:, 137-138 defined on, 136, 226-227, 233-234

self, 23, 50-51, 53, 62-64, 66, 69-70, 88, 323, 549, 562, 569, 578, 599, 607-608, 620

Semaphore, 162, 251, 257, 260, 262, 440, 455, 462, 486, 637, 641-642, 644, 646, 648-649, 652 defined on, 258, 261

used on, 263-265, 457

Sensor, 651-652

SequenceableCollection, 145, 158, 161, 163-164, 168, 174-175, 188, 195, 198, 212, 229, 231-233, 247 defined on, 153-157, 226-227

Set, 101, 133, 136, 140-141, 145, 148, 152, 180-181, 185, 201, 224-225, 269, 276-277, 279, 282, 587 defined on, 222-223 used on, 217, 457

SharedQueue, 251, 262, 440 defined on, 265

shouldNotImplement, 73, 212 defined on, 102

size, 47, 153, 595 defined on, 100, 215, 226, 229, 231, 234

SmallInteger, 95, 115, 119, 124-125, 127, 133, 145, 209, 282, 563, 565-566, 568, 573-575, 579, 587, 590, 618, 621, 624, 626, 628, 630, 636, 685

Smalltalk, 47, 53, 308, 682

SortedCollection, 133, 140-141, 145, 159, 166, 233, 277, 279 defined on, 160 used on, 217, 264, 457, 462, 467, 486

species defined on, 216

Spline, 403

Stream, 101, 166, 195, 198, 201, 203-206, 208, 219, 420 defined on, 196-197

String, 9, 101, 116, 133, 139, 145, 154-155, 157, 160, 165, 190, 201-203, 206, 209, 219, 231, 273-274, 276-277, 286, 389, 400, 542, 629-631 defined on, 166-167

subclassResponsibility, 72-73, 107-108, 212, 449 defined on, 102

super, 23, 63-66, 73, 82-84, 88, 222, 562, 580, 599, 607 See also bytecode, send, super

Symbol, 101, 115, 149, 160, 167, 169, 172-173, 197, 201, 206, 219, 231, 273, 587-588 defined on, 168

Text, 145, 155, 165-166, 231, 276-277, 383, 389, 400

TextStyle, 400 See also cloth

Time, 40, 77-78, 107, 111, 114, 297 defined on, 112-113 used on, 265

timesRepeat:, 33 used on, 174

True, 237
System Index

true, 23, 34-35, 85, 238-239, 545, 549-550, 599, 601-603, 608

UndefinedObject, 237-238

value, 31-35, 37, 252, 560, 595, 619, 638
  used on, 239

value:, 36-37, 164, 560, 595, 619, 638

whileFalse:, 35, 38, 507, 550, 602

whileTrue:, 35, 38, 550

WriteStream, 198, 200-201, 204, 226

defined on, 202-203

used on, 227, 234

(), See expression, block

↑, 50, 53, 544, 585, 608

->, 22

|, 35, 51
## Example Class Index

ActiveSimulation
  defined on, 452
AuditTrail, 287
  defined on, 286
BankCustomer
  defined on, 528
  used on, 527
BankSimulation
  defined on, 527
BankTeller, 529
  defined on, 528
  used on, 527
Bernoulli, 427-428
  defined on, 425-426
BinaryTree
Binomial
  defined on, 427-428
BitBltSimulation, 355
  defined on, 356-361
Calculator
  defined on, 245
CarBuyer
  defined on, 505
  used on, 504
Card, 172, 177
  defined on, 176
CardDeck, 172, 179-180
  defined on, 177-178

CarDealer
  defined on, 504
CarDelivery
  defined on, 505
  used on, 504
CardHand, 172
  defined on, 179-180
CarRenter
  defined on, 493
  used on, 492
CarWash, 521
  defined on, 518
Commander, 375-379
  defined on, 376, 379
ContinuousProbability
  defined on, 422
DeductibleHistory, 61-62, 66, 81, 84, 86-88
  defined on, 59-60, 85, 87
DelayedEvent, 455, 459-460, 463, 486, 516
  defined on, 456-457
  used on, 460, 487, 517
DiscreteProbability, 421, 423
  defined on, 422
DoNothing, 462-464, 482
  defined on, 450, 468, 479
  used on, 451
DrunkenCockroach, 172, 185
  defined on, 183-184
Example Class Index

<table>
  <tbody>
    <tr>
      <td>DualListDictionary, 67-72<br>defined on, 68</td>
    </tr>
    <tr>
      <td>Entry, 163<br>defined on, 162</td>
    </tr>
    <tr>
      <td>EventMonitor, 491, 500, 519<br>defined on, 476-479, 481-482</td>
    </tr>
    <tr>
      <td>Exponential<br>defined on, 434-435<br>used on, 492, 509, 518, 525, 533</td>
    </tr>
    <tr>
      <td>FastDictionary, 66-72<br>defined on, 71</td>
    </tr>
    <tr>
      <td>Ferry<br>defined on, 507-510, 522, 524, 526<br>used on, 521, 525</td>
    </tr>
    <tr>
      <td>FerrySimulation, 507, 510, 522<br>defined on, 508-509, 521-522, 525</td>
    </tr>
    <tr>
      <td>FileSystem, 503<br>defined on, 499-500</td>
    </tr>
    <tr>
      <td>FileSystemReader, 501, 503<br>defined on, 500<br>used on, 499</td>
    </tr>
    <tr>
      <td>FileSystemWriter, 500<br>defined on, 501<br>used on, 499</td>
    </tr>
    <tr>
      <td>FinancialHistory, 10, 16, 25, 41, 44-48, 59-62, 66, 76, 80-88, 292, 303, 308, 314-315, 317<br>defined on, 42-44, 78</td>
    </tr>
    <tr>
      <td>Four, 65<br>defined on, 64</td>
    </tr>
    <tr>
      <td>Gamma<br>defined on, 435-436</td>
    </tr>
    <tr>
      <td>Geometric, 428<br>defined on, 429-430</td>
    </tr>
    <tr>
      <td>Histogram<br>defined on, 470-472<br>used on, 473</td>
    </tr>
    <tr>
      <td>InformationSystem<br>defined on, 533</td>
    </tr>
    <tr>
      <td>Insurance, 98</td>
    </tr>
    <tr>
      <td>Interpreter, 568-570, 616</td>
    </tr>
    <tr>
      <td>IslandArrival<br>defined on, 508, 525</td>
    </tr>
    <tr>
      <td>Light, 243<br>defined on, 241<br>used on, 242</td>
    </tr>
    <tr>
      <td>LinkedListStream, 205, 207<br>defined on, 206</td>
    </tr>
    <tr>
      <td>LunchtimeTeller, 528<br>defined on, 529<br>used on, 527</td>
    </tr>
    <tr>
      <td>MainlandArrival<br>defined on, 508, 525</td>
    </tr>
    <tr>
      <td>Museum, 472, 474, 504<br>defined on, 473</td>
    </tr>
  </tbody>
</table>

<table>
  <tbody>
    <tr>
      <td>Node, 172, 185, 188, 190, 208<br>defined on, 186-187</td>
    </tr>
    <tr>
      <td>Normal<br>defined on, 437-438<br>used on, 473, 507, 510, 522, 524, 526</td>
    </tr>
    <tr>
      <td>NothingAtAll, 449, 462-464<br>defined on, 450-451, 468, 479, 489</td>
    </tr>
    <tr>
      <td>ObjectMemory, 568, 570<br>defined on, 571-573</td>
    </tr>
    <tr>
      <td>One, 63-65<br>defined on, 62</td>
    </tr>
    <tr>
      <td>PersonnelRecord, 98-99</td>
    </tr>
    <tr>
      <td>Poisson<br>defined on, 431-432</td>
    </tr>
    <tr>
      <td>ProbabilityDistribution, 205, 426<br>defined on, 420-421</td>
    </tr>
    <tr>
      <td>Product, 147</td>
    </tr>
    <tr>
      <td>Query<br>defined on, 534<br>used on, 533</td>
    </tr>
    <tr>
      <td>RealObjectMemory, 656-657</td>
    </tr>
    <tr>
      <td>RealWordMemory<br>defined on, 656-657</td>
    </tr>
    <tr>
      <td>Record, 289<br>defined on, 290</td>
    </tr>
    <tr>
      <td>RentalAgency<br>defined on, 492</td>
    </tr>
    <tr>
      <td>Resource, 484, 516<br>defined on, 485-486<br>used on, 458</td>
    </tr>
    <tr>
      <td>ResourceCoordinator, 454-455, 485, 516, 528, 533<br>defined on, 517-518<br>used on, 458</td>
    </tr>
    <tr>
      <td>ResourceProvider, 454-455, 484-489, 500<br>used on, 458</td>
    </tr>
    <tr>
      <td>SafeSharedQueue, 265<br>defined on, 262-263</td>
    </tr>
    <tr>
      <td>SampleSpace, 205, 423, 476<br>defined on, 424<br>used on, 475, 505, 534</td>
    </tr>
    <tr>
      <td>SampleSpaceWithoutReplacement, 172, 176-177<br>defined on, 175<br>used on, 178, 527</td>
    </tr>
    <tr>
      <td>SampleSpaceWithReplacement, 172, 175, 183<br>defined on, 173</td>
    </tr>
    <tr>
      <td>ShadedRectangle, 562, 580</td>
    </tr>
    <tr>
      <td>SimpleQueue, 260, 262<br>defined on, 258-259</td>
    </tr>
    <tr>
      <td>SimpleSharedQueue<br>defined on, 260-262</td>
    </tr>
    <tr>
      <td>Simulation, 441-442, 444, 446, 452, 454-455, 460, 466-467, 484-486<br>defined on, 447-449, 457-459</td>
    </tr>
  </tbody>
</table>
SimulationObject, 441-442, 448-451, 455, 462, 464, 466, 476, 479-480, 484-489, 501, 504, 516, 521
  defined on, 443-446, 452-454
  used on, 458

SimulationObjectRecord
  defined on, 466-467

SmallDictionary, 66-72, 76
  defined on, 69

StaticResource, 454, 484-486, 504
  defined on, 487-488

StatisticsWithSimulation
  defined on, 467-468

SystemScanner
  defined on, 534-535
  used on, 533

Three, 65
  defined on, 64

Tile, 172, 183
  defined on, 181-182
  used on, 184

Traffic, 474, 476
  defined on, 475

TrafficLight, 243
  defined on, 242

Tree, 172, 185, 191, 208
  defined on, 188-189

Truck
  defined on, 522
  used on, 521, 525

TruckRenter
  defined on, 493-494
  used on, 492

Two, 63-65
  defined on, 62

Uniform, 463
  defined on, 433
  used on, 437, 450-451, 468, 473, 475, 479, 483, 489, 493-494, 504, 519, 522, 528, 534-535

Visitor, 464, 472, 474, 504
  defined on, 451, 468, 473, 479, 482, 490
  used on, 489

Wakeup, 263
  defined on, 264-265

Wash, 521
  defined on, 519

WashAndWax, 521
  defined on, 519

Washer
  defined on, 518-519

WordLink, 206, 208
  defined on, 207

WordNode, 172
  defined on, 190-191
<figure><img src="image_305.png" /></figure>
Implementation Index

abandonFreeChunksInSegment:
  defined on, 671
  used on, 674
activateNewMethod
  defined on, 606
  used on, 605
activeContext
  defined on, 583
  used on, 583-586, 590, 606, 609-610, 640, 643
activeProcess
  defined on, 644
  used on, 643-644, 646-647
addLastLink:H: toList:
  defined on, 645
  used on, 646-647
allocate: class:
  defined on, 668
allocate: extra: class:
  defined on, 679
allocate: odd: pointer: extra: class:
  defined on, 685
  used on, 687
allocateChunk:
  defined on, 668, 684
  used on, 668, 679, 685
argumentCount
  defined on, 587
  used on, 589-590, 604, 606-607, 619, 639-641

argumentCountOf:
  defined on, 580
  used on, 640-641
argumentCountOfBlock:
  defined on, 583
  used on, 639
arithmeticSelectorPrimitive
  defined on, 619
  used on, 618
asynchronousSignal:
  defined on, 642
attemptToAllocateChunk:, 671
  defined on, 669
  used on, 668, 684
attemptToAllocateChunkInCurrentSegment:
  defined on, 669
  used on, 669
caller
  defined on, 586
  used on, 609
cantBeIntegerObject
  defined on, 661
  used on, 661-663
checkIndexableBoundsOf:in:
  defined on, 627, 635
  used on, 628-632, 635-636
checkProcessSwitch, 642
  defined on, 643
  used on, 594
Implementation Index

**classBitsOf:**
*   defined on, 663
*   used on, 666-671, 679, 685-687

**commonSelectorPrimitive**
*   defined on, 619
*   used on, 618

**compactCurrentSegment**, 671
*   defined on, 674
*   used on, 669

**countBitsOf:**
*   defined on, 662
*   used on, 677, 681-684

**countDown:**
*   defined on, 677
*   used on, 686-687

**countUp:**
*   defined on, 677
*   used on, 679, 684-687

**createActualMessage**
*   defined on, 589
*   used on, 589

**currentSegment**
*   defined on, 667
*   used on, 667, 674

**cycle**
*   defined on, 594
*   used on, 594

**deallocate:**
*   defined on, 670, 680
*   used on, 674, 677, 684

**decreaseReferencesTo:**
*   defined on, 572, 687
*   used on, 585, 610

**dispatchArithmeticPrimitives**
*   defined on, 621
*   used on, 621

**dispatchControlPrimitives**
*   defined on, 637
*   used on, 621

**dispatchFloatPrimitives**
*   defined on, 626
*   used on, 621

**dispatchInputOutputPrimitives**
*   defined on, 647
*   used on, 621

**dispatchIntegerPrimitives**
*   defined on, 621
*   used on, 621

**dispatchLargeIntegerPrimitives**
*   defined on, 625
*   used on, 621

**dispatchOnThisBytecode**
*   defined on, 595
*   used on, 594

**dispatchPrimitives**
*   defined on, 621
*   used on, 620

**dispatchPrivatePrimitives**
*   defined on, 621

**dispatchStorageManagementPrimitives**
*   defined on, 633
*   used on, 621

**dispatchSubscriptAndStreamPrimitives**
*   defined on, 627
*   used on, 621

**dispatchSystemPrimitives**
*   defined on, 652
*   used on, 621

**doubleExtendedSendBytecode**
*   defined on, 607
*   used on, 606

**doubleExtendedSuperBytecode**
*   defined on, 607
*   used on, 606

**duplicateTopBytecode**
*   defined on, 599
*   used on, 598

**executeNewMethod**
*   defined on, 605
*   used on, 605, 640-641

**extendedPushBytecode**
*   defined on, 599
*   used on, 597

**extendedSendBytecode**
*   defined on, 606
*   used on, 604

**extendedStoreAndPopBytecode**
*   defined on, 600
*   used on, 597

**extendedStoreBytecode**
*   defined on, 600-601
*   used on, 597, 600

**extractBits:to:of:**
*   defined on, 575

**fetchByte**
*   defined on, 594
*   used on, 594, 599, 601-602, 606-607

**fetchByte:ofObject:**
*   defined on, 571, 687

**fetchByteLengthOf:**
*   defined on, 572, 687
*   used on, 618, 627

**fetchClassOf:**
*   defined on, 572, 687
Implementation Index

primitive Index Of:

defined on, 580

used on, 588

primitive Inst Var At

defined on, 635

used on, 633

primitive Inst Var At Put

defined on, 635

used on, 633

primitive Make Point

defined on, 625

used on, 619, 622

primitive Mod

defined on, 623

used on, 619, 622

primitive New

defined on, 634

used on, 633

primitive New Method

defined on, 637

used on, 633

primitive New With Arg

defined on, 634

used on, 633

primitive Next

defined on, 631

used on, 627

primitive Next Instance,

defined on, 637

used on, 633

primitive Next Put

defined on, 631

used on, 627

primitive Object At

defined on, 633

used on, 633

primitive Object At Put

defined on, 634

used on, 633

primitive Perform

used on, 637

primitive Perform With Arg

defined on, 641

used on, 637

primitive Quo

defined on, 623

used on, 622

primitive Response

defined on, 620

used on, 605

primitive Resume

defined on, 647

used on, 638

primitive Signal

defined on, 646

used on, 637

primitive Size

used on, 627

primitive Some Instance,

defined on, 637

used on, 633

primitive String At,

defined on, 630

used on, 627

primitive String At Put,

defined on, 630

used on, 627

primitive Suspend

defined on, 647

used on, 638

primitive Value,

defined on, 639

used on, 619, 637

primitive Value With Arg

used on, 637

primitive Wait

defined on, 646

used on, 638

push: 597

defined on, 585

used on, 590, 598-600, 609-610, 617, 620, 623-624, 629-638, 641, 647, 653

push Active Context Bytecode

defined on, 600

used on, 598

push Constant Bytecode

defined on, 600

used on, 597

push Integer:

defined on, 617

used on, 622-625

push Literal Constant:

defined on, 598

used on, 598

push Literal Constant Bytecode

defined on, 598

used on, 597

push Literal Variable:

defined on, 599

used on, 598

push Literal Variable Bytecode

defined on, 598

used on, 597

push Receiver Bytecode

defined on, 599

used on, 597

push Receiver Variable:

defined on, 598

used on, 598

push Receiver Variable Bytecode

defined on, 598

used on, 597
**methodClassOf:**
*   defined on, 580
*   used on, 607

**newActiveContext:**, 610
*   defined on, 585
*   used on, 606, 609, 639-640, 643

**newMethod**, 589
*   defined on, 587
*   used on, 588, 605, 620, 640-641

**newProcess**
*   defined on, 642
*   used on, 643

**newProcessWaiting**
*   defined on, 642
*   used on, 643-644

**nilContextFields**
*   defined on, 610
*   used on, 610

**objectPointerCountOf**
*   defined on, 578
*   used on, 633-634

**obtainPointer:location**
*   defined on, 670
*   used on, 670, 674

**oddBitsOf**
*   defined on, 662
*   used on, 685, 688

**ot:**
*   defined on, 661-662
*   used on, 670

**ot:bits:to**
*   defined on, 662
*   used on, 662

**pointerBitOf**
*   defined on, 662
*   used on, 685-686, 688

**pop:**, 597
*   defined on, 585
*   used on, 590, 606, 639-640

**popInteger**
*   defined on, 617
*   used on, 622-624, 633-637

**popStack**, 597
*   defined on, 585
*   used on, 600-602, 609, 617, 620, 625, 628-639, 641, 647, 653

**popStackBytecode**
*   defined on, 601
*   used on, 598, 600

**positive16BitIntegerFor:**
*   defined on, 617
*   used on, 628-629

**positive16BitValueOf**
*   defined on, 617-618
*   used on, 628-630, 634

**primitiveAdd**
*   defined on, 562

**primitiveAsObject**
*   defined on, 636
*   used on, 633

**primitiveAsOop**
*   defined on, 636
*   used on, 633

**primitiveAt**
*   defined on, 628
*   used on, 627

**primitiveAtEnd**, 631
*   defined on, 632
*   used on, 627

**primitiveAtPut**, 628
*   used on, 627

**primitiveBecome**
*   defined on, 635
*   used on, 633

**primitiveBitAnd**
*   defined on, 624
*   used on, 619, 622

**primitiveBitShift**
*   defined on, 624
*   used on, 619, 622

**primitiveBlockCopy**
*   defined on, 638
*   used on, 637

**primitiveClass**
*   defined on, 653
*   used on, 619, 652

**primitiveDiv**
*   defined on, 623

**primitiveDivide**
*   defined on, 622
*   used on, 619, 622

**primitiveEqual**
*   defined on, 624
*   used on, 619, 622

**primitiveEquivalent**
*   defined on, 653
*   used on, 619, 652

**primitiveFail**
*   defined on, 616
*   used on, 574, 617-619, 625, 637

**primitiveFlushCache**
*   defined on, 647
*   used on, 638

**primitiveIndex**
*   defined on, 587
*   used on, 588, 605, 620
Implementation Index

initializeClass:withBytes:

<table><tr><td>defined on,</td><td>572, 687</td></tr><tr><td>used on,</td><td>617, 635, 637</td></tr></table>

initializeClass:withPointers:

<table><tr><td>defined on,</td><td>572, 687</td></tr><tr><td>used on,</td><td>589, 606, 625, 634, 638</td></tr></table>

initializeClass:withWords:

<table><tr><td>defined on,</td><td>572, 687</td></tr><tr><td>used on,</td><td>634</td></tr></table>

instructionPointer

<table><tr><td>defined on,</td><td>583</td></tr><tr><td>used on,</td><td>583-584, 594, 602, 638</td></tr></table>

instructionPointerOfContext:

<table><tr><td>defined on,</td><td>582</td></tr><tr><td>used on,</td><td>583</td></tr></table>

integerObjectOf:

<table><tr><td>defined on,</td><td>573, 688</td></tr><tr><td>used on,</td><td>617, 623, 628, 638</td></tr></table>

integerValueOf:

<table><tr><td>defined on,</td><td>573, 688</td></tr><tr><td>used on,</td><td>617-618, 628, 630-631</td></tr></table>

interpret, 643

isBlockContext:

<table><tr><td>defined on,</td><td>584</td></tr><tr><td>used on,</td><td>583, 638</td></tr></table>

List: 642

<table><tr><td>defined on,</td><td>645</td></tr><tr><td>used on,</td><td>643, 645</td></tr></table>

isIndexable:

<table><tr><td>defined on,</td><td>591</td></tr><tr><td>used on,</td><td>634</td></tr></table>

isIntegerObject:

<table><tr><td>defined on,</td><td>573, 660, 688</td></tr><tr><td>used on,</td><td>617, 619, 628, 635-636, 660, 677-678, 681, 687</td></tr></table>

isIntegerValue:

<table><tr><td>defined on,</td><td>573, 688</td></tr><tr><td>used on,</td><td>617, 622-623, 625</td></tr></table>

isLastInstance:

<table><tr><td>defined on,</td><td>637</td></tr></table>

isPointers:

<table><tr><td>defined on,</td><td>591</td></tr><tr><td>used on,</td><td>628, 634</td></tr></table>

isWords:

<table><tr><td>defined on,</td><td>591</td></tr><tr><td>used on,</td><td>628, 634</td></tr></table>

jump:

<table><tr><td>defined on,</td><td>602</td></tr><tr><td>used on,</td><td>602</td></tr></table>

jumpBytecode

<table><tr><td>defined on,</td><td>601</td></tr><tr><td>used on,</td><td>595</td></tr></table>

jumpIf:by:

<table><tr><td>defined on,</td><td>602</td></tr><tr><td>used on,</td><td>603</td></tr></table>

largeContextFlagOf:

<table><tr><td>defined on,</td><td>578</td></tr><tr><td>used on,</td><td>606</td></tr></table>

lastPointerOf:

<table><tr><td>defined on,</td><td>663, 685-686</td></tr><tr><td>used on,</td><td>678, 681, 684</td></tr></table>

lengthOf:

<table><tr><td>defined on,</td><td>627</td></tr><tr><td>used on,</td><td>627, 629, 632, 635</td></tr></table>

literal:

<table><tr><td>defined on,</td><td>586</td></tr><tr><td>used on,</td><td>599, 604, 607</td></tr></table>

literal:ofMethod:

<table><tr><td>defined on,</td><td>577</td></tr><tr><td>used on,</td><td>580, 586</td></tr></table>

literalCountOf:

<table><tr><td>defined on,</td><td>578</td></tr><tr><td>used on,</td><td>578, 580</td></tr></table>

literalCountOfHeader:

<table><tr><td>defined on,</td><td>578</td></tr><tr><td>used on,</td><td>578, 637</td></tr></table>

locationBitsOf:

<table><tr><td>defined on,</td><td>662-663</td></tr><tr><td>used on,</td><td>663, 666, 670-671, 673, 688</td></tr></table>

longConditionalJump

<table><tr><td>defined on,</td><td>603</td></tr><tr><td>used on,</td><td>601</td></tr></table>

longUnconditionalJump

<table><tr><td>defined on,</td><td>602</td></tr><tr><td>used on,</td><td>601</td></tr></table>

lookupMethodInClass:

<table><tr><td>defined on,</td><td>589</td></tr><tr><td>used on,</td><td>605, 640-641</td></tr></table>

lookupMethodInDictionary:

<table><tr><td>defined on,</td><td>588</td></tr><tr><td>used on,</td><td>589</td></tr></table>

lowByteOf:

<table><tr><td>defined on,</td><td>575</td></tr><tr><td>used on,</td><td>617, 628</td></tr></table>

markAccessibleObjects

<table><tr><td>defined on,</td><td>682</td></tr><tr><td>used on,</td><td>682</td></tr></table>

markObjectsAccessibleFrom:

<table><tr><td>defined on,</td><td>683</td></tr><tr><td>used on,</td><td>682</td></tr></table>

messageSelector

<table><tr><td>defined on,</td><td>587</td></tr><tr><td>used on,</td><td>588-589, 604, 607, 640-641</td></tr></table>

method, 584

<table><tr><td>defined on,</td><td>583</td></tr><tr><td>used on,</td><td>583</td></tr></table>
<table>
  <tbody>
    <tr>
      <td>used on, 618-619, 627-632, 635, 639-641, 653, 688</td>
    </tr>
    <tr>
      <td>fetchContextRegisters, 584</td>
    </tr>
    <tr>
      <td>defined on, 583</td>
    </tr>
    <tr>
      <td>used on, 585, 610</td>
    </tr>
    <tr>
      <td>fetchInteger/ofObject:</td>
    </tr>
    <tr>
      <td>defined on, 574</td>
    </tr>
    <tr>
      <td>used on, 582-583, 608, 619, 631-632, 643, 646</td>
    </tr>
    <tr>
      <td>fetchPointer/ofObject:</td>
    </tr>
    <tr>
      <td>defined on, 571, 686</td>
    </tr>
    <tr>
      <td>fetchWord/ofObject:</td>
    </tr>
    <tr>
      <td>defined on, 571, 686</td>
    </tr>
    <tr>
      <td>fetchWordLengthOf:</td>
    </tr>
    <tr>
      <td>defined on, 572, 687</td>
    </tr>
    <tr>
      <td>used on, 627, 638-639, 641, 645</td>
    </tr>
    <tr>
      <td>fieldIndexOf:</td>
    </tr>
    <tr>
      <td>defined on, 579</td>
    </tr>
    <tr>
      <td>used on, 620</td>
    </tr>
    <tr>
      <td>findNewMethodInClass:</td>
    </tr>
    <tr>
      <td>defined on, 605</td>
    </tr>
    <tr>
      <td>used on, 605</td>
    </tr>
    <tr>
      <td>firstContext</td>
    </tr>
    <tr>
      <td>defined on, 644</td>
    </tr>
    <tr>
      <td>fixedFieldsOf:</td>
    </tr>
    <tr>
      <td>defined on, 591</td>
    </tr>
    <tr>
      <td>used on, 627, 629, 634</td>
    </tr>
    <tr>
      <td>flagValueOf:</td>
    </tr>
    <tr>
      <td>defined on, 578</td>
    </tr>
    <tr>
      <td>used on, 580, 620</td>
    </tr>
    <tr>
      <td>forAllObjectsAccessibleFrom:suchThat:do:</td>
    </tr>
    <tr>
      <td>defined on, 678</td>
    </tr>
    <tr>
      <td>used on, 677, 683</td>
    </tr>
    <tr>
      <td>forAllOtherObjectsAccessibleFrom:suchThat:do:</td>
    </tr>
    <tr>
      <td>defined on, 678, 680</td>
    </tr>
    <tr>
      <td>used on, 678</td>
    </tr>
    <tr>
      <td>freeBitOf:</td>
    </tr>
    <tr>
      <td>defined on, 662</td>
    </tr>
    <tr>
      <td>used on, 671, 673, 684, 688</td>
    </tr>
    <tr>
      <td>hash:</td>
    </tr>
    <tr>
      <td>defined on, 587</td>
    </tr>
    <tr>
      <td>hasObject:</td>
    </tr>
    <tr>
      <td>used on, 636</td>
    </tr>
    <tr>
      <td>headerExtensionOf:</td>
    </tr>
    <tr>
      <td>defined on, 580</td>
    </tr>
    <tr>
      <td>headerOf:</td>
    </tr>
    <tr>
      <td>defined on, 577</td>
    </tr>
    <tr>
      <td>headOfFreeChunkList:inSegment:</td>
    </tr>
    <tr>
      <td>defined on, 666</td>
    </tr>
    <tr>
      <td>used on, 666-667, 669, 671</td>
    </tr>
    <tr>
      <td>headOfFreePointerList</td>
    </tr>
    <tr>
      <td>defined on, 665</td>
    </tr>
    <tr>
      <td>used on, 666</td>
    </tr>
  </tbody>
</table>

<table>
  <tbody>
    <tr>
      <td>heapChunkOf:byte:</td>
      <td>defined on, 663<br>used on, 687</td>
    </tr>
    <tr>
      <td>heapChunkOf:word:</td>
      <td>defined on, 663<br>used on, 663, 668, 678, 680-681, 684-686</td>
    </tr>
    <tr>
      <td>highByteOf:</td>
      <td>defined on, 575<br>used on, 617</td>
    </tr>
    <tr>
      <td>homeContext, 584</td>
      <td>defined on, 583<br>used on, 583, 600</td>
    </tr>
    <tr>
      <td>increaseReferencesTo:</td>
      <td>defined on, 571, 687<br>used on, 585, 610</td>
    </tr>
    <tr>
      <td>initialInstanceOf:</td>
      <td>defined on, 573, 688<br>used on, 637</td>
    </tr>
    <tr>
      <td>initialInstructionPointerOfMethod:</td>
      <td>defined on, 578<br>used on, 606</td>
    </tr>
    <tr>
      <td>initializeAssociationIndex</td>
      <td>defined on, 599</td>
    </tr>
    <tr>
      <td>initializeClassIndices</td>
      <td>defined on, 587</td>
    </tr>
    <tr>
      <td>initializeContextIndices</td>
      <td>defined on, 581</td>
    </tr>
    <tr>
      <td>initializeGuaranteedPointers</td>
      <td>defined on, 576</td>
    </tr>
    <tr>
      <td>initializeMessageIndices</td>
      <td>defined on, 590</td>
    </tr>
    <tr>
      <td>initializeMethodCache</td>
      <td>used on, 605, 647</td>
    </tr>
    <tr>
      <td>initializeMethodIndices</td>
      <td>defined on, 577</td>
    </tr>
    <tr>
      <td>initializePointIndices</td>
      <td>defined on, 625</td>
    </tr>
    <tr>
      <td>initializeSchedulerIndices</td>
      <td>defined on, 641</td>
    </tr>
    <tr>
      <td>initializeSmallIntegers</td>
      <td>defined on, 575-576</td>
    </tr>
    <tr>
      <td>initializeStreamIndices</td>
      <td>defined on, 631</td>
    </tr>
    <tr>
      <td>initPrimitive</td>
      <td>defined on, 616<br>used on, 618, 620</td>
    </tr>
    <tr>
      <td>instanceAfter:</td>
      <td>defined on, 573, 688<br>used on, 637</td>
    </tr>
    <tr>
      <td>instancesOf:</td>
      <td>used on, 637</td>
    </tr>
    <tr>
      <td>instanceSpecificationOf:</td>
      <td>defined on, 590<br>used on, 591</td>
    </tr>
  </tbody>
</table>
pushTemporaryVariable:

defined on, 598

used on, 598

pushTemporaryVariableBytecode

defined on, 598

used on, 597

quickInstanceLoad

defined on, 620

used on, 620

quickReturnSelf

defined on, 620

used on, 620

receiver,

defined on, 583

used on, 583, 598-600, 608

reclaimInaccessibleObjects

defined on, 682

used on, 684

rectifyCountsAndDeallocateGabage

defined on, 683

used on, 682

releasePointer:

defined on, 671

used on, 671

removeFirstLinkOf:,

defined on, 644

used on, 643, 646

removeFromFreeChunkList:

defined on, 666-667

used on, 669

removeFromFreePointerList

defined on, 666

used on, 670

resetFreeChunkList:inSegment:

defined on, 667

used on, 671, 683

resume:

defined on, 642

used on, 643, 647

returnBytecode

defined on, 608

used on, 595

returnToActiveContext:

defined on, 610

used on, 610

returnValue:to:

defined on, 609

used on, 608-609

reverseHeapPointersAbove:

defined on, 673

used on, 674

schedulerPointer

defined on, 644

used on, 644-646

segment:word:

defined on, 656

segment:word:bits:

defined on, 657

segment:word:byte:

defined on, 656

segmentBitsOf:

defined on, 662

used on, 663, 670, 673, 688

semaphoreIndex

defined on, 642

used on, 642-643

semaphoreList

defined on, 642

used on, 642-643

sendBytecode

defined on, 603

used on, 595

sender

defined on, 585

used on, 608-609

sendLiteralSelectorBytecode

defined on, 604

used on, 604

sendMustBeBoolean

defined on, 603

used on, 602

sendSelector:argumentCount:

defined on, 604

used on, 603-604, 607-609

sendSelector:toClass:

defined on, 605

used on, 604, 607

sendSpecialSelectorBytecode,

defined on, 608

used on, 604

shortConditionalJump

defined on, 603

used on, 601

shortUnconditionalJump

defined on, 602

used on, 601

simpleReturnValue:to:

defined on, 609

singleExtendedSendBytecode

defined on, 606

used on, 606

singleExtendedSuperBytecode

defined on, 607

used on, 606
Implementation Index

sizeBitsOf:
  defined on, 663
  used on, 663, 668-670, 673, 680, 685-687

sleep:
  defined on, 646
  used on, 646

spaceOccupiedBy:
  defined on, 663, 680
  used on, 670, 674, 680, 685

specialSelectorPrimitiveResponse

defined on, 618
used on, 608

stackBytecode
  defined on, 597
  used on, 595

stackPointer
  defined on, 583
  used on, 583-585, 590, 606, 640-641

stackPointerOfContext:

defined on, 582
used on, 583

stackTop
  defined on, 585
  used on, 599, 641, 646-647

stackValue:
  defined on, 585
  used on, 604, 619, 639-640

storeAndPopReceiverVariableBytecode

defined on, 600
used on, 597

storeAndPopTemporaryVariableBytecode

defined on, 600
used on, 597

storeByte:ofObject:withValue:

defined on, 571, 687

storeContextRegisters
  defined on, 584
  used on, 585

storeInstructionPointerValue:inContext:

defined on, 582
used on, 584, 606

storeInteger:ofObject:withValue:

defined on, 574
used on, 582-583, 631-632, 643, 647

storePointer:ofObject:withValue:

defined on, 571, 686

storeStackPointerValue:inContext:

defined on, 583
used on, 584, 606, 638-640

storeWord:ofObject:withValue:

defined on, 571, 686

subscript:with:, 627
  defined on, 628
  used on, 629-631, 635

subscript:with:storing:, 627

defined on, 628
used on, 629-630, 632, 636

success

defined on, 616
used on, 617-620, 622-625, 628-636, 639-641, 647

success:

defined on, 616
used on, 617, 619, 622-623, 625, 627-628, 630-636, 639-641, 647

superclassOf:

defined on, 589
used on, 589, 607

suspendActive

defined on, 646
used on, 647

swapPointersOf:and:

defined on, 573
used on, 635

sweepCurrentSegmentFrom:

defined on, 673
used on, 674

synchronousSignal:, 642

defined on, 643
used on, 643, 646

temporary:

defined on, 586
used on, 598

temporaryCountOf:

defined on, 577
used on, 606

toFreeChunkList:add:

defined on, 666
used on, 670, 680

toFreePointerListAdd:

defined on, 666
used on, 671

transfer:fromIndex:ofObject:toIndex:ofObject:

defined on, 574
used on, 590, 606, 639, 641

transferTo:, 642

defined on, 643
used on, 646

unPop:

defined on, 585
used on, 602, 622-625, 629-636, 640-641

wakeHighestPriority

defined on, 645

zeroReferenceCounts

defined on, 682
used on, 682
<figure><img src="image_306.png" /></figure>

<figure><img src="image_307.png" /></figure>

<figure><img src="image_308.png" /></figure>

<figure><img src="image_309.png" /></figure>

<figure><img src="image_310.png" /></figure>

<figure><img src="image_311.png" /></figure>
<figure><img src="image_312.png" /></figure>

<figure><img src="image_313.png" /></figure>

<figure><img src="image_314.png" /></figure>

<figure><img src="image_315.png" /></figure>

<figure><img src="image_316.png" /></figure>

<figure><img src="image_317.png" /></figure>
<figure><img src="image_318.png" /></figure>

<figure><img src="image_319.png" /></figure>

<figure><img src="image_320.png" /></figure>

<figure><img src="image_321.png" /></figure>

<figure><img src="image_322.png" /></figure>

<figure><img src="image_323.png" /></figure>

<figure><img src="image_324.png" /></figure>
<figure><img src="image_325.png" /></figure>
<figure><img src="image_326.png" /></figure>

<figure><img src="image_327.png" /></figure>

<figure><img src="image_328.png" /></figure>

<figure><img src="image_329.png" /></figure>

<figure><img src="image_330.png" /></figure>

<figure><img src="image_331.png" /></figure>
**Smalltalk-80: The Language and Its Implementation** represents the culmination of ten years of research and development on Smalltalk-80—a personal, integrated, interactive programming environment.

This book, the first definitive account of Smalltalk-80, is organized into four major segments. The first section discusses the syntax of the programming language. The authors then provide an annotated, illustrated specification of the system. The third part of the book describes a moderate-size application. The fourth section specifies how the Smalltalk-80 virtual machine is implemented.

Adele Goldberg and David Robson are members of the Software Concepts Group at the Xerox Palo Alto Research Center (PARC), the team responsible for the development of Smalltalk-80. This detailed description of Smalltalk-80 is the first in a series of four books on this revolutionary programming environment.

Other books in the Addison-Wesley Smalltalk-80 Series:

*Smalltalk 80: The Interactive Programming Environment* (11372-4)

*Smalltalk 80: Creating a User Interface and Graphical Applications* (11370-8)

*Smalltalk 80: Bits of History, Words of Advice* (11669-3)

ISBN 0-201-11371-6