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

Term Chapter English Abbreviation
Back Edge 9.7 Back Edge
Cooperative Preemption 9.7 Cooperative Preemption
Communicating Sequential Processes 1.3 Communicating Sequential Processes CSP
Goroutine 9.3 Goroutine G/g
Machine (Thread) 9.3 Machine M/m
Network Poller 9.9 Network Poller netpoll
Non-spinning 9.4 Non-spinning
Preemptive 9.7 Preemptive
Processor 9.3 Processor P/p
Safepoint 9.7 Safepoint
Scheduler 9 Scheduler sched
Spinning 9.4 Spinning
System Monitor 9.8 System Monitor sysmon
Work Stealing 9.2 Work Stealing

Synchronization and the Memory Model

Term Chapter English Abbreviation
Atomic Operation 11.3 Atomic Operation
Compare-And-Swap 11.3 Compare-And-Swap CAS
Condition Variable 11.4 Condition Variable
Data Race 11.9 Data Race
Happens-Before 11.9 Happens-Before
Lock-free 11.3 Lock-free LF
Memory Barrier 11.9 Memory Barrier
Sequential Consistency 11.9 Sequential Consistency SC
False Sharing 12.2 False Sharing
True Sharing 12.2 True Sharing
Wait-free 11.3 Wait-free

Memory Allocation

Term Chapter English Abbreviation
Arena 12.3 Arena heapArena
Arena Hint 12.3 Arena Hint arenaHint
Fast Path 12.1 Fast Path
Free List 12.2 Free List
Heap 12 Heap
Large Object 12.4 Large Object
Page 12.7 Page
Page Allocator 12.7 Page Allocator
Size Class 12.1 Size Class
Small Object 12.5 Small Object
Slow Path 12.1 Slow Path
Tiny Allocator 12.6 Tiny Allocator
Tiny Object 12.6 Tiny Object

Garbage Collection

Term Chapter English Abbreviation
Bitmap 13.5 Bitmap
Collector 13.1 Collector
Conservative 13.7 Conservative
Finalizer 13.10 Finalizer
Garbage Collection 13 Garbage Collection GC
Generational Hypothesis 13.8 Generational Hypothesis
Hybrid Write Barrier 13.2 Hybrid Write Barrier
Liveness 13.1 Liveness
Mark Assist 13.4 Mark Assist
Mark-Sweep 13.1 Mark-Sweep
Mutator 13.1 Mutator
Pacer 13.3 Pacer
Reachability 13.1 Reachability
Remembered Set 13.8 Remembered Set
Stop the World 13.3 Stop the World STW
Tricolour Abstraction 13.1 Tricolour Abstraction
Write Barrier 13.2 Write Barrier WB/wb

Execution Stack

Term Chapter English Abbreviation
Contiguous Stack 14.1 Contiguous Stack
Prologue 2.2 Prologue
Epilogue 14.3 Epilogue
Stack 14 Stack
Stack Copy 14.4 Stack Copy
Stack Growth 14.3 Stack Growth

Language Features and the Compiler

Term Chapter English Abbreviation
Calling Convention 2.2 Calling Convention / ABI
Defer Bit 6.2 Defer Bit
Devirtualization 15.3 Devirtualization
Escape Analysis 15.5 Escape Analysis
GC Shape 8.1 GC Shape
Inlining 15.3 Inlining
Interface Table 4.2 Interface Table itab
Open-coded Defer 6.2 Open-coded Defer
Profile-Guided Optimization 15.3 Profile-Guided Optimization PGO
Static Single Assignment 15.2 Static Single Assignment SSA
Type Set 8.3 Type Set
Type Descriptor 4.1 Type Descriptor _type

Modules and the Toolchain

Term Chapter English Abbreviation
Language Server Protocol 16.7 Language Server Protocol LSP
Minimal Version Selection 17.3 Minimal Version Selection MVS
Race Detector 16.2 Race Detector
Semantic Import Versioning 17.2 Semantic Import Versioning
Semantic Versioning 17.2 Semantic Versioning semver