3 ms·
> With the precise gc, they had to make the change to only storing pointers, leading to allocating small values. Why? Many dynamic languages use a tagged point
by matheusmoreira 2y ago
> With the precise gc, they had to make the change to only storing pointers, leading to allocating small values.
Why? Many dynamic languages use a tagged pointer representation which isn't incompatible with precise garbage collectors. Couldn't Go do the same?
- skybrian 2y agoPerhaps because Go has pointers to the middle of records and arrays? (And records of arrays, etc.) It's an unusual language feature.
- kbolino 2y agoThis, plus Go pointers are real memory addresses, a property which is guaranteed by the runtime for unsafe pointer operations and C interop.
- deleted 2y ago[deleted]