golang/go
6 articles
Prerequisites
- ›Basic familiarity with Go syntax and tooling
- ›Understanding of what a compiler toolchain is
01
Navigating the Go Repository: Structure, Bootstrap, and the Build Pipeline
Orientation guide to the golang/go repository — directory layout, the self-hosting bootstrap process, and the toolchain build pipeline
02
Inside the `go` Command: Subcommands, Module Loading, and Build Orchestration
Deep dive into the go command's subcommand dispatch, module resolution with MVS, and the parallel build action graph
03
The Go Compiler Pipeline: From Source Text to SSA to Machine Code
Tracing Go source through parsing, type checking, escape analysis, and the SSA optimization pipeline in cmd/compile
04
Go Runtime Internals: Process Startup and the G-M-P Scheduler
From the first assembly instruction through rt0_go to the G-M-P scheduler: goroutine states, work stealing, and preemption
05
Memory Management in Go: The Allocator Hierarchy and Concurrent Garbage Collector
Go's tcmalloc-inspired allocator (mcache → mcentral → mheap) and concurrent tri-color mark-and-sweep GC with pacer tuning
06
Channels, Network Poller, and the Runtime's Cross-Cutting Concerns
Channel internals (hchan/sudog), the epoll/kqueue network poller, runtime synchronization primitives, and compiler directives