▲ | ridiculous_fish 7 days ago | |
"Numbers go into the numbers vector" is unusual - typically JS engines use either NaN-boxing or inline small integers (e.g. v8 SMI). I suppose this means that a simple `this.count += 1` will always allocate. Have you considered using NaN-boxing? Also, are the type-specific vectors compacted by the GC, or do they maintain a free list? | ||
▲ | aapoalas 7 days ago | parent [-] | |
We do have all safe integers inline (and most doubles too). I answered about NaN boxing somewhere here but basically, we get quite a bit of mileage from our tagged union / enum / ADT based Value, so I don't think I'd change to NaN boxing now even if I could. |