if (SimpleRCHeader.decRC(object)) {   ScanObject.scan(object); if (!(Plan.refCountCycleDetection && phase == DECREMENT && SimpleRCHeader.isBuffered(object))) free(object, allocator); } else if (Plan.refCountCycleDetection && phase == DECREMENT) { if (SimpleRCHeader.makePurple(object)) plan.addToCycleBuf(VM_Magic.objectAsAddress(object)); }
decRC(object, null, null);
  public final void decRC(VM_Address object, SimpleRCAllocator allocator,			  Plan plan)     throws VM_PragmaInline {    if (SimpleRCHeader.decRC(object)) {      // this object is now dead, scan it for recursive decrement//       VM.sysWrite(object); VM.sysWrite(" k\n");      ScanObject.scan(object);      if (!(Plan.refCountCycleDetection && phase == DECREMENT && 	    SimpleRCHeader.isBuffered(object)))	free(object, allocator);    } else if (Plan.refCountCycleDetection && phase == DECREMENT) {      if (SimpleRCHeader.makePurple(object))	plan.addToCycleBuf(VM_Magic.objectAsAddress(object));    }  }