- DEBUG("addr = %p, val = %" PRIu64 "\n", addr, val);
- thread_id_t tid = thread_current()->get_id();
- ClockVector *cv = model->get_cv(tid);
- raceCheckWrite(tid, addr, cv);
- raceCheckWrite(tid, (void *)(((uintptr_t)addr) + 1), cv);
- raceCheckWrite(tid, (void *)(((uintptr_t)addr) + 2), cv);
- raceCheckWrite(tid, (void *)(((uintptr_t)addr) + 3), cv);
- raceCheckWrite(tid, (void *)(((uintptr_t)addr) + 4), cv);
- raceCheckWrite(tid, (void *)(((uintptr_t)addr) + 5), cv);
- raceCheckWrite(tid, (void *)(((uintptr_t)addr) + 6), cv);
- raceCheckWrite(tid, (void *)(((uintptr_t)addr) + 7), cv);
- (*(uint64_t *)addr) = val;
+ //DEBUG("addr = %p, val = %" PRIu64 "\n", addr, val);
+ if (!model)
+ return;
+ thread_id_t tid = thread_current_id();
+ raceCheckWrite64(tid, addr);