diff --git a/src/node_buffer.cc b/src/node_buffer.cc index 39727fcdd14179..9fed15622e05d5 100644 --- a/src/node_buffer.cc +++ b/src/node_buffer.cc @@ -234,6 +234,20 @@ size_t Length(Local obj) { } +inline MaybeLocal New(Environment* env, + Local ab, + size_t byte_offset, + size_t length) { + CHECK(!env->buffer_prototype_object().IsEmpty()); + Local ui = Uint8Array::New(ab, byte_offset, length); + Maybe mb = + ui->SetPrototype(env->context(), env->buffer_prototype_object()); + if (mb.IsNothing()) + return MaybeLocal(); + return ui; +} + + MaybeLocal New(Isolate* isolate, Local string, enum encoding enc) { diff --git a/src/node_internals.h b/src/node_internals.h index 367df26c0e74f6..6f09708371b97c 100644 --- a/src/node_internals.h +++ b/src/node_internals.h @@ -128,20 +128,6 @@ v8::MaybeLocal New(Environment* env, // Mixing operator new and free() is undefined behavior so don't do that. v8::MaybeLocal New(Environment* env, char* data, size_t length); -inline -v8::MaybeLocal New(Environment* env, - v8::Local ab, - size_t byte_offset, - size_t length) { - v8::Local ui = v8::Uint8Array::New(ab, byte_offset, length); - CHECK(!env->buffer_prototype_object().IsEmpty()); - v8::Maybe mb = - ui->SetPrototype(env->context(), env->buffer_prototype_object()); - if (mb.IsNothing()) - return v8::MaybeLocal(); - return ui; -} - // Construct a Buffer from a MaybeStackBuffer (and also its subclasses like // Utf8Value and TwoByteValue). // If |buf| is invalidated, an empty MaybeLocal is returned, and nothing is