aboutsummaryrefslogtreecommitdiff
path: root/src/bun.js/builtins/js/StreamInternals.js
diff options
context:
space:
mode:
authorGravatar Jarred Sumner <709451+Jarred-Sumner@users.noreply.github.com> 2022-10-20 21:40:30 -0700
committerGravatar Jarred Sumner <709451+Jarred-Sumner@users.noreply.github.com> 2022-10-21 01:07:49 -0700
commit97ccbc189a52fe2e497f2ad20ebf86a83b758d14 (patch)
tree82de0c078d2326389ebf17ce76a9dfe9869b7848 /src/bun.js/builtins/js/StreamInternals.js
parent0a2c101c28461e5aa7b20dca7cba50c52716b8e3 (diff)
downloadbun-97ccbc189a52fe2e497f2ad20ebf86a83b758d14.tar.gz
bun-97ccbc189a52fe2e497f2ad20ebf86a83b758d14.tar.zst
bun-97ccbc189a52fe2e497f2ad20ebf86a83b758d14.zip
micro-optimize
Diffstat (limited to 'src/bun.js/builtins/js/StreamInternals.js')
-rw-r--r--src/bun.js/builtins/js/StreamInternals.js21
1 files changed, 14 insertions, 7 deletions
diff --git a/src/bun.js/builtins/js/StreamInternals.js b/src/bun.js/builtins/js/StreamInternals.js
index 5e8e4a119..5e447c29c 100644
--- a/src/bun.js/builtins/js/StreamInternals.js
+++ b/src/bun.js/builtins/js/StreamInternals.js
@@ -117,6 +117,8 @@ function validateAndNormalizeQueuingStrategy(size, highWaterMark)
@linkTimeConstant
function createFIFO() {
"use strict";
+ var slice = @Array.prototype.slice;
+
class Denqueue {
constructor() {
this._head = 0;
@@ -125,6 +127,11 @@ function createFIFO() {
this._capacityMask = 0x3;
this._list = @newArrayWithSize(4);
}
+
+ _head;
+ _tail;
+ _capacityMask;
+ _list;
size() {
if (this._head === this._tail) return 0;
@@ -141,12 +148,12 @@ function createFIFO() {
}
shift() {
- var head = this._head;
- if (head === this._tail) return @undefined;
- var item = this._list[head];
- @putByValDirect(this._list, head, @undefined);
- this._head = (head + 1) & this._capacityMask;
- if (head < 2 && this._tail > 10000 && this._tail <= this._list.length >>> 2) this._shrinkArray();
+ var { _head: head, _tail, _list, _capacityMask } = this;
+ if (head === _tail) return @undefined;
+ var item = _list[head];
+ @putByValDirect(_list, head, @undefined);
+ head = this._head = (head + 1) & _capacityMask;
+ if (head < 2 && _tail > 10000 && _tail <= _list.length >>> 2) this._shrinkArray();
return item;
}
@@ -181,7 +188,7 @@ function createFIFO() {
for (var i = 0; i < _tail; i++) @putByValDirect(array, j++, list[i]);
return array;
} else {
- return @Array.prototype.slice.@call(list, this._head, this._tail);
+ return slice.@call(list, this._head, this._tail);
}
}