Created
April 2, 2012 19:12
-
-
Save kylelemons/2286460 to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| package main | |
| func main() { | |
| var ( | |
| in = [3]int{3, 9, 5} | |
| out = [3]int{} | |
| i = 0 | |
| ) | |
| for i, out[i] = range in { | |
| } | |
| } |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| --- 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