changeset 649:54782a4cd321

6812971: SA: re-attaching to process fails Summary: After attaching, de-attaching SA from a process, the second time attach() call fails. This happens because in VM.initialize(), Universe does not get re-initialized before it is accessed. Reviewed-by: swamyv
author poonam
date Sun, 15 Mar 2009 18:11:46 -0700
parents 3db67f76d308
children 8ce995316d10
files agent/src/share/classes/sun/jvm/hotspot/runtime/VM.java
diffstat 1 files changed, 4 insertions(+), 2 deletions(-) [+]
line wrap: on
line diff
--- a/agent/src/share/classes/sun/jvm/hotspot/runtime/VM.java	Thu Mar 05 22:07:29 2009 -0500
+++ b/agent/src/share/classes/sun/jvm/hotspot/runtime/VM.java	Sun Mar 15 18:11:46 2009 -0700
@@ -342,11 +342,13 @@
       throw new RuntimeException("Attempt to initialize VM twice");
     }
     soleInstance = new VM(db, debugger, debugger.getMachineDescription().isBigEndian());
-    debugger.putHeapConst(Universe.getHeapBase(), soleInstance.getHeapOopSize(),
-                          soleInstance.logMinObjAlignmentInBytes);
+
     for (Iterator iter = vmInitializedObservers.iterator(); iter.hasNext(); ) {
       ((Observer) iter.next()).update(null, null);
     }
+
+    debugger.putHeapConst(Universe.getHeapBase(), soleInstance.getHeapOopSize(),
+                        soleInstance.logMinObjAlignmentInBytes);
   }
 
   /** This is used by the debugging system */