You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@harmony.apache.org by xl...@apache.org on 2007/04/27 07:46:36 UTC

svn commit: r532971 - in /harmony/enhanced/drlvm/trunk/vm/gc_gen/src/mark_compact: mspace_move_compact.cpp mspace_slide_compact.cpp

Author: xli
Date: Thu Apr 26 22:46:35 2007
New Revision: 532971

URL: http://svn.apache.org/viewvc?view=rev&rev=532971
Log:
HARMONY-3700 : GC LOS (Large object space) adaptative shrink bug: faked block address was used in comparison

Modified:
    harmony/enhanced/drlvm/trunk/vm/gc_gen/src/mark_compact/mspace_move_compact.cpp
    harmony/enhanced/drlvm/trunk/vm/gc_gen/src/mark_compact/mspace_slide_compact.cpp

Modified: harmony/enhanced/drlvm/trunk/vm/gc_gen/src/mark_compact/mspace_move_compact.cpp
URL: http://svn.apache.org/viewvc/harmony/enhanced/drlvm/trunk/vm/gc_gen/src/mark_compact/mspace_move_compact.cpp?view=diff&rev=532971&r1=532970&r2=532971
==============================================================================
--- harmony/enhanced/drlvm/trunk/vm/gc_gen/src/mark_compact/mspace_move_compact.cpp (original)
+++ harmony/enhanced/drlvm/trunk/vm/gc_gen/src/mark_compact/mspace_move_compact.cpp Thu Apr 26 22:46:35 2007
@@ -66,7 +66,7 @@
           collector->result = FALSE; 
           return; 
         }
-        if(dest_block > local_last_dest)
+        if((!local_last_dest) || (dest_block->block_idx > local_last_dest->block_idx))
           local_last_dest = dest_block;
         block_end = (POINTER_SIZE_INT)GC_BLOCK_END(dest_block);
         dest_sector_addr = dest_block->base;

Modified: harmony/enhanced/drlvm/trunk/vm/gc_gen/src/mark_compact/mspace_slide_compact.cpp
URL: http://svn.apache.org/viewvc/harmony/enhanced/drlvm/trunk/vm/gc_gen/src/mark_compact/mspace_slide_compact.cpp?view=diff&rev=532971&r1=532970&r2=532971
==============================================================================
--- harmony/enhanced/drlvm/trunk/vm/gc_gen/src/mark_compact/mspace_slide_compact.cpp (original)
+++ harmony/enhanced/drlvm/trunk/vm/gc_gen/src/mark_compact/mspace_slide_compact.cpp Thu Apr 26 22:46:35 2007
@@ -67,7 +67,7 @@
           collector->result = FALSE; 
           return; 
         }
-        if(dest_block > local_last_dest)
+        if((!local_last_dest) || (dest_block->block_idx > local_last_dest->block_idx))
           local_last_dest = dest_block;
         dest_addr = dest_block->base;
         dest_block->src = p_obj;
@@ -101,7 +101,7 @@
   
   Block_Header *cur_last_dest = (Block_Header *)last_block_for_dest;
   collector->cur_target_block = local_last_dest;
-  while(local_last_dest > cur_last_dest){
+  while((local_last_dest)&&((!cur_last_dest) || (local_last_dest->block_idx > cur_last_dest->block_idx))){
     atomic_casptr((volatile void **)&last_block_for_dest, local_last_dest, cur_last_dest);
     cur_last_dest = (Block_Header *)last_block_for_dest;
   }