2008/7/29, chunrong lai <[EMAIL PROTECTED]>: > Sorry much for the confusion. I just applied the un-modified patch.
Well you can easily modify the commit message and repair the confusion with "svn propset". Regards, Alexey > > > > On 7/29/08, Mark Hindess <[EMAIL PROTECTED]> wrote: > > > > > > Please can we have meaningful human-readable and JIRA-readable[0] commit > > messages such as: > > > > Applied patch from "[#HARMONY-5843] [drlvm][gc] class unloading is > > unstable". > > > > Less crucially, "Fixed" is a little ambiguous did you: > > > > a) apply the unmodified patch > > b) apply the patch and make some manual modifications, > > c) ignore the patch and fix it some other way, > > > > I tend to use text like: > > > > a) "applied patch", > > b) "applied modified patch" > > c) "fixed" > > > > to distinguish these cases (although thinking about it now perhaps that > > last one needs some more thought). > > > > Thanks, > > Mark. > > > > [0] JIRA helpfully adds commits to the JIRA activity log if you use the > > text "HARMONY-5843" in the commit message so don't abbreviate this. > > > > In message <[EMAIL PROTECTED]>, > > [EMAIL PROTECTED] w > > rites: > > > > > > Author: chunrong > > > Date: Tue Jul 29 00:38:20 2008 > > > New Revision: 680641 > > > > > > URL: http://svn.apache.org/viewvc?rev=680641&view=rev > > > Log: > > > Fixed H5843 > > > > > > Modified: > > > harmony/enhanced/drlvm/trunk/vm/gc_gen/src/common/gc_block.h > > > harmony/enhanced/drlvm/trunk/vm/gc_gen/src/common/gc_common.h > > > harmony/enhanced/drlvm/trunk/vm/gc_gen/src/gen/gen.cpp > > > > > harmony/enhanced/drlvm/trunk/vm/gc_gen/src/mark_compact/mspace_extend_com > > > pact.cpp > > > > > harmony/enhanced/drlvm/trunk/vm/gc_gen/src/mark_compact/mspace_move_compa > > > ct.cpp > > > > > harmony/enhanced/drlvm/trunk/vm/gc_gen/src/mark_compact/mspace_slide_comp > > > act.cpp > > > > > > Modified: harmony/enhanced/drlvm/trunk/vm/gc_gen/src/common/gc_block.h > > > URL: > > http://svn.apache.org/viewvc/harmony/enhanced/drlvm/trunk/vm/gc_gen/src/ > > > common/gc_block.h?rev=680641&r1=680640&r2=680641&view=diff > > > > > ============================================================================= > > > = > > > --- harmony/enhanced/drlvm/trunk/vm/gc_gen/src/common/gc_block.h > > (original) > > > +++ harmony/enhanced/drlvm/trunk/vm/gc_gen/src/common/gc_block.h Tue Jul > > 29 0 > > > 0:38:20 2008 > > > @@ -209,7 +209,10 @@ > > > while(cur_obj < block_end){ > > > if( obj_is_marked_in_vt(cur_obj)) > > > return cur_obj; > > > - cur_obj = obj_end(cur_obj); > > > + if( obj_vt_is_to_next_obj(cur_obj)) > > > + cur_obj = obj_get_next_obj_from_vt(cur_obj); > > > + else > > > + cur_obj = obj_end(cur_obj); > > > PREFETCH( ((POINTER_SIZE_INT) cur_obj) + 64); > > > } > > > > > > > > > Modified: harmony/enhanced/drlvm/trunk/vm/gc_gen/src/common/gc_common.h > > > URL: > > http://svn.apache.org/viewvc/harmony/enhanced/drlvm/trunk/vm/gc_gen/src/ > > > common/gc_common.h?rev=680641&r1=680640&r2=680641&view=diff > > > > > ============================================================================= > > > = > > > --- harmony/enhanced/drlvm/trunk/vm/gc_gen/src/common/gc_common.h > > (original) > > > +++ harmony/enhanced/drlvm/trunk/vm/gc_gen/src/common/gc_common.h Tue Jul > > 29 > > > 00:38:20 2008 > > > @@ -296,6 +296,25 @@ > > > > > > #endif /* MARK_BIT_FLIPPING */ > > > > > > +inline Boolean obj_set_vt_to_next_obj(Partial_Reveal_Object* > > p_obj,Partial_R > > > eveal_Object* next_obj) > > > +{ > > > + set_obj_info(p_obj, (Obj_Info_Type)-1); > > > + obj_set_vt(p_obj,(VT)((VT_SIZE_INT)(POINTER_SIZE_INT)next_obj - > > (VT_SIZE_I > > > NT)(POINTER_SIZE_INT)p_obj)); > > > + return TRUE; > > > +} > > > + > > > +inline Boolean obj_vt_is_to_next_obj(Partial_Reveal_Object* p_obj) > > > +{ > > > + Obj_Info_Type info = get_obj_info_raw(p_obj); > > > + info = ~info; > > > + return (info == 0); > > > +} > > > + > > > +inline Partial_Reveal_Object* > > obj_get_next_obj_from_vt(Partial_Reveal_Object > > > * p_obj) > > > +{ > > > + return (Partial_Reveal_Object*)((VT_SIZE_INT)(POINTER_SIZE_INT)p_obj + > > (VT > > > _SIZE_INT)obj_get_vt_raw(p_obj)); > > > +} > > > + > > > /********************* for concurrent GC > > *******************************/ > > > inline Boolean obj_is_dirty_in_oi(Partial_Reveal_Object* p_obj) > > > { > > > > > > Modified: harmony/enhanced/drlvm/trunk/vm/gc_gen/src/gen/gen.cpp > > > URL: > > http://svn.apache.org/viewvc/harmony/enhanced/drlvm/trunk/vm/gc_gen/src/ > > > gen/gen.cpp?rev=680641&r1=680640&r2=680641&view=diff > > > > > ============================================================================= > > > = > > > --- harmony/enhanced/drlvm/trunk/vm/gc_gen/src/gen/gen.cpp (original) > > > +++ harmony/enhanced/drlvm/trunk/vm/gc_gen/src/gen/gen.cpp Tue Jul 29 > > 00:38:2 > > > 0 2008 > > > @@ -946,10 +946,14 @@ > > > while(p_obj < block_end){ > > > cont = vm_iterate_object((Managed_Object_Handle)p_obj); > > > if (!cont) return; > > > + if (obj_vt_is_to_next_obj((Partial_Reveal_Object *)p_obj)) > > > + p_obj = > > (POINTER_SIZE_INT)obj_get_next_obj_from_vt((Partial_Reveal_O > > > bject *)p_obj); > > > + else { > > > #ifdef USE_32BITS_HASHCODE > > > - hash_extend_size = > > (hashcode_is_attached((Partial_Reveal_Object*)p_ob > > > j))?GC_OBJECT_ALIGNMENT:0; > > > + hash_extend_size = > > (hashcode_is_attached((Partial_Reveal_Object*)p_ > > > obj))?GC_OBJECT_ALIGNMENT:0; > > > #endif > > > - p_obj = p_obj + vm_object_size((Partial_Reveal_Object *)p_obj) + > > hash_ > > > extend_size; > > > + p_obj = p_obj + vm_object_size((Partial_Reveal_Object *)p_obj) + > > has > > > h_extend_size; > > > + } > > > } > > > curr_block = curr_block->next; > > > if(curr_block == NULL) break; > > > > > > Modified: > > harmony/enhanced/drlvm/trunk/vm/gc_gen/src/mark_compact/mspace_exte > > > nd_compact.cpp > > > URL: > > http://svn.apache.org/viewvc/harmony/enhanced/drlvm/trunk/vm/gc_gen/src/ > > > > > mark_compact/mspace_extend_compact.cpp?rev=680641&r1=680640&r2=680641&view=di > > > ff > > > > > ============================================================================= > > > = > > > --- > > harmony/enhanced/drlvm/trunk/vm/gc_gen/src/mark_compact/mspace_extend_com > > > pact.cpp (original) > > > +++ > > harmony/enhanced/drlvm/trunk/vm/gc_gen/src/mark_compact/mspace_extend_com > > > pact.cpp Tue Jul 29 00:38:20 2008 > > > @@ -182,6 +182,8 @@ > > > while(p_obj < block_end){ > > > object_refix_ref_slots(p_obj, start_address, end_address, > > addr_diff); > > > p_obj = obj_end(p_obj); > > > + if(obj_vt_is_to_next_obj(p_obj)) > > > + p_obj = obj_get_next_obj_from_vt(p_obj); > > > } > > > #ifdef USE_32BITS_HASHCODE > > > /*repoint the p_obj in hashcode_table in the moved block.*/ > > > > > > 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?rev=680641&r1=680640&r2=680641&view=diff > > > > > ============================================================================= > > > = > > > --- > > harmony/enhanced/drlvm/trunk/vm/gc_gen/src/mark_compact/mspace_move_compa > > > ct.cpp (original) > > > +++ > > harmony/enhanced/drlvm/trunk/vm/gc_gen/src/mark_compact/mspace_move_compa > > > ct.cpp Tue Jul 29 00:38:20 2008 > > > @@ -124,10 +124,13 @@ > > > > > > assert(((POINTER_SIZE_INT)dest_sector_addr + curr_sector_size) <= > > bloc > > > k_end ); > > > > > > + Partial_Reveal_Object *last_obj_end = (Partial_Reveal_Object > > *)start_p > > > os; > > > /* check if next live object is out of current sector. If not, > > loop ba > > > ck to continue within this sector. FIXME:: we should add a condition for > > bloc > > > k check (?) */ > > > p_obj = block_get_next_marked_object(curr_block, &start_pos); > > > - if ((p_obj != NULL) && (OBJECT_INDEX_TO_OFFSET_TABLE(p_obj) == > > curr_se > > > ctor)) > > > + if ((p_obj != NULL) && (OBJECT_INDEX_TO_OFFSET_TABLE(p_obj) == > > curr_se > > > ctor)) { > > > + if(last_obj_end != p_obj) > > obj_set_vt_to_next_obj(last_obj_end, > > > p_obj); > > > continue; > > > + } > > > > > > /* current sector is done, let's move it. */ > > > POINTER_SIZE_INT sector_distance = > > (POINTER_SIZE_INT)src_sector_addr - > > > (POINTER_SIZE_INT)dest_sector_addr; > > > > > > Modified: > > harmony/enhanced/drlvm/trunk/vm/gc_gen/src/mark_compact/mspace_slid > > > e_compact.cpp > > > URL: > > http://svn.apache.org/viewvc/harmony/enhanced/drlvm/trunk/vm/gc_gen/src/ > > > > > mark_compact/mspace_slide_compact.cpp?rev=680641&r1=680640&r2=680641&view=dif > > > f > > > > > ============================================================================= > > > = > > > --- > > harmony/enhanced/drlvm/trunk/vm/gc_gen/src/mark_compact/mspace_slide_comp > > > act.cpp (original) > > > +++ > > harmony/enhanced/drlvm/trunk/vm/gc_gen/src/mark_compact/mspace_slide_comp > > > act.cpp Tue Jul 29 00:38:20 2008 > > > @@ -442,7 +442,7 @@ > > > gc_identify_dead_weak_roots(gc); > > > > > > if( gc->tuner->kind != TRANS_NOTHING ) > > gc_compute_space_tune_size_after_ > > > marking(gc); > > > - assert(!(gc->tuner->tuning_size % GC_BLOCK_SIZE_BYTES)); > > > + //assert(!(gc->tuner->tuning_size % GC_BLOCK_SIZE_BYTES)); > > > /* prepare for next phase */ > > > gc_init_block_for_collectors(gc, mspace); > > > > > > > > > > >
