Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Introduce an __smo intrinsic and messages types in the JSON ABI #3457

Closed
mohammadfawaz opened this issue Nov 28, 2022 · 0 comments · Fixed by #3564
Closed

Introduce an __smo intrinsic and messages types in the JSON ABI #3457

mohammadfawaz opened this issue Nov 28, 2022 · 0 comments · Fixed by #3564
Assignees
Labels
ABI Everything to do the ABI, especially the JSON representation compiler: codegen Everything to do with IR->ASM, register allocation, etc. compiler: frontend Everything to do with type checking, control flow analysis, and everything between parsing and IRgen compiler: ir IRgen and sway-ir including optimization passes compiler: parser Everything to do with the parser lib: std Standard library

Comments

@mohammadfawaz
Copy link
Contributor

This is a wrapper around smo that also encode the ID of the type of the message as the first word of the message data. Similarly to log, this type ID is also emitted to the JSON ABI (see FuelLabs/fuel-specs#435).

We can then create an alternative version of std::messages::send_message that takes a value of an arbitrary (non-heap) type and calls __smo under the hood.

@mohammadfawaz mohammadfawaz added lib: std Standard library compiler: ir IRgen and sway-ir including optimization passes ABI Everything to do the ABI, especially the JSON representation compiler: frontend Everything to do with type checking, control flow analysis, and everything between parsing and IRgen compiler: parser Everything to do with the parser compiler: codegen Everything to do with IR->ASM, register allocation, etc. labels Nov 28, 2022
@mohammadfawaz mohammadfawaz self-assigned this Nov 28, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
ABI Everything to do the ABI, especially the JSON representation compiler: codegen Everything to do with IR->ASM, register allocation, etc. compiler: frontend Everything to do with type checking, control flow analysis, and everything between parsing and IRgen compiler: ir IRgen and sway-ir including optimization passes compiler: parser Everything to do with the parser lib: std Standard library
Projects
None yet
Development

Successfully merging a pull request may close this issue.

1 participant