<html>
  <head>
    <meta content="text/html; charset=GB2312" http-equiv="Content-Type">
  </head>
  <body bgcolor="#FFFFFF" text="#000000">
    <div class="moz-cite-prefix">Hi Yunda,<br>
      <br>
      Is this related to CR 8005278?<br>
      <br>
      Thanks.<br>
      Tao<br>
      <br>
      On 1/17/13 6:42 PM, 云达 wrote:<br>
    </div>
    <blockquote
      cite="mid:F6ACE14573EC5F40AEA19AEB2F62E579012BA8@CNHZ-EXMAIL-04.ali.com"
      type="cite">
      <meta http-equiv="Content-Type" content="text/html;
        charset=GB2312">
      <style>
<!--
@font-face
        {font-family:宋体}
@font-face
        {font-family:宋体}
@font-face
        {font-family:Calibri}
@font-face
        {font-family:"\@宋体"}
p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0cm;
        margin-bottom:.0001pt;
        text-align:justify;
        text-justify:inter-ideograph;
        font-size:10.5pt;
        font-family:"Calibri","sans-serif"}
a:link, span.MsoHyperlink
        {color:blue;
        text-decoration:underline}
a:visited, span.MsoHyperlinkFollowed
        {color:purple;
        text-decoration:underline}
span.EmailStyle17
        {font-family:"Calibri","sans-serif";
        color:windowtext}
.MsoChpDefault
        {font-family:"Calibri","sans-serif"}
@page WordSection1
        {margin:72.0pt 90.0pt 72.0pt 90.0pt}
div.WordSection1
        {}
-->
</style>
      <div class="WordSection1">
        <p class="MsoNormal"><span lang="EN-US">Hi all,</span></p>
        <p class="MsoNormal"><span lang="EN-US">&nbsp;</span></p>
        <p class="MsoNormal"><span lang="EN-US">This is Yunda
            <a class="moz-txt-link-rfc2396E" href="mailto:yunda.mly@taobao.com">&lt;yunda.mly@taobao.com&gt;</a> from Alibaba Group(with OCA).</span></p>
        <p class="MsoNormal"><span lang="EN-US">&nbsp;</span></p>
        <p class="MsoNormal"><span lang="EN-US">When I used CLHSDB( java
            -classpath .:$JAVA_HOME/lib/sa-jdi.jar
            sun.jvm.hotspot.CLHSDB) I found two errors below(the second
            error occurred after I made some fix). It seemed that some
            code about CMS in SA didn’t change accordingly. </span></p>
        <p class="MsoNormal"><span lang="EN-US">hsdb&gt; universe</span></p>
        <p class="MsoNormal"><span lang="EN-US">Heap Parameters:</span></p>
        <p class="MsoNormal"><span lang="EN-US">Gen 0:&nbsp;&nbsp; eden
            [0x0000000609200000,0x00000006094aeb90,0x0000000611820000)
            space capacity = 140640256, 2.000007736049627 used</span></p>
        <p class="MsoNormal"><span lang="EN-US">&nbsp; from
            [0x0000000611820000,0x0000000611820000,0x00000006128e0000)
            space capacity = 17563648, 0.0 used</span></p>
        <p class="MsoNormal"><span lang="EN-US">&nbsp; to&nbsp;&nbsp;
            [0x00000006128e0000,0x00000006128e0000,0x00000006139a0000)
            space capacity = 17563648, 0.0 usedInvocations: 0</span></p>
        <p class="MsoNormal"><span lang="EN-US">&nbsp;</span></p>
        <p class="MsoNormal"><span lang="EN-US">Gen 1: concurrent
            mark-sweep generation</span></p>
        <p class="MsoNormal"><span lang="EN-US">Exception in thread
            "main" java.lang.ExceptionInInitializerError</span></p>
        <p class="MsoNormal"><span lang="EN-US">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at
            sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native
            Method)</span></p>
        <p class="MsoNormal"><span lang="EN-US">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at
sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57)</span></p>
        <p class="MsoNormal"><span lang="EN-US">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at
sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)</span></p>
        <p class="MsoNormal"><span lang="EN-US">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at
            java.lang.reflect.Constructor.newInstance(Constructor.java:395)</span></p>
        <p class="MsoNormal"><span lang="EN-US">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at
sun.jvm.hotspot.runtime.VMObjectFactory.newObject(VMObjectFactory.java:58)</span></p>
        <p class="MsoNormal"><span lang="EN-US">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at
sun.jvm.hotspot.memory.ConcurrentMarkSweepGeneration.cmsSpace(ConcurrentMarkSweepGeneration.java:55)</span></p>
        <p class="MsoNormal"><span lang="EN-US">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at
sun.jvm.hotspot.memory.ConcurrentMarkSweepGeneration.printOn(ConcurrentMarkSweepGeneration.java:79)</span></p>
        <p class="MsoNormal"><span lang="EN-US">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at
sun.jvm.hotspot.memory.GenCollectedHeap.printOn(GenCollectedHeap.java:139)</span></p>
        <p class="MsoNormal"><span lang="EN-US">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at
            sun.jvm.hotspot.CommandProcessor$48.doit(CommandProcessor.java:1605)</span></p>
        <p class="MsoNormal"><span lang="EN-US">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at
sun.jvm.hotspot.CommandProcessor.executeCommand(CommandProcessor.java:1897)</span></p>
        <p class="MsoNormal"><span lang="EN-US">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at
sun.jvm.hotspot.CommandProcessor.executeCommand(CommandProcessor.java:1867)</span></p>
        <p class="MsoNormal"><span lang="EN-US">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at
            sun.jvm.hotspot.CommandProcessor.run(CommandProcessor.java:1747)</span></p>
        <p class="MsoNormal"><span lang="EN-US">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at
            sun.jvm.hotspot.CLHSDB.run(CLHSDB.java:91)</span></p>
        <p class="MsoNormal"><span lang="EN-US">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at
            sun.jvm.hotspot.CLHSDB.main(CLHSDB.java:35)</span></p>
        <p class="MsoNormal"><span lang="EN-US">Caused by:
            java.lang.RuntimeException: field "_dictionary" not found in
            type CompactibleFreeListSpace</span></p>
        <p class="MsoNormal"><span lang="EN-US">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at
            sun.jvm.hotspot.types.basic.BasicType.getField(BasicType.java:183)</span></p>
        <p class="MsoNormal"><span lang="EN-US">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at
            sun.jvm.hotspot.types.basic.BasicType.getField(BasicType.java:190)</span></p>
        <p class="MsoNormal"><span lang="EN-US">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at
            sun.jvm.hotspot.types.basic.BasicType.getField(BasicType.java:194)</span></p>
        <p class="MsoNormal"><span lang="EN-US">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at
sun.jvm.hotspot.types.basic.BasicType.getAddressField(BasicType.java:282)</span></p>
        <p class="MsoNormal"><span lang="EN-US">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at
sun.jvm.hotspot.memory.CompactibleFreeListSpace.initialize(CompactibleFreeListSpace.java:69)</span></p>
        <p class="MsoNormal"><span lang="EN-US">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at
sun.jvm.hotspot.memory.CompactibleFreeListSpace.access$000(CompactibleFreeListSpace.java:35)</span></p>
        <p class="MsoNormal"><span lang="EN-US">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at
sun.jvm.hotspot.memory.CompactibleFreeListSpace$1.update(CompactibleFreeListSpace.java:55)</span></p>
        <p class="MsoNormal"><span lang="EN-US">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at
            sun.jvm.hotspot.runtime.VM.registerVMInitializedObserver(VM.java:402)</span></p>
        <p class="MsoNormal"><span lang="EN-US">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at
sun.jvm.hotspot.memory.CompactibleFreeListSpace.&lt;clinit&gt;(CompactibleFreeListSpace.java:53)</span></p>
        <p class="MsoNormal"><span lang="EN-US">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ... 14 more</span></p>
        <p class="MsoNormal"><span lang="EN-US">&nbsp;</span></p>
        <p class="MsoNormal"><span lang="EN-US">hsdb&gt; universe</span></p>
        <p class="MsoNormal"><span lang="EN-US">Heap Parameters:</span></p>
        <p class="MsoNormal"><span lang="EN-US">Gen 0:&nbsp;&nbsp; eden
            [0x0000000609200000,0x00000006094aeb90,0x0000000611820000)
            space capacity = 140640256, 2.000007736049627 used</span></p>
        <p class="MsoNormal"><span lang="EN-US">&nbsp; from
            [0x0000000611820000,0x0000000611820000,0x00000006128e0000)
            space capacity = 17563648, 0.0 used</span></p>
        <p class="MsoNormal"><span lang="EN-US">&nbsp; to&nbsp;&nbsp;
            [0x00000006128e0000,0x00000006128e0000,0x00000006139a0000)
            space capacity = 17563648, 0.0 usedInvocations: 0</span></p>
        <p class="MsoNormal"><span lang="EN-US">&nbsp;</span></p>
        <p class="MsoNormal"><span lang="EN-US">Gen 1: concurrent
            mark-sweep generation</span></p>
        <p class="MsoNormal"><span lang="EN-US">free-list-space[
            0x000000064cb90000 , 0x0000000661ad0000 ) Exception in
            thread "main" java.lang.ExceptionInInitializerError</span></p>
        <p class="MsoNormal"><span lang="EN-US">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at
sun.jvm.hotspot.memory.CompactibleFreeListSpace.free(CompactibleFreeListSpace.java:112)</span></p>
        <p class="MsoNormal"><span lang="EN-US">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at
sun.jvm.hotspot.memory.CompactibleFreeListSpace.used(CompactibleFreeListSpace.java:95)</span></p>
        <p class="MsoNormal"><span lang="EN-US">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at
sun.jvm.hotspot.memory.CompactibleFreeListSpace.printOn(CompactibleFreeListSpace.java:137)</span></p>
        <p class="MsoNormal"><span lang="EN-US">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at
sun.jvm.hotspot.memory.ConcurrentMarkSweepGeneration.printOn(ConcurrentMarkSweepGeneration.java:79)</span></p>
        <p class="MsoNormal"><span lang="EN-US">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at
sun.jvm.hotspot.memory.GenCollectedHeap.printOn(GenCollectedHeap.java:139)</span></p>
        <p class="MsoNormal"><span lang="EN-US">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at
            sun.jvm.hotspot.CommandProcessor$48.doit(CommandProcessor.java:1605)</span></p>
        <p class="MsoNormal"><span lang="EN-US">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at
sun.jvm.hotspot.CommandProcessor.executeCommand(CommandProcessor.java:1897)</span></p>
        <p class="MsoNormal"><span lang="EN-US">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at
sun.jvm.hotspot.CommandProcessor.executeCommand(CommandProcessor.java:1867)</span></p>
        <p class="MsoNormal"><span lang="EN-US">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at
            sun.jvm.hotspot.CommandProcessor.run(CommandProcessor.java:1747)</span></p>
        <p class="MsoNormal"><span lang="EN-US">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at
            sun.jvm.hotspot.CLHSDB.run(CLHSDB.java:91)</span></p>
        <p class="MsoNormal"><span lang="EN-US">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at
            sun.jvm.hotspot.CLHSDB.main(CLHSDB.java:35)</span></p>
        <p class="MsoNormal"><span lang="EN-US">Caused by:
            java.lang.RuntimeException: No type named "FreeList" in
            database</span></p>
        <p class="MsoNormal"><span lang="EN-US">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at
sun.jvm.hotspot.types.basic.BasicTypeDataBase.lookupType(BasicTypeDataBase.java:80)</span></p>
        <p class="MsoNormal"><span lang="EN-US">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at
sun.jvm.hotspot.HotSpotTypeDataBase.lookupType(HotSpotTypeDataBase.java:134)</span></p>
        <p class="MsoNormal"><span lang="EN-US">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at
sun.jvm.hotspot.types.basic.BasicTypeDataBase.lookupType(BasicTypeDataBase.java:74)</span></p>
        <p class="MsoNormal"><span lang="EN-US">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at
            sun.jvm.hotspot.memory.FreeList.initialize(FreeList.java:44)</span></p>
        <p class="MsoNormal"><span lang="EN-US">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at
            sun.jvm.hotspot.memory.FreeList.access$000(FreeList.java:34)</span></p>
        <p class="MsoNormal"><span lang="EN-US">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at
            sun.jvm.hotspot.memory.FreeList$1.update(FreeList.java:38)</span></p>
        <p class="MsoNormal"><span lang="EN-US">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at
            sun.jvm.hotspot.runtime.VM.registerVMInitializedObserver(VM.java:402)</span></p>
        <p class="MsoNormal"><span lang="EN-US">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at
            sun.jvm.hotspot.memory.FreeList.&lt;clinit&gt;(FreeList.java:36)</span></p>
        <p class="MsoNormal"><span lang="EN-US">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ... 11 more</span></p>
        <p class="MsoNormal"><span lang="EN-US">&nbsp;</span></p>
        <p class="MsoNormal"><span lang="EN-US">So I made a patch to fix
            them and now “universe” command works well. Could someone
            help to review the patch below?
          </span></p>
        <p class="MsoNormal"><span lang="EN-US">&nbsp;</span></p>
        <p class="MsoNormal"><span lang="EN-US">diff -r b14da2e6f2dc -r
            8652e04889a4
agent/src/share/classes/sun/jvm/hotspot/memory/AFLBinaryTreeDictionary.java</span></p>
        <p class="MsoNormal"><span lang="EN-US">--- /dev/null&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Thu
            Jan 01 00:00:00 1970 +0000</span></p>
        <p class="MsoNormal"><span lang="EN-US">+++
            b/agent/src/share/classes/sun/jvm/hotspot/memory/AFLBinaryTreeDictionary.java&nbsp;&nbsp;
            Fri Jan 18 09:56:06 2013 +0800</span></p>
        <p class="MsoNormal"><span lang="EN-US">@@ -0,0 +1,59 @@</span></p>
        <p class="MsoNormal"><span lang="EN-US">+/*</span></p>
        <p class="MsoNormal"><span lang="EN-US">+ *
            @(#)AFLBinaryTreeDictionary.java</span></p>
        <p class="MsoNormal"><span lang="EN-US">+ * Copyright (c) 2000,
            2008, Oracle and/or its affiliates. All rights reserved.</span></p>
        <p class="MsoNormal"><span lang="EN-US">+ * DO NOT ALTER OR
            REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.</span></p>
        <p class="MsoNormal"><span lang="EN-US">+ *</span></p>
        <p class="MsoNormal"><span lang="EN-US">+ * This code is free
            software; you can redistribute it and/or modify it</span></p>
        <p class="MsoNormal"><span lang="EN-US">+ * under the terms of
            the GNU General Public License version 2 only, as</span></p>
        <p class="MsoNormal"><span lang="EN-US">+ * published by the
            Free Software Foundation.</span></p>
        <p class="MsoNormal"><span lang="EN-US">+ *</span></p>
        <p class="MsoNormal"><span lang="EN-US">+ * This code is
            distributed in the hope that it will be useful, but WITHOUT</span></p>
        <p class="MsoNormal"><span lang="EN-US">+ * ANY WARRANTY;
            without even the implied warranty of MERCHANTABILITY or</span></p>
        <p class="MsoNormal"><span lang="EN-US">+ * FITNESS FOR A
            PARTICULAR PURPOSE.&nbsp; See the GNU General Public License</span></p>
        <p class="MsoNormal"><span lang="EN-US">+ * version 2 for more
            details (a copy is included in the LICENSE file that</span></p>
        <p class="MsoNormal"><span lang="EN-US">+ * accompanied this
            code).</span></p>
        <p class="MsoNormal"><span lang="EN-US">+ *</span></p>
        <p class="MsoNormal"><span lang="EN-US">+ * You should have
            received a copy of the GNU General Public License version</span></p>
        <p class="MsoNormal"><span lang="EN-US">+ * 2 along with this
            work; if not, write to the Free Software Foundation,</span></p>
        <p class="MsoNormal"><span lang="EN-US">+ * Inc., 51 Franklin
            St, Fifth Floor, Boston, MA 02110-1301 USA.</span></p>
        <p class="MsoNormal"><span lang="EN-US">+ *</span></p>
        <p class="MsoNormal"><span lang="EN-US">+ * Please contact
            Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA</span></p>
        <p class="MsoNormal"><span lang="EN-US">+ * or visit
            <a class="moz-txt-link-abbreviated" href="http://www.oracle.com">www.oracle.com</a> if you need additional information or have
            any</span></p>
        <p class="MsoNormal"><span lang="EN-US">+ * questions.</span></p>
        <p class="MsoNormal"><span lang="EN-US">+ *</span></p>
        <p class="MsoNormal"><span lang="EN-US">+ */</span></p>
        <p class="MsoNormal"><span lang="EN-US">+</span></p>
        <p class="MsoNormal"><span lang="EN-US">+package
            sun.jvm.hotspot.memory;</span></p>
        <p class="MsoNormal"><span lang="EN-US">+</span></p>
        <p class="MsoNormal"><span lang="EN-US">+import java.util.*;</span></p>
        <p class="MsoNormal"><span lang="EN-US">+import
            sun.jvm.hotspot.debugger.*;</span></p>
        <p class="MsoNormal"><span lang="EN-US">+import
            sun.jvm.hotspot.types.*;</span></p>
        <p class="MsoNormal"><span lang="EN-US">+import
            sun.jvm.hotspot.runtime.*;</span></p>
        <p class="MsoNormal"><span lang="EN-US">+</span></p>
        <p class="MsoNormal"><span lang="EN-US">+public class
            AFLBinaryTreeDictionary extends VMObject {</span></p>
        <p class="MsoNormal"><span lang="EN-US">+&nbsp;&nbsp; static {</span></p>
        <p class="MsoNormal"><span lang="EN-US">+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
            VM.registerVMInitializedObserver(new Observer() {</span></p>
        <p class="MsoNormal"><span lang="EN-US">+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; public void
            update(Observable o, Object data) {</span></p>
        <p class="MsoNormal"><span lang="EN-US">+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
            initialize(VM.getVM().getTypeDataBase());</span></p>
        <p class="MsoNormal"><span lang="EN-US">+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }</span></p>
        <p class="MsoNormal"><span lang="EN-US">+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; });</span></p>
        <p class="MsoNormal"><span lang="EN-US">+&nbsp;&nbsp; }</span></p>
        <p class="MsoNormal"><span lang="EN-US">+</span></p>
        <p class="MsoNormal"><span lang="EN-US">+&nbsp;&nbsp; private static
            synchronized void initialize(TypeDataBase db) {</span></p>
        <p class="MsoNormal"><span lang="EN-US">+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Type type =
            db.lookupType("AFLBinaryTreeDictionary");</span></p>
        <p class="MsoNormal"><span lang="EN-US">+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; totalSizeField =
            type.getCIntegerField("_total_size");</span></p>
        <p class="MsoNormal"><span lang="EN-US">+&nbsp;&nbsp; }</span></p>
        <p class="MsoNormal"><span lang="EN-US">+</span></p>
        <p class="MsoNormal"><span lang="EN-US">+&nbsp;&nbsp; // Fields</span></p>
        <p class="MsoNormal"><span lang="EN-US">+&nbsp;&nbsp; private static
            CIntegerField totalSizeField;</span></p>
        <p class="MsoNormal"><span lang="EN-US">+</span></p>
        <p class="MsoNormal"><span lang="EN-US">+&nbsp;&nbsp; // Accessors</span></p>
        <p class="MsoNormal"><span lang="EN-US">+&nbsp;&nbsp; public long size() {</span></p>
        <p class="MsoNormal"><span lang="EN-US">+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return
            totalSizeField.getValue(addr);</span></p>
        <p class="MsoNormal"><span lang="EN-US">+&nbsp;&nbsp; }</span></p>
        <p class="MsoNormal"><span lang="EN-US">+</span></p>
        <p class="MsoNormal"><span lang="EN-US">+&nbsp;&nbsp; // Constructor</span></p>
        <p class="MsoNormal"><span lang="EN-US">+&nbsp;&nbsp; public
            AFLBinaryTreeDictionary(Address addr) {</span></p>
        <p class="MsoNormal"><span lang="EN-US">+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; super(addr);</span></p>
        <p class="MsoNormal"><span lang="EN-US">+&nbsp;&nbsp; }</span></p>
        <p class="MsoNormal"><span lang="EN-US">+}</span></p>
        <p class="MsoNormal"><span lang="EN-US">diff -r b14da2e6f2dc -r
            8652e04889a4
            agent/src/share/classes/sun/jvm/hotspot/memory/BinaryTreeDictionary.java</span></p>
        <p class="MsoNormal"><span lang="EN-US">---
            a/agent/src/share/classes/sun/jvm/hotspot/memory/BinaryTreeDictionary.java&nbsp;&nbsp;
            Thu Jan 17 13:40:31 2013 -0500</span></p>
        <p class="MsoNormal"><span lang="EN-US">+++ /dev/null&nbsp;&nbsp; Thu Jan
            01 00:00:00 1970 +0000</span></p>
        <p class="MsoNormal"><span lang="EN-US">@@ -1,59 +0,0 @@</span></p>
        <p class="MsoNormal"><span lang="EN-US">-/*</span></p>
        <p class="MsoNormal"><span lang="EN-US">- *
            @(#)BinaryTreeDictionary.java</span></p>
        <p class="MsoNormal"><span lang="EN-US">- * Copyright (c) 2000,
            2008, Oracle and/or its affiliates. All rights reserved.</span></p>
        <p class="MsoNormal"><span lang="EN-US">- * DO NOT ALTER OR
            REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.</span></p>
        <p class="MsoNormal"><span lang="EN-US">- *</span></p>
        <p class="MsoNormal"><span lang="EN-US">- * This code is free
            software; you can redistribute it and/or modify it</span></p>
        <p class="MsoNormal"><span lang="EN-US">- * under the terms of
            the GNU General Public License version 2 only, as</span></p>
        <p class="MsoNormal"><span lang="EN-US">- * published by the
            Free Software Foundation.</span></p>
        <p class="MsoNormal"><span lang="EN-US">- *</span></p>
        <p class="MsoNormal"><span lang="EN-US">- * This code is
            distributed in the hope that it will be useful, but WITHOUT</span></p>
        <p class="MsoNormal"><span lang="EN-US">- * ANY WARRANTY;
            without even the implied warranty of MERCHANTABILITY or</span></p>
        <p class="MsoNormal"><span lang="EN-US">- * FITNESS FOR A
            PARTICULAR PURPOSE.&nbsp; See the GNU General Public License</span></p>
        <p class="MsoNormal"><span lang="EN-US">- * version 2 for more
            details (a copy is included in the LICENSE file that</span></p>
        <p class="MsoNormal"><span lang="EN-US">- * accompanied this
            code).</span></p>
        <p class="MsoNormal"><span lang="EN-US">- *</span></p>
        <p class="MsoNormal"><span lang="EN-US">- * You should have
            received a copy of the GNU General Public License version</span></p>
        <p class="MsoNormal"><span lang="EN-US">- * 2 along with this
            work; if not, write to the Free Software Foundation,</span></p>
        <p class="MsoNormal"><span lang="EN-US">- * Inc., 51 Franklin
            St, Fifth Floor, Boston, MA 02110-1301 USA.</span></p>
        <p class="MsoNormal"><span lang="EN-US">- *</span></p>
        <p class="MsoNormal"><span lang="EN-US">- * Please contact
            Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA</span></p>
        <p class="MsoNormal"><span lang="EN-US">- * or visit
            <a class="moz-txt-link-abbreviated" href="http://www.oracle.com">www.oracle.com</a> if you need additional information or have
            any</span></p>
        <p class="MsoNormal"><span lang="EN-US">- * questions.</span></p>
        <p class="MsoNormal"><span lang="EN-US">- *</span></p>
        <p class="MsoNormal"><span lang="EN-US">- */</span></p>
        <p class="MsoNormal"><span lang="EN-US">-</span></p>
        <p class="MsoNormal"><span lang="EN-US">-package
            sun.jvm.hotspot.memory;</span></p>
        <p class="MsoNormal"><span lang="EN-US">-</span></p>
        <p class="MsoNormal"><span lang="EN-US">-import java.util.*;</span></p>
        <p class="MsoNormal"><span lang="EN-US">-import
            sun.jvm.hotspot.debugger.*;</span></p>
        <p class="MsoNormal"><span lang="EN-US">-import
            sun.jvm.hotspot.types.*;</span></p>
        <p class="MsoNormal"><span lang="EN-US">-import
            sun.jvm.hotspot.runtime.*;</span></p>
        <p class="MsoNormal"><span lang="EN-US">-</span></p>
        <p class="MsoNormal"><span lang="EN-US">-public class
            BinaryTreeDictionary extends VMObject {</span></p>
        <p class="MsoNormal"><span lang="EN-US">-&nbsp;&nbsp; static {</span></p>
        <p class="MsoNormal"><span lang="EN-US">-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
            VM.registerVMInitializedObserver(new Observer() {</span></p>
        <p class="MsoNormal"><span lang="EN-US">-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; public void
            update(Observable o, Object data) {</span></p>
        <p class="MsoNormal"><span lang="EN-US">-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
            initialize(VM.getVM().getTypeDataBase());</span></p>
        <p class="MsoNormal"><span lang="EN-US">-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }</span></p>
        <p class="MsoNormal"><span lang="EN-US">-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; });</span></p>
        <p class="MsoNormal"><span lang="EN-US">-&nbsp;&nbsp; }</span></p>
        <p class="MsoNormal"><span lang="EN-US">-</span></p>
        <p class="MsoNormal"><span lang="EN-US">-&nbsp;&nbsp; private static
            synchronized void initialize(TypeDataBase db) {</span></p>
        <p class="MsoNormal"><span lang="EN-US">-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Type type =
            db.lookupType("BinaryTreeDictionary");</span></p>
        <p class="MsoNormal"><span lang="EN-US">-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; totalSizeField =
            type.getCIntegerField("_totalSize");</span></p>
        <p class="MsoNormal"><span lang="EN-US">-&nbsp;&nbsp; }</span></p>
        <p class="MsoNormal"><span lang="EN-US">-</span></p>
        <p class="MsoNormal"><span lang="EN-US">-&nbsp;&nbsp; // Fields</span></p>
        <p class="MsoNormal"><span lang="EN-US">-&nbsp;&nbsp; private static
            CIntegerField totalSizeField;</span></p>
        <p class="MsoNormal"><span lang="EN-US">-</span></p>
        <p class="MsoNormal"><span lang="EN-US">-&nbsp;&nbsp; // Accessors</span></p>
        <p class="MsoNormal"><span lang="EN-US">-&nbsp;&nbsp; public long size() {</span></p>
        <p class="MsoNormal"><span lang="EN-US">-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return
            totalSizeField.getValue(addr);</span></p>
        <p class="MsoNormal"><span lang="EN-US">-&nbsp;&nbsp; }</span></p>
        <p class="MsoNormal"><span lang="EN-US">-</span></p>
        <p class="MsoNormal"><span lang="EN-US">-&nbsp;&nbsp; // Constructor</span></p>
        <p class="MsoNormal"><span lang="EN-US">-&nbsp;&nbsp; public
            BinaryTreeDictionary(Address addr) {</span></p>
        <p class="MsoNormal"><span lang="EN-US">-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; super(addr);</span></p>
        <p class="MsoNormal"><span lang="EN-US">-&nbsp;&nbsp; }</span></p>
        <p class="MsoNormal"><span lang="EN-US">-}</span></p>
        <p class="MsoNormal"><span lang="EN-US">diff -r b14da2e6f2dc -r
            8652e04889a4
agent/src/share/classes/sun/jvm/hotspot/memory/CompactibleFreeListSpace.java</span></p>
        <p class="MsoNormal"><span lang="EN-US">---
            a/agent/src/share/classes/sun/jvm/hotspot/memory/CompactibleFreeListSpace.java&nbsp;
            Thu Jan 17 13:40:31 2013 -0500</span></p>
        <p class="MsoNormal"><span lang="EN-US">+++
            b/agent/src/share/classes/sun/jvm/hotspot/memory/CompactibleFreeListSpace.java&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
            Fri Jan 18 09:56:06 2013 +0800</span></p>
        <p class="MsoNormal"><span lang="EN-US">@@ -117,7 +117,7 @@</span></p>
        <p class="MsoNormal"><span lang="EN-US">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }</span></p>
        <p class="MsoNormal"><span lang="EN-US"></span></p>
        <p class="MsoNormal"><span lang="EN-US">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;// large block</span></p>
        <p class="MsoNormal"><span lang="EN-US">-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
            BinaryTreeDictionary bfbd = (BinaryTreeDictionary)
            VMObjectFactory.newObject(BinaryTreeDictionary.class,</span></p>
        <p class="MsoNormal"><span lang="EN-US">+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
            AFLBinaryTreeDictionary bfbd = (AFLBinaryTreeDictionary)
            VMObjectFactory.newObject(AFLBinaryTreeDictionary.class,</span></p>
        <p class="MsoNormal"><span lang="EN-US">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
            dictionaryField.getValue(addr));</span></p>
        <p class="MsoNormal"><span lang="EN-US">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; size +=
            bfbd.size();</span></p>
        <p class="MsoNormal"><span lang="EN-US"></span></p>
        <p class="MsoNormal"><span lang="EN-US">diff -r b14da2e6f2dc -r
            8652e04889a4
            agent/src/share/classes/sun/jvm/hotspot/memory/FreeList.java</span></p>
        <p class="MsoNormal"><span lang="EN-US">---
            a/agent/src/share/classes/sun/jvm/hotspot/memory/FreeList.java&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
            Thu Jan 17 13:40:31 2013 -0500</span></p>
        <p class="MsoNormal"><span lang="EN-US">+++
            b/agent/src/share/classes/sun/jvm/hotspot/memory/FreeList.java&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
            Fri Jan 18 09:56:06 2013 +0800</span></p>
        <p class="MsoNormal"><span lang="EN-US">@@ -41,7 +41,7 @@</span></p>
        <p class="MsoNormal"><span lang="EN-US">&nbsp;&nbsp;&nbsp; }</span></p>
        <p class="MsoNormal"><span lang="EN-US"></span></p>
        <p class="MsoNormal"><span lang="EN-US">&nbsp;&nbsp;&nbsp;&nbsp;private static
            synchronized void initialize(TypeDataBase db) {</span></p>
        <p class="MsoNormal"><span lang="EN-US">-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Type type =
            db.lookupType("FreeList");</span></p>
        <p class="MsoNormal"><span lang="EN-US">+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Type type =
            db.lookupType("FreeList&lt;FreeChunk&gt;");</span></p>
        <p class="MsoNormal"><span lang="EN-US">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; sizeField =
            type.getCIntegerField("_size");</span></p>
        <p class="MsoNormal"><span lang="EN-US">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; countField =
            type.getCIntegerField("_count");</span></p>
        <p class="MsoNormal"><span lang="EN-US">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; headerSize =
            type.getSize();</span></p>
        <p class="MsoNormal"><span lang="EN-US">diff -r b14da2e6f2dc -r
            8652e04889a4
            src/share/vm/gc_implementation/concurrentMarkSweep/vmStructs_cms.hpp</span></p>
        <p class="MsoNormal"><span lang="EN-US">---
            a/src/share/vm/gc_implementation/concurrentMarkSweep/vmStructs_cms.hpp&nbsp;
            Thu Jan 17 13:40:31 2013 -0500</span></p>
        <p class="MsoNormal"><span lang="EN-US">+++
            b/src/share/vm/gc_implementation/concurrentMarkSweep/vmStructs_cms.hpp&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
            Fri Jan 18 09:56:06 2013 +0800</span></p>
        <p class="MsoNormal"><span lang="EN-US">@@ -43,7 +43,8 @@</span></p>
        <p class="MsoNormal"><span lang="EN-US">&nbsp;&nbsp;
            nonstatic_field(LinearAllocBlock,&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
            &nbsp;&nbsp;_word_size,&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
            size_t)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; \</span></p>
        <p class="MsoNormal"><span lang="EN-US">&nbsp;&nbsp;
            nonstatic_field(AFLBinaryTreeDictionary,&nbsp;&nbsp;&nbsp;&nbsp;
            _total_size,&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
            size_t)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; \</span></p>
        <p class="MsoNormal"><span lang="EN-US">&nbsp;&nbsp;
            nonstatic_field(CompactibleFreeListSpace,&nbsp;&nbsp;&nbsp;
            _indexedFreeList[0],&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
            FreeList&lt;FreeChunk&gt;)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; \</span></p>
        <p class="MsoNormal"><span lang="EN-US">-&nbsp;
            nonstatic_field(CompactibleFreeListSpace,&nbsp;&nbsp;&nbsp;
            _smallLinearAllocBlock,&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
            LinearAllocBlock)</span></p>
        <p class="MsoNormal"><span lang="EN-US">+&nbsp;
            nonstatic_field(CompactibleFreeListSpace,&nbsp;&nbsp;&nbsp;
            _smallLinearAllocBlock,&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
            LinearAllocBlock)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; \</span></p>
        <p class="MsoNormal"><span lang="EN-US">+&nbsp;
            nonstatic_field(CompactibleFreeListSpace,&nbsp;&nbsp;&nbsp;
            _dictionary,&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
            FreeBlockDictionary&lt;FreeChunk&gt;*)</span></p>
        <p class="MsoNormal"><span lang="EN-US"></span></p>
        <p class="MsoNormal"><span lang="EN-US">&nbsp;</span></p>
        <p class="MsoNormal"><span lang="EN-US">&nbsp;#define
            VM_TYPES_CMS(declare_type,&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
            \</span></p>
        <p class="MsoNormal"><span lang="EN-US">&nbsp;</span></p>
        <p class="MsoNormal"><span lang="EN-US">&nbsp;</span></p>
        <p class="MsoNormal"><span lang="EN-US">Regards,</span></p>
        <p class="MsoNormal"><span lang="EN-US">Yunda</span></p>
      </div>
      <br>
      <hr>
      <font color="Gray" face="Arial" size="1"><br>
        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.<br>
        <br>
        本电邮(包括任何附件)可能含有机密资料并受法律保护。如您不是正确的收件人,请您立即删除本邮件。请不要将本电邮进行复制并用作任何其
        他用途、或透露本邮件之内容。谢谢。<br>
      </font>
    </blockquote>
    <br>
  </body>
</html>