You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The granular node:buffer parity suite covers deterministic slice and subarray range behavior, but it still avoids Node's shared-memory mutation semantics.
Gap
In Node, buf.slice() and buf.subarray() return views over the same backing memory. Mutating the returned view mutates the original buffer, and mutating the original buffer is visible through the view.
Perry currently uses copy-like buffer results for the passing subset.
Desired behavior
const s = buf.slice(1, 3); s[0] = 0x61; updates buf[1].
const v = buf.subarray(1, 3); buf[1] = 0x62; updates v[0].
Existing Node-compatible range handling should be preserved.
Suggested implementation notes
This likely needs a Buffer view representation rather than another copy-only allocation path. Options include extending BufferHeader with backing pointer/offset metadata or introducing a separate view header that all buffer read/write/search methods understand.
Activity
feat(buffer): close #1205 #1211 — shared backing-store views + Blob/F…
fix(runtime): make a DataView read the backing store, not its constru…
fix(runtime): module-global Uint8Array receivers, with the view-cache…