Assert We Allocated Approximately What We Expected To
This commit is contained in:
parent
27e2482217
commit
1aa6c7ccce
@ -1578,6 +1578,12 @@ static size_t ZSTD_resetCCtx_internal(ZSTD_CCtx* zc,
|
|||||||
ZSTD_window_clear(&zc->ldmState.window);
|
ZSTD_window_clear(&zc->ldmState.window);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* Due to alignment, when reusing a workspace, we can actually consume
|
||||||
|
* up to 3 extra bytes for alignment. See the comments in zstd_cwksp.h
|
||||||
|
*/
|
||||||
|
assert(ZSTD_cwksp_used(ws) >= neededSpace &&
|
||||||
|
ZSTD_cwksp_used(ws) <= neededSpace + 3);
|
||||||
|
|
||||||
DEBUGLOG(3, "wksp: finished allocating, %zd bytes remain available", ZSTD_cwksp_available_space(ws));
|
DEBUGLOG(3, "wksp: finished allocating, %zd bytes remain available", ZSTD_cwksp_available_space(ws));
|
||||||
zc->initialized = 1;
|
zc->initialized = 1;
|
||||||
|
|
||||||
|
@ -483,6 +483,11 @@ MEM_STATIC size_t ZSTD_cwksp_sizeof(const ZSTD_cwksp* ws) {
|
|||||||
return (size_t)((BYTE*)ws->workspaceEnd - (BYTE*)ws->workspace);
|
return (size_t)((BYTE*)ws->workspaceEnd - (BYTE*)ws->workspace);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
MEM_STATIC size_t ZSTD_cwksp_used(const ZSTD_cwksp* ws) {
|
||||||
|
return (size_t)((BYTE*)ws->tableEnd - (BYTE*)ws->workspace)
|
||||||
|
+ (size_t)((BYTE*)ws->workspaceEnd - (BYTE*)ws->allocStart);
|
||||||
|
}
|
||||||
|
|
||||||
MEM_STATIC int ZSTD_cwksp_reserve_failed(const ZSTD_cwksp* ws) {
|
MEM_STATIC int ZSTD_cwksp_reserve_failed(const ZSTD_cwksp* ws) {
|
||||||
return ws->allocFailed;
|
return ws->allocFailed;
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user