Chromium Code Reviews| OLD | NEW |
|---|---|
| 1 //===- NaClBitstreamWriter.h - NaCl bitstream writer ------------*- C++ -*-===// | 1 //===- NaClBitstreamWriter.h - NaCl bitstream writer ------------*- C++ -*-===// |
| 2 // | 2 // |
| 3 // The LLVM Compiler Infrastructure | 3 // The LLVM Compiler Infrastructure |
| 4 // | 4 // |
| 5 // This file is distributed under the University of Illinois Open Source | 5 // This file is distributed under the University of Illinois Open Source |
| 6 // License. See LICENSE.TXT for details. | 6 // License. See LICENSE.TXT for details. |
| 7 // | 7 // |
| 8 //===----------------------------------------------------------------------===// | 8 //===----------------------------------------------------------------------===// |
| 9 // | 9 // |
| 10 // This header defines the BitstreamWriter class. This class can be used to | 10 // This header defines the BitstreamWriter class. This class can be used to |
| (...skipping 403 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 414 assert(RecordIdx < Vals.size() && "Invalid abbrev/record"); | 414 assert(RecordIdx < Vals.size() && "Invalid abbrev/record"); |
| 415 EmitAbbreviatedField(Op, Vals[RecordIdx]); | 415 EmitAbbreviatedField(Op, Vals[RecordIdx]); |
| 416 ++RecordIdx; | 416 ++RecordIdx; |
| 417 } | 417 } |
| 418 } | 418 } |
| 419 assert(RecordIdx == Vals.size() && "Not all record operands emitted!"); | 419 assert(RecordIdx == Vals.size() && "Not all record operands emitted!"); |
| 420 } | 420 } |
| 421 | 421 |
| 422 public: | 422 public: |
| 423 | 423 |
| 424 /// Returns true if the given abbreviation index corresponds to a user-defined | 424 /// Returns a pointer to the abbreviation currently associated with |
| 425 /// abbreviation. | 425 // the abbreviation index. Returns nullptr if no such abbreviation |
|
jvoung (off chromium)
2015/05/20 22:40:09
slash consistency /// vs //
period
Karl
2015/05/21 18:22:07
Done.
| |
| 426 bool isUserRecordAbbreviation(unsigned Abbrev) const { | 426 const NaClBitCodeAbbrev *getAbbreviation(unsigned Index) const { |
| 427 return Abbrev >= naclbitc::FIRST_APPLICATION_ABBREV | 427 if (Index < naclbitc::FIRST_APPLICATION_ABBREV) |
| 428 && Abbrev < (CurAbbrevs.size() + naclbitc::FIRST_APPLICATION_ABBREV); | 428 return nullptr; |
| 429 unsigned AbbrevNo = Index - naclbitc::FIRST_APPLICATION_ABBREV; | |
| 430 if (AbbrevNo >= CurAbbrevs.size()) | |
| 431 return nullptr; | |
| 432 return CurAbbrevs[AbbrevNo]; | |
| 433 } | |
| 434 | |
| 435 size_t getCurNumAbbreviations() const { | |
|
jvoung (off chromium)
2015/05/20 22:40:09
unused method ?
Karl
2015/05/21 18:22:07
Removed.
| |
| 436 return CurAbbrevs.size(); | |
| 429 } | 437 } |
| 430 | 438 |
| 431 /// EmitRecord - Emit the specified record to the stream, using an abbrev if | 439 /// EmitRecord - Emit the specified record to the stream, using an abbrev if |
| 432 /// we have one to compress the output. | 440 /// we have one to compress the output. |
| 433 template<typename uintty> | 441 template<typename uintty> |
| 434 void EmitRecord(unsigned Code, const SmallVectorImpl<uintty> &Vals, | 442 void EmitRecord(unsigned Code, const SmallVectorImpl<uintty> &Vals, |
| 435 unsigned Abbrev = 0) { | 443 unsigned Abbrev = 0) { |
| 436 if (!Abbrev) { | 444 if (!Abbrev) { |
| 437 // If we don't have an abbrev to use, emit this in its fully unabbreviated | 445 // If we don't have an abbrev to use, emit this in its fully unabbreviated |
| 438 // form. | 446 // form. |
| (...skipping 92 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 531 Info.Abbrevs.push_back(Abbv); | 539 Info.Abbrevs.push_back(Abbv); |
| 532 | 540 |
| 533 return Info.Abbrevs.size()-1+naclbitc::FIRST_APPLICATION_ABBREV; | 541 return Info.Abbrevs.size()-1+naclbitc::FIRST_APPLICATION_ABBREV; |
| 534 } | 542 } |
| 535 }; | 543 }; |
| 536 | 544 |
| 537 | 545 |
| 538 } // End llvm namespace | 546 } // End llvm namespace |
| 539 | 547 |
| 540 #endif | 548 #endif |
| OLD | NEW |