Kinda interesting same thing applies to JVM. But the JVM compresses the 64 bit pointers to get you up to 32GB if memory with 32 bit space. After that it reverts back to uncompressed, but with custom flags you can do intermediate compression up to 64GB.
https://www.baeldung.com/jvm-compressed-oops