>>> Net footprint change is zero except that these fields are in Java heap >>> rather than metaspace. This helps a little with InstanceKlass size >>> which is in fixed size space with UseCompressedKlassPointers. Included >>> serviceability because there were SA changes to code that I don't know >>> is used. >> >> Unsure about the SA changes. Basically you just removed access to the pd and >> signers, rather than changing it to allow access via the new path. That said >> I don't know SA so don't know whether it makes sense for SA to access things >> that are logically part of java.lang.Class; or whether it can access them >> more directly anyway because they are logically part of java.lang.Class. >> > > I did remove these from instanceKlass. It doesn't appear in the SA that it > digs into the java mirror so there was nowhere to put these fields. The > code that I took out was in places that may not be used and may be bit > rotted. I added serviceability team to the review request so someone could > comment. I already asked Staffan about this.
Reading this in more detail, I'm a little worried about the change in hprof output. The change in HeapHprofBinWriter actually breaks the hprof binary format, leading to unparseable files. Granted, this is hprof output when invoked either in SA or with "jmap -F" so it won't be used by very many people and I can't find any tests that do this. I think we need to find a way to add this information back. /Staffan