bytecodealliance / wasmtime

A fast and secure runtime for WebAssembly
https://wasmtime.dev/
Apache License 2.0
15.43k stars 1.31k forks source link

ISLE: built-in integer types #9610

Open Kmeakin opened 1 week ago

Kmeakin commented 1 week ago

Follow up to https://github.com/bytecodealliance/wasmtime/pull/9593, adding all the built-in integer types (u8 .. u128, i8 .. i128 plus usize and isize).

Integer literal expressions and patterns are still allowed to type-check against primitive types, because there are a lot of places in the lowering/optimization code that uses (type Foo (primitive Foo)) where Foo is declared as a type alias of an integer type in Rust code. Not sure what to do about this. Perhaps it would be clearer to rename "primitive" types to "opaque" or "extern" types (and also have a mechanism for declaring transparent type aliases in ISLE)?

Closes https://github.com/bytecodealliance/wasmtime/issues/5431 and https://github.com/bytecodealliance/wasmtime/issues/3573

github-actions[bot] commented 1 week ago

Subscribe to Label Action

cc @cfallin, @fitzgen

This issue or pull request has been labeled: "cranelift", "isle" Thus the following users have been cc'd because of the following labels: * cfallin: isle * fitzgen: isle To subscribe or unsubscribe from this label, edit the .github/subscribe-to-label.json configuration file. [Learn more.](https://github.com/bytecodealliance/subscribe-to-label-action)
cfallin commented 2 days ago

Something is broken in the build in CI; once it's green I'm happy to merge.