[PATCH] typeToVtbl of BasicTypeDataBase should not be static

云达(Yunda) yunda.mly at taobao.com
Tue Mar 19 18:48:02 PDT 2013


Coleen,

Thanks for reviewing my two pathches!

Regards,
Yunda

From: hotspot-runtime-dev-bounces at openjdk.java.net [mailto:hotspot-runtime-dev-bounces at openjdk.java.net] On Behalf Of Coleen Phillmore
Sent: Tuesday, March 19, 2013 10:11 PM
To: hotspot-runtime-dev at openjdk.java.net
Subject: Re: [PATCH] typeToVtbl of BasicTypeDataBase should not be static


I looked at this week and this looks good.
coleen
On 3/19/2013 3:45 AM, 云达(Yunda) wrote:
cc'ing hotspot-runtime for an official Review.

Regards,
Yunda

From: Staffan Larsen [mailto:staffan.larsen at oracle.com]
Sent: Tuesday, March 05, 2013 9:18 PM
To: 云达(Yunda)
Cc: serviceability-dev at openjdk.java.net<mailto:serviceability-dev at openjdk.java.net>
Subject: Re: [PATCH] typeToVtbl of BasicTypeDataBase should not be static

Yunda,

Thanks for the patch. I have created issue JDK-8009456 to track this and can sponsor the fix as soon as we get a Review of the fix.

/Staffan

On 28 feb 2013, at 04:59, 云达(Yunda) <yunda.mly at taobao.com<mailto:yunda.mly at taobao.com>> wrote:



Hi all,

I found that when I detached a java process and attached another java process, the “universe” command of CLHSDB didn’t show the right information. But when I restarted CLHSDB and attached to the same process the problem disappeared:

hsdb> attach 29211
Attaching to process 29211, please wait...
hsdb> universe
Heap Parameters:
ParallelScavengeHeap [ PSYoungGen [ eden =  [0x00000000ee200000,0x00000000ee289aa8,0x00000000eef70000] , from =  [0x00000000ef1a0000,0x00000000ef1a0000,0x00000000ef3d0000] , to =  [0x00000000eef70000,0x00000000eef70000,0x00000000ef1a0000]  ] PSOldGen [  [0x00000000ca600000,0x00000000ca600000,0x00000000cc9c0000]  ]  ] hsdb>
hsdb> detach
hsdb> attach 29887
Attaching to process 29887, please wait...
hsdb> universe
Heap Parameters:
unknown subtype of CollectedHeap @ 0x0000000000d56fb0 (0x00000000ca600000,0x0000000100000000)
hsdb> quit
[~]$ java -cp .:$JAVA_HOME/lib/sa-jdi.jar sun.jvm.hotspot.CLHSDB
hsdb> attach 29887
Attaching to process 29887, please wait...
hsdb> universe
Heap Parameters:
ParallelScavengeHeap [ PSYoungGen [ eden =  [0x00000000ee200000,0x00000000ee289a68,0x00000000eef70000] , from =  [0x00000000ef1a0000,0x00000000ef1a0000,0x00000000ef3d0000] , to =  [0x00000000eef70000,0x00000000eef70000,0x00000000ef1a0000]  ] PSOldGen [  [0x00000000ca600000,0x00000000ca600000,0x00000000cc9c0000]  ]  ] hsdb>

I think it’s caused by the wrong definition of “typeToVtbl” field of BasicTypeDataBase. Since typeToVtbl should be recreated every time SA attaches to a new process, it should not be static. So I made a small patch fo fix it:

diff -r ec2eddfed950 agent/src/share/classes/sun/jvm/hotspot/types/basic/BasicTypeDataBase.java
--- a/agent/src/share/classes/sun/jvm/hotspot/types/basic/BasicTypeDataBase.java     Tue Feb 26 14:09:52 2013 +0100
+++ b/agent/src/share/classes/sun/jvm/hotspot/types/basic/BasicTypeDataBase.java  Thu Feb 28 11:57:55 2013 +0800
@@ -150,7 +150,7 @@
     return VM.getVM().getOopSize();
   }
-  static HashMap typeToVtbl = new HashMap();
+  private HashMap typeToVtbl = new HashMap();
   private Address vtblForType(Type type) {
     Address vtblAddr = (Address)typeToVtbl.get(type);


After applying this patch, the problem I mentioned above disappeared.

Regards,
Yunda


________________________________

This email (including any attachments) is confidential and may be legally privileged. If you received this email in error, please delete it immediately and do not copy it or use it for any purpose or disclose its contents to any other person. Thank you.

本电邮(包括任何附件)可能含有机密资料并受法律保护。如您 不是正确的收件人,请您立即删除本邮件。请不要将本电邮进行复制并用作任何其他用途、或透露本邮件之内容。谢 谢。



________________________________

This email (including any attachments) is confidential and may be legally privileged. If you received this email in error, please delete it immediately and do not copy it or use it for any purpose or disclose its contents to any other person. Thank you.

本电邮(包括任何附件)可能含有机密资料并受法律保护。如您不是正确的收件人,请您立即删除本邮件。请不要将本电邮进行复制并用作任何其他用途、或透露本邮件之内容。谢谢。
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://mail.openjdk.java.net/pipermail/hotspot-runtime-dev/attachments/20130320/9ca4cc90/attachment-0001.html 


More information about the hotspot-runtime-dev mailing list