Commit 7119497d authored by Frank Emrich's avatar Frank Emrich Committed by Commit Bot

[dict-proto] make SwissNameDictionary::IsValidCapacity constexpr

This fixes a build problem in gcc, where the constexpr function
SwissNameDictionary::SizeFor uses the non-constxpr function
SwissNameDictionary::IsValidCapacity in a DCHECK.

Bug: v8:11388
Change-Id: Iaeb2b80bb72da3a9c895aa33977c160533019c35
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2684514Reviewed-by: 's avatarNico Hartmann <nicohartmann@chromium.org>
Reviewed-by: 's avatarMaya Lekova <mslekova@chromium.org>
Commit-Queue: Frank Emrich <emrich@google.com>
Cr-Commit-Position: refs/heads/master@{#72595}
parent 54c160d9
......@@ -31,7 +31,7 @@ int SwissNameDictionary::Capacity() {
}
// static
bool SwissNameDictionary::IsValidCapacity(int capacity) {
constexpr bool SwissNameDictionary::IsValidCapacity(int capacity) {
return capacity == 0 || (capacity >= kInitialCapacity &&
// Must be power of 2.
((capacity & (capacity - 1)) == 0));
......@@ -51,7 +51,7 @@ constexpr int SwissNameDictionary::CtrlTableSize(int capacity) {
// static
constexpr int SwissNameDictionary::SizeFor(int capacity) {
DCHECK(IsValidCapacity(capacity));
CONSTEXPR_DCHECK(IsValidCapacity(capacity));
return PropertyDetailsTableStartOffset(capacity) + capacity;
}
......
......@@ -70,7 +70,7 @@ class SwissNameDictionary : public HeapObject {
public:
inline int Capacity();
inline static bool IsValidCapacity(int capacity);
inline static constexpr bool IsValidCapacity(int capacity);
// Returns total size in bytes required for a table of given capacity.
inline static constexpr int SizeFor(int capacity);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment