Example #1
0
//! disk sector task slot initialization
void alto2_cpu_device::init_ksec(int task)
{
	set_bs(task, bs_ksec_read_kstat,    &alto2_cpu_device::bs_early_read_kstat, nullptr);
	set_bs(task, bs_ksec_read_kdata,    &alto2_cpu_device::bs_early_read_kdata, nullptr);

	set_f1(task, f1_block,              &alto2_cpu_device::f1_early_ksec_block, nullptr);

	set_f1(task, f1_task_10,            nullptr, nullptr);
	set_f1(task, f1_ksec_strobe,        nullptr, &alto2_cpu_device::f1_late_strobe);
	set_f1(task, f1_ksec_load_kstat,    nullptr, &alto2_cpu_device::f1_late_load_kstat);
	set_f1(task, f1_ksec_increcno,      nullptr, &alto2_cpu_device::f1_late_increcno);
	set_f1(task, f1_ksec_clrstat,       nullptr, &alto2_cpu_device::f1_late_clrstat);
	set_f1(task, f1_ksec_load_kcom,     nullptr, &alto2_cpu_device::f1_late_load_kcom);
	set_f1(task, f1_ksec_load_kadr,     nullptr, &alto2_cpu_device::f1_late_load_kadr);
	set_f1(task, f1_ksec_load_kdata,    nullptr, &alto2_cpu_device::f1_late_load_kdata);

	set_f2(task, f2_ksec_init,          nullptr, &alto2_cpu_device::f2_late_init);
	set_f2(task, f2_ksec_rwc,           nullptr, &alto2_cpu_device::f2_late_rwc);
	set_f2(task, f2_ksec_recno,         nullptr, &alto2_cpu_device::f2_late_recno);
	set_f2(task, f2_ksec_xfrdat,        nullptr, &alto2_cpu_device::f2_late_xfrdat);
	set_f2(task, f2_ksec_swrnrdy,       nullptr, &alto2_cpu_device::f2_late_swrnrdy);
	set_f2(task, f2_ksec_nfer,          nullptr, &alto2_cpu_device::f2_late_nfer);
	set_f2(task, f2_ksec_strobon,       nullptr, &alto2_cpu_device::f2_late_strobon);
	set_f2(task, f2_task_17,            nullptr, nullptr);

	m_task_wakeup |= 1 << task;
}
Example #2
0
CardTableRS::CardTableRS(MemRegion whole_heap,
                         int max_covered_regions) :
  GenRemSet(),
  _cur_youngergen_card_val(youngergenP1_card),
  _regions_to_iterate(max_covered_regions - 1)
{
#ifndef SERIALGC
  if (UseG1GC) {
      _ct_bs = new G1SATBCardTableLoggingModRefBS(whole_heap,
                                                  max_covered_regions);
  } else {
    _ct_bs = new CardTableModRefBSForCTRS(whole_heap, max_covered_regions);
  }
#else
  _ct_bs = new CardTableModRefBSForCTRS(whole_heap, max_covered_regions);
#endif
  set_bs(_ct_bs);
  _last_cur_val_in_gen = new jbyte[GenCollectedHeap::max_gens + 1];
  if (_last_cur_val_in_gen == NULL) {
    vm_exit_during_initialization("Could not last_cur_val_in_gen array.");
  }
  for (int i = 0; i < GenCollectedHeap::max_gens + 1; i++) {
    _last_cur_val_in_gen[i] = clean_card_val();
  }
  _ct_bs->set_CTRS(this);
}
Example #3
0
CardTableRS::CardTableRS(MemRegion whole_heap,
                         int max_covered_regions) :
  GenRemSet(),
  _cur_youngergen_card_val(youngergenP1_card),
  _regions_to_iterate(max_covered_regions - 1)
{
#if INCLUDE_ALL_GCS
  if (UseG1GC) {
      _ct_bs = new G1SATBCardTableLoggingModRefBS(whole_heap,
                                                  max_covered_regions);
  } else {
    _ct_bs = new CardTableModRefBSForCTRS(whole_heap, max_covered_regions);
  }
#else
  _ct_bs = new CardTableModRefBSForCTRS(whole_heap, max_covered_regions);
#endif
  set_bs(_ct_bs);
  _last_cur_val_in_gen = NEW_C_HEAP_ARRAY3(jbyte, GenCollectedHeap::max_gens + 1,
                         mtGC, 0, AllocFailStrategy::RETURN_NULL);
  if (_last_cur_val_in_gen == NULL) {
    vm_exit_during_initialization("Could not create last_cur_val_in_gen array.");
  }
  for (int i = 0; i < GenCollectedHeap::max_gens + 1; i++) {
    _last_cur_val_in_gen[i] = clean_card_val();
  }
  _ct_bs->set_CTRS(this);
}
Example #4
0
CardTableRS::CardTableRS(MemRegion whole_heap) :
  _bs(NULL),
  _cur_youngergen_card_val(youngergenP1_card)
{
  _ct_bs = new CardTableModRefBSForCTRS(whole_heap);
  _ct_bs->initialize();
  set_bs(_ct_bs);
  // max_gens is really GenCollectedHeap::heap()->gen_policy()->number_of_generations()
  // (which is always 2, young & old), but GenCollectedHeap has not been initialized yet.
  uint max_gens = 2;
  _last_cur_val_in_gen = NEW_C_HEAP_ARRAY3(jbyte, max_gens + 1,
                         mtGC, CURRENT_PC, AllocFailStrategy::RETURN_NULL);
  if (_last_cur_val_in_gen == NULL) {
    vm_exit_during_initialization("Could not create last_cur_val_in_gen array.");
  }
  for (uint i = 0; i < max_gens + 1; i++) {
    _last_cur_val_in_gen[i] = clean_card_val();
  }
  _ct_bs->set_CTRS(this);
}