Skip to content

Instantly share code, notes, and snippets.

@kkdai
Forked from yinghau76/test-1.S
Last active September 14, 2015 01:27
Show Gist options
  • Save kkdai/738292e6f6f7dce35757 to your computer and use it in GitHub Desktop.
Save kkdai/738292e6f6f7dce35757 to your computer and use it in GitHub Desktop.
Test arithmetic on Go custom integer type
package main
import "fmt"
type MyInt int
func main() {
var i MyInt = 13
fmt.Println(i+42)
}
~/tmp $ go build -gcflags=-S test-1.go | more
# command-line-arguments
"".main t=1 size=256 value=0 args=0x0 locals=0x70
0x0000 00000 (/Users/patrick/tmp/test-1.go:7) TEXT "".main(SB), $112-0
0x0000 00000 (/Users/patrick/tmp/test-1.go:7) MOVQ (TLS), CX
0x0009 00009 (/Users/patrick/tmp/test-1.go:7) CMPQ SP, 16(CX)
0x000d 00013 (/Users/patrick/tmp/test-1.go:7) JLS 231
0x0013 00019 (/Users/patrick/tmp/test-1.go:7) SUBQ $112, SP
0x0017 00023 (/Users/patrick/tmp/test-1.go:7) FUNCDATA $0, gclocals·7d2d5fca80364273fb07d5820a76fef4(SB)
0x0017 00023 (/Users/patrick/tmp/test-1.go:7) FUNCDATA $1, gclocals·5ef976c2593056b9243adf402ae9d952(SB)
0x0017 00023 (/Users/patrick/tmp/test-1.go:8) MOVQ $13, BX
0x001e 00030 (/Users/patrick/tmp/test-1.go:9) ADDQ $42, BX
0x0022 00034 (/Users/patrick/tmp/test-1.go:9) MOVQ BX, "".autotmp_0000+48(SP)
0x0027 00039 (/Users/patrick/tmp/test-1.go:9) MOVQ $0, BX
0x0029 00041 (/Users/patrick/tmp/test-1.go:9) MOVQ BX, "".autotmp_0004+72(SP)
0x002e 00046 (/Users/patrick/tmp/test-1.go:9) MOVQ BX, "".autotmp_0004+80(SP)
0x0033 00051 (/Users/patrick/tmp/test-1.go:9) LEAQ "".autotmp_0004+72(SP), BX
0x0038 00056 (/Users/patrick/tmp/test-1.go:9) CMPQ BX, $0
0x003c 00060 (/Users/patrick/tmp/test-1.go:9) JEQ $1, 224
0x0042 00066 (/Users/patrick/tmp/test-1.go:9) MOVQ $1, "".autotmp_0001+96(SP)
0x004b 00075 (/Users/patrick/tmp/test-1.go:9) MOVQ $1, "".autotmp_0001+104(SP)
0x0054 00084 (/Users/patrick/tmp/test-1.go:9) MOVQ BX, "".autotmp_0001+88(SP)
0x0059 00089 (/Users/patrick/tmp/test-1.go:9) LEAQ type."".MyInt(SB), BX
0x0060 00096 (/Users/patrick/tmp/test-1.go:9) MOVQ BX, (SP)
0x0064 00100 (/Users/patrick/tmp/test-1.go:9) LEAQ "".autotmp_0000+48(SP), BX
0x0069 00105 (/Users/patrick/tmp/test-1.go:9) MOVQ BX, 8(SP)
0x006e 00110 (/Users/patrick/tmp/test-1.go:9) MOVQ $0, 16(SP)
0x0077 00119 (/Users/patrick/tmp/test-1.go:9) PCDATA $0, $1
0x0077 00119 (/Users/patrick/tmp/test-1.go:9) CALL runtime.convT2E(SB)
0x007c 00124 (/Users/patrick/tmp/test-1.go:9) MOVQ 24(SP), CX
0x0081 00129 (/Users/patrick/tmp/test-1.go:9) MOVQ 32(SP), AX
0x0086 00134 (/Users/patrick/tmp/test-1.go:9) MOVQ "".autotmp_0001+88(SP), BX
0x008b 00139 (/Users/patrick/tmp/test-1.go:9) MOVQ CX, "".autotmp_0005+56(SP)
0x0090 00144 (/Users/patrick/tmp/test-1.go:9) MOVQ CX, (BX)
0x0093 00147 (/Users/patrick/tmp/test-1.go:9) MOVQ AX, "".autotmp_0005+64(SP)
0x0098 00152 (/Users/patrick/tmp/test-1.go:9) CMPB runtime.writeBarrierEnabled(SB), $0
0x009f 00159 (/Users/patrick/tmp/test-1.go:9) JNE $0, 204
0x00a1 00161 (/Users/patrick/tmp/test-1.go:9) MOVQ AX, 8(BX)
0x00a5 00165 (/Users/patrick/tmp/test-1.go:9) MOVQ "".autotmp_0001+88(SP), BX
0x00aa 00170 (/Users/patrick/tmp/test-1.go:9) MOVQ BX, (SP)
0x00ae 00174 (/Users/patrick/tmp/test-1.go:9) MOVQ "".autotmp_0001+96(SP), BX
0x00b3 00179 (/Users/patrick/tmp/test-1.go:9) MOVQ BX, 8(SP)
0x00b8 00184 (/Users/patrick/tmp/test-1.go:9) MOVQ "".autotmp_0001+104(SP), BX
0x00bd 00189 (/Users/patrick/tmp/test-1.go:9) MOVQ BX, 16(SP)
0x00c2 00194 (/Users/patrick/tmp/test-1.go:9) PCDATA $0, $2
0x00c2 00194 (/Users/patrick/tmp/test-1.go:9) CALL fmt.Println(SB)
0x00c7 00199 (/Users/patrick/tmp/test-1.go:10) ADDQ $112, SP
0x00cb 00203 (/Users/patrick/tmp/test-1.go:10) RET
0x00cc 00204 (/Users/patrick/tmp/test-1.go:9) LEAQ 8(BX), R8
0x00d0 00208 (/Users/patrick/tmp/test-1.go:9) MOVQ R8, (SP)
0x00d4 00212 (/Users/patrick/tmp/test-1.go:9) MOVQ AX, 8(SP)
0x00d9 00217 (/Users/patrick/tmp/test-1.go:9) PCDATA $0, $1
0x00d9 00217 (/Users/patrick/tmp/test-1.go:9) CALL runtime.writebarrierptr(SB)
0x00de 00222 (/Users/patrick/tmp/test-1.go:9) JMP 165
0x00e0 00224 (/Users/patrick/tmp/test-1.go:9) MOVL AX, (BX)
0x00e2 00226 (/Users/patrick/tmp/test-1.go:9) JMP 66
0x00e7 00231 (/Users/patrick/tmp/test-1.go:7) CALL runtime.morestack_noctxt(SB)
0x00ec 00236 (/Users/patrick/tmp/test-1.go:7) JMP 0
0x0000 65 48 8b 0c 25 00 00 00 00 48 3b 61 10 0f 86 d4 eH..%....H;a....
0x0010 00 00 00 48 83 ec 70 48 c7 c3 0d 00 00 00 48 83 ...H..pH......H.
0x0020 c3 2a 48 89 5c 24 30 31 db 48 89 5c 24 48 48 89 .*H.\$01.H.\$HH.
0x0030 5c 24 50 48 8d 5c 24 48 48 83 fb 00 0f 84 9e 00 \$PH.\$HH.......
0x0040 00 00 48 c7 44 24 60 01 00 00 00 48 c7 44 24 68 ..H.D$`....H.D$h
0x0050 01 00 00 00 48 89 5c 24 58 48 8d 1d 00 00 00 00 ....H.\$XH......
0x0060 48 89 1c 24 48 8d 5c 24 30 48 89 5c 24 08 48 c7 H..$H.\$0H.\$.H.
0x0070 44 24 10 00 00 00 00 e8 00 00 00 00 48 8b 4c 24 D$..........H.L$
0x0080 18 48 8b 44 24 20 48 8b 5c 24 58 48 89 4c 24 38 .H.D$ H.\$XH.L$8
0x0090 48 89 0b 48 89 44 24 40 80 3d 00 00 00 00 00 75 H..H.D$@.=.....u
0x00a0 2b 48 89 43 08 48 8b 5c 24 58 48 89 1c 24 48 8b +H.C.H.\$XH..$H.
0x00b0 5c 24 60 48 89 5c 24 08 48 8b 5c 24 68 48 89 5c \$`H.\$.H.\$hH.\
0x00c0 24 10 e8 00 00 00 00 48 83 c4 70 c3 4c 8d 43 08 $......H..p.L.C.
0x00d0 4c 89 04 24 48 89 44 24 08 e8 00 00 00 00 eb c5 L..$H.D$........
0x00e0 89 03 e9 5b ff ff ff e8 00 00 00 00 e9 0f ff ff ...[............
0x00f0 ff .
rel 5+4 t=13 +0
rel 92+4 t=11 type."".MyInt+0
rel 120+4 t=5 runtime.convT2E+0
rel 154+4 t=11 runtime.writeBarrierEnabled+-1
rel 195+4 t=5 fmt.Println+0
rel 218+4 t=5 runtime.writebarrierptr+0
rel 232+4 t=5 runtime.morestack_noctxt+0
"".init t=1 size=80 value=0 args=0x0 locals=0x0
0x0000 00000 (/Users/patrick/tmp/test-1.go:10) TEXT "".init(SB), $0-0
0x0000 00000 (/Users/patrick/tmp/test-1.go:10) MOVQ (TLS), CX
0x0009 00009 (/Users/patrick/tmp/test-1.go:10) CMPQ SP, 16(CX)
0x000d 00013 (/Users/patrick/tmp/test-1.go:10) JLS 67
0x000f 00015 (/Users/patrick/tmp/test-1.go:10) NOP
0x000f 00015 (/Users/patrick/tmp/test-1.go:10) NOP
0x000f 00015 (/Users/patrick/tmp/test-1.go:10) FUNCDATA $0, gclocals·33cdeccccebe80329f1fdbee7f5874cb(SB)
0x000f 00015 (/Users/patrick/tmp/test-1.go:10) FUNCDATA $1, gclocals·33cdeccccebe80329f1fdbee7f5874cb(SB)
0x000f 00015 (/Users/patrick/tmp/test-1.go:10) MOVBQZX "".initdone·(SB), BX
0x0016 00022 (/Users/patrick/tmp/test-1.go:10) CMPB BL, $0
0x0019 00025 (/Users/patrick/tmp/test-1.go:10) JEQ 47
0x001b 00027 (/Users/patrick/tmp/test-1.go:10) MOVBQZX "".initdone·(SB), BX
0x0022 00034 (/Users/patrick/tmp/test-1.go:10) CMPB BL, $2
0x0025 00037 (/Users/patrick/tmp/test-1.go:10) JNE 40
0x0027 00039 (/Users/patrick/tmp/test-1.go:10) RET
0x0028 00040 (/Users/patrick/tmp/test-1.go:10) PCDATA $0, $0
0x0028 00040 (/Users/patrick/tmp/test-1.go:10) CALL runtime.throwinit(SB)
0x002d 00045 (/Users/patrick/tmp/test-1.go:10) UNDEF
0x002f 00047 (/Users/patrick/tmp/test-1.go:10) MOVB $1, "".initdone·(SB)
0x0036 00054 (/Users/patrick/tmp/test-1.go:10) PCDATA $0, $0
0x0036 00054 (/Users/patrick/tmp/test-1.go:10) CALL fmt.init(SB)
0x003b 00059 (/Users/patrick/tmp/test-1.go:10) MOVB $2, "".initdone·(SB)
0x0042 00066 (/Users/patrick/tmp/test-1.go:10) RET
0x0043 00067 (/Users/patrick/tmp/test-1.go:10) CALL runtime.morestack_noctxt(SB)
0x0048 00072 (/Users/patrick/tmp/test-1.go:10) JMP 0
0x0000 65 48 8b 0c 25 00 00 00 00 48 3b 61 10 76 34 0f eH..%....H;a.v4.
0x0010 b6 1d 00 00 00 00 80 fb 00 74 14 0f b6 1d 00 00 .........t......
0x0020 00 00 80 fb 02 75 01 c3 e8 00 00 00 00 0f 0b c6 .....u..........
0x0030 05 00 00 00 00 01 e8 00 00 00 00 c6 05 00 00 00 ................
0x0040 00 02 c3 e8 00 00 00 00 eb b6 ..........
rel 5+4 t=13 +0
rel 18+4 t=11 "".initdone·+0
rel 30+4 t=11 "".initdone·+0
rel 41+4 t=5 runtime.throwinit+0
rel 49+4 t=11 "".initdone·+-1
rel 55+4 t=5 fmt.init+0
rel 61+4 t=11 "".initdone·+-1
rel 68+4 t=5 runtime.morestack_noctxt+0
type..hash.[1]interface {} t=1 dupok size=176 value=0 args=0x18 locals=0x28
0x0000 00000 (/Users/patrick/tmp/test-1.go:1) TEXT type..hash.[1]interface {}(SB), $40-24
0x0000 00000 (/Users/patrick/tmp/test-1.go:1) MOVQ (TLS), CX
0x0009 00009 (/Users/patrick/tmp/test-1.go:1) CMPQ SP, 16(CX)
0x000d 00013 (/Users/patrick/tmp/test-1.go:1) JLS 155
0x0013 00019 (/Users/patrick/tmp/test-1.go:1) SUBQ $40, SP
0x0017 00023 (/Users/patrick/tmp/test-1.go:1) MOVQ "".h+56(FP), CX
0x001c 00028 (/Users/patrick/tmp/test-1.go:1) FUNCDATA $0, gclocals·0b86ef39f3fed835f14ba5f4d7c62fa2(SB)
0x001c 00028 (/Users/patrick/tmp/test-1.go:1) FUNCDATA $1, gclocals·33cdeccccebe80329f1fdbee7f5874cb(SB)
0x001c 00028 (/Users/patrick/tmp/test-1.go:1) MOVQ $0, AX
0x001e 00030 (/Users/patrick/tmp/test-1.go:1) MOVQ $1, "".autotmp_0007+24(SP)
0x0027 00039 (/Users/patrick/tmp/test-1.go:1) MOVQ "".autotmp_0007+24(SP), BP
0x002c 00044 (/Users/patrick/tmp/test-1.go:1) CMPQ AX, BP
0x002f 00047 (/Users/patrick/tmp/test-1.go:1) JGE $0, 141
0x0031 00049 (/Users/patrick/tmp/test-1.go:1) MOVQ AX, "".autotmp_0006+32(SP)
0x0036 00054 (/Users/patrick/tmp/test-1.go:1) MOVQ AX, BP
0x0039 00057 (/Users/patrick/tmp/test-1.go:1) MOVQ CX, AX
0x003c 00060 (/Users/patrick/tmp/test-1.go:1) ROLQ $3, AX
0x0040 00064 (/Users/patrick/tmp/test-1.go:1) MOVQ $23344194077549503, BX
0x004a 00074 (/Users/patrick/tmp/test-1.go:1) IMULQ AX, BX
0x004e 00078 (/Users/patrick/tmp/test-1.go:1) MOVQ BX, AX
0x0051 00081 (/Users/patrick/tmp/test-1.go:1) MOVQ "".p+48(FP), BX
0x0056 00086 (/Users/patrick/tmp/test-1.go:1) CMPQ BX, $0
0x005a 00090 (/Users/patrick/tmp/test-1.go:1) JEQ $1, 151
0x005c 00092 (/Users/patrick/tmp/test-1.go:1) SHLQ $4, BP
0x0060 00096 (/Users/patrick/tmp/test-1.go:1) ADDQ BP, BX
0x0063 00099 (/Users/patrick/tmp/test-1.go:1) MOVQ BX, (SP)
0x0067 00103 (/Users/patrick/tmp/test-1.go:1) MOVQ AX, "".h+56(FP)
0x006c 00108 (/Users/patrick/tmp/test-1.go:1) MOVQ AX, 8(SP)
0x0071 00113 (/Users/patrick/tmp/test-1.go:1) PCDATA $0, $0
0x0071 00113 (/Users/patrick/tmp/test-1.go:1) CALL runtime.nilinterhash(SB)
0x0076 00118 (/Users/patrick/tmp/test-1.go:1) MOVQ 16(SP), CX
0x007b 00123 (/Users/patrick/tmp/test-1.go:1) MOVQ "".autotmp_0006+32(SP), AX
0x0080 00128 (/Users/patrick/tmp/test-1.go:1) INCQ AX
0x0083 00131 (/Users/patrick/tmp/test-1.go:1) MOVQ "".autotmp_0007+24(SP), BP
0x0088 00136 (/Users/patrick/tmp/test-1.go:1) CMPQ AX, BP
0x008b 00139 (/Users/patrick/tmp/test-1.go:1) JLT $0, 49
0x008d 00141 (/Users/patrick/tmp/test-1.go:1) MOVQ CX, "".~r2+64(FP)
0x0092 00146 (/Users/patrick/tmp/test-1.go:1) ADDQ $40, SP
0x0096 00150 (/Users/patrick/tmp/test-1.go:1) RET
0x0097 00151 (/Users/patrick/tmp/test-1.go:1) MOVL AX, (BX)
0x0099 00153 (/Users/patrick/tmp/test-1.go:1) JMP 92
0x009b 00155 (/Users/patrick/tmp/test-1.go:1) CALL runtime.morestack_noctxt(SB)
0x00a0 00160 (/Users/patrick/tmp/test-1.go:1) JMP 0
0x0000 65 48 8b 0c 25 00 00 00 00 48 3b 61 10 0f 86 88 eH..%....H;a....
0x0010 00 00 00 48 83 ec 28 48 8b 4c 24 38 31 c0 48 c7 ...H..(H.L$81.H.
0x0020 44 24 18 01 00 00 00 48 8b 6c 24 18 48 39 e8 7d D$.....H.l$.H9.}
0x0030 5c 48 89 44 24 20 48 89 c5 48 89 c8 48 c1 c0 03 \H.D$ H..H..H...
0x0040 48 bb bf 63 8f bb 6b ef 52 00 48 0f af d8 48 89 H..c..k.R.H...H.
0x0050 d8 48 8b 5c 24 30 48 83 fb 00 74 3b 48 c1 e5 04 .H.\$0H...t;H...
0x0060 48 01 eb 48 89 1c 24 48 89 44 24 38 48 89 44 24 H..H..$H.D$8H.D$
0x0070 08 e8 00 00 00 00 48 8b 4c 24 10 48 8b 44 24 20 ......H.L$.H.D$
0x0080 48 ff c0 48 8b 6c 24 18 48 39 e8 7c a4 48 89 4c H..H.l$.H9.|.H.L
0x0090 24 40 48 83 c4 28 c3 89 03 eb c1 e8 00 00 00 00 $@H..(..........
0x00a0 e9 5b ff ff ff .[...
rel 5+4 t=13 +0
rel 114+4 t=5 runtime.nilinterhash+0
rel 156+4 t=5 runtime.morestack_noctxt+0
type..eq.[1]interface {} t=1 dupok size=240 value=0 args=0x18 locals=0x58
0x0000 00000 (/Users/patrick/tmp/test-1.go:1) TEXT type..eq.[1]interface {}(SB), $88-24
0x0000 00000 (/Users/patrick/tmp/test-1.go:1) MOVQ (TLS), CX
0x0009 00009 (/Users/patrick/tmp/test-1.go:1) CMPQ SP, 16(CX)
0x000d 00013 (/Users/patrick/tmp/test-1.go:1) JLS 225
0x0013 00019 (/Users/patrick/tmp/test-1.go:1) SUBQ $88, SP
0x0017 00023 (/Users/patrick/tmp/test-1.go:1) FUNCDATA $0, gclocals·3bb21ca8fe1d99a3e492463bd711418a(SB)
0x0017 00023 (/Users/patrick/tmp/test-1.go:1) FUNCDATA $1, gclocals·a8eabfc4a4514ed6b3b0c61e9680e440(SB)
0x0017 00023 (/Users/patrick/tmp/test-1.go:1) MOVQ $0, AX
0x0019 00025 (/Users/patrick/tmp/test-1.go:1) MOVQ $1, "".autotmp_0009+40(SP)
0x0022 00034 (/Users/patrick/tmp/test-1.go:1) MOVQ "".autotmp_0009+40(SP), BP
0x0027 00039 (/Users/patrick/tmp/test-1.go:1) CMPQ AX, BP
0x002a 00042 (/Users/patrick/tmp/test-1.go:1) JGE $0, 194
0x0030 00048 (/Users/patrick/tmp/test-1.go:1) MOVQ AX, "".autotmp_0008+48(SP)
0x0035 00053 (/Users/patrick/tmp/test-1.go:1) MOVQ "".q+104(FP), BX
0x003a 00058 (/Users/patrick/tmp/test-1.go:1) CMPQ BX, $0
0x003e 00062 (/Users/patrick/tmp/test-1.go:1) JEQ $1, 218
0x0044 00068 (/Users/patrick/tmp/test-1.go:1) MOVQ AX, BP
0x0047 00071 (/Users/patrick/tmp/test-1.go:1) SHLQ $4, BP
0x004b 00075 (/Users/patrick/tmp/test-1.go:1) ADDQ BP, BX
0x004e 00078 (/Users/patrick/tmp/test-1.go:1) MOVQ (BX), CX
0x0051 00081 (/Users/patrick/tmp/test-1.go:1) MOVQ 8(BX), SI
0x0055 00085 (/Users/patrick/tmp/test-1.go:1) MOVQ "".p+96(FP), BX
0x005a 00090 (/Users/patrick/tmp/test-1.go:1) CMPQ BX, $0
0x005e 00094 (/Users/patrick/tmp/test-1.go:1) JEQ $1, 214
0x0060 00096 (/Users/patrick/tmp/test-1.go:1) MOVQ AX, BP
0x0063 00099 (/Users/patrick/tmp/test-1.go:1) SHLQ $4, BP
0x0067 00103 (/Users/patrick/tmp/test-1.go:1) ADDQ BP, BX
0x006a 00106 (/Users/patrick/tmp/test-1.go:1) MOVQ (BX), AX
0x006d 00109 (/Users/patrick/tmp/test-1.go:1) MOVQ 8(BX), DX
0x0071 00113 (/Users/patrick/tmp/test-1.go:1) CMPQ AX, CX
0x0074 00116 (/Users/patrick/tmp/test-1.go:1) JNE 204
0x0076 00118 (/Users/patrick/tmp/test-1.go:1) MOVQ AX, "".autotmp_0011+56(SP)
0x007b 00123 (/Users/patrick/tmp/test-1.go:1) MOVQ AX, (SP)
0x007f 00127 (/Users/patrick/tmp/test-1.go:1) MOVQ DX, "".autotmp_0011+64(SP)
0x0084 00132 (/Users/patrick/tmp/test-1.go:1) MOVQ DX, 8(SP)
0x0089 00137 (/Users/patrick/tmp/test-1.go:1) MOVQ CX, "".autotmp_0010+72(SP)
0x008e 00142 (/Users/patrick/tmp/test-1.go:1) MOVQ CX, 16(SP)
0x0093 00147 (/Users/patrick/tmp/test-1.go:1) MOVQ SI, "".autotmp_0010+80(SP)
0x0098 00152 (/Users/patrick/tmp/test-1.go:1) MOVQ SI, 24(SP)
0x009d 00157 (/Users/patrick/tmp/test-1.go:1) PCDATA $0, $0
0x009d 00157 (/Users/patrick/tmp/test-1.go:1) CALL runtime.efaceeq(SB)
0x00a2 00162 (/Users/patrick/tmp/test-1.go:1) MOVBQZX 32(SP), BX
0x00a7 00167 (/Users/patrick/tmp/test-1.go:1) CMPB BL, $0
0x00aa 00170 (/Users/patrick/tmp/test-1.go:1) JEQ 204
0x00ac 00172 (/Users/patrick/tmp/test-1.go:1) MOVQ "".autotmp_0008+48(SP), AX
0x00b1 00177 (/Users/patrick/tmp/test-1.go:1) INCQ AX
0x00b4 00180 (/Users/patrick/tmp/test-1.go:1) MOVQ "".autotmp_0009+40(SP), BP
0x00b9 00185 (/Users/patrick/tmp/test-1.go:1) CMPQ AX, BP
0x00bc 00188 (/Users/patrick/tmp/test-1.go:1) JLT $0, 48
0x00c2 00194 (/Users/patrick/tmp/test-1.go:1) MOVB $1, "".~r2+112(FP)
0x00c7 00199 (/Users/patrick/tmp/test-1.go:1) ADDQ $88, SP
0x00cb 00203 (/Users/patrick/tmp/test-1.go:1) RET
0x00cc 00204 (/Users/patrick/tmp/test-1.go:1) MOVB $0, "".~r2+112(FP)
0x00d1 00209 (/Users/patrick/tmp/test-1.go:1) ADDQ $88, SP
0x00d5 00213 (/Users/patrick/tmp/test-1.go:1) RET
0x00d6 00214 (/Users/patrick/tmp/test-1.go:1) MOVL AX, (BX)
0x00d8 00216 (/Users/patrick/tmp/test-1.go:1) JMP 96
0x00da 00218 (/Users/patrick/tmp/test-1.go:1) MOVL AX, (BX)
0x00dc 00220 (/Users/patrick/tmp/test-1.go:1) JMP 68
0x00e1 00225 (/Users/patrick/tmp/test-1.go:1) CALL runtime.morestack_noctxt(SB)
0x00e6 00230 (/Users/patrick/tmp/test-1.go:1) JMP 0
0x0000 65 48 8b 0c 25 00 00 00 00 48 3b 61 10 0f 86 ce eH..%....H;a....
0x0010 00 00 00 48 83 ec 58 31 c0 48 c7 44 24 28 01 00 ...H..X1.H.D$(..
0x0020 00 00 48 8b 6c 24 28 48 39 e8 0f 8d 92 00 00 00 ..H.l$(H9.......
0x0030 48 89 44 24 30 48 8b 5c 24 68 48 83 fb 00 0f 84 H.D$0H.\$hH.....
0x0040 96 00 00 00 48 89 c5 48 c1 e5 04 48 01 eb 48 8b ....H..H...H..H.
0x0050 0b 48 8b 73 08 48 8b 5c 24 60 48 83 fb 00 74 76 .H.s.H.\$`H...tv
0x0060 48 89 c5 48 c1 e5 04 48 01 eb 48 8b 03 48 8b 53 H..H...H..H..H.S
0x0070 08 48 39 c8 75 56 48 89 44 24 38 48 89 04 24 48 .H9.uVH.D$8H..$H
0x0080 89 54 24 40 48 89 54 24 08 48 89 4c 24 48 48 89 .T$@H.T$.H.L$HH.
0x0090 4c 24 10 48 89 74 24 50 48 89 74 24 18 e8 00 00 L$.H.t$PH.t$....
0x00a0 00 00 0f b6 5c 24 20 80 fb 00 74 20 48 8b 44 24 ....\$ ...t H.D$
0x00b0 30 48 ff c0 48 8b 6c 24 28 48 39 e8 0f 8c 6e ff 0H..H.l$(H9...n.
0x00c0 ff ff c6 44 24 70 01 48 83 c4 58 c3 c6 44 24 70 ...D$p.H..X..D$p
0x00d0 00 48 83 c4 58 c3 89 03 eb 86 89 03 e9 63 ff ff .H..X........c..
0x00e0 ff e8 00 00 00 00 e9 15 ff ff ff ...........
rel 5+4 t=13 +0
rel 158+4 t=5 runtime.efaceeq+0
rel 226+4 t=5 runtime.morestack_noctxt+0
gclocals·5ef976c2593056b9243adf402ae9d952 t=8 dupok size=20 value=0
0x0000 03 00 00 00 07 00 00 00 00 00 00 00 1c 00 00 00 ................
0x0010 0c 00 00 00 ....
gclocals·7d2d5fca80364273fb07d5820a76fef4 t=8 dupok size=8 value=0
0x0000 03 00 00 00 00 00 00 00 ........
gclocals·33cdeccccebe80329f1fdbee7f5874cb t=8 dupok size=8 value=0
0x0000 01 00 00 00 00 00 00 00 ........
gclocals·33cdeccccebe80329f1fdbee7f5874cb t=8 dupok size=8 value=0
0x0000 01 00 00 00 00 00 00 00 ........
"".initdone· t=24 size=1 value=0
"".main·f t=8 dupok size=8 value=0
0x0000 00 00 00 00 00 00 00 00 ........
rel 0+8 t=1 "".main+0
"".init·f t=8 dupok size=8 value=0
0x0000 00 00 00 00 00 00 00 00 ........
rel 0+8 t=1 "".init+0
runtime.gcbits.01 t=8 dupok size=1 value=0
0x0000 01 .
go.string.hdr."*main.MyInt" t=8 dupok size=16 value=0
0x0000 00 00 00 00 00 00 00 00 0b 00 00 00 00 00 00 00 ................
rel 0+8 t=1 go.string."*main.MyInt"+0
go.string."*main.MyInt" t=8 dupok size=16 value=0
0x0000 2a 6d 61 69 6e 2e 4d 79 49 6e 74 00 *main.MyInt.
type.*"".MyInt t=8 size=80 value=0
0x0000 08 00 00 00 00 00 00 00 08 00 00 00 00 00 00 00 ................
0x0010 3d 0e 08 6d 00 08 08 36 00 00 00 00 00 00 00 00 =..m...6........
0x0020 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
0x0030 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
0x0040 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
rel 24+8 t=1 runtime.algarray+80
rel 32+8 t=1 runtime.gcbits.01+0
rel 40+8 t=1 go.string.hdr."*main.MyInt"+0
rel 56+8 t=1 go.weak.type.**"".MyInt+0
rel 64+8 t=1 runtime.zerovalue+0
rel 72+8 t=1 type."".MyInt+0
runtime.gcbits. t=8 dupok size=0 value=0
go.string.hdr."main.MyInt" t=8 dupok size=16 value=0
0x0000 00 00 00 00 00 00 00 00 0a 00 00 00 00 00 00 00 ................
rel 0+8 t=1 go.string."main.MyInt"+0
go.string."main.MyInt" t=8 dupok size=16 value=0
0x0000 6d 61 69 6e 2e 4d 79 49 6e 74 00 main.MyInt.
go.string.hdr."MyInt" t=8 dupok size=16 value=0
0x0000 00 00 00 00 00 00 00 00 05 00 00 00 00 00 00 00 ................
rel 0+8 t=1 go.string."MyInt"+0
go.string."MyInt" t=8 dupok size=8 value=0
0x0000 4d 79 49 6e 74 00 MyInt.
go.string.hdr."main" t=8 dupok size=16 value=0
0x0000 00 00 00 00 00 00 00 00 04 00 00 00 00 00 00 00 ................
rel 0+8 t=1 go.string."main"+0
go.string."main" t=8 dupok size=8 value=0
0x0000 6d 61 69 6e 00 main.
go.importpath."". t=8 dupok size=16 value=0
0x0000 00 00 00 00 00 00 00 00 04 00 00 00 00 00 00 00 ................
rel 0+8 t=1 go.string."main"+0
type."".MyInt t=8 size=112 value=0
0x0000 08 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
0x0010 fb 4a 88 37 00 08 08 82 00 00 00 00 00 00 00 00 .J.7............
0x0020 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
0x0030 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
0x0040 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
0x0050 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
0x0060 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
rel 24+8 t=1 runtime.algarray+80
rel 32+8 t=1 runtime.gcbits.+0
rel 40+8 t=1 go.string.hdr."main.MyInt"+0
rel 56+8 t=1 type.*"".MyInt+0
rel 64+8 t=1 runtime.zerovalue+0
rel 48+8 t=1 type."".MyInt+72
rel 72+8 t=1 go.string.hdr."MyInt"+0
rel 80+8 t=1 go.importpath."".+0
rel 88+8 t=1 type."".MyInt+112
runtime.gcbits.03 t=8 dupok size=1 value=0
0x0000 03 .
go.string.hdr."interface {}" t=8 dupok size=16 value=0
0x0000 00 00 00 00 00 00 00 00 0c 00 00 00 00 00 00 00 ................
rel 0+8 t=1 go.string."interface {}"+0
go.string."interface {}" t=8 dupok size=16 value=0
0x0000 69 6e 74 65 72 66 61 63 65 20 7b 7d 00 interface {}.
type.interface {} t=8 dupok size=96 value=0
0x0000 10 00 00 00 00 00 00 00 10 00 00 00 00 00 00 00 ................
0x0010 e7 57 a0 18 00 08 08 14 00 00 00 00 00 00 00 00 .W..............
0x0020 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
0x0030 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
0x0040 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
0x0050 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
rel 24+8 t=1 runtime.algarray+256
rel 32+8 t=1 runtime.gcbits.03+0
rel 40+8 t=1 go.string.hdr."interface {}"+0
rel 56+8 t=1 go.weak.type.*interface {}+0
rel 64+8 t=1 runtime.zerovalue+0
rel 72+8 t=1 type.interface {}+96
go.string.hdr."[]interface {}" t=8 dupok size=16 value=0
0x0000 00 00 00 00 00 00 00 00 0e 00 00 00 00 00 00 00 ................
rel 0+8 t=1 go.string."[]interface {}"+0
go.string."[]interface {}" t=8 dupok size=16 value=0
0x0000 5b 5d 69 6e 74 65 72 66 61 63 65 20 7b 7d 00 []interface {}.
type.[]interface {} t=8 dupok size=80 value=0
0x0000 18 00 00 00 00 00 00 00 08 00 00 00 00 00 00 00 ................
0x0010 70 93 ea 2f 00 08 08 17 00 00 00 00 00 00 00 00 p../............
0x0020 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
0x0030 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
0x0040 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
rel 24+8 t=1 runtime.algarray+272
rel 32+8 t=1 runtime.gcbits.01+0
rel 40+8 t=1 go.string.hdr."[]interface {}"+0
rel 56+8 t=1 go.weak.type.*[]interface {}+0
rel 64+8 t=1 runtime.zerovalue+0
rel 72+8 t=1 type.interface {}+0
go.typelink.[]interface {} []interface {} t=8 dupok size=8 value=0
0x0000 00 00 00 00 00 00 00 00 ........
rel 0+8 t=1 type.[]interface {}+0
gclocals·33cdeccccebe80329f1fdbee7f5874cb t=8 dupok size=8 value=0
0x0000 01 00 00 00 00 00 00 00 ........
gclocals·0b86ef39f3fed835f14ba5f4d7c62fa2 t=8 dupok size=12 value=0
0x0000 01 00 00 00 03 00 00 00 01 00 00 00 ............
gclocals·a8eabfc4a4514ed6b3b0c61e9680e440 t=8 dupok size=12 value=0
0x0000 01 00 00 00 04 00 00 00 00 00 00 00 ............
gclocals·3bb21ca8fe1d99a3e492463bd711418a t=8 dupok size=12 value=0
0x0000 01 00 00 00 03 00 00 00 03 00 00 00 ............
type..hashfunc.[1]interface {} t=8 dupok size=8 value=0
0x0000 00 00 00 00 00 00 00 00 ........
rel 0+8 t=1 type..hash.[1]interface {}+0
type..eqfunc.[1]interface {} t=8 dupok size=8 value=0
0x0000 00 00 00 00 00 00 00 00 ........
rel 0+8 t=1 type..eq.[1]interface {}+0
type..alg.[1]interface {} t=8 dupok size=16 value=0
0x0000 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
rel 0+8 t=1 type..hashfunc.[1]interface {}+0
rel 8+8 t=1 type..eqfunc.[1]interface {}+0
go.string.hdr."[1]interface {}" t=8 dupok size=16 value=0
0x0000 00 00 00 00 00 00 00 00 0f 00 00 00 00 00 00 00 ................
rel 0+8 t=1 go.string."[1]interface {}"+0
go.string."[1]interface {}" t=8 dupok size=16 value=0
0x0000 5b 31 5d 69 6e 74 65 72 66 61 63 65 20 7b 7d 00 [1]interface {}.
type.[1]interface {} t=8 dupok size=96 value=0
0x0000 10 00 00 00 00 00 00 00 10 00 00 00 00 00 00 00 ................
0x0010 50 91 5b fa 00 08 08 11 00 00 00 00 00 00 00 00 P.[.............
0x0020 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
0x0030 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
0x0040 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
0x0050 00 00 00 00 00 00 00 00 01 00 00 00 00 00 00 00 ................
rel 24+8 t=1 type..alg.[1]interface {}+0
rel 32+8 t=1 runtime.gcbits.03+0
rel 40+8 t=1 go.string.hdr."[1]interface {}"+0
rel 56+8 t=1 go.weak.type.*[1]interface {}+0
rel 64+8 t=1 runtime.zerovalue+0
rel 72+8 t=1 type.interface {}+0
rel 80+8 t=1 type.[]interface {}+0
go.typelink.[1]interface {} [1]interface {} t=8 dupok size=8 value=0
0x0000 00 00 00 00 00 00 00 00 ........
rel 0+8 t=1 type.[1]interface {}+0
go.string.hdr."*[1]interface {}" t=8 dupok size=16 value=0
0x0000 00 00 00 00 00 00 00 00 10 00 00 00 00 00 00 00 ................
rel 0+8 t=1 go.string."*[1]interface {}"+0
go.string."*[1]interface {}" t=8 dupok size=24 value=0
0x0000 2a 5b 31 5d 69 6e 74 65 72 66 61 63 65 20 7b 7d *[1]interface {}
0x0010 00 .
type.*[1]interface {} t=8 dupok size=80 value=0
0x0000 08 00 00 00 00 00 00 00 08 00 00 00 00 00 00 00 ................
0x0010 bf 03 a8 35 00 08 08 36 00 00 00 00 00 00 00 00 ...5...6........
0x0020 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
0x0030 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
0x0040 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
rel 24+8 t=1 runtime.algarray+80
rel 32+8 t=1 runtime.gcbits.01+0
rel 40+8 t=1 go.string.hdr."*[1]interface {}"+0
rel 56+8 t=1 go.weak.type.**[1]interface {}+0
rel 64+8 t=1 runtime.zerovalue+0
rel 72+8 t=1 type.[1]interface {}+0
go.string.hdr."runtime" t=8 dupok size=16 value=0
0x0000 00 00 00 00 00 00 00 00 07 00 00 00 00 00 00 00 ................
rel 0+8 t=1 go.string."runtime"+0
go.string."runtime" t=8 dupok size=8 value=0
0x0000 72 75 6e 74 69 6d 65 00 runtime.
go.importpath.runtime. t=8 dupok size=16 value=0
0x0000 00 00 00 00 00 00 00 00 07 00 00 00 00 00 00 00 ................
rel 0+8 t=1 go.string."runtime"+0
go.string.hdr."fmt" t=8 dupok size=16 value=0
0x0000 00 00 00 00 00 00 00 00 03 00 00 00 00 00 00 00 ................
rel 0+8 t=1 go.string."fmt"+0
go.string."fmt" t=8 dupok size=8 value=0
0x0000 66 6d 74 00 fmt.
go.importpath.fmt. t=8 dupok size=16 value=0
0x0000 00 00 00 00 00 00 00 00 03 00 00 00 00 00 00 00 ................
rel 0+8 t=1 go.string."fmt"+0
type..hash.[1]interface {}·f t=8 dupok size=8 value=0
0x0000 00 00 00 00 00 00 00 00 ........
rel 0+8 t=1 type..hash.[1]interface {}+0
type..eq.[1]interface {}·f t=8 dupok size=8 value=0
0x0000 00 00 00 00 00 00 00 00 ........
rel 0+8 t=1 type..eq.[1]interface {}+0
runtime.zerovalue t=8 dupok size=0 value=0
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment