harmony-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Simon Chow" <simon.harm...@gmail.com>
Subject [drlvm][gc_gen] write barriers in gc_gen
Date Tue, 08 Apr 2008 11:32:24 GMT
Hi all,

I find there are 6 kinds of write barriers function:
WRITE_BARRIER_REM_NIL           = 0x00,
WRITE_BARRIER_REM_SOURCE_OBJ    = 0x01,
WRITE_BARRIER_REM_SOURCE_REF    = 0x02,
WRITE_BARRIER_REM_OLD_VAR       = 0x03,
WRITE_BARRIER_REM_NEW_VAR       = 0x04,
WRITE_BARRIER_REM_OBJ_SNAPSHOT  = 0x05
each of them represents a write barrier remember function in
gc_for_barriers.cpp.
And function 'gc_heap_slot_write_ref' is responsible for dispatching the
different write barriers to corresponding handler.

But it seems that only WRITE_BARRIER_REM_NIL is called when running a simple
HelloWorld program.
What does 'NIL' stand for? and I want to know what situation calls for use
of other functions.

Additionally, IMO gc_gen only use write barriers for concurrently collecting
to incremental reachability analysis, is that true?

Thanks

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

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