All write barriers from sgen-cardtable.c are now performed within critical region.
The function that checks whether a thread is in a critical region ( to determine if it can be suspended ) looks also at the in_critical_region field from the thread info. ( only for sgen )