static ptrdiff_t applyHeapDelta() { ptrdiff_t oldHeapSize = THAtomicAddPtrdiff(&heapSize, heapDelta); #ifdef DEBUG if (heapDelta > 0 && oldHeapSize > PTRDIFF_MAX - heapDelta) THError("applyHeapDelta: heapSize(%td) + increased(%td) > PTRDIFF_MAX, heapSize overflow!", oldHeapSize, heapDelta); if (heapDelta < 0 && oldHeapSize < PTRDIFF_MIN - heapDelta) THError("applyHeapDelta: heapSize(%td) + decreased(%td) < PTRDIFF_MIN, heapSize underflow!", oldHeapSize, heapDelta); #endif ptrdiff_t newHeapSize = oldHeapSize + heapDelta; heapDelta = 0; return newHeapSize; }
static ptrdiff_t applyHeapDelta(THCState *state) { ptrdiff_t newHeapSize = THAtomicAddPtrdiff(&heapSize, state->heapDelta) + state->heapDelta; state->heapDelta = 0; return newHeapSize; }