Skip to content

Instantly share code, notes, and snippets.

@kylelemons
Created April 2, 2012 19:12
Show Gist options
  • Select an option

  • Save kylelemons/2286460 to your computer and use it in GitHub Desktop.

Select an option

Save kylelemons/2286460 to your computer and use it in GitHub Desktop.
package main
func main() {
var (
in = [3]int{3, 9, 5}
out = [3]int{}
i = 0
)
for i, out[i] = range in {
}
}
--- prog list "main" ---
0000 (disas.go:3) TEXT main+0(SB),$56-0
0001 (disas.go:5) LEAQ statictmp_0000+0(SB),SI
0002 (disas.go:5) LEAQ in+-56(SP),DI
0003 (disas.go:5) MOVSQ ,
0004 (disas.go:5) MOVSL ,
0005 (disas.go:6) LEAQ statictmp_0001+0(SB),SI
0006 (disas.go:6) LEAQ out+-36(SP),DI
0007 (disas.go:6) MOVSQ ,
0008 (disas.go:6) MOVSL ,
0009 (disas.go:7) MOVL $0,i+-44(SP)
0010 (disas.go:10) LEAQ in+-56(SP),SI
0011 (disas.go:10) LEAQ autotmp_0002+-20(SP),DI
0012 (disas.go:10) MOVSQ ,
0013 (disas.go:10) MOVSL ,
0014 (disas.go:10) MOVL $0,autotmp_0003+-40(SP)
0015 (disas.go:10) MOVL $3,autotmp_0004+-24(SP)
0016 (disas.go:10) LEAQ autotmp_0002+-20(SP),BX
0017 (disas.go:10) MOVQ BX,autotmp_0005+-8(SP)
0018 (disas.go:10) JMP ,21
0019 (disas.go:10) JMP ,40
0020 (disas.go:10) INCL ,autotmp_0003+-40(SP)
0021 (disas.go:10) MOVL autotmp_0003+-40(SP),BX
0022 (disas.go:10) MOVL autotmp_0004+-24(SP),BP
0023 (disas.go:10) CMPL BX,BP
0024 (disas.go:10) JGE ,19
0025 (disas.go:10) MOVL autotmp_0003+-40(SP),BX
0026 (disas.go:10) MOVL BX,i+-44(SP)
0027 (disas.go:10) MOVL i+-44(SP),BX
0028 (disas.go:10) MOVLQSX BX,BX
0029 (disas.go:10) LEAQ out+-36(SP),BP
0030 (disas.go:10) CMPL BX,$3
0031 (disas.go:10) JCS ,33
0032 (disas.go:10) CALL ,runtime.panicindex+0(SB)
0033 (disas.go:10) MOVQ autotmp_0005+-8(SP),R8
0034 (disas.go:10) MOVL (R8),R8
0035 (disas.go:10) MOVL R8,(BP)(BX*4)
0036 (disas.go:10) MOVQ autotmp_0005+-8(SP),BX
0037 (disas.go:10) ADDQ $4,BX
0038 (disas.go:10) MOVQ BX,autotmp_0005+-8(SP)
0039 (disas.go:10) JMP ,20
0040 (disas.go:12) RET ,
--- prog list "init" ---
0041 (disas.go:12) TEXT init+0(SB),$0-0
0042 (disas.go:12) JMP ,44
0043 (disas.go:12) JMP ,56
0044 (disas.go:12) MOVB initdone·+0(SB),BX
0045 (disas.go:12) CMPB BX,$0
0046 (disas.go:12) JEQ ,43
0047 (disas.go:12) JMP ,49
0048 (disas.go:12) JMP ,54
0049 (disas.go:12) MOVB initdone·+0(SB),BX
0050 (disas.go:12) CMPB BX,$2
0051 (disas.go:12) JNE ,48
0052 (disas.go:12) RET ,
0053 (disas.go:12) JMP ,54
0054 (disas.go:12) CALL ,runtime.throwinit+0(SB)
0055 (disas.go:12) JMP ,56
0056 (disas.go:12) MOVB $1,initdone·+0(SB)
0057 (disas.go:12) MOVB $2,initdone·+0(SB)
0058 (disas.go:12) RET ,
0059 (disas.go:12) RET ,
--- prog list "<S>" ---
0060 (disas.go:5) DATA statictmp_0000+0(SB)/4,$3
0060 (disas.go:5) DATA statictmp_0000+4(SB)/4,$9
0060 (disas.go:5) DATA statictmp_0000+8(SB)/4,$5
0060 (disas.go:5) GLOBL statictmp_0000+0(SB),8,$12(AL*0)
0060 (disas.go:6) GLOBL statictmp_0001+0(SB),8,$12(AL*0)
0060 (disas.go:12) GLOBL initdone·+0(SB),$1(AL*0)
0060 (disas.go:12) DATA type.func()+0(SB)/8,$type.*runtime.FuncType+0(SB)
0060 (disas.go:12) DATA type.func()+8(SB)/8,$type.func()+16(SB)
0060 (disas.go:12) DATA type.func()+16(SB)/8,$8
0060 (disas.go:12) DATA type.func()+24(SB)/4,$4135763190
0060 (disas.go:12) DATA type.func()+28(SB)/1,$9
0060 (disas.go:12) DATA type.func()+29(SB)/1,$8
0060 (disas.go:12) DATA type.func()+30(SB)/1,$8
0060 (disas.go:12) DATA type.func()+31(SB)/1,$19
0060 (disas.go:12) DATA type.func()+32(SB)/8,$go.string."func()"+0(SB)
0060 (disas.go:12) DATA go.string."func()"+0(SB)/8,$go.string."func()"+12(SB)
0060 (disas.go:12) DATA go.string."func()"+8(SB)/4,$6
0060 (disas.go:12) DATA go.string."func()"+12(SB)/6,$"func()"
0060 (disas.go:12) DATA go.string."func()"+18(SB)/1,$0
0060 (disas.go:12) GLOBL go.string."func()"+0(SB),10,$24
0060 (disas.go:12) DATA type.func()+48(SB)/8,$weak.type.*func()+0(SB)
0060 (disas.go:12) DATA type.func()+56(SB)/1,$0
0060 (disas.go:12) DATA type.func()+64(SB)/8,$type.func()+96(SB)
0060 (disas.go:12) DATA type.func()+72(SB)/4,$0
0060 (disas.go:12) DATA type.func()+76(SB)/4,$0
0060 (disas.go:12) DATA type.func()+80(SB)/8,$type.func()+96(SB)
0060 (disas.go:12) DATA type.func()+88(SB)/4,$0
0060 (disas.go:12) DATA type.func()+92(SB)/4,$0
0060 (disas.go:12) GLOBL type.func()+0(SB),10,$96
0060 (disas.go:12) DATA type.[]int+0(SB)/8,$type.*runtime.SliceType+0(SB)
0060 (disas.go:12) DATA type.[]int+8(SB)/8,$type.[]int+16(SB)
0060 (disas.go:12) DATA type.[]int+16(SB)/8,$16
0060 (disas.go:12) DATA type.[]int+24(SB)/4,$469329550
0060 (disas.go:12) DATA type.[]int+28(SB)/1,$5
0060 (disas.go:12) DATA type.[]int+29(SB)/1,$8
0060 (disas.go:12) DATA type.[]int+30(SB)/1,$8
0060 (disas.go:12) DATA type.[]int+31(SB)/1,$23
0060 (disas.go:12) DATA type.[]int+32(SB)/8,$go.string."[]int"+0(SB)
0060 (disas.go:12) DATA go.string."[]int"+0(SB)/8,$go.string."[]int"+12(SB)
0060 (disas.go:12) DATA go.string."[]int"+8(SB)/4,$5
0060 (disas.go:12) DATA go.string."[]int"+12(SB)/5,$"[]int"
0060 (disas.go:12) DATA go.string."[]int"+17(SB)/1,$0
0060 (disas.go:12) GLOBL go.string."[]int"+0(SB),10,$24
0060 (disas.go:12) DATA type.[]int+48(SB)/8,$weak.type.*[]int+0(SB)
0060 (disas.go:12) DATA type.[]int+56(SB)/8,$type.int+0(SB)
0060 (disas.go:12) GLOBL type.[]int+0(SB),10,$64
0060 (disas.go:12) DATA type.[3]int+0(SB)/8,$type.*runtime.ArrayType+0(SB)
0060 (disas.go:12) DATA type.[3]int+8(SB)/8,$type.[3]int+16(SB)
0060 (disas.go:12) DATA type.[3]int+16(SB)/8,$12
0060 (disas.go:12) DATA type.[3]int+24(SB)/4,$1176159331
0060 (disas.go:12) DATA type.[3]int+28(SB)/1,$1
0060 (disas.go:12) DATA type.[3]int+29(SB)/1,$4
0060 (disas.go:12) DATA type.[3]int+30(SB)/1,$4
0060 (disas.go:12) DATA type.[3]int+31(SB)/1,$145
0060 (disas.go:12) DATA type.[3]int+32(SB)/8,$go.string."[3]int"+0(SB)
0060 (disas.go:12) DATA go.string."[3]int"+0(SB)/8,$go.string."[3]int"+12(SB)
0060 (disas.go:12) DATA go.string."[3]int"+8(SB)/4,$6
0060 (disas.go:12) DATA go.string."[3]int"+12(SB)/6,$"[3]int"
0060 (disas.go:12) DATA go.string."[3]int"+18(SB)/1,$0
0060 (disas.go:12) GLOBL go.string."[3]int"+0(SB),10,$24
0060 (disas.go:12) DATA type.[3]int+48(SB)/8,$weak.type.*[3]int+0(SB)
0060 (disas.go:12) DATA type.[3]int+56(SB)/8,$type.int+0(SB)
0060 (disas.go:12) DATA type.[3]int+64(SB)/8,$type.[]int+0(SB)
0060 (disas.go:12) DATA type.[3]int+72(SB)/8,$3
0060 (disas.go:12) GLOBL type.[3]int+0(SB),10,$80
0060 (disas.go:12) DATA go.importpath.runtime.+0(SB)/8,$go.string."runtime"+12(SB)
0060 (disas.go:12) DATA go.string."runtime"+0(SB)/8,$go.string."runtime"+12(SB)
0060 (disas.go:12) DATA go.string."runtime"+8(SB)/4,$7
0060 (disas.go:12) DATA go.string."runtime"+12(SB)/7,$"runtime"
0060 (disas.go:12) DATA go.string."runtime"+19(SB)/1,$0
0060 (disas.go:12) GLOBL go.string."runtime"+0(SB),10,$24
0060 (disas.go:12) DATA go.importpath.runtime.+8(SB)/4,$7
0060 (disas.go:12) GLOBL go.importpath.runtime.+0(SB),10,$16
0060 (<epoch>) END ,
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment