Lines Matching refs:rec
129 int hprofFlushRecord(hprof_record_t *rec, FILE *fp) in hprofFlushRecord() argument
131 if (rec->dirty) { in hprofFlushRecord()
135 headBuf[0] = rec->tag; in hprofFlushRecord()
136 U4_TO_BUF_BE(headBuf, 1, rec->time); in hprofFlushRecord()
137 U4_TO_BUF_BE(headBuf, 5, rec->length); in hprofFlushRecord()
143 nb = fwrite(rec->body, 1, rec->length, fp); in hprofFlushRecord()
144 if (nb != (int)rec->length) { in hprofFlushRecord()
148 rec->dirty = false; in hprofFlushRecord()
162 hprof_record_t *rec = &ctx->curRec; in hprofStartNewRecord() local
165 err = hprofFlushRecord(rec, ctx->memFp); in hprofStartNewRecord()
168 } else if (rec->dirty) { in hprofStartNewRecord()
172 rec->dirty = true; in hprofStartNewRecord()
173 rec->tag = tag; in hprofStartNewRecord()
174 rec->time = time; in hprofStartNewRecord()
175 rec->length = 0; in hprofStartNewRecord()
180 static inline int guaranteeRecordAppend(hprof_record_t *rec, size_t nmore) in guaranteeRecordAppend() argument
184 minSize = rec->length + nmore; in guaranteeRecordAppend()
185 if (minSize > rec->allocLen) { in guaranteeRecordAppend()
189 newAllocLen = rec->allocLen * 2; in guaranteeRecordAppend()
191 newAllocLen = rec->allocLen + nmore + nmore/2; in guaranteeRecordAppend()
193 newBody = (unsigned char *)realloc(rec->body, newAllocLen); in guaranteeRecordAppend()
195 rec->body = newBody; in guaranteeRecordAppend()
196 rec->allocLen = newAllocLen; in guaranteeRecordAppend()
203 assert(rec->length + nmore <= rec->allocLen); in guaranteeRecordAppend()
207 int hprofAddU1ListToRecord(hprof_record_t *rec, const u1 *values, in hprofAddU1ListToRecord() argument
212 err = guaranteeRecordAppend(rec, numValues); in hprofAddU1ListToRecord()
217 memcpy(rec->body + rec->length, values, numValues); in hprofAddU1ListToRecord()
218 rec->length += numValues; in hprofAddU1ListToRecord()
223 int hprofAddU1ToRecord(hprof_record_t *rec, u1 value) in hprofAddU1ToRecord() argument
227 err = guaranteeRecordAppend(rec, 1); in hprofAddU1ToRecord()
232 rec->body[rec->length++] = value; in hprofAddU1ToRecord()
237 int hprofAddUtf8StringToRecord(hprof_record_t *rec, const char *str) in hprofAddUtf8StringToRecord() argument
242 return hprofAddU1ListToRecord(rec, (const u1 *)str, strlen(str)); in hprofAddUtf8StringToRecord()
245 int hprofAddU2ListToRecord(hprof_record_t *rec, const u2 *values, in hprofAddU2ListToRecord() argument
248 int err = guaranteeRecordAppend(rec, numValues * 2); in hprofAddU2ListToRecord()
255 unsigned char *insert = rec->body + rec->length; in hprofAddU2ListToRecord()
260 rec->length += numValues * 2; in hprofAddU2ListToRecord()
265 int hprofAddU2ToRecord(hprof_record_t *rec, u2 value) in hprofAddU2ToRecord() argument
267 return hprofAddU2ListToRecord(rec, &value, 1); in hprofAddU2ToRecord()
270 int hprofAddU4ListToRecord(hprof_record_t *rec, const u4 *values, in hprofAddU4ListToRecord() argument
273 int err = guaranteeRecordAppend(rec, numValues * 4); in hprofAddU4ListToRecord()
280 unsigned char *insert = rec->body + rec->length; in hprofAddU4ListToRecord()
285 rec->length += numValues * 4; in hprofAddU4ListToRecord()
290 int hprofAddU4ToRecord(hprof_record_t *rec, u4 value) in hprofAddU4ToRecord() argument
292 return hprofAddU4ListToRecord(rec, &value, 1); in hprofAddU4ToRecord()
295 int hprofAddU8ListToRecord(hprof_record_t *rec, const u8 *values, in hprofAddU8ListToRecord() argument
298 int err = guaranteeRecordAppend(rec, numValues * 8); in hprofAddU8ListToRecord()
305 unsigned char *insert = rec->body + rec->length; in hprofAddU8ListToRecord()
310 rec->length += numValues * 8; in hprofAddU8ListToRecord()
315 int hprofAddU8ToRecord(hprof_record_t *rec, u8 value) in hprofAddU8ToRecord() argument
317 return hprofAddU8ListToRecord(rec, &value, 1); in hprofAddU8ToRecord()