Skip to content

Verify immediate and value types at the time they are bound to instructions #1135

@abrown

Description

@abrown

In bytecodealliance/cranelift#1012 I noticed that that when we bind a type or immediate to an instruction (e.g. .bind(I32)), we don't verify that they are valid. I believe this happens at some later time but it would be more comprehensible to the user if the error was thrown closer to where they wrote the bind code.

Secondly, I did not see that the order of value types and immediates is checked, so the bind calls could be mixed in some nonsensical order (to the user) that ends up working correctly during codegen. This could be fixed by storing all of the bound parameters together in a single vector instead of separate vectors for value types and immediates.

Metadata

Metadata

Assignees

No one assigned

    Labels

    craneliftIssues related to the Cranelift code generatorcranelift:metaEverything related to the meta-language.

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions