Skip to content

Commit c463652

Browse files
committed
Apply bugfix from Bobby
maxCount bit width changed but load wasn't updated.
1 parent e4fd57b commit c463652

File tree

1 file changed

+2
-2
lines changed

1 file changed

+2
-2
lines changed

src/mini_heap.h

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -62,7 +62,7 @@ class Flags {
6262
d_assert(svOffset < (kPageSize / kMinObjectSize - 1));
6363
d_assert_msg(sizeClass < 255, "sizeClass: %u", sizeClass);
6464
d_assert(maxCount <= (kPageSize / kMinObjectSize));
65-
d_assert(this->maxCount() == maxCount);
65+
d_assert_msg(this->maxCount() == maxCount, "maxCount() (%u) != maxCount (%u)", this->maxCount(), maxCount);
6666
}
6767

6868
inline uint32_t freelistId() const {
@@ -79,7 +79,7 @@ class Flags {
7979

8080
inline uint32_t maxCount() const {
8181
// XXX: does this assume little endian?
82-
return (_flags.load(std::memory_order_seq_cst) >> MaxCountShift) & 0x1ff;
82+
return (_flags.load(std::memory_order_seq_cst) >> MaxCountShift) & 0x7ff;
8383
}
8484

8585
inline uint32_t sizeClass() const {

0 commit comments

Comments
 (0)