Skip to content

Instantly share code, notes, and snippets.

@kelseyhightower
Created July 10, 2013 13:26
Show Gist options
  • Save kelseyhightower/5966263 to your computer and use it in GitHub Desktop.
Save kelseyhightower/5966263 to your computer and use it in GitHub Desktop.
What is that compiler up to.
go build -gcflags=-S hello.go
# command-line-arguments
--- prog list "main" ---
0000 (/Users/kelseyhightower/hello.go:5) TEXT main+0(SB),$48-0
0001 (/Users/kelseyhightower/hello.go:5) LOCALS ,$0
0002 (/Users/kelseyhightower/hello.go:6) MOVQ os.Stdout+0(SB),SI
0003 (/Users/kelseyhightower/hello.go:6) MOVQ SI,(SP)
0004 (/Users/kelseyhightower/hello.go:6) LEAQ go.string."Hello, World\n"+0(SB),SI
0005 (/Users/kelseyhightower/hello.go:6) LEAQ 8(SP),BP
0006 (/Users/kelseyhightower/hello.go:6) MOVQ BP,DI
0007 (/Users/kelseyhightower/hello.go:6) MOVSQ ,
0008 (/Users/kelseyhightower/hello.go:6) MOVSQ ,
0009 (/Users/kelseyhightower/hello.go:6) CALL ,os.(*File).WriteString+0(SB)
0010 (/Users/kelseyhightower/hello.go:7) RET ,
--- prog list "init" ---
0011 (/Users/kelseyhightower/hello.go:7) TEXT init+0(SB),$0-0
0012 (/Users/kelseyhightower/hello.go:7) MOVBQZX initdone·+0(SB),AX
0013 (/Users/kelseyhightower/hello.go:7) LOCALS ,$0
0014 (/Users/kelseyhightower/hello.go:7) CMPB AX,$0
0015 (/Users/kelseyhightower/hello.go:7) JEQ ,21
0016 (/Users/kelseyhightower/hello.go:7) CMPB AX,$2
0017 (/Users/kelseyhightower/hello.go:7) JNE ,19
0018 (/Users/kelseyhightower/hello.go:7) RET ,
0019 (/Users/kelseyhightower/hello.go:7) CALL ,runtime.throwinit+0(SB)
0020 (/Users/kelseyhightower/hello.go:7) UNDEF ,
0021 (/Users/kelseyhightower/hello.go:7) MOVB $1,initdone·+0(SB)
0022 (/Users/kelseyhightower/hello.go:7) CALL ,os.init+0(SB)
0023 (/Users/kelseyhightower/hello.go:7) MOVB $2,initdone·+0(SB)
0024 (/Users/kelseyhightower/hello.go:7) RET ,
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment