This way, we can throw OutOfMemoryErrors instead of crashing on allocation failures.
<rdar://problem/31098993>