Skip to content

Conversation

@coolreader18
Copy link
Collaborator

Description of Changes

The main difference from v1 is that syscalls that used to return Uint8Arrays now instead accept ArrayBuffers and write into them. This greatly improves performance, since the module can now reuse buffers when calling into the host, instead of the host allocating anew on every call.

To see the changes from v1 -> v2, you can check the diff between the head of this branch and the "Copy v1.rs to v2.rs" commit.

API and ABI breaking changes

Not sure whether this counts? A new ABI, but we're not breaking the old one.

Expected complexity level and risk

3 - mostly the same as the old one

Testing

No change in behavior, and the typescript package will use the new ABI even though its API isn't changing (yet).

@coolreader18 coolreader18 requested a review from Centril February 2, 2026 23:29
@coolreader18 coolreader18 force-pushed the noa/ts-guest-managed-memory branch from 75a0bef to 3c331b1 Compare February 3, 2026 03:59
@Centril Centril force-pushed the noa/ts-guest-managed-memory branch from b4c1613 to c5c8d0b Compare February 3, 2026 21:17
Copy link
Contributor

@Centril Centril left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I've added a commit c5c8d0b to extract out common bits between v1 and v2.
Beyond that, I'd like to see documentation for:

  • datastore_index_scan_point_bsatn
  • datastore_delete_by_index_scan_point_bsatn
  • with_arraybuffer_mut
  • with_arraybuffer
  • JsReturnValue
  • procedure_start_mut_tx
  • procedure_abort_mut_tx
  • procedure_commit_mut_tx

Wherever it applies, I'd also like docs for v1 for the items above.
To the extent you prefer, you can also do this in a follow up.

@coolreader18 coolreader18 force-pushed the noa/ts-guest-managed-memory branch from c5c8d0b to 7cf7957 Compare February 4, 2026 00:27
@coolreader18 coolreader18 changed the base branch from noa/ts-refactor to master February 4, 2026 00:28
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants