What's the current status of WASM/WASI support?

Hipreme msnmancini at hotmail.com
Wed Mar 15 19:37:09 UTC 2023


On Wednesday, 15 March 2023 at 17:35:42 UTC, ChrisG wrote:
> On Wednesday, 15 March 2023 at 03:44:21 UTC, Hipreme wrote:
>
>> Hipreme Engine has been ported to WASM.
>> There's a way to include the custom runtime I'm using right 
>> now. You can use almost the complete runtime, although it does 
>> not collect. If you're not leaking memory you're fine.
>
> Wow. That's an impressive feat.
>
> This is the runtime you're using for wasm?
> https://github.com/MrcSnm/webassembly/tree/f60b02feca726ab5c01d1bd0d888a9a72282ab9b

Yes, you can follow the code from my engine as a guide into how 
to integrate the custom runtime in your project.

Also, if you wish to try dub libraries compiled with that custom 
runtime, you'll need to set the `DFLAGS` variable before calling 
`dub`. This is the reason you'll find plenty of shell and batch 
files.

Hipreme Engine has its own standard library as I prefer having 
this kind of control for testing on every platform, and also not 
even depending on libc. Although that happens, I still have a 
minimal libc port localized on `modules/d_std` of my engine.

If you wish to work with WASM, you'll need to deal with some 
problems such as loading files, getting directory files list, or 
those things which my engine has already dealt with as it needs a 
FS abstraction for every platform.

It is quite some work but well, everything has been done, 
specially since I used +- 1 month to get this runtime to that 
level. This custom runtime also works on PS Vita.


More information about the Digitalmars-d mailing list