From 5335c536ba02475d0cc79d2d1930a5446760fc8e Mon Sep 17 00:00:00 2001 From: Bastian Krol Date: Fri, 5 Oct 2018 10:05:06 +0200 Subject: [PATCH] lib: mark items returned from freelist directly in alloc --- lib/internal/freelist.js | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) diff --git a/lib/internal/freelist.js b/lib/internal/freelist.js index bb7e35300659c3..04d684e8334ff5 100644 --- a/lib/internal/freelist.js +++ b/lib/internal/freelist.js @@ -11,9 +11,15 @@ class FreeList { } alloc() { - return this.list.length ? - setIsReused(this.list.pop(), true) : - setIsReused(this.ctor.apply(this, arguments), false); + let item; + if (this.list.length > 0) { + item = this.list.pop(); + item[is_reused_symbol] = true; + } else { + item = this.ctor.apply(this, arguments); + item[is_reused_symbol] = false; + } + return item; } free(obj) { @@ -25,11 +31,6 @@ class FreeList { } } -function setIsReused(item, reused) { - item[is_reused_symbol] = reused; - return item; -} - module.exports = { FreeList, symbols: {