WebAssembly / WebAssembly/custom-descriptors

Can descriptor structs be described by another descriptor struct?

Open
#43 15 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
WebAssembly
Stars
12
Forks
3
Avg merge
3d 2h
Merged PRs (30d)
1

Description

One goal I've heard is that descriptor structs can be eventually implemented directly using the existing Shape/Map/Structure objects that Web VMs already use on wasm GC objects.

However, if a descriptor struct A is described by another descriptor struct B we'd expect that B would be the shape (in SM) for A. However in SM, shapes don't have shapes (they have a header pointer to something called a 'base shape'), and so we'd need to have different descriptor storage (and maybe representation) depending on whether it's first level or not.

I think this could be do-able, but it'd be nice to not need to implement it if there is not a need for it.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Review the Shape/Map/Structure objects used for wasm GC objects and the descriptor storage assumptions described for SM. Determine whether a descriptor struct can be described by another descriptor struct without separate first-level storage or representation. Done means establishing whether nested descriptors are needed and what representation constraints follow.

Written by the indexing model from the issue text.

Assessment

Tech stack
javascript, wasm
Domain
compilers
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Active
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.