Skip to content

Commit 339b52f

Browse files
joyeecheungdanielleadams
authored andcommitted
src: make util.h self-containted
Before it depended on util-inl.h. Fix it by moving MaybeStackBuffer::AllocateSufficientStorage() into util-inl.h PR-URL: #46817 Reviewed-By: Anna Henningsen <anna@addaleax.net> Reviewed-By: Matteo Collina <matteo.collina@gmail.com>
1 parent 34ba230 commit 339b52f

File tree

2 files changed

+17
-13
lines changed

2 files changed

+17
-13
lines changed

src/util-inl.h

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -510,6 +510,22 @@ SlicedArguments::SlicedArguments(
510510
(*this)[i] = args[i + start];
511511
}
512512

513+
template <typename T, size_t kStackStorageSize>
514+
void MaybeStackBuffer<T, kStackStorageSize>::AllocateSufficientStorage(
515+
size_t storage) {
516+
CHECK(!IsInvalidated());
517+
if (storage > capacity()) {
518+
bool was_allocated = IsAllocated();
519+
T* allocated_ptr = was_allocated ? buf_ : nullptr;
520+
buf_ = Realloc(allocated_ptr, storage);
521+
capacity_ = storage;
522+
if (!was_allocated && length_ > 0)
523+
memcpy(buf_, buf_st_, length_ * sizeof(buf_[0]));
524+
}
525+
526+
length_ = storage;
527+
}
528+
513529
template <typename T, size_t S>
514530
ArrayBufferViewContents<T, S>::ArrayBufferViewContents(
515531
v8::Local<v8::Value> value) {

src/util.h

Lines changed: 1 addition & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -411,19 +411,7 @@ class MaybeStackBuffer {
411411
// This method can be called multiple times throughout the lifetime of the
412412
// buffer, but once this has been called Invalidate() cannot be used.
413413
// Content of the buffer in the range [0, length()) is preserved.
414-
void AllocateSufficientStorage(size_t storage) {
415-
CHECK(!IsInvalidated());
416-
if (storage > capacity()) {
417-
bool was_allocated = IsAllocated();
418-
T* allocated_ptr = was_allocated ? buf_ : nullptr;
419-
buf_ = Realloc(allocated_ptr, storage);
420-
capacity_ = storage;
421-
if (!was_allocated && length_ > 0)
422-
memcpy(buf_, buf_st_, length_ * sizeof(buf_[0]));
423-
}
424-
425-
length_ = storage;
426-
}
414+
void AllocateSufficientStorage(size_t storage);
427415

428416
void SetLength(size_t length) {
429417
// capacity() returns how much memory is actually available.

0 commit comments

Comments
 (0)
pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy