<feed xmlns='http://www.w3.org/2005/Atom'>
<title>xavi/nanowasm/src/routines, branch master</title>
<subtitle>The tiny WebAssembly interpreter that does not block you.
</subtitle>
<id>https://gitea.privatedns.org/xavi/nanowasm/atom?h=master</id>
<link rel='self' href='https://gitea.privatedns.org/xavi/nanowasm/atom?h=master'/>
<link rel='alternate' type='text/html' href='https://gitea.privatedns.org/xavi/nanowasm/'/>
<updated>2026-02-16T17:46:06+00:00</updated>
<entry>
<title>section.c: Remove debug log</title>
<updated>2026-02-16T17:46:06+00:00</updated>
<author>
<name>Xavier Del Campo Romero</name>
<email>xavi92@disroot.org</email>
</author>
<published>2026-02-16T17:46:06+00:00</published>
<link rel='alternate' type='text/html' href='https://gitea.privatedns.org/xavi/nanowasm/commit/?id=3f915cb9468ade6a3801bea5ecac08b488e2836a'/>
<id>urn:sha1:3f915cb9468ade6a3801bea5ecac08b488e2836a</id>
<content type='text'>
This call to nwp_log was only meant for debugging purposes during
early versions of the library.
</content>
</entry>
<entry>
<title>Add br_table</title>
<updated>2025-11-15T17:48:16+00:00</updated>
<author>
<name>Xavier Del Campo Romero</name>
<email>xavi92@disroot.org</email>
</author>
<published>2025-11-15T17:48:16+00:00</published>
<link rel='alternate' type='text/html' href='https://gitea.privatedns.org/xavi/nanowasm/commit/?id=0b2a1fd9439d5ab1cdc076d7b9f1e763c4900b74'/>
<id>urn:sha1:0b2a1fd9439d5ab1cdc076d7b9f1e763c4900b74</id>
<content type='text'>
br_table is in fact a generalization of other branch types like br or
br_if, since br_table contains several branches for the same pc inside
the nw_lo section.

Therefore, this kind of branch forced some changes to nwp_break and
those relying on it.
</content>
</entry>
<entry>
<title>call_import.c: Fix prev_ret</title>
<updated>2025-11-11T23:35:04+00:00</updated>
<author>
<name>Xavier Del Campo Romero</name>
<email>xavi92@disroot.org</email>
</author>
<published>2025-11-11T23:35:04+00:00</published>
<link rel='alternate' type='text/html' href='https://gitea.privatedns.org/xavi/nanowasm/commit/?id=c3d6bac9d716433ca31f7d39332b2a6a96d8187d'/>
<id>urn:sha1:c3d6bac9d716433ca31f7d39332b2a6a96d8187d</id>
<content type='text'>
So far, this variable was only being assigned by unwind.c, which is
called only for WebAssembly functions. However, it is still mandatory
to report the last returned value from imported functions, too, as
prev_ret is relied upon by operators such as `drop`.
</content>
</entry>
<entry>
<title>Add if and else operators</title>
<updated>2025-11-10T22:47:10+00:00</updated>
<author>
<name>Xavier Del Campo Romero</name>
<email>xavi92@disroot.org</email>
</author>
<published>2025-11-10T22:47:10+00:00</published>
<link rel='alternate' type='text/html' href='https://gitea.privatedns.org/xavi/nanowasm/commit/?id=ba623c7a3a5b450b9b492de50efceea93df96039'/>
<id>urn:sha1:ba623c7a3a5b450b9b492de50efceea93df96039</id>
<content type='text'>
</content>
</entry>
<entry>
<title>call_import.c: Always set ci-&gt;pc</title>
<updated>2025-11-09T19:02:30+00:00</updated>
<author>
<name>Xavier Del Campo Romero</name>
<email>xavi92@disroot.org</email>
</author>
<published>2025-11-09T19:02:30+00:00</published>
<link rel='alternate' type='text/html' href='https://gitea.privatedns.org/xavi/nanowasm/commit/?id=18f901125ad1b97ee3f79cb2f5d87704b52191ee'/>
<id>urn:sha1:18f901125ad1b97ee3f79cb2f5d87704b52191ee</id>
<content type='text'>
Otherwise, imports without parameters would jump to `call` directly
without assigning ci-&gt;pc first, so that nwp_interp_resume would read
incorrectly from offset 0.
</content>
</entry>
<entry>
<title>set_local.c: Fix set_param to valid next</title>
<updated>2025-11-07T11:18:21+00:00</updated>
<author>
<name>Xavier Del Campo Romero</name>
<email>xavi92@disroot.org</email>
</author>
<published>2025-11-07T11:18:21+00:00</published>
<link rel='alternate' type='text/html' href='https://gitea.privatedns.org/xavi/nanowasm/commit/?id=5d633bf6e21af1a6c093433547da65e1d810aa14'/>
<id>urn:sha1:5d633bf6e21af1a6c093433547da65e1d810aa14</id>
<content type='text'>
set_local is meant to write a local variable, while allowing the use of
a caller-defined callback when finished. While this was already
correctly implemented by set_local, set_param was incorrectly calling
nwp_interp_resume instead of the caller-defined callback.

This had the side effect of tee_local not being able to push the value
into the stack when the local index referred to a parameter, thus
causing undefined behaviour.
</content>
</entry>
<entry>
<title>First commit</title>
<updated>2025-11-06T13:38:40+00:00</updated>
<author>
<name>Xavier Del Campo Romero</name>
<email>xavi.dcr@tutanota.com</email>
</author>
<published>2024-09-06T22:04:38+00:00</published>
<link rel='alternate' type='text/html' href='https://gitea.privatedns.org/xavi/nanowasm/commit/?id=6d9d80362f9932bbc87e162b8ef7df06c73e27e1'/>
<id>urn:sha1:6d9d80362f9932bbc87e162b8ef7df06c73e27e1</id>
<content type='text'>
</content>
</entry>
</feed>
