Current limit `high(int32)` is not safe for 32-bit platforms
and it will overflow (even when running its own test suite).
Similar behaviour would be when try to set limit to `high(int64)`
on 64-bit platforms.
This change selects safe maximum value based on platform
size of int. Safe maximum considered half of int size (for
backward compatiblity).