[clang][Interp][NFC] Make a few InterpStack functions const
This commit is contained in:
parent
ee2e414d66
commit
7c4cad4330
|
@ -46,7 +46,7 @@ void *InterpStack::grow(size_t Size) {
|
||||||
return Object;
|
return Object;
|
||||||
}
|
}
|
||||||
|
|
||||||
void *InterpStack::peek(size_t Size) {
|
void *InterpStack::peek(size_t Size) const {
|
||||||
assert(Chunk && "Stack is empty!");
|
assert(Chunk && "Stack is empty!");
|
||||||
|
|
||||||
StackChunk *Ptr = Chunk;
|
StackChunk *Ptr = Chunk;
|
||||||
|
|
|
@ -48,12 +48,12 @@ public:
|
||||||
}
|
}
|
||||||
|
|
||||||
/// Returns a reference to the value on the top of the stack.
|
/// Returns a reference to the value on the top of the stack.
|
||||||
template <typename T> T &peek() {
|
template <typename T> T &peek() const {
|
||||||
return *reinterpret_cast<T *>(peek(aligned_size<T>()));
|
return *reinterpret_cast<T *>(peek(aligned_size<T>()));
|
||||||
}
|
}
|
||||||
|
|
||||||
/// Returns a pointer to the top object.
|
/// Returns a pointer to the top object.
|
||||||
void *top() { return Chunk ? peek(0) : nullptr; }
|
void *top() const { return Chunk ? peek(0) : nullptr; }
|
||||||
|
|
||||||
/// Returns the size of the stack in bytes.
|
/// Returns the size of the stack in bytes.
|
||||||
size_t size() const { return StackSize; }
|
size_t size() const { return StackSize; }
|
||||||
|
@ -72,7 +72,7 @@ private:
|
||||||
/// Grows the stack to accommodate a value and returns a pointer to it.
|
/// Grows the stack to accommodate a value and returns a pointer to it.
|
||||||
void *grow(size_t Size);
|
void *grow(size_t Size);
|
||||||
/// Returns a pointer from the top of the stack.
|
/// Returns a pointer from the top of the stack.
|
||||||
void *peek(size_t Size);
|
void *peek(size_t Size) const;
|
||||||
/// Shrinks the stack.
|
/// Shrinks the stack.
|
||||||
void shrink(size_t Size);
|
void shrink(size_t Size);
|
||||||
|
|
||||||
|
@ -94,10 +94,13 @@ private:
|
||||||
: Next(nullptr), Prev(Prev), End(reinterpret_cast<char *>(this + 1)) {}
|
: Next(nullptr), Prev(Prev), End(reinterpret_cast<char *>(this + 1)) {}
|
||||||
|
|
||||||
/// Returns the size of the chunk, minus the header.
|
/// Returns the size of the chunk, minus the header.
|
||||||
size_t size() { return End - start(); }
|
size_t size() const { return End - start(); }
|
||||||
|
|
||||||
/// Returns a pointer to the start of the data region.
|
/// Returns a pointer to the start of the data region.
|
||||||
char *start() { return reinterpret_cast<char *>(this + 1); }
|
char *start() { return reinterpret_cast<char *>(this + 1); }
|
||||||
|
const char *start() const {
|
||||||
|
return reinterpret_cast<const char *>(this + 1);
|
||||||
|
}
|
||||||
};
|
};
|
||||||
static_assert(sizeof(StackChunk) < ChunkSize, "Invalid chunk size");
|
static_assert(sizeof(StackChunk) < ChunkSize, "Invalid chunk size");
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue