|
@@ -21,11 +21,10 @@ inline void StringBuilder::will_append(size_t size)
|
|
|
Checked<size_t> needed_capacity = m_length;
|
|
|
needed_capacity += size;
|
|
|
VERIFY(!needed_capacity.has_overflow());
|
|
|
- if (needed_capacity <= m_buffer.capacity())
|
|
|
- return;
|
|
|
-
|
|
|
Checked<size_t> expanded_capacity = needed_capacity;
|
|
|
- expanded_capacity *= 2;
|
|
|
+ // Prefer to completely use the inline buffer first
|
|
|
+ if (needed_capacity > inline_capacity)
|
|
|
+ expanded_capacity *= 2;
|
|
|
VERIFY(!expanded_capacity.has_overflow());
|
|
|
m_buffer.grow(expanded_capacity.value());
|
|
|
}
|