Lines Matching refs:serialState

470 ZSTDMT_serialState_reset(serialState_t* serialState,  in ZSTDMT_serialState_reset()  argument
486 serialState->nextJobID = 0; in ZSTDMT_serialState_reset()
488 XXH64_reset(&serialState->xxhState, 0); in ZSTDMT_serialState_reset()
496 serialState->params.ldmParams.hashLog - in ZSTDMT_serialState_reset()
497 serialState->params.ldmParams.bucketSizeLog; in ZSTDMT_serialState_reset()
502 ZSTD_window_init(&serialState->ldmState.window); in ZSTDMT_serialState_reset()
504 … if (serialState->ldmState.hashTable == NULL || serialState->params.ldmParams.hashLog < hashLog) { in ZSTDMT_serialState_reset()
505 ZSTD_customFree(serialState->ldmState.hashTable, cMem); in ZSTDMT_serialState_reset()
506 serialState->ldmState.hashTable = (ldmEntry_t*)ZSTD_customMalloc(hashSize, cMem); in ZSTDMT_serialState_reset()
508 if (serialState->ldmState.bucketOffsets == NULL || prevBucketLog < bucketLog) { in ZSTDMT_serialState_reset()
509 ZSTD_customFree(serialState->ldmState.bucketOffsets, cMem); in ZSTDMT_serialState_reset()
510 serialState->ldmState.bucketOffsets = (BYTE*)ZSTD_customMalloc(numBuckets, cMem); in ZSTDMT_serialState_reset()
512 if (!serialState->ldmState.hashTable || !serialState->ldmState.bucketOffsets) in ZSTDMT_serialState_reset()
515 ZSTD_memset(serialState->ldmState.hashTable, 0, hashSize); in ZSTDMT_serialState_reset()
516 ZSTD_memset(serialState->ldmState.bucketOffsets, 0, numBuckets); in ZSTDMT_serialState_reset()
519 serialState->ldmState.loadedDictEnd = 0; in ZSTDMT_serialState_reset()
523 … ZSTD_window_update(&serialState->ldmState.window, dict, dictSize, /* forceNonContiguous */ 0); in ZSTDMT_serialState_reset()
524 … ZSTD_ldm_fillHashTable(&serialState->ldmState, (const BYTE*)dict, dictEnd, &params.ldmParams); in ZSTDMT_serialState_reset()
525serialState->ldmState.loadedDictEnd = params.forceWindow ? 0 : (U32)(dictEnd - serialState->ldmSta… in ZSTDMT_serialState_reset()
532 serialState->ldmWindow = serialState->ldmState.window; in ZSTDMT_serialState_reset()
535 serialState->params = params; in ZSTDMT_serialState_reset()
536 serialState->params.jobSize = (U32)jobSize; in ZSTDMT_serialState_reset()
540 static int ZSTDMT_serialState_init(serialState_t* serialState) in ZSTDMT_serialState_init() argument
543 ZSTD_memset(serialState, 0, sizeof(*serialState)); in ZSTDMT_serialState_init()
544 initError |= ZSTD_pthread_mutex_init(&serialState->mutex, NULL); in ZSTDMT_serialState_init()
545 initError |= ZSTD_pthread_cond_init(&serialState->cond, NULL); in ZSTDMT_serialState_init()
546 initError |= ZSTD_pthread_mutex_init(&serialState->ldmWindowMutex, NULL); in ZSTDMT_serialState_init()
547 initError |= ZSTD_pthread_cond_init(&serialState->ldmWindowCond, NULL); in ZSTDMT_serialState_init()
551 static void ZSTDMT_serialState_free(serialState_t* serialState) in ZSTDMT_serialState_free() argument
553 ZSTD_customMem cMem = serialState->params.customMem; in ZSTDMT_serialState_free()
554 ZSTD_pthread_mutex_destroy(&serialState->mutex); in ZSTDMT_serialState_free()
555 ZSTD_pthread_cond_destroy(&serialState->cond); in ZSTDMT_serialState_free()
556 ZSTD_pthread_mutex_destroy(&serialState->ldmWindowMutex); in ZSTDMT_serialState_free()
557 ZSTD_pthread_cond_destroy(&serialState->ldmWindowCond); in ZSTDMT_serialState_free()
558 ZSTD_customFree(serialState->ldmState.hashTable, cMem); in ZSTDMT_serialState_free()
559 ZSTD_customFree(serialState->ldmState.bucketOffsets, cMem); in ZSTDMT_serialState_free()
562 static void ZSTDMT_serialState_update(serialState_t* serialState, in ZSTDMT_serialState_update() argument
567 ZSTD_PTHREAD_MUTEX_LOCK(&serialState->mutex); in ZSTDMT_serialState_update()
568 while (serialState->nextJobID < jobID) { in ZSTDMT_serialState_update()
570 ZSTD_pthread_cond_wait(&serialState->cond, &serialState->mutex); in ZSTDMT_serialState_update()
573 if (serialState->nextJobID == jobID) { in ZSTDMT_serialState_update()
575 if (serialState->params.ldmParams.enableLdm == ZSTD_ps_enable) { in ZSTDMT_serialState_update()
579 assert(src.size <= serialState->params.jobSize); in ZSTDMT_serialState_update()
580 …ZSTD_window_update(&serialState->ldmState.window, src.start, src.size, /* forceNonContiguous */ 0); in ZSTDMT_serialState_update()
582 &serialState->ldmState, &seqStore, in ZSTDMT_serialState_update()
583 &serialState->params.ldmParams, src.start, src.size); in ZSTDMT_serialState_update()
589 ZSTD_PTHREAD_MUTEX_LOCK(&serialState->ldmWindowMutex); in ZSTDMT_serialState_update()
590 serialState->ldmWindow = serialState->ldmState.window; in ZSTDMT_serialState_update()
591 ZSTD_pthread_cond_signal(&serialState->ldmWindowCond); in ZSTDMT_serialState_update()
592 ZSTD_pthread_mutex_unlock(&serialState->ldmWindowMutex); in ZSTDMT_serialState_update()
594 if (serialState->params.fParams.checksumFlag && src.size > 0) in ZSTDMT_serialState_update()
595 XXH64_update(&serialState->xxhState, src.start, src.size); in ZSTDMT_serialState_update()
598 serialState->nextJobID++; in ZSTDMT_serialState_update()
599 ZSTD_pthread_cond_broadcast(&serialState->cond); in ZSTDMT_serialState_update()
600 ZSTD_pthread_mutex_unlock(&serialState->mutex); in ZSTDMT_serialState_update()
605 assert(serialState->params.ldmParams.enableLdm == ZSTD_ps_enable); in ZSTDMT_serialState_update()
611 static void ZSTDMT_serialState_ensureFinished(serialState_t* serialState, in ZSTDMT_serialState_ensureFinished() argument
614 ZSTD_PTHREAD_MUTEX_LOCK(&serialState->mutex); in ZSTDMT_serialState_ensureFinished()
615 if (serialState->nextJobID <= jobID) { in ZSTDMT_serialState_ensureFinished()
618 serialState->nextJobID = jobID + 1; in ZSTDMT_serialState_ensureFinished()
619 ZSTD_pthread_cond_broadcast(&serialState->cond); in ZSTDMT_serialState_ensureFinished()
621 ZSTD_PTHREAD_MUTEX_LOCK(&serialState->ldmWindowMutex); in ZSTDMT_serialState_ensureFinished()
622 ZSTD_window_clear(&serialState->ldmWindow); in ZSTDMT_serialState_ensureFinished()
623 ZSTD_pthread_cond_signal(&serialState->ldmWindowCond); in ZSTDMT_serialState_ensureFinished()
624 ZSTD_pthread_mutex_unlock(&serialState->ldmWindowMutex); in ZSTDMT_serialState_ensureFinished()
626 ZSTD_pthread_mutex_unlock(&serialState->mutex); in ZSTDMT_serialState_ensureFinished()