Skip to content

Make ASYNCIFY_ADD propagate #4626

@curiousdannii

Description

@curiousdannii

This was originally posted as an Emscripten issue (#13150) but it really involves a change to Binaryen so I'm reposting it here.

An app I'm porting has 3000 instrumented functions when ASYNCIFY_IGNORE_INDIRECT is disabled, and 100 instrumented functions when it is enabled. Somewhere in between is the actual number of functions that need to be instrumented.

After investigating the code I found one function with indirect calls that does need to be instrumented (there will probably be more), so I specified it in ASYNCIFY_ADD. But then I realised that its status is not propagated upwards, I would need to specify all the functions that call it, etc. I tried adding it to ASYNCIFY_IMPORTS instead, but it was ignored because it's not an import function.

I would like to request that either ASYNCIFY_ADD be changed to propagate by default, or that a setting be added to make it do so. I'm not sure on the arguments for or against propagating by default; @sbc100 thought it should, but @kripken thought it shouldn't.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions