for this code:

m := make(map[int]int, 9)

I think the compiler creates a maptype that is stored at type.*+60480(SB) 
that it uses for the call to runtime.makemap:

m := make(map[int]int, 9)
  0x10d0b81 488d05f8ec0000 LEAQ type.*+60480(SB), AX 
  0x10d0b88 48890424 MOVQ AX, 0(SP) 
  0x10d0b8c 48c744240809000000 MOVQ $0x9, 0x8(SP) 
  0x10d0b95 48c744241000000000 MOVQ $0x0, 0x10(SP) 
  0x10d0b9e 6690 NOPW 
  0x10d0ba0 e8fbdff3ff CALL runtime.makemap(SB) 

Where is the code in the compiler that creates the maptype? I'm wondering 
how the bucket size is computed and how the rest of the maptype structure 
is filled out.

Is there a way to print out the type info stored in the binary?

You received this message because you are subscribed to the Google Groups 
"golang-nuts" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
To view this discussion on the web visit

Reply via email to