Even if -XX:SharedBaseAddress=0x900000000 is specified in the command-line, we always relocate the archive to the default value of SharedBaseAddress (as specified inside globals.hpp):
$ java -Xshare:dump -XX:SharedBaseAddress=0x900000000 -Xlog:cds=debug | grep 08000
[1.191s][debug][cds] Expanding shared spaces by 1048576 bytes [total 8388608 bytes ending at 0x900800000]
[1.590s][debug][cds] Relocating archive from [0x0000000900000000 - 0x0000000900b6f6f0 ] to [0x0000000800000000 - 0x0000000800b6f6f0 ]
[1.609s][debug][cds] Shared file region 0: 0x00006150 bytes, addr 0x0000000800000000 file offset 0x00001000
[1.609s][debug][cds] Shared file region 1: 0x00430230 bytes, addr 0x0000000800007000 file offset 0x00008000
[1.631s][debug][cds] mc space: 24912 [ 0.2% of total] out of 28672 bytes [ 86.9% used] at 0x0000000800000000
[1.631s][debug][cds] rw space: 4391472 [ 33.7% of total] out of 4395008 bytes [ 99.9% used] at 0x0000000800007000
This behavior was unintentionally introduced in JDK-8231610.