Revision: 5660
          http://jnode.svn.sourceforge.net/jnode/?rev=5660&view=rev
Author:   fduminy
Date:     2009-08-24 10:52:13 +0000 (Mon, 24 Aug 2009)

Log Message:
-----------
extracted heap iteration from getHeapStatistics() to allow reuse for other 
ObjectVisitors

Modified Paths:
--------------
    trunk/core/src/core/org/jnode/vm/memmgr/def/DefaultHeapManager.java

Modified: trunk/core/src/core/org/jnode/vm/memmgr/def/DefaultHeapManager.java
===================================================================
--- trunk/core/src/core/org/jnode/vm/memmgr/def/DefaultHeapManager.java 
2009-08-22 14:37:39 UTC (rev 5659)
+++ trunk/core/src/core/org/jnode/vm/memmgr/def/DefaultHeapManager.java 
2009-08-24 10:52:13 UTC (rev 5660)
@@ -22,11 +22,12 @@
 
 import java.io.PrintWriter;
 
+import org.jnode.annotation.Inline;
+import org.jnode.annotation.MagicPermission;
 import org.jnode.vm.MemoryBlockManager;
+import org.jnode.vm.ObjectVisitor;
 import org.jnode.vm.VmArchitecture;
 import org.jnode.vm.VmMagic;
-import org.jnode.annotation.Inline;
-import org.jnode.annotation.MagicPermission;
 import org.jnode.vm.classmgr.ObjectFlags;
 import org.jnode.vm.classmgr.ObjectLayout;
 import org.jnode.vm.classmgr.VmClassLoader;
@@ -451,17 +452,21 @@
         final HeapStatisticsVisitor heapStatisticsVisitor = new 
HeapStatisticsVisitor(
             heapStatistics);
 
+        accept(heapStatisticsVisitor, false);
+
+        return heapStatistics;
+    }
+    
+    private void accept(ObjectVisitor visitor, boolean locking) {
         VmDefaultHeap heap = firstNormalHeap;
         final Word zero = Word.zero();
 
         while (heap != null) {
-            heap.walk(heapStatisticsVisitor, false, zero, zero);
+            heap.walk(visitor, locking, zero, zero);
             heap = heap.getNext();
         }
-
-        return heapStatistics;
     }
-
+    
     /**
      * @see 
org.jnode.vm.memmgr.VmHeapManager#createProcessorHeapData(org.jnode.vm.scheduler.VmProcessor)
      */


This was sent by the SourceForge.net collaborative development platform, the 
world's largest Open Source development site.

------------------------------------------------------------------------------
Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day 
trial. Simplify your report design, integration and deployment - and focus on 
what you do best, core application coding. Discover what's new with 
Crystal Reports now.  http://p.sf.net/sfu/bobj-july
_______________________________________________
Jnode-svn-commits mailing list
Jnode-svn-commits@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/jnode-svn-commits

Reply via email to