Skip to content

Commit f3a05e4

Browse files
committed
Rename a member and address more review comments.
1 parent 2988205 commit f3a05e4

File tree

1 file changed

+16
-14
lines changed

1 file changed

+16
-14
lines changed

clang/lib/AST/Interp/InterpBitcast.cpp

Lines changed: 16 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -73,18 +73,18 @@ static void swapBytes(std::byte *M, size_t N) {
7373
/// All offsets are in bits.
7474
struct BitTracker {
7575
llvm::BitVector Initialized;
76-
llvm::BitVector Data_;
76+
llvm::BitVector Data;
7777

7878
BitTracker() = default;
7979

8080
size_t size() const {
81-
assert(Initialized.size() == Data_.size());
81+
assert(Initialized.size() == Data.size());
8282
return Initialized.size();
8383
}
8484

8585
const std::byte *getBytes(size_t BitOffset, int a) {
8686
assert(BitOffset % 8 == 0);
87-
return reinterpret_cast<const std::byte *>(Data_.getData().data()) +
87+
return reinterpret_cast<const std::byte *>(Data.getData().data()) +
8888
(BitOffset / 8);
8989
}
9090

@@ -95,19 +95,22 @@ struct BitTracker {
9595
bool allInitialized() const { return Initialized.all(); }
9696

9797
void pushData(const std::byte *data, size_t BitOffset, size_t BitWidth) {
98-
assert(BitOffset >= Data_.size());
98+
assert(BitOffset >= Data.size());
99+
Data.reserve(BitOffset + BitWidth);
100+
Initialized.reserve(BitOffset + BitWidth);
101+
99102
// First, fill up the bit vector until BitOffset. The bits are all 0
100103
// but we record them as indeterminate.
101104
{
102-
Data_.resize(BitOffset, false);
105+
Data.resize(BitOffset, false);
103106
Initialized.resize(BitOffset, false);
104107
}
105108

106109
size_t BitsHandled = 0;
107110
// Read all full bytes first
108111
for (size_t I = 0; I != BitWidth / 8; ++I) {
109112
for (unsigned X = 0; X != 8; ++X) {
110-
Data_.push_back((data[I] & std::byte(1 << X)) != std::byte{0});
113+
Data.push_back((data[I] & std::byte(1 << X)) != std::byte{0});
111114
Initialized.push_back(true);
112115
++BitsHandled;
113116
}
@@ -116,21 +119,21 @@ struct BitTracker {
116119
// Rest of the bits.
117120
assert((BitWidth - BitsHandled) < 8);
118121
for (size_t I = 0, E = (BitWidth - BitsHandled); I != E; ++I) {
119-
Data_.push_back((data[BitWidth / 8] & std::byte(1 << I)) != std::byte{0});
122+
Data.push_back((data[BitWidth / 8] & std::byte(1 << I)) != std::byte{0});
120123
Initialized.push_back(true);
121124
++BitsHandled;
122125
}
123126
}
124127

125128
void pushZeroes(size_t Amount) {
126-
size_t N = Data_.size();
127-
Data_.resize(N + Amount, false);
129+
size_t N = Data.size();
130+
Data.resize(N + Amount, false);
128131
Initialized.resize(N + Amount, true);
129132
}
130133

131134
void markUninitializedUntil(size_t Offset) {
132-
assert(Offset >= Data_.size());
133-
Data_.resize(Offset, false);
135+
assert(Offset >= Data.size());
136+
Data.resize(Offset, false);
134137
Initialized.resize(Offset, false);
135138
}
136139
};
@@ -185,7 +188,6 @@ static bool enumerateData(const Pointer &P, const Context &Ctx, size_t Offset,
185188
size_t BitOffset = Offset + Ctx.getASTContext().toBits(ByteOffset);
186189
Ok = Ok && enumerateData(Elem, Ctx, BitOffset, F);
187190
}
188-
// TODO: Virtual bases?
189191

190192
for (unsigned I = 0; I != R->getNumFields(); ++I) {
191193
const Record::Field *Fi = R->getField(I);
@@ -344,11 +346,11 @@ bool DoBitCast(InterpState &S, CodePtr OpPC, const Pointer &P, std::byte *Buff,
344346
assert(Bits.size() == BuffSize * 8);
345347

346348
HasIndeterminateBits = !Bits.allInitialized();
347-
std::memcpy(Buff, Bits.Data_.getData().data(), BuffSize);
349+
std::memcpy(Buff, Bits.Data.getData().data(), BuffSize);
348350

349351
if (BigEndian)
350352
swapBytes(Buff, BuffSize);
351-
return Success; // && !HasIndeterminateBits;
353+
return Success;
352354
}
353355

354356
/// Bitcast from a Pointer to a Pointer.

0 commit comments

Comments
 (0)