_
_
The table contains ma_mask + 1 slots, and that's a power of 2. We store the mask instead of the size because the mask is more frequently needed.
_
ma_table points to ma_smalltable for small tables, else to additional malloc'ed memory. ma_table is never NULL! This rule saves repeated runtime null-tests in the workhorse getitem and setitem calls.
_