Skip to content

[dart2wasm] Consider treating JSValue a primitive type and unbox it in fields & function signatures #60455

Open
@mkustermann

Description

@mkustermann

We should do an experiment and see how code size (e.g. on ACX ) & performance would look like if we treated JSValue as a primitive just like bool/int/double values, more specifically: We can pass it around unboxed as externref and store in structs as externref and box when needed.

We get externrefs by calling JS methods and we use them by calling JS methods - so maybe it would avoid unnecessary boxing.

It may also lower live data and therefore GC pressure by not having all these boxes in the heap.

/cc @osa1

Metadata

Metadata

Assignees

No one assigned

    Labels

    area-dart2wasmIssues for the dart2wasm compiler.type-performanceIssue relates to performance or code size

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions