> or integer types smaller than 32-bits
Java's got byte (8 bits) and short (16 bits)? (Still signed, though, of course.)
Unless those are actually padded to 32 bits in the VM or something.
Java's got byte (8 bits) and short (16 bits)? (Still signed, though, of course.)
Unless those are actually padded to 32 bits in the VM or something.
They are.
And since Java doesn't expose pointer guts, struct padding is purely a runtime optimization concern, not a language concern.
The `fast` typedefs are effectively programmer-opted-in to promotion to register size or something. But compiler optimizations often do the same thing on a per-operation level (signed overflow is UB, unsigned overflow masking can be deferred for addition/subtraction/multiplication and bitwise ops (though some can change the mask)).