[prev in list] [next in list] [prev in thread] [next in thread] 

List:       openjdk-serviceability-dev
Subject:    RFR (S) 8075030: JvmtiEnv::GetObjectSize reports incorrect java.lang.Class instance size
From:       Aleksey Shipilev <aleksey.shipilev () oracle ! com>
Date:       2016-05-31 7:40:50
Message-ID: 574D4002.8070102 () oracle ! com
[Download RAW message or body]

[Attachment #2 (multipart/mixed)]


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 user=
s.

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


["signature.asc" (application/pgp-signature)]

[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic