I see three different combinations of class data sharing here that does not work.
The combinations and reasons for them not working are:
1) Dump without compressed strings, run with them:
Using compressed strings prepends jre/lib/alt-string.jar to the boot classpath.
Dumped classpath and expected classpath differs.
2) Dump with compressed strings, run without them:
Same as 1), dumped and expected classpath differs.
Also has the same problem as 3).
3) Dump and run with compressed strings:
Not sure why this does not work, but on fastdebug builds of 6u33 and later trying to dump shared class data with compressed strings fails with the following assert:
# Internal Error (/BUILD_AREA/jdk6_33/hotspot/src/share/vm/memory/dump.cpp:89), pid=26383, tid=139893154334464
# assert(typeArrayKlass::cast(value->klass())->element_type() == T_CHAR) failed: compressed string
This means we are running in to code that is known to not work with compressed strings.