Press n or j to go to the next uncovered block, b, p or k for the previous block.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 | 13x 13x 13x 13x 13x 13x 13x 13x 1061x 1061x 1061x 1061x 1061x 13x 13x 6300x 6300x 6300x 6300x 13x 13x 6271x 6268x 6268x 6268x 3x 6271x 13x 13x 13x | 'use strict'; const { ReflectApply, } = primordials; class FreeList { constructor(name, max, ctor) { this.name = name; this.ctor = ctor; this.max = max; this.list = []; } alloc() { return this.list.length > 0 ? this.list.pop() : ReflectApply(this.ctor, this, arguments); } free(obj) { if (this.list.length < this.max) { this.list.push(obj); return true; } return false; } } module.exports = FreeList; |