Stream: git-wasmtime

Topic: wasmtime / PR #1852 Initial reftype support in aarch64, m...


view this post on Zulip Wasmtime GitHub notifications bot (Jun 09 2020 at 23:56):

cfallin opened PR #1852 from reftypes to master:

This PR adds the inital support to allow reftypes to flow through the
program when targetting aarch64. It also adds a fix to the
ModuleTranslationState needed to send R32/R64 types over from the
SpiderMonkey embedding.

This PR does not include any support for safepoints in aarch64 or the
MachInst infrastructure. That work will come as a second PR, following
some needed changes to regalloc.rs.

This PR also makes a drive-by improvement to Bint, avoiding an
unneeded zero-extension op when the extended value comes directly from a
conditional-set (which produces a full-width 0 or 1).

With this PR, and a companion patch in SpiderMonkey, we're able to make it
through all of the reftypes tests in the spec testsuite, though we aren't emitting
stackmaps yet so if the GC had been triggered we would have been in trouble.
Still, it's a start!

<!--

Please ensure that the following steps are all taken care of before submitting
the PR.

Please ensure all communication adheres to the code of conduct.
-->

view this post on Zulip Wasmtime GitHub notifications bot (Jun 09 2020 at 23:58):

cfallin requested julian-seward1 for a review on PR #1852.

view this post on Zulip Wasmtime GitHub notifications bot (Jun 10 2020 at 00:02):

cfallin updated PR #1852 from reftypes to master:

This PR adds the inital support to allow reftypes to flow through the
program when targetting aarch64. It also adds a fix to the
ModuleTranslationState needed to send R32/R64 types over from the
SpiderMonkey embedding.

This PR does not include any support for safepoints in aarch64 or the
MachInst infrastructure. That work will come as a second PR, following
some needed changes to regalloc.rs.

This PR also makes a drive-by improvement to Bint, avoiding an
unneeded zero-extension op when the extended value comes directly from a
conditional-set (which produces a full-width 0 or 1).

With this PR, and a companion patch in SpiderMonkey, we're able to make it
through all of the reftypes tests in the spec testsuite, though we aren't emitting
stackmaps yet so if the GC had been triggered we would have been in trouble.
Still, it's a start!

<!--

Please ensure that the following steps are all taken care of before submitting
the PR.

Please ensure all communication adheres to the code of conduct.
-->

view this post on Zulip Wasmtime GitHub notifications bot (Jun 12 2020 at 17:46):

cfallin updated PR #1852 from reftypes to master:

This PR adds the inital support to allow reftypes to flow through the
program when targetting aarch64. It also adds a fix to the
ModuleTranslationState needed to send R32/R64 types over from the
SpiderMonkey embedding.

This PR does not include any support for safepoints in aarch64 or the
MachInst infrastructure. That work will come as a second PR, following
some needed changes to regalloc.rs.

This PR also makes a drive-by improvement to Bint, avoiding an
unneeded zero-extension op when the extended value comes directly from a
conditional-set (which produces a full-width 0 or 1).

With this PR, and a companion patch in SpiderMonkey, we're able to make it
through all of the reftypes tests in the spec testsuite, though we aren't emitting
stackmaps yet so if the GC had been triggered we would have been in trouble.
Still, it's a start!

<!--

Please ensure that the following steps are all taken care of before submitting
the PR.

Please ensure all communication adheres to the code of conduct.
-->

view this post on Zulip Wasmtime GitHub notifications bot (Jun 13 2020 at 13:40):

bjorn3 submitted PR Review.

view this post on Zulip Wasmtime GitHub notifications bot (Jun 13 2020 at 13:40):

bjorn3 submitted PR Review.

view this post on Zulip Wasmtime GitHub notifications bot (Jun 13 2020 at 13:40):

bjorn3 created PR Review Comment:

*cmp

view this post on Zulip Wasmtime GitHub notifications bot (Jun 13 2020 at 17:54):

cfallin submitted PR Review.

view this post on Zulip Wasmtime GitHub notifications bot (Jun 13 2020 at 17:54):

cfallin created PR Review Comment:

It's actually cmn, which is a separate instruction. It compares against the twos-complement value of the RHS. We want cmp rn, #-1 but -1 can't be encoded in an Imm12, so the idiomatic approach on AArch64 is to do cmn rn, #-1.

view this post on Zulip Wasmtime GitHub notifications bot (Jun 13 2020 at 17:55):

cfallin edited PR Review Comment.

view this post on Zulip Wasmtime GitHub notifications bot (Jun 13 2020 at 17:56):

cfallin edited PR Review Comment.

view this post on Zulip Wasmtime GitHub notifications bot (Jun 13 2020 at 17:56):

cfallin edited PR Review Comment.

view this post on Zulip Wasmtime GitHub notifications bot (Jun 16 2020 at 20:44):

cfallin updated PR #1852 from reftypes to master:

This PR adds the inital support to allow reftypes to flow through the
program when targetting aarch64. It also adds a fix to the
ModuleTranslationState needed to send R32/R64 types over from the
SpiderMonkey embedding.

This PR does not include any support for safepoints in aarch64 or the
MachInst infrastructure. That work will come as a second PR, following
some needed changes to regalloc.rs.

This PR also makes a drive-by improvement to Bint, avoiding an
unneeded zero-extension op when the extended value comes directly from a
conditional-set (which produces a full-width 0 or 1).

With this PR, and a companion patch in SpiderMonkey, we're able to make it
through all of the reftypes tests in the spec testsuite, though we aren't emitting
stackmaps yet so if the GC had been triggered we would have been in trouble.
Still, it's a start!

<!--

Please ensure that the following steps are all taken care of before submitting
the PR.

Please ensure all communication adheres to the code of conduct.
-->

view this post on Zulip Wasmtime GitHub notifications bot (Jun 25 2020 at 18:48):

alexcrichton edited PR #1852 from reftypes to main:

This PR adds the inital support to allow reftypes to flow through the
program when targetting aarch64. It also adds a fix to the
ModuleTranslationState needed to send R32/R64 types over from the
SpiderMonkey embedding.

This PR does not include any support for safepoints in aarch64 or the
MachInst infrastructure. That work will come as a second PR, following
some needed changes to regalloc.rs.

This PR also makes a drive-by improvement to Bint, avoiding an
unneeded zero-extension op when the extended value comes directly from a
conditional-set (which produces a full-width 0 or 1).

With this PR, and a companion patch in SpiderMonkey, we're able to make it
through all of the reftypes tests in the spec testsuite, though we aren't emitting
stackmaps yet so if the GC had been triggered we would have been in trouble.
Still, it's a start!

<!--

Please ensure that the following steps are all taken care of before submitting
the PR.

Please ensure all communication adheres to the code of conduct.
-->

view this post on Zulip Wasmtime GitHub notifications bot (Jun 27 2020 at 01:03):

cfallin updated PR #1852 from reftypes to main:

This PR adds the inital support to allow reftypes to flow through the
program when targetting aarch64. It also adds a fix to the
ModuleTranslationState needed to send R32/R64 types over from the
SpiderMonkey embedding.

This PR does not include any support for safepoints in aarch64 or the
MachInst infrastructure. That work will come as a second PR, following
some needed changes to regalloc.rs.

This PR also makes a drive-by improvement to Bint, avoiding an
unneeded zero-extension op when the extended value comes directly from a
conditional-set (which produces a full-width 0 or 1).

With this PR, and a companion patch in SpiderMonkey, we're able to make it
through all of the reftypes tests in the spec testsuite, though we aren't emitting
stackmaps yet so if the GC had been triggered we would have been in trouble.
Still, it's a start!

<!--

Please ensure that the following steps are all taken care of before submitting
the PR.

Please ensure all communication adheres to the code of conduct.
-->


Last updated: Dec 23 2024 at 12:05 UTC