6670684: 4/5 SA command universe did not print out CMS space information

Fri, 09 May 2008 08:55:13 -0700

author
dcubed
date
Fri, 09 May 2008 08:55:13 -0700
changeset 587
c70a245cad3a
parent 518
d3cd40645d0d
child 588
6ab92ec09f70

6670684: 4/5 SA command universe did not print out CMS space information
Summary: Forward port of Yumin's fix for 6670684 from HSX-11; Yumin verified the port was correct.
Reviewed-by: dcubed

agent/make/Makefile file | annotate | diff | comparison | revisions
agent/src/share/classes/sun/jvm/hotspot/HSDB.java file | annotate | diff | comparison | revisions
agent/src/share/classes/sun/jvm/hotspot/SALauncherLoader.java file | annotate | diff | comparison | revisions
agent/src/share/classes/sun/jvm/hotspot/bugspot/Main.java file | annotate | diff | comparison | revisions
agent/src/share/classes/sun/jvm/hotspot/jdi/SAJDIClassLoader.java file | annotate | diff | comparison | revisions
agent/src/share/classes/sun/jvm/hotspot/memory/BinaryTreeDictionary.java file | annotate | diff | comparison | revisions
agent/src/share/classes/sun/jvm/hotspot/memory/CompactibleFreeListSpace.java file | annotate | diff | comparison | revisions
agent/src/share/classes/sun/jvm/hotspot/memory/DefNewGeneration.java file | annotate | diff | comparison | revisions
agent/src/share/classes/sun/jvm/hotspot/memory/FreeList.java file | annotate | diff | comparison | revisions
agent/src/share/classes/sun/jvm/hotspot/memory/LinearAllocBlock.java file | annotate | diff | comparison | revisions
agent/src/share/classes/sun/jvm/hotspot/ui/AnnotatedMemoryPanel.java file | annotate | diff | comparison | revisions
agent/src/share/classes/sun/jvm/hotspot/ui/CommandProcessorPanel.java file | annotate | diff | comparison | revisions
agent/src/share/classes/sun/jvm/hotspot/ui/DebuggerConsolePanel.java file | annotate | diff | comparison | revisions
agent/src/share/classes/sun/jvm/hotspot/ui/HighPrecisionJScrollBar.java file | annotate | diff | comparison | revisions
agent/src/share/classes/sun/jvm/hotspot/ui/JFrameWrapper.java file | annotate | diff | comparison | revisions
agent/src/share/classes/sun/jvm/hotspot/ui/treetable/JTreeTable.java file | annotate | diff | comparison | revisions
src/share/vm/gc_implementation/concurrentMarkSweep/binaryTreeDictionary.hpp file | annotate | diff | comparison | revisions
src/share/vm/gc_implementation/concurrentMarkSweep/freeList.hpp file | annotate | diff | comparison | revisions
src/share/vm/gc_implementation/concurrentMarkSweep/vmStructs_cms.hpp file | annotate | diff | comparison | revisions
src/share/vm/runtime/vmStructs.cpp file | annotate | diff | comparison | revisions
     1.1 --- a/agent/make/Makefile	Tue Apr 01 16:14:18 2008 -0700
     1.2 +++ b/agent/make/Makefile	Fri May 09 08:55:13 2008 -0700
     1.3 @@ -246,16 +246,16 @@
     1.4  all: filelist
     1.5  	@mkdir -p $(OUTPUT_DIR)
     1.6  	@echo "$(SA_BUILD_VERSION_PROP)" > $(SA_PROPERTIES)
     1.7 -	@javac -source 1.4 -classpath $(CLASSPATH) -deprecation -sourcepath $(SRC_DIR) -g -d $(OUTPUT_DIR) @filelist
     1.8 -	@rmic -classpath $(OUTPUT_DIR) -d $(OUTPUT_DIR) sun.jvm.hotspot.debugger.remote.RemoteDebuggerServer
     1.9 +	@${JDK_HOME}/bin/javac -source 1.4 -classpath $(CLASSPATH) -deprecation -sourcepath $(SRC_DIR) -g -d $(OUTPUT_DIR) @filelist
    1.10 +	@${JDK_HOME}/bin/rmic -classpath $(OUTPUT_DIR) -d $(OUTPUT_DIR) sun.jvm.hotspot.debugger.remote.RemoteDebuggerServer
    1.11  	rm -f $(OUTPUT_DIR)/sun/jvm/hotspot/utilities/soql/sa.js
    1.12  	cp $(SRC_DIR)/sun/jvm/hotspot/utilities/soql/sa.js $(OUTPUT_DIR)/sun/jvm/hotspot/utilities/soql
    1.13  
    1.14  allprof: filelist
    1.15  	@mkdir -p $(OUTPUT_DIR)
    1.16  	@echo "$(SA_BUILD_VERSION_PROP)" > $(SA_PROPERTIES)
    1.17 -	@javac -source 1.4 -J-Xprof -classpath $(CLASSPATH) -deprecation -sourcepath $(SRC_DIR) -g -d $(OUTPUT_DIR) @filelist
    1.18 -	@rmic -classpath $(OUTPUT_DIR) -d $(OUTPUT_DIR) sun.jvm.hotspot.debugger.remote.RemoteDebuggerServer
    1.19 +	@${JDK_HOME}/bin/javac -source 1.4 -J-Xprof -classpath $(CLASSPATH) -deprecation -sourcepath $(SRC_DIR) -g -d $(OUTPUT_DIR) @filelist
    1.20 +	@${JDK_HOME}/bin/rmic -classpath $(OUTPUT_DIR) -d $(OUTPUT_DIR) sun.jvm.hotspot.debugger.remote.RemoteDebuggerServer
    1.21  	rm -f $(OUTPUT_DIR)/sun/jvm/hotspot/utilities/soql/sa.js
    1.22  	cp $(SRC_DIR)/sun/jvm/hotspot/utilities/soql/sa.js $(OUTPUT_DIR)/sun/jvm/hotspot/utilities/soql
    1.23  
     2.1 --- a/agent/src/share/classes/sun/jvm/hotspot/HSDB.java	Tue Apr 01 16:14:18 2008 -0700
     2.2 +++ b/agent/src/share/classes/sun/jvm/hotspot/HSDB.java	Fri May 09 08:55:13 2008 -0700
     2.3 @@ -398,7 +398,7 @@
     2.4      frame.getContentPane().add(desktop);
     2.5      GraphicsUtilities.reshapeToAspectRatio(frame, 4.0f/3.0f, 0.75f, Toolkit.getDefaultToolkit().getScreenSize());
     2.6      GraphicsUtilities.centerInContainer(frame, Toolkit.getDefaultToolkit().getScreenSize());
     2.7 -    frame.show();
     2.8 +    frame.setVisible(true);
     2.9  
    2.10      Runtime.getRuntime().addShutdownHook(new java.lang.Thread() {
    2.11          public void run() {
     3.1 --- a/agent/src/share/classes/sun/jvm/hotspot/SALauncherLoader.java	Tue Apr 01 16:14:18 2008 -0700
     3.2 +++ b/agent/src/share/classes/sun/jvm/hotspot/SALauncherLoader.java	Fri May 09 08:55:13 2008 -0700
     3.3 @@ -148,7 +148,7 @@
     3.4          }
     3.5  
     3.6          try {
     3.7 -            return file.toURL();
     3.8 +            return file.toURI().toURL();
     3.9          } catch (MalformedURLException mue) {
    3.10              throw new InternalError(mue.getMessage());
    3.11          }
     4.1 --- a/agent/src/share/classes/sun/jvm/hotspot/bugspot/Main.java	Tue Apr 01 16:14:18 2008 -0700
     4.2 +++ b/agent/src/share/classes/sun/jvm/hotspot/bugspot/Main.java	Fri May 09 08:55:13 2008 -0700
     4.3 @@ -47,6 +47,6 @@
     4.4                                             4.0f/3.0f, 0.85f, Toolkit.getDefaultToolkit().getScreenSize());
     4.5      GraphicsUtilities.centerInContainer(frame,
     4.6                                          Toolkit.getDefaultToolkit().getScreenSize());
     4.7 -    frame.show();
     4.8 +    frame.setVisible(true);
     4.9    }
    4.10  }
     5.1 --- a/agent/src/share/classes/sun/jvm/hotspot/jdi/SAJDIClassLoader.java	Tue Apr 01 16:14:18 2008 -0700
     5.2 +++ b/agent/src/share/classes/sun/jvm/hotspot/jdi/SAJDIClassLoader.java	Fri May 09 08:55:13 2008 -0700
     5.3 @@ -78,7 +78,7 @@
     5.4          this(parent);
     5.5          this.classPathSet = true;
     5.6          try {
     5.7 -            addURL(new File(classPath).toURL());
     5.8 +            addURL(new File(classPath).toURI().toURL());
     5.9          } catch(MalformedURLException mue) {
    5.10              throw new RuntimeException(mue);
    5.11          }
     6.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     6.2 +++ b/agent/src/share/classes/sun/jvm/hotspot/memory/BinaryTreeDictionary.java	Fri May 09 08:55:13 2008 -0700
     6.3 @@ -0,0 +1,59 @@
     6.4 +/*
     6.5 + * @(#)BinaryTreeDictionary.java
     6.6 + * Copyright 2000-2007 Sun Microsystems, Inc.  All Rights Reserved.
     6.7 + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
     6.8 + *
     6.9 + * This code is free software; you can redistribute it and/or modify it
    6.10 + * under the terms of the GNU General Public License version 2 only, as
    6.11 + * published by the Free Software Foundation.
    6.12 + *
    6.13 + * This code is distributed in the hope that it will be useful, but WITHOUT
    6.14 + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
    6.15 + * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
    6.16 + * version 2 for more details (a copy is included in the LICENSE file that
    6.17 + * accompanied this code).
    6.18 + *
    6.19 + * You should have received a copy of the GNU General Public License version
    6.20 + * 2 along with this work; if not, write to the Free Software Foundation,
    6.21 + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
    6.22 + *
    6.23 + * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
    6.24 + * CA 95054 USA or visit www.sun.com if you need additional information or
    6.25 + * have any questions.
    6.26 + *
    6.27 + */
    6.28 +
    6.29 +package sun.jvm.hotspot.memory;
    6.30 +
    6.31 +import java.util.*;
    6.32 +import sun.jvm.hotspot.debugger.*;
    6.33 +import sun.jvm.hotspot.types.*;
    6.34 +import sun.jvm.hotspot.runtime.*;
    6.35 +
    6.36 +public class BinaryTreeDictionary extends VMObject {
    6.37 +   static {
    6.38 +      VM.registerVMInitializedObserver(new Observer() {
    6.39 +         public void update(Observable o, Object data) {
    6.40 +            initialize(VM.getVM().getTypeDataBase());
    6.41 +         }
    6.42 +      });
    6.43 +   }
    6.44 +
    6.45 +   private static synchronized void initialize(TypeDataBase db) {
    6.46 +      Type type = db.lookupType("BinaryTreeDictionary");
    6.47 +      totalSizeField = type.getCIntegerField("_totalSize");
    6.48 +   }
    6.49 +
    6.50 +   // Fields
    6.51 +   private static CIntegerField totalSizeField;
    6.52 +
    6.53 +   // Accessors
    6.54 +   public long size() {
    6.55 +      return totalSizeField.getValue(addr);
    6.56 +   }
    6.57 +
    6.58 +   // Constructor
    6.59 +   public BinaryTreeDictionary(Address addr) {
    6.60 +      super(addr);
    6.61 +   }
    6.62 +}
     7.1 --- a/agent/src/share/classes/sun/jvm/hotspot/memory/CompactibleFreeListSpace.java	Tue Apr 01 16:14:18 2008 -0700
     7.2 +++ b/agent/src/share/classes/sun/jvm/hotspot/memory/CompactibleFreeListSpace.java	Fri May 09 08:55:13 2008 -0700
     7.3 @@ -35,6 +35,20 @@
     7.4  public class CompactibleFreeListSpace extends CompactibleSpace {
     7.5     private static AddressField collectorField;
     7.6  
     7.7 +   // for free size, three fields
     7.8 +   //       FreeBlockDictionary* _dictionary;        // ptr to dictionary for large size blocks
     7.9 +   //       FreeList _indexedFreeList[IndexSetSize]; // indexed array for small size blocks
    7.10 +   //       LinearAllocBlock _smallLinearAllocBlock; // small linear alloc in TLAB
    7.11 +   private static AddressField indexedFreeListField;
    7.12 +   private static AddressField dictionaryField;
    7.13 +   private static long         smallLinearAllocBlockFieldOffset;
    7.14 +   private static long indexedFreeListSizeOf;
    7.15 +
    7.16 +   private int    heapWordSize;     // 4 for 32bit, 8 for 64 bits
    7.17 +   private int    IndexSetStart;    // for small indexed list
    7.18 +   private int    IndexSetSize;
    7.19 +   private int    IndexSetStride;
    7.20 +
    7.21     static {
    7.22        VM.registerVMInitializedObserver(new Observer() {
    7.23           public void update(Observable o, Object data) {
    7.24 @@ -51,10 +65,26 @@
    7.25  
    7.26       Type type = db.lookupType("CompactibleFreeListSpace");
    7.27       collectorField = type.getAddressField("_collector");
    7.28 +     collectorField       = type.getAddressField("_collector");
    7.29 +     dictionaryField      = type.getAddressField("_dictionary");
    7.30 +     indexedFreeListField = type.getAddressField("_indexedFreeList[0]");
    7.31 +     smallLinearAllocBlockFieldOffset = type.getField("_smallLinearAllocBlock").getOffset();
    7.32     }
    7.33  
    7.34     public CompactibleFreeListSpace(Address addr) {
    7.35        super(addr);
    7.36 +      if ( VM.getVM().isLP64() ) {
    7.37 +         heapWordSize = 8;
    7.38 +         IndexSetStart = 1;
    7.39 +         IndexSetStride = 1;
    7.40 +      }
    7.41 +      else {
    7.42 +         heapWordSize = 4;
    7.43 +         IndexSetStart = 2;
    7.44 +         IndexSetStride = 2;
    7.45 +      }
    7.46 +
    7.47 +      IndexSetSize = 257;
    7.48     }
    7.49  
    7.50     // Accessing block offset table
    7.51 @@ -62,9 +92,17 @@
    7.52      return (CMSCollector) VMObjectFactory.newObject(
    7.53                                   CMSCollector.class,
    7.54                                   collectorField.getValue(addr));
    7.55 -  }
    7.56 +   }
    7.57 +
    7.58 +   public long free0() {
    7.59 +     return capacity() - used0();
    7.60 +   }
    7.61  
    7.62     public long used() {
    7.63 +     return capacity() - free();
    7.64 +   }
    7.65 +
    7.66 +   public long used0() {
    7.67        List regions = getLiveRegions();
    7.68        long usedSize = 0L;
    7.69        for (Iterator itr = regions.iterator(); itr.hasNext();) {
    7.70 @@ -75,11 +113,41 @@
    7.71     }
    7.72  
    7.73     public long free() {
    7.74 -      return capacity() - used();
    7.75 -   }
    7.76 +      // small chunks
    7.77 +      long size = 0;
    7.78 +      Address cur = addr.addOffsetTo( indexedFreeListField.getOffset() );
    7.79 +      cur = cur.addOffsetTo(IndexSetStart*FreeList.sizeOf());
    7.80 +      for (int i=IndexSetStart; i<IndexSetSize; i += IndexSetStride) {
    7.81 +         FreeList freeList = (FreeList) VMObjectFactory.newObject(FreeList.class, cur);
    7.82 +         size += i*freeList.count();
    7.83 +         cur= cur.addOffsetTo(IndexSetStride*FreeList.sizeOf());
    7.84 +      }
    7.85 +
    7.86 +      // large block
    7.87 +      BinaryTreeDictionary bfbd = (BinaryTreeDictionary) VMObjectFactory.newObject(BinaryTreeDictionary.class,
    7.88 +                                                                                   dictionaryField.getValue(addr));
    7.89 +      size += bfbd.size();
    7.90 +
    7.91 +
    7.92 +      // linear block in TLAB
    7.93 +      LinearAllocBlock lab = (LinearAllocBlock) VMObjectFactory.newObject(LinearAllocBlock.class,
    7.94 +                                                                          addr.addOffsetTo(smallLinearAllocBlockFieldOffset));
    7.95 +      size += lab.word_size();
    7.96 +
    7.97 +      return size*heapWordSize;
    7.98 +  }
    7.99  
   7.100     public void printOn(PrintStream tty) {
   7.101        tty.print("free-list-space");
   7.102 +      tty.print("[ " + bottom() + " , " + end() + " ) ");
   7.103 +      long cap = capacity();
   7.104 +      long used_size = used();
   7.105 +      long free_size = free();
   7.106 +      int  used_perc = (int)((double)used_size/cap*100);
   7.107 +      tty.print("space capacity = " + cap + " used(" + used_perc + "%)= " + used_size + " ");
   7.108 +      tty.print("free= " + free_size );
   7.109 +      tty.print("\n");
   7.110 +
   7.111     }
   7.112  
   7.113     public Address skipBlockSizeUsingPrintezisBits(Address pos) {
     8.1 --- a/agent/src/share/classes/sun/jvm/hotspot/memory/DefNewGeneration.java	Tue Apr 01 16:14:18 2008 -0700
     8.2 +++ b/agent/src/share/classes/sun/jvm/hotspot/memory/DefNewGeneration.java	Fri May 09 08:55:13 2008 -0700
     8.3 @@ -96,9 +96,9 @@
     8.4    public void printOn(PrintStream tty) {
     8.5      tty.print("  eden");
     8.6      eden().printOn(tty);
     8.7 -    tty.print("  from");
     8.8 +    tty.print("\n  from");
     8.9      from().printOn(tty);
    8.10 -    tty.print("  to  ");
    8.11 +    tty.print("\n  to  ");
    8.12      to().printOn(tty);
    8.13    }
    8.14  }
     9.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     9.2 +++ b/agent/src/share/classes/sun/jvm/hotspot/memory/FreeList.java	Fri May 09 08:55:13 2008 -0700
     9.3 @@ -0,0 +1,72 @@
     9.4 +/*
     9.5 + * @(#)FreeList.java
     9.6 + *
     9.7 + * Copyright 2000-2007 Sun Microsystems, Inc.  All Rights Reserved.
     9.8 + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
     9.9 + *
    9.10 + * This code is free software; you can redistribute it and/or modify it
    9.11 + * under the terms of the GNU General Public License version 2 only, as
    9.12 + * published by the Free Software Foundation.
    9.13 + *
    9.14 + * This code is distributed in the hope that it will be useful, but WITHOUT
    9.15 + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
    9.16 + * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
    9.17 + * version 2 for more details (a copy is included in the LICENSE file that
    9.18 + * accompanied this code).
    9.19 + *
    9.20 + * You should have received a copy of the GNU General Public License version
    9.21 + * 2 along with this work; if not, write to the Free Software Foundation,
    9.22 + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
    9.23 + *
    9.24 + * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
    9.25 + * CA 95054 USA or visit www.sun.com if you need additional information or
    9.26 + * have any questions.
    9.27 + *
    9.28 + */
    9.29 +
    9.30 +package sun.jvm.hotspot.memory;
    9.31 +
    9.32 +import java.util.*;
    9.33 +import sun.jvm.hotspot.debugger.*;
    9.34 +import sun.jvm.hotspot.types.*;
    9.35 +import sun.jvm.hotspot.runtime.*;
    9.36 +
    9.37 +public class FreeList extends VMObject {
    9.38 +   static {
    9.39 +      VM.registerVMInitializedObserver(new Observer() {
    9.40 +         public void update(Observable o, Object data) {
    9.41 +            initialize(VM.getVM().getTypeDataBase());
    9.42 +         }
    9.43 +      });
    9.44 +   }
    9.45 +
    9.46 +   private static synchronized void initialize(TypeDataBase db) {
    9.47 +      Type type = db.lookupType("FreeList");
    9.48 +      sizeField = type.getCIntegerField("_size");
    9.49 +      countField = type.getCIntegerField("_count");
    9.50 +      headerSize = type.getSize();
    9.51 +   }
    9.52 +
    9.53 +   // Fields
    9.54 +   private static CIntegerField sizeField;
    9.55 +   private static CIntegerField countField;
    9.56 +   private static long          headerSize;
    9.57 +
    9.58 +   //Constructor
    9.59 +   public FreeList(Address address) {
    9.60 +     super(address);
    9.61 +   }
    9.62 +
    9.63 +   // Accessors
    9.64 +   public long size() {
    9.65 +      return sizeField.getValue(addr);
    9.66 +   }
    9.67 +
    9.68 +   public long count() {
    9.69 +      return  countField.getValue(addr);
    9.70 +   }
    9.71 +
    9.72 +   public static long sizeOf() {
    9.73 +     return headerSize;
    9.74 +  }
    9.75 +}
    10.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    10.2 +++ b/agent/src/share/classes/sun/jvm/hotspot/memory/LinearAllocBlock.java	Fri May 09 08:55:13 2008 -0700
    10.3 @@ -0,0 +1,59 @@
    10.4 +/*
    10.5 + * @(#)BinaryTreeDictionary.java
    10.6 + * Copyright 2000-2007 Sun Microsystems, Inc.  All Rights Reserved.
    10.7 + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
    10.8 + *
    10.9 + * This code is free software; you can redistribute it and/or modify it
   10.10 + * under the terms of the GNU General Public License version 2 only, as
   10.11 + * published by the Free Software Foundation.
   10.12 + *
   10.13 + * This code is distributed in the hope that it will be useful, but WITHOUT
   10.14 + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
   10.15 + * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
   10.16 + * version 2 for more details (a copy is included in the LICENSE file that
   10.17 + * accompanied this code).
   10.18 + *
   10.19 + * You should have received a copy of the GNU General Public License version
   10.20 + * 2 along with this work; if not, write to the Free Software Foundation,
   10.21 + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
   10.22 + *
   10.23 + * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
   10.24 + * CA 95054 USA or visit www.sun.com if you need additional information or
   10.25 + * have any questions.
   10.26 + *
   10.27 + */
   10.28 +
   10.29 +package sun.jvm.hotspot.memory;
   10.30 +
   10.31 +import java.util.*;
   10.32 +import sun.jvm.hotspot.debugger.*;
   10.33 +import sun.jvm.hotspot.types.*;
   10.34 +import sun.jvm.hotspot.runtime.*;
   10.35 +
   10.36 +public class LinearAllocBlock extends VMObject {
   10.37 +   static {
   10.38 +      VM.registerVMInitializedObserver(new Observer() {
   10.39 +         public void update(Observable o, Object data) {
   10.40 +            initialize(VM.getVM().getTypeDataBase());
   10.41 +         }
   10.42 +      });
   10.43 +   }
   10.44 +
   10.45 +   private static synchronized void initialize(TypeDataBase db) {
   10.46 +      Type type = db.lookupType("LinearAllocBlock");
   10.47 +      word_sizeField= type.getCIntegerField("_word_size");
   10.48 +   }
   10.49 +
   10.50 +   // Fields
   10.51 +   private static CIntegerField word_sizeField;
   10.52 +
   10.53 +   // Accessors
   10.54 +   public long word_size() {
   10.55 +      return word_sizeField.getValue(addr);
   10.56 +   }
   10.57 +
   10.58 +   // Constructor
   10.59 +   public LinearAllocBlock(Address addr) {
   10.60 +      super(addr);
   10.61 +   }
   10.62 +}
    11.1 --- a/agent/src/share/classes/sun/jvm/hotspot/ui/AnnotatedMemoryPanel.java	Tue Apr 01 16:14:18 2008 -0700
    11.2 +++ b/agent/src/share/classes/sun/jvm/hotspot/ui/AnnotatedMemoryPanel.java	Fri May 09 08:55:13 2008 -0700
    11.3 @@ -648,6 +648,6 @@
    11.4            System.exit(0);
    11.5          }
    11.6        });
    11.7 -    frame.show();
    11.8 +    frame.setVisible(true);
    11.9    }
   11.10  }
    12.1 --- a/agent/src/share/classes/sun/jvm/hotspot/ui/CommandProcessorPanel.java	Tue Apr 01 16:14:18 2008 -0700
    12.2 +++ b/agent/src/share/classes/sun/jvm/hotspot/ui/CommandProcessorPanel.java	Fri May 09 08:55:13 2008 -0700
    12.3 @@ -220,7 +220,7 @@
    12.4                  }
    12.5              });
    12.6          frame.setSize(500, 500);
    12.7 -        frame.show();
    12.8 +        frame.setVisible(true);
    12.9          panel.requestFocus();
   12.10      }
   12.11  }
    13.1 --- a/agent/src/share/classes/sun/jvm/hotspot/ui/DebuggerConsolePanel.java	Tue Apr 01 16:14:18 2008 -0700
    13.2 +++ b/agent/src/share/classes/sun/jvm/hotspot/ui/DebuggerConsolePanel.java	Fri May 09 08:55:13 2008 -0700
    13.3 @@ -226,7 +226,7 @@
    13.4          }
    13.5        });
    13.6      frame.setSize(500, 500);
    13.7 -    frame.show();
    13.8 +    frame.setVisible(true);
    13.9      panel.requestFocus();
   13.10    }
   13.11  }
    14.1 --- a/agent/src/share/classes/sun/jvm/hotspot/ui/HighPrecisionJScrollBar.java	Tue Apr 01 16:14:18 2008 -0700
    14.2 +++ b/agent/src/share/classes/sun/jvm/hotspot/ui/HighPrecisionJScrollBar.java	Fri May 09 08:55:13 2008 -0700
    14.3 @@ -424,7 +424,7 @@
    14.4          }
    14.5        });
    14.6      frame.getContentPane().add(hpsb);
    14.7 -    frame.show();
    14.8 +    frame.setVisible(true);
    14.9    }
   14.10  
   14.11  }
    15.1 --- a/agent/src/share/classes/sun/jvm/hotspot/ui/JFrameWrapper.java	Tue Apr 01 16:14:18 2008 -0700
    15.2 +++ b/agent/src/share/classes/sun/jvm/hotspot/ui/JFrameWrapper.java	Fri May 09 08:55:13 2008 -0700
    15.3 @@ -43,7 +43,7 @@
    15.4    public void       setVisible(boolean visible) { frame.setVisible(visible);     }
    15.5    public void       setSize(int x, int y)       { frame.setSize(x, y);           }
    15.6    public void       pack()                      { frame.pack();                  }
    15.7 -  public void       show()                      { frame.show();                  }
    15.8 +  public void       show()                      { frame.setVisible(true);        }
    15.9    public void       dispose()                   { frame.dispose();               }
   15.10    public void       setBackground(Color color)  { frame.setBackground(color);    }
   15.11    public void       setResizable(boolean resizable) { frame.setResizable(resizable); }
    16.1 --- a/agent/src/share/classes/sun/jvm/hotspot/ui/treetable/JTreeTable.java	Tue Apr 01 16:14:18 2008 -0700
    16.2 +++ b/agent/src/share/classes/sun/jvm/hotspot/ui/treetable/JTreeTable.java	Fri May 09 08:55:13 2008 -0700
    16.3 @@ -477,9 +477,9 @@
    16.4      static class TreeTableTextField extends JTextField {
    16.5          public int offset;
    16.6  
    16.7 -        public void reshape(int x, int y, int w, int h) {
    16.8 +        public void setBounds(int x, int y, int w, int h) {
    16.9              int newX = Math.max(x, offset);
   16.10 -            super.reshape(newX, y, w - (newX - x), h);
   16.11 +            super.setBounds(newX, y, w - (newX - x), h);
   16.12          }
   16.13      }
   16.14  
    17.1 --- a/src/share/vm/gc_implementation/concurrentMarkSweep/binaryTreeDictionary.hpp	Tue Apr 01 16:14:18 2008 -0700
    17.2 +++ b/src/share/vm/gc_implementation/concurrentMarkSweep/binaryTreeDictionary.hpp	Fri May 09 08:55:13 2008 -0700
    17.3 @@ -130,6 +130,7 @@
    17.4  const size_t MIN_TREE_CHUNK_SIZE  = sizeof(TreeChunk)/HeapWordSize;
    17.5  
    17.6  class BinaryTreeDictionary: public FreeBlockDictionary {
    17.7 +  friend class VMStructs;
    17.8    bool       _splay;
    17.9    size_t     _totalSize;
   17.10    size_t     _totalFreeBlocks;
    18.1 --- a/src/share/vm/gc_implementation/concurrentMarkSweep/freeList.hpp	Tue Apr 01 16:14:18 2008 -0700
    18.2 +++ b/src/share/vm/gc_implementation/concurrentMarkSweep/freeList.hpp	Fri May 09 08:55:13 2008 -0700
    18.3 @@ -38,6 +38,7 @@
    18.4  
    18.5  class FreeList VALUE_OBJ_CLASS_SPEC {
    18.6    friend class CompactibleFreeListSpace;
    18.7 +  friend class VMStructs;
    18.8    friend class printTreeCensusClosure;
    18.9    FreeChunk*    _head;          // List of free chunks
   18.10    FreeChunk*    _tail;          // Tail of list of free chunks
    19.1 --- a/src/share/vm/gc_implementation/concurrentMarkSweep/vmStructs_cms.hpp	Tue Apr 01 16:14:18 2008 -0700
    19.2 +++ b/src/share/vm/gc_implementation/concurrentMarkSweep/vmStructs_cms.hpp	Fri May 09 08:55:13 2008 -0700
    19.3 @@ -38,7 +38,15 @@
    19.4       static_field(ConcurrentMarkSweepThread,   _collector,                                    CMSCollector*)                         \
    19.5    nonstatic_field(FreeChunk,                   _next,                                         FreeChunk*)                            \
    19.6    nonstatic_field(FreeChunk,                   _prev,                                         FreeChunk*)                            \
    19.7 -  nonstatic_field(FreeChunk,                   _size,                                         size_t)
    19.8 +  nonstatic_field(FreeChunk,                   _size,                                         size_t)                                \
    19.9 +  nonstatic_field(LinearAllocBlock,            _word_size,                                    size_t)                                \
   19.10 +  nonstatic_field(FreeList,                    _size,                                         size_t)                                \
   19.11 +  nonstatic_field(FreeList,                    _count,                                        ssize_t)                               \
   19.12 +  nonstatic_field(BinaryTreeDictionary,        _totalSize,                                    size_t)                                \
   19.13 +  nonstatic_field(CompactibleFreeListSpace,    _dictionary,                                   FreeBlockDictionary*)                  \
   19.14 +  nonstatic_field(CompactibleFreeListSpace,    _indexedFreeList[0],                           FreeList)                              \
   19.15 +  nonstatic_field(CompactibleFreeListSpace,    _smallLinearAllocBlock,                        LinearAllocBlock)
   19.16 +
   19.17  
   19.18  #define VM_TYPES_CMS(declare_type,                                        \
   19.19                       declare_toplevel_type)                               \
   19.20 @@ -57,7 +65,14 @@
   19.21    declare_toplevel_type(SurrogateLockerThread*)                           \
   19.22    declare_toplevel_type(CompactibleFreeListSpace*)                        \
   19.23    declare_toplevel_type(CMSCollector*)                                    \
   19.24 -  declare_toplevel_type(FreeChunk*)
   19.25 +  declare_toplevel_type(FreeChunk*)                                       \
   19.26 +  declare_toplevel_type(BinaryTreeDictionary*)                            \
   19.27 +  declare_toplevel_type(FreeBlockDictionary*)                             \
   19.28 +  declare_toplevel_type(FreeList*)                                        \
   19.29 +  declare_toplevel_type(FreeList)                                         \
   19.30 +  declare_toplevel_type(LinearAllocBlock)                                 \
   19.31 +  declare_toplevel_type(FreeBlockDictionary)                              \
   19.32 +            declare_type(BinaryTreeDictionary,        FreeBlockDictionary)
   19.33  
   19.34  #define VM_INT_CONSTANTS_CMS(declare_constant)                            \
   19.35    declare_constant(Generation::ConcurrentMarkSweep)                       \
    20.1 --- a/src/share/vm/runtime/vmStructs.cpp	Tue Apr 01 16:14:18 2008 -0700
    20.2 +++ b/src/share/vm/runtime/vmStructs.cpp	Fri May 09 08:55:13 2008 -0700
    20.3 @@ -893,6 +893,7 @@
    20.4    /*******************************************************************/   \
    20.5                                                                            \
    20.6    declare_unsigned_integer_type(size_t)                                   \
    20.7 +  declare_integer_type(ssize_t)                                           \
    20.8    declare_unsigned_integer_type(const size_t)                             \
    20.9    declare_integer_type(intx)                                              \
   20.10    declare_integer_type(intptr_t)                                          \

mercurial