harmony-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Mark Hindess <mark.hind...@googlemail.com>
Subject Re: svn commit: r680641 - in /harmony/enhanced/drlvm/trunk/vm/gc_gen/src: common/gc_block.h common/gc_common.h gen/gen.cpp mark_compact/mspace_extend_compact.cpp mark_compact/mspace_move_compact.cpp mark_compact/mspace_slide_compact.cpp
Date Tue, 29 Jul 2008 11:11:11 GMT

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 <20080729073821.BA43E238889B@eris.apache.org>, chunrong@apache.org 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);
>      
> 


Mime
View raw message