From a3f7f082ce90006554ab462a816cfc82ed53e0bc Mon Sep 17 00:00:00 2001 From: Matthieu Monsch Date: Sun, 6 Jul 2025 07:56:58 -0700 Subject: [PATCH 1/5] fix: migrate slow buffer calls when possible --- lib/types.js | 6 ++---- lib/utils.js | 11 ++++++++++- 2 files changed, 12 insertions(+), 5 deletions(-) diff --git a/lib/types.js b/lib/types.js index f4d644e6..33cce424 100644 --- a/lib/types.js +++ b/lib/types.js @@ -15,11 +15,9 @@ */ var utils = require('./utils'), - buffer = require('buffer'), // For `SlowBuffer`. util = require('util'); var Buffer = buffer.Buffer; -var SlowBuffer = buffer.SlowBuffer; // Convenience imports. var Tap = utils.Tap; @@ -48,7 +46,7 @@ var TYPES = { var RANDOM = new utils.Lcg(); // Encoding tap (shared for performance). -var TAP = new Tap(new SlowBuffer(1024)); +var TAP = new Tap(util.newSlowBuffer(1024)); // Currently active logical type, used for name redirection. var LOGICAL_TYPE = null; @@ -453,7 +451,7 @@ Type.isType = function (/* any, [prefix] ... */) { Type.__reset = function (size) { debug('resetting type buffer to %d', size); - TAP.buf = new SlowBuffer(size); + TAP.buf = util.newSlowBuffer(size); }; Object.defineProperty(Type.prototype, 'branchName', { diff --git a/lib/utils.js b/lib/utils.js index d8c525bd..c6c9a84d 100644 --- a/lib/utils.js +++ b/lib/utils.js @@ -11,7 +11,7 @@ var buffer = require('buffer'); var crypto = require('crypto'); var util = require('util'); -var Buffer = buffer.Buffer; +var Buffer = buffer.Buffer; // Shared buffer pool for all taps. var POOL = new BufferPool(4096); @@ -35,6 +35,14 @@ function newBuffer(size) { } } +function newSlowBuffer(size) { + if (typeof Buffer.allocUnsafeSlow == 'function') { + return Buffer.allocUnsafeSlow(size); + } else { + return new Buffer.SlowBuffer(size); + } +} + /** * Create a new buffer with the input contents. * @@ -952,6 +960,7 @@ module.exports = { isValidName: isValidName, jsonEnd: jsonEnd, newBuffer: newBuffer, + newSlowBuffer: newSlowBuffer, objectValues: objectValues, qualify: qualify, toMap: toMap, From e3e72ca9b75b2e22f5deb6072b8910973f2af665 Mon Sep 17 00:00:00 2001 From: Matthieu Monsch Date: Sun, 6 Jul 2025 07:59:11 -0700 Subject: [PATCH 2/5] fixup! fix: migrate slow buffer calls when possible --- lib/types.js | 1 + 1 file changed, 1 insertion(+) diff --git a/lib/types.js b/lib/types.js index 33cce424..189f6fab 100644 --- a/lib/types.js +++ b/lib/types.js @@ -15,6 +15,7 @@ */ var utils = require('./utils'), + buffer = require('buffer'), util = require('util'); var Buffer = buffer.Buffer; From 31e07327bd4a1353be2893903b13cb355903bc1f Mon Sep 17 00:00:00 2001 From: Matthieu Monsch Date: Sun, 6 Jul 2025 07:59:41 -0700 Subject: [PATCH 3/5] fixup! fix: migrate slow buffer calls when possible --- lib/types.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lib/types.js b/lib/types.js index 189f6fab..dc7c69cf 100644 --- a/lib/types.js +++ b/lib/types.js @@ -47,7 +47,7 @@ var TYPES = { var RANDOM = new utils.Lcg(); // Encoding tap (shared for performance). -var TAP = new Tap(util.newSlowBuffer(1024)); +var TAP = new Tap(utils.newSlowBuffer(1024)); // Currently active logical type, used for name redirection. var LOGICAL_TYPE = null; @@ -452,7 +452,7 @@ Type.isType = function (/* any, [prefix] ... */) { Type.__reset = function (size) { debug('resetting type buffer to %d', size); - TAP.buf = util.newSlowBuffer(size); + TAP.buf = utils.newSlowBuffer(size); }; Object.defineProperty(Type.prototype, 'branchName', { From d8ea8051f9b0c7e3c584df8f228f0358ac15ad78 Mon Sep 17 00:00:00 2001 From: Matthieu Monsch Date: Sun, 6 Jul 2025 08:02:21 -0700 Subject: [PATCH 4/5] fixup! fix: migrate slow buffer calls when possible --- .github/workflows/ci.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 5b34e904..c27c80f0 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -8,6 +8,7 @@ on: pull_request: branches: - master + - v5.x paths-ignore: - '**.md' jobs: From a6e671e8c9cf3f5215e45f8e80c441f774116b45 Mon Sep 17 00:00:00 2001 From: Matthieu Monsch Date: Sun, 6 Jul 2025 08:03:46 -0700 Subject: [PATCH 5/5] fixup! fix: migrate slow buffer calls when possible --- lib/utils.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/utils.js b/lib/utils.js index c6c9a84d..cd0cb41a 100644 --- a/lib/utils.js +++ b/lib/utils.js @@ -39,7 +39,7 @@ function newSlowBuffer(size) { if (typeof Buffer.allocUnsafeSlow == 'function') { return Buffer.allocUnsafeSlow(size); } else { - return new Buffer.SlowBuffer(size); + return new buffer.SlowBuffer(size); } }