const flags = bindingObj.flags;
const kNoZeroFill = 0;
+function createBuffer(size) {
+ const ui8 = new Uint8Array(size);
+ Object.setPrototypeOf(ui8, Buffer.prototype);
+ return ui8;
+}
function createPool() {
poolSize = Buffer.poolSize;
if (poolSize > 0)
flags[kNoZeroFill] = 1;
- allocPool = new Uint8Array(poolSize);
- Object.setPrototypeOf(allocPool, Buffer.prototype);
+ allocPool = createBuffer(poolSize);
poolOffset = 0;
}
createPool();
length = 0;
if (length > 0)
flags[kNoZeroFill] = 1;
- const ui8 = new Uint8Array(+length);
- Object.setPrototypeOf(ui8, Buffer.prototype);
- return ui8;
+ return createBuffer(+length);
}
Object.setPrototypeOf(SlowBuffer.prototype, Uint8Array.prototype);
function allocate(size) {
if (size === 0) {
- const ui8 = new Uint8Array(size);
- Object.setPrototypeOf(ui8, Buffer.prototype);
- return ui8;
+ return createBuffer(size);
}
if (size < (Buffer.poolSize >>> 1)) {
if (size > (poolSize - poolOffset))
// being zero filled.
if (size > 0)
flags[kNoZeroFill] = 1;
- const ui8 = new Uint8Array(size);
- Object.setPrototypeOf(ui8, Buffer.prototype);
- return ui8;
+ return createBuffer(size);
}
}