Go under the hood
Go: Under the Hood

Glossary

This appendix collects the main terms that appear in the book, grouped by topic and ordered alphabetically by their English names. For each term it gives the chapter where the term is mainly developed, so the reader can look it back up easily.

Concurrency and Scheduling

TermChapterEnglishAbbreviation
Back Edge9.7Back Edge
Cooperative Preemption9.7Cooperative Preemption
Communicating Sequential Processes1.3Communicating Sequential ProcessesCSP
Goroutine9.3GoroutineG/g
Machine (Thread)9.3MachineM/m
Network Poller9.9Network Pollernetpoll
Non-spinning9.4Non-spinning
Preemptive9.7Preemptive
Processor9.3ProcessorP/p
Safepoint9.7Safepoint
Scheduler9Schedulersched
Spinning9.4Spinning
System Monitor9.8System Monitorsysmon
Work Stealing9.2Work Stealing

Synchronization and the Memory Model

TermChapterEnglishAbbreviation
Atomic Operation11.3Atomic Operation
Compare-And-Swap11.3Compare-And-SwapCAS
Condition Variable11.4Condition Variable
Data Race11.9Data Race
Happens-Before11.9Happens-Before
Lock-free11.3Lock-freeLF
Memory Barrier11.9Memory Barrier
Sequential Consistency11.9Sequential ConsistencySC
False Sharing12.2False Sharing
True Sharing12.2True Sharing
Wait-free11.3Wait-free

Memory Allocation

TermChapterEnglishAbbreviation
Arena12.3ArenaheapArena
Arena Hint12.3Arena HintarenaHint
Fast Path12.1Fast Path
Free List12.2Free List
Heap12Heap
Large Object12.4Large Object
Page12.7Page
Page Allocator12.7Page Allocator
Size Class12.1Size Class
Small Object12.5Small Object
Slow Path12.1Slow Path
Tiny Allocator12.6Tiny Allocator
Tiny Object12.6Tiny Object

Garbage Collection

TermChapterEnglishAbbreviation
Bitmap13.5Bitmap
Collector13.1Collector
Conservative13.7Conservative
Finalizer13.10Finalizer
Garbage Collection13Garbage CollectionGC
Generational Hypothesis13.8Generational Hypothesis
Hybrid Write Barrier13.2Hybrid Write Barrier
Liveness13.1Liveness
Mark Assist13.4Mark Assist
Mark-Sweep13.1Mark-Sweep
Mutator13.1Mutator
Pacer13.3Pacer
Reachability13.1Reachability
Remembered Set13.8Remembered Set
Stop the World13.3Stop the WorldSTW
Tricolour Abstraction13.1Tricolour Abstraction
Write Barrier13.2Write BarrierWB/wb

Execution Stack

TermChapterEnglishAbbreviation
Contiguous Stack14.1Contiguous Stack
Prologue2.2Prologue
Epilogue14.3Epilogue
Stack14Stack
Stack Copy14.4Stack Copy
Stack Growth14.3Stack Growth

Language Features and the Compiler

TermChapterEnglishAbbreviation
Calling Convention2.2Calling Convention / ABI
Defer Bit6.2Defer Bit
Devirtualization15.3Devirtualization
Escape Analysis15.5Escape Analysis
GC Shape8.1GC Shape
Inlining15.3Inlining
Interface Table4.2Interface Tableitab
Open-coded Defer6.2Open-coded Defer
Profile-Guided Optimization15.3Profile-Guided OptimizationPGO
Static Single Assignment15.2Static Single AssignmentSSA
Type Set8.3Type Set
Type Descriptor4.1Type Descriptor_type

Modules and the Toolchain

TermChapterEnglishAbbreviation
Language Server Protocol16.7Language Server ProtocolLSP
Minimal Version Selection17.3Minimal Version SelectionMVS
Race Detector16.2Race Detector
Semantic Import Versioning17.2Semantic Import Versioning
Semantic Versioning17.2Semantic Versioningsemver