File tree Expand file tree Collapse file tree 2 files changed +17
-13
lines changed Expand file tree Collapse file tree 2 files changed +17
-13
lines changed Original file line number Diff line number Diff 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+
513529template <typename T, size_t S>
514530ArrayBufferViewContents<T, S>::ArrayBufferViewContents(
515531 v8::Local<v8::Value> value) {
Original file line number Diff line number Diff line change @@ -412,19 +412,7 @@ class MaybeStackBuffer {
412412 // This method can be called multiple times throughout the lifetime of the
413413 // buffer, but once this has been called Invalidate() cannot be used.
414414 // Content of the buffer in the range [0, length()) is preserved.
415- void AllocateSufficientStorage (size_t storage) {
416- CHECK (!IsInvalidated ());
417- if (storage > capacity ()) {
418- bool was_allocated = IsAllocated ();
419- T* allocated_ptr = was_allocated ? buf_ : nullptr ;
420- buf_ = Realloc (allocated_ptr, storage);
421- capacity_ = storage;
422- if (!was_allocated && length_ > 0 )
423- memcpy (buf_, buf_st_, length_ * sizeof (buf_[0 ]));
424- }
425-
426- length_ = storage;
427- }
415+ void AllocateSufficientStorage (size_t storage);
428416
429417 void SetLength (size_t length) {
430418 // capacity() returns how much memory is actually available.
You can’t perform that action at this time.
0 commit comments