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 : [EMAIL PROTECTED] School of Fudan University
