if (order == 1) { VM_Interface.resetThreadCounter(); setGcStatus(GC_PROPER); }
  protected final void prepare() {    long start = VM_Interface.cycles();    int order = VM_Interface.rendezvous(4230);    if (order == 1) {      setGcStatus(GC_PREPARE);      baseGlobalPrepare(start);    }    VM_Interface.rendezvous(4240);    if (order == 1)      for (int i=0; i<planCount; i++) {	Plan p = plans[i];	if (VM_Interface.isNonParticipating(p)) 	  p.baseThreadLocalPrepare(NON_PARTICIPANT);      }    baseThreadLocalPrepare(order);    if (order == 1) {      VM_Interface.resetThreadCounter();      setGcStatus(GC_PROPER);    // GC is in progress until after release!    }    VM_Interface.rendezvous(4250);    if (Plan.MOVES_OBJECTS) {      VM_Interface.preCopyGCInstances();      VM_Interface.rendezvous(4260);      if (order == 1) VM_Interface.resetThreadCounter();      VM_Interface.rendezvous(4270);    }  }