Skip to content
This repository was archived by the owner on Apr 25, 2025. It is now read-only.
This repository was archived by the owner on Apr 25, 2025. It is now read-only.

js-api: ToValueType doesn't accept GC heap types #500

Open

Description

@eqrion

Ref to the spec.

ToValueType (which is used in global and table constructors) doesn't appear to support any of the GC heap types such as anyref. SM and V8 appear to both support this for most of the GC heap types. We appear to diverge around the bottom types (SM accepts 'nullfuncref', V8 does not).

It also looks like SM has a form of {ref: heaptypestring, nullable: boolean} that we support as well. I think we added this for testing and it slipped through.

cc: @takikawa @jakobkummerow

Activity

  1. rossberg commented on Dec 20, 2023

    @rossberg
    Member

    I had assumed the new types were intentionally left out for now.

    But while looking, I also noticed #501.

  2. eqrion commented on Dec 20, 2023

    @eqrion
    ContributorAuthor

    I had assumed the new types were intentionally left out for now.

    But while looking, I also noticed #501.

    That may have been the case, but it seems that both V8 and SM at least implement some of the GC heap types. I personally think supporting all the GC heap types via their shorthands makes sense as it's pretty easy. Non-nullable types or references to type definitions should probably be left out for now.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions