<story><title>Bringing garbage collected programming languages efficiently to WebAssembly</title><url>https://v8.dev/blog/wasm-gc-porting</url></story><parent_chain><item><author>samsquire</author><text>This is exciting.&lt;p&gt;I think WASM is an example of a thin waist [1] with its garbage collector and N+M rather than N×M. (N languages + M virtual machines + G garbage collectors). That&amp;#x27;s a mature garbage collector in V8.&lt;p&gt;I was curious if there was a WASM to JVM and it seems there is one on GitHub, I haven&amp;#x27;t used it I was just curious because the JVM is a mature (and parallel) garbage collector.&lt;p&gt;Now I&amp;#x27;m excited for WASM Threads for true parallelism and not just IO parallelism because I didn&amp;#x27;t think WASMGC would come out so soon.&lt;p&gt;The opportunity to solve async and parallelism and garbage collection EFFECTIVELY would strengthen WASM and not be a source of confusion or difficulty for developers. I think that&amp;#x27;s why WASI is so important, a chance to define an API as stable as POSIX.&lt;p&gt;1: &lt;a href=&quot;https:&amp;#x2F;&amp;#x2F;www.oilshell.org&amp;#x2F;blog&amp;#x2F;2022&amp;#x2F;02&amp;#x2F;diagrams.html&quot; rel=&quot;nofollow noreferrer&quot;&gt;https:&amp;#x2F;&amp;#x2F;www.oilshell.org&amp;#x2F;blog&amp;#x2F;2022&amp;#x2F;02&amp;#x2F;diagrams.html&lt;/a&gt;&lt;p&gt;2: &lt;a href=&quot;https:&amp;#x2F;&amp;#x2F;github.com&amp;#x2F;cretz&amp;#x2F;asmble&quot;&gt;https:&amp;#x2F;&amp;#x2F;github.com&amp;#x2F;cretz&amp;#x2F;asmble&lt;/a&gt;</text></item></parent_chain><comment><author>kodablah</author><text>&amp;gt; I was curious if there was a WASM to JVM and it seems there is one on GitHub [...] &lt;a href=&quot;https:&amp;#x2F;&amp;#x2F;github.com&amp;#x2F;cretz&amp;#x2F;asmble&quot;&gt;https:&amp;#x2F;&amp;#x2F;github.com&amp;#x2F;cretz&amp;#x2F;asmble&lt;/a&gt;&lt;p&gt;While it works well, this was mostly a fun project for me and I no longer really maintain it. I hope that the ideas and explanations of how I mapped WASM IR to JVM bytecodes helps whoever does build this in a more official capacity. I don&amp;#x27;t have any plans to support WASM GC currently.</text></comment>
<story><title>Bringing garbage collected programming languages efficiently to WebAssembly</title><url>https://v8.dev/blog/wasm-gc-porting</url></story><parent_chain><item><author>samsquire</author><text>This is exciting.&lt;p&gt;I think WASM is an example of a thin waist [1] with its garbage collector and N+M rather than N×M. (N languages + M virtual machines + G garbage collectors). That&amp;#x27;s a mature garbage collector in V8.&lt;p&gt;I was curious if there was a WASM to JVM and it seems there is one on GitHub, I haven&amp;#x27;t used it I was just curious because the JVM is a mature (and parallel) garbage collector.&lt;p&gt;Now I&amp;#x27;m excited for WASM Threads for true parallelism and not just IO parallelism because I didn&amp;#x27;t think WASMGC would come out so soon.&lt;p&gt;The opportunity to solve async and parallelism and garbage collection EFFECTIVELY would strengthen WASM and not be a source of confusion or difficulty for developers. I think that&amp;#x27;s why WASI is so important, a chance to define an API as stable as POSIX.&lt;p&gt;1: &lt;a href=&quot;https:&amp;#x2F;&amp;#x2F;www.oilshell.org&amp;#x2F;blog&amp;#x2F;2022&amp;#x2F;02&amp;#x2F;diagrams.html&quot; rel=&quot;nofollow noreferrer&quot;&gt;https:&amp;#x2F;&amp;#x2F;www.oilshell.org&amp;#x2F;blog&amp;#x2F;2022&amp;#x2F;02&amp;#x2F;diagrams.html&lt;/a&gt;&lt;p&gt;2: &lt;a href=&quot;https:&amp;#x2F;&amp;#x2F;github.com&amp;#x2F;cretz&amp;#x2F;asmble&quot;&gt;https:&amp;#x2F;&amp;#x2F;github.com&amp;#x2F;cretz&amp;#x2F;asmble&lt;/a&gt;</text></item></parent_chain><comment><author>kaba0</author><text>GraalVM can run WASM executables: &lt;a href=&quot;https:&amp;#x2F;&amp;#x2F;www.graalvm.org&amp;#x2F;latest&amp;#x2F;reference-manual&amp;#x2F;wasm&amp;#x2F;&quot; rel=&quot;nofollow noreferrer&quot;&gt;https:&amp;#x2F;&amp;#x2F;www.graalvm.org&amp;#x2F;latest&amp;#x2F;reference-manual&amp;#x2F;wasm&amp;#x2F;&lt;/a&gt;</text></comment>