PopReadProducerConsumerBuffer
VOID *__stdcall PopReadProducerConsumerBuffer(
CHAR *VirtualBuffer,
UINT64 Size,
VOID *ScratchBuffer,
_PRODUCER_CONSUMER_CONTEXT *SharedContext,
_POP_PER_PROCESSOR_CONTEXT *PrivateContext,
UINT8 ForceCopy){
VOID *v6;
unsigned __int64 v7;
unsigned __int64 v8;
v6 = ScratchBuffer;
if( !ForceCopy && (int)Size + (int)VirtualBuffer - *SharedContext <= (unsigned int)SharedContext[2] )
return VirtualBuffer;
v7 = __rdtsc();
ProducerConsumerCopyFromContextBuffer((CHAR *)ScratchBuffer, (unsigned int)Size, SharedContext, VirtualBuffer);
v8 = __rdtsc();
PrivateContext->ResumeCopyTicks += (((unsigned __int64)HIDWORD(v8) << 32) | (unsigned int)v8) - v7;
return v6;
}Referenced by:
PopDecompressHiberBlocks
PopHiberPeekRangeTable