Fix assembly bug exposed by Go runtime change

The Go spec says that different empty structs can have equal addresses.
In the assembler, I was using pointers to empty structs as keys in a map
and different structs were not getting distinct entries in the map as I
had assumed. The simple fix for now is just to make sure the structs are
not empty, even though their content is not used.