Hi,
I have got Harmony MileStone13(r916432) and find 3 problems when using cmd
arguments"-Xtrace:gc -Xverbose:gc".
Here is some parts of output:
==========
GC: call GC init...
GC_Gen initial:
initial num collectors: 0 <--- num is always 0
GC: start GC_Gen ...
GC: start major collection ...
[trace] GC: move compact algo start ...
GC: end of move compact algo ...
[trace] GC: Collector[0] stats when collection:
GC: process rootset ref num: 498
GC: mark obj num: 18698
GC: move obj num: 14626
GC: move obj size: 586KB
[trace] GC: Collector[1] stats when collection:
GC: process rootset ref num: 929 <--- collector[1] stats
GC: mark obj num: 18647
GC: move obj num: 14414
GC: move obj size: 601KB
[trace] GC: Total Collector Stats when collection:
GC: process rootset ref num: 929 <--- total collector stats is the same as
the last collector(collector[1]) stats
GC: mark obj num: 18647
GC: move mos and nos obj num: 14414
GC: move obj size: 601KB
GC: end of major collection ...
GC: end of GC_Gen
GC: call GC wrapup ....
[trace] GC: GC conclctors destruct ...
[trace] GC: GC collectors destruct ...
GC: All Collection info:
GC: total nos alloc obj size: 0B <--- the size is always 0
GC: total los alloc obj num: 65
GC: total los alloc obj size:65MB
GC: total collection num: 2
GC: minor collection num: 0
GC: major collection num: 2
GC: total collection time: 125000
GC: total appliction execution time: 5890625
[trace] GC: GC_Gen heap destruct ......
[trace] GC: GC metadata destruct ...
[trace] GC: GC finref metadata destruct ...
GC: end of GC wrapup
==========
The output has 3 problems:
1. initial num collectors is always 0
The number of collectors is printed during triggering gc_init(...) then
gc_gen_initialize(...) then gc_gen_init_verbose(...).
But the collectors are not initialized until triggering gc_init(...) then
collector_initialize(...).
2. in major collection, total collector stats is always the same as the
last collector stats
When finish major collection and trigger
gc_gen_collector_stats_verbose_major_collection(...),
each collector stats is not added into total stats.
3. nos alloc object size is always 0
I guess that nos alloc obj size should be record in sspace_alloc(...) in
the same way as in fspace_alloc(..)
Regards
2010-05-04
Li QuanLong