Use getTypeAllocSize to compute difference between objects The code was using getTypeStoreSize to calculate the difference between consecutive objects. The calculation was incorrect due to padding that is added between consecutive objects. The getTypeAllocSize includes the padding amount. For example, if the type is [19 x i8], the difference between consecutive objects is 32 bytes, not 19 bytes. A second case for getTypeAllocSize is needed when computing the pointer values for the vector accesses. The calculation needs to account for the padding as well.
Patch authored by: Brendon Cahoon <bcahoon@quicinc.com>