Hi Aleksey,
I guess, at least, this needs a CCC request.
I'm uncomfortable to support the change without knowing the history
behind the original implementation.
Does anyone know the reasons why current implementation was chosen in
the first place?
Are there any tools that depend on the current behavior?
Thanks,
Serguei
On 5/31/16 00:40, Aleksey Shipilev wrote:
Hi,
Please review a tiny fix in GetObjectSize:
https://bugs.openjdk.java.net/browse/JDK-8075030
http://cr.openjdk.java.net/~shade/8075030/webrev.01/
I think this is a leftover from Metaspace work.
For some reason, JvmtiEnv::GetObjectSize has a special case for
java.lang.Class: it returns the Klass* size, not the java.lang.Class
instance size. This is incorrect: Klass* is indeed referenced from
java.lang.Class.metadata field, but the instance size itself does not
depend on metadata size. This confuses Instrumentation.getObjectSize users.
Testing: new test; RBT, :hotspot_compiler, :hotspot_gc,
:hotspot_runtime, :hotspot_serviceability, :hotspot_misc,
:jdk_management, :jdk_instrument, :jdk_jmx, :jdk_jdi, :svc_tools.
Thanks,
-Aleksey