if (VM.VerifyAssertions) VM.assert(p.modifiedOldObjects != null);
if (VM.VerifyAssertions) VM._assert(p.modifiedOldObjects != null);
  static void setupProcessor(VM_Processor p) throws VM_PragmaInterruptible {    if (VM.VerifyAssertions) VM.assert(VM_Collector.NEEDS_WRITE_BARRIER == true);    // setupProcessor will be called twice for the PRIMORDIAL processor.    // Once while building the bootImage (VM.runningVM=false) and again when    // the VM is booting (VM.runningVM=true)    //    if (p.id == VM_Scheduler.PRIMORDIAL_PROCESSOR_ID) {      if (!VM.runningVM) {	// allocate buffer, but cannot set TOP and MAX addresses	p.modifiedOldObjects = new int[WRITE_BUFFER_SIZE >> 2];      } else {	if (VM.VerifyAssertions) VM.assert(p.modifiedOldObjects != null);	// initialize write buffer pointers, setting "max" so as to reserve last slot	// for ptr to next write buffer (initially null). see also: VM.boot() write buffer init.	p.modifiedOldObjectsTop = VM_Magic.objectAsAddress(p.modifiedOldObjects).sub(4);	p.modifiedOldObjectsMax = p.modifiedOldObjectsTop.add((p.modifiedOldObjects.length << 2) - 4);      }    } else {