harmony-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Simon Chow" <simon.harm...@gmail.com>
Subject Re: [drlvm][concurrent-gc] Tick is only concurrent sweeping?
Date Wed, 16 Apr 2008 06:10:01 GMT
Thank you Xiao-Feng

I have built gc_gen using USE_UNIQUE_MARK_SWEEP_GC, then the default GC is a
concurrent one with wspace implementation.

But, when I test it using LOS.java, a error occures at the 1st line of
sync_stack_pop(Sync_Stack* stack), the parameter 'stack' is always a fixed
address 0xffff0002, I guess it may be caused by a bad pointer written. Then
I tried to find the reason.
This case happened when 'wspace_clear_chunk_list' is performed, initially,
'stack' value is from an element of 2 dimensional array called
'pfc_pools_backup', which seems a copy of pfc_pools at the initial time of
wspace. But there is no problem when iterating pfc_pools in the same method.
So, What's the difference between pfc_pools_backup and pfc_pools in the
collection process?

Thanks

On 12/04/2008, Xiao-Feng Li <xiaofeng.li@gmail.com> wrote:
>
> Simon, you should define USE_UNIQUE_MARK_SWEEP_GC for concurrent
> mark-sweep GC. You can run it with SPECJBB.
>
> Thanks,
> xiaofeng
>
>
> On Fri, Apr 11, 2008 at 9:38 PM, Simon Chow <simon.harmony@gmail.com>
> wrote:
> > Hi all
> >
> >  First, I would like to know which test suit used for gc_gen? Are these
> tests
> >  in "working_vm\vm\tests\smoke\gc"?
> >
> >  Second, I am using LOS.java as sample to trace the garbage collection
> >  process.
> >  My command configuration is :
> >  -XX:gc.concurrent_gc=true -Xem:opt -verbose:gc gc.LOS
> >  then a assertion error raised:
> >  #else
> >   /*FIXME: concurrent mark is not supported in GC_GEN*/
> >   assert(0);
> >   return FALSE;
> >  #endif
> >
> >  So, Does it mean that I should use:
> >  -XX:gc.concurrent_sweep=true
> >  to start a concurrent garbage collector?
> >
> >
> >  In addition, when I use generational mode, this assertion error is
> raised:
> >   assert(!collector->rem_set);
> >  in line 5 of function void lspace_compute_object_target(Collector*
> >  collector, Lspace* lspace) in lspace_alloc_collect.cpp
> >
> >  P.S. I am using HARMONY647153
> >
> >  Thanks
> >
> >  --
> >  From : Simon.Chow@Software School of Fudan University
> >
>
>
>
>
> --
> http://xiao-feng.blogspot.com
>



-- 
>From : Simon.Chow@Software School of Fudan University

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message