| Index: src/core/SkSmallAllocator.h | 
| diff --git a/src/core/SkSmallAllocator.h b/src/core/SkSmallAllocator.h | 
| index 9095fa57fc11fde0022c023f5e8341d7dae819dd..67afe756912bdd014945f0ba235dc9797cdc3aa7 100644 | 
| --- a/src/core/SkSmallAllocator.h | 
| +++ b/src/core/SkSmallAllocator.h | 
| @@ -93,7 +93,7 @@ public: | 
| // There is space in fStorage. | 
| rec->fStorageSize = storageRequired; | 
| rec->fHeapStorage = nullptr; | 
| -            rec->fObj = static_cast<void*>(fStorage.fBytes + fStorageUsed); | 
| +            rec->fObj = static_cast<void*>(fStorage + fStorageUsed); | 
| fStorageUsed += storageRequired; | 
| } | 
| rec->fKillProc = DestroyT<T>; | 
| @@ -129,17 +129,11 @@ private: | 
| static_cast<T*>(ptr)->~T(); | 
| } | 
|  | 
| -    struct SK_STRUCT_ALIGN(16) Storage { | 
| -        // we add kMaxObjects * 15 to account for the worst-case slop, where each allocation wasted | 
| -        // 15 bytes (due to forcing each to be 16-byte aligned) | 
| -        char    fBytes[kTotalBytes + kMaxObjects * 15]; | 
| -    }; | 
| - | 
| -    Storage     fStorage; | 
| +    alignas(16) char fStorage[kTotalBytes]; | 
| // Number of bytes used so far. | 
| -    size_t      fStorageUsed; | 
| -    uint32_t    fNumObjects; | 
| -    Rec         fRecs[kMaxObjects]; | 
| +    size_t   fStorageUsed; | 
| +    uint32_t fNumObjects; | 
| +    Rec      fRecs[kMaxObjects]; | 
| }; | 
|  | 
| #endif // SkSmallAllocator_DEFINED | 
|  |