InstanceKlass::signature_name currently returns the name in CP, i.e. "+" sign. JVM TI GetClassSignature calls this method to get the signature of a class. Hidden class should not appear in a field or method signature. Maybe GetClassSignature should return an error since there is no correct way to represent the hidden class' name in internal name.
"+" and hex number is appended to CP entry when the class is created. We should audit the code path if the name from CP entry will appear in any error message.