StructDictGetWithColor should handle not having a type register
Summary:
The implementation of StructDictGetWithColor assumes there's always a
type register. This isn't necessarily the case. If we know the lookup
will always succeed, we won't union in TUninit, and the remaining type
might have a known datatype. This generates invalid code right now.
Deal with this properly. While we're at it, we can generate more
efficient code in the case where we know the lookup will always
succeed. Namely, we don't need to actually check the string hash.
Differential Revision:
D31061268
fbshipit-source-id:
0d0b37a65b4acc369cffd743f32dd74f54e07f9e