Wasm: druntime with full GC

H. S. Teoh hsteoh at qfbox.info
Fri Feb 9 17:23:17 UTC 2024


On Wed, Feb 07, 2024 at 08:55:16PM +0000, Sebastiaan Koppe via Digitalmars-d wrote:
> On Wednesday, 7 February 2024 at 03:52:15 UTC, H. S. Teoh wrote:
> > So I've been working on my minimal druntime for wasm, and discovered
> > that LLVM actually uses a shadow stack for wasm, not the native
> > non-addressable wasm stack.
> 
> It does for debug, but then the optimisations push a lot of that to
> the wasm stack, see mem2reg step in llvm.
> 
> A possibility is to run the spill-pointers pass of binaryen, that
> should hoist the pointers back out to the shadow stack. With some perf
> hit of course.

Unfortunately, looks like my distro's version of binaryen doesn't
support --spill-pointers.


T

-- 
English is useful because it is a mess. Since English is a mess, it maps well onto the problem space, which is also a mess, which we call reality. Similarly, Perl was designed to be a mess, though in the nicest of all possible ways. -- Larry Wall


More information about the Digitalmars-d mailing list