• R
    Fix a bunch of issues with cardtable code. · bd0057bb
    Rodrigo Kumpera 提交于
    	* sgen-cardtable.c (sgen_card_table_is_range_marked): Use
    	card_in_range here since this is used for objects that can
    	start at the middle of a card.
    
    	* sgen-cardtable.c (move_cards_to_shadow_table): Properly
    	copy the tail bytes of an object that spam around the cardtable.
    	Don't copy more bytes than required.
    
    	* sgen-cardtable.c (sgen_cardtable_scan_object): Add extra_idx
    	variable that tracks the card offset that we're scanning. This
    	is required when we wrap around.
    
    	* sgen-cardtable.c (sgen_cardtable_scan_object): Properly reset
    	card_base when at wrap around.
    bd0057bb
sgen-cardtable.c 11.3 KB