예제 #1
0
파일: gc.c 프로젝트: bmmoore/sglr-server
void sweep_phase() 
{
  int size;

  for(size=MIN_TERM_SIZE; size<MAX_TERM_SIZE; size++) {
    at_freelist[size] = NULL;
  }
  old_bytes_in_young_blocks_after_last_major = 0;
  old_bytes_in_old_blocks_after_last_major = 0;

  /* Warning: freelist[size] is empty*/
  /* Warning: do not sweep fresh promoted block*/
  major_sweep_phase_old();
  major_sweep_phase_young();
  CHECK_UNMARKED_BLOCK(at_blocks);
  CHECK_UNMARKED_BLOCK(at_old_blocks);
}
예제 #2
0
파일: gc.c 프로젝트: jkeiren/muCRL
void sweep_phase() 
{
  int size;

  for(size=MIN_TERM_SIZE; size<AT_getMaxTermSize(); size++) {
    terminfo[size].at_freelist = NULL;
  }
  old_bytes_in_young_blocks_after_last_major = 0;
  old_bytes_in_old_blocks_after_last_major = 0;

  /* Warning: freelist[size] is empty*/
  /* Warning: do not sweep fresh promoted block*/
  major_sweep_phase_old();
  major_sweep_phase_young();
  CHECK_UNMARKED_BLOCK(AT_BLOCK);
  CHECK_UNMARKED_BLOCK(AT_OLD_BLOCK);
}