Lines Matching defs:BufferIO

55 static void llvmInitBufferIO(ProfBufferIO *BufferIO, ProfDataWriter *FileWriter,
57 BufferIO->FileWriter = FileWriter;
58 BufferIO->OwnFileWriter = 0;
59 BufferIO->BufferStart = Buffer;
60 BufferIO->BufferSz = BufferSz;
61 BufferIO->CurOffset = 0;
76 COMPILER_RT_VISIBILITY void lprofDeleteBufferIO(ProfBufferIO *BufferIO) {
77 if (BufferIO->OwnFileWriter)
78 FreeHook(BufferIO->FileWriter);
87 lprofBufferIOWrite(ProfBufferIO *BufferIO, const uint8_t *Data, uint32_t Size) {
89 if (Size + BufferIO->CurOffset > BufferIO->BufferSz) {
90 if (lprofBufferIOFlush(BufferIO) != 0)
95 if (Size > BufferIO->BufferSz) {
96 if (BufferIO->FileWriter->Write(BufferIO->FileWriter, IO, 1))
100 uint8_t *Buffer = BufferIO->BufferStart + BufferIO->CurOffset;
104 BufferIO->CurOffset =
105 (uint8_t *)BufferWriter.WriterCtx - BufferIO->BufferStart;
110 COMPILER_RT_VISIBILITY int lprofBufferIOFlush(ProfBufferIO *BufferIO) {
111 if (BufferIO->CurOffset) {
113 {BufferIO->BufferStart, sizeof(uint8_t), BufferIO->CurOffset, 0}};
114 if (BufferIO->FileWriter->Write(BufferIO->FileWriter, IO, 1))
116 BufferIO->CurOffset = 0;
124 * value profile data is written out to \c BufferIO piecemeal.
126 static int writeOneValueProfData(ProfBufferIO *BufferIO,
155 if (lprofBufferIOWrite(BufferIO, (const uint8_t *)&VPHeader,
181 if (lprofBufferIOWrite(BufferIO, (const uint8_t *)&RecordHeader,
189 if (lprofBufferIOWrite(BufferIO, SiteCountArray[I], SiteCountArraySize))
206 if (lprofBufferIOWrite(BufferIO, (const uint8_t *)&VPDataArray[0],
221 ProfBufferIO *BufferIO;
227 BufferIO = lprofCreateBufferIO(Writer);
230 if (writeOneValueProfData(BufferIO, VPDataReader, DI))
234 if (lprofBufferIOFlush(BufferIO) != 0)
236 lprofDeleteBufferIO(BufferIO);