Skip to content

Latest commit

 

History

History
248 lines (211 loc) · 4.38 KB

index.md

File metadata and controls

248 lines (211 loc) · 4.38 KB

附录A:源码文件分配索引及完成情况

下面列出了 Go 源码文件所实现的功能,以及他们主要功能的介绍,在本书正文中对应的(粗略)位置:

第五章

boot:

  • src/internal/cpu
  • src/runtime
    • rt0_darwin_amd64.s
    • rt0_js_wasm.s
    • rt0_linux_amd64.s
    • runtime1.go
    • os_darwin.go
    • os_linux.go
    • go_tls.h

第六章

sched, runtime sync:

  • src/os
    • /signal
  • src/runtime
    • sched
      • runtime.go
      • runtime2.go
      • proc.go
      • stack.go
    • signal
      • os_linux_generic.go
      • sigaction.go
      • signal_amd64x.go
      • signal_darwin.go
      • signal_darwin_amd64.go
      • signal_linux_amd64.go
      • signal_unix.go
      • sigqueue.go
      • sigtab_linux_generic.go
    • sync
      • sema.go
      • lock_futex.go
      • lock_js.go
      • lock_sema.go
      • rwmutex.go

第七章

allocator:

  • src/runtime
    • malloc.go
    • mcache.go
    • mcentral.go
    • mprof.go
    • mfixalloc.go
    • mheap.go
    • mmap.go
    • msize.go
    • mstats.go
    • mkduff.go
    • duff_amd64.s
    • mksizeclasses.go
    • sizeclasses.go
    • mem_darwin.go
    • mem_js.go
    • mem_linux.go
    • memclr_amd64.s
    • memclr_wasm.s
    • memmove_amd64.s
    • memmove_wasm.s

第八章

GC:

  • src/runtime
    • mgc.go
    • mgclarge.go
    • mgcmark.go
    • mgcsweep.go
    • mgcsweepbuf.go
    • mgcwork.go
    • mbarrier.go
    • mwbbuf.go
    • mbitmap.go
    • lfstack.go
    • lfstack_64bit.go
    • mfinal.go

第九章

race/trace/pprof/msan:

  • src/runtime
    • profbuf.go
    • proflabel.go
    • race.go
    • race0.go
    • race_amd64.s
    • trace.go
    • traceback.go
    • debug.go
    • debugcall.go
    • msan.go
    • msan0.go
    • msan_amd64.s

第十章

syscall/cgo:

  • src/syscall
  • src/cmd
    • /cgo
  • src/runtime
    • /cgo
    • cgo.go
    • cgo_mmap.go
    • cgo_sigaction.go
    • cgocall.go
    • cgocallback.go
    • cgocheck.go
    • cpuprof.go
    • textflag.h
    • funcdata.h
    • defs_linux_amd64.go
    • defs_darwin_amd64.go
    • plugin.go

第十一章

runtime type system / keywords:

  • src/reflect
  • src/runtime
    • type
      • type.go
      • typekind.go
    • float
      • softfloat64.go
      • float.go
    • chan/select
      • chan.go
      • select.go
    • defer/panic/recover
      • panic.go
    • map
      • fastlog2.go
      • mkfastlog2table.go
      • fastlog2table.go
      • alg.go
      • map.go
      • map_fast32.go
      • map_fast64.go
      • map_faststr.go
      • hash64.go
      • heapdump.go
    • interface{}
      • iface.go
    • slice
      • slice.go
    • string
      • string.go
      • utf8.go

第十二章

第十三章

第十四章

  • src/unsafe
  • src/cmd
    • /compile
    • /internal/obj

第十五章

  • src/errors
  • src/fmt.Errorf

第十六章

  • src/sync
    • /atomic
      • atomic_pointer
      • internal/atomic
      • internal/sys
    • Map
    • Once
    • Pool
    • WaitGroup
    • Cond
    • Mutex
    • Rwmutex

第十七章

  • src/net
  • src/time
  • src/runtime
    • net
      • netpoll.go
      • netpoll_epoll.go
      • netpoll_fake.go
      • netpoll_kqueue.go
      • netpoll_stub.go
    • time
      • time.go
      • timestub.go
      • timestub2.go

通用

  • common
    • asm.s
    • asm_amd64.s
    • asm_wasm.s
  • stub
    • extern.go
    • symtab.go
    • cpuflags_amd64.go
    • cputicks.go
    • env_posix.go
    • error.go
    • print.go
    • write_err.go
    • relax_stub.go
    • stubs.go
    • stubs2.go
    • stubs3.go
    • stubs_linux.go
    • stubs_nonlinux.go
    • stubs_x86.go
    • sys_darwin.go
    • sys_darwin_amd64.s
    • sys_linux_amd64.s
    • sys_wasm.go
    • sys_wasm.s
    • sys_x86.go
    • unaligned1.go

许可

Go under the hood | CC-BY-NC-ND 4.0 & MIT © changkun