Read OSS

golang/go

6 articles

Prerequisites

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