Home | History | Annotate | Download | only in Serialization

Lines Matching full:record

44   /// \brief Describes the record types in the index.
149 case llvm::BitstreamEntry::Record:
168 SmallVector<uint64_t, 64> Record;
170 switch ((IndexRecordTypes)Cursor.readRecord(Entry.ID, Record, &Blob)) {
173 if (Record.size() < 1 || Record[0] != CurrentVersion)
179 unsigned ID = Record[Idx++];
189 Modules[ID].Size = Record[Idx++];
190 Modules[ID].ModTime = Record[Idx++];
193 unsigned NameLen = Record[Idx++];
194 Modules[ID].FileName.assign(Record.begin() + Idx,
195 Record.begin() + Idx + NameLen);
199 unsigned NumDeps = Record[Idx++];
201 Record.begin() + Idx,
202 Record.begin() + Idx + NumDeps);
205 // Make sure we're at the end of the record.
206 assert(Idx == Record.size() && "More module info?");
208 // Record this module as an unresolved module.
220 if (Record[0]) {
222 (const unsigned char *)Blob.data() + Record[0],
285 // Record dependencies.
331 // If the size and modification time match what we expected, record this
434 SmallVectorImpl<uint64_t> &Record) {
435 Record.clear();
436 Record.push_back(ID);
437 Stream.EmitRecord(llvm::bitc::BLOCKINFO_CODE_SETBID, Record);
441 Record.clear();
443 Record.push_back(*Name++);
444 Stream.EmitRecord(llvm::bitc::BLOCKINFO_CODE_BLOCKNAME, Record);
449 SmallVectorImpl<uint64_t> &Record) {
450 Record.clear();
451 Record.push_back(ID);
453 Record.push_back(*Name++);
454 Stream.EmitRecord(llvm::bitc::BLOCKINFO_CODE_SETRECORDNAME, Record);
459 SmallVector<uint64_t, 64> Record;
462 #define BLOCK(X) emitBlockID(X ## _ID, #X, Stream, Record)
463 #define RECORD(X) emitRecordID(X, #X, Stream, Record)
465 RECORD(INDEX_METADATA);
466 RECORD(MODULE);
467 RECORD(IDENTIFIER_INDEX);
468 #undef RECORD
519 // Record this module file and assign it a unique ID (if it doesn't have
533 case llvm::BitstreamEntry::Record:
534 // In the 'other' state, just skip the record. We don't care.
572 // Read the given record.
573 SmallVector<uint64_t, 64> Record;
575 unsigned Code = InStream.readRecord(Entry.ID, Record, &Blob);
580 unsigned Idx = 0, N = Record.size();
591 off_t StoredSize = (off_t)Record[Idx++];
592 time_t StoredModTime = (time_t)Record[Idx++];
595 unsigned Length = Record[Idx++];
596 SmallString<128> ImportedFile(Record.begin() + Idx,
597 Record.begin() + Idx + Length);
609 // Record the dependency.
618 if (State == ASTBlock && Code == IDENTIFIER_TABLE && Record[0] > 0) {
623 (const unsigned char *)Blob.data() + Record[0],
637 // We don't care about this record.
701 SmallVector<uint64_t, 2> Record;
702 Record.push_back(CurrentVersion);
703 Stream.EmitRecord(INDEX_METADATA, Record);
709 Record.clear();
710 Record.push_back(M->second.ID);
711 Record.push_back(M->first->getSize());
712 Record.push_back(M->first->getModificationTime());
716 Record.push_back(Name.size());
717 Record.append(Name.begin(), Name.end());
720 Record.push_back(M->second.Dependencies.size());
721 Record.append(M->second.Dependencies.begin(), M->second.Dependencies.end());
722 Stream.EmitRecord(MODULE, Record);
756 Record.clear();
757 Record.push_back(IDENTIFIER_INDEX);
758 Record.push_back(BucketOffset);
759 Stream.EmitRecordWithBlob(IDTableAbbrev, Record, IdentifierTable.str());