Stream: git-wasmtime

Topic: wasmtime / issue #2299 Cranelift: Support stack probes wi...


view this post on Zulip Wasmtime GitHub notifications bot (Oct 01 2021 at 21:12):

akirilov-arm labeled issue #2299:

<!-- Please try to describe precisely what you would like to do in
Cranelift/Wasmtime and/or expect from it. You can answer the questions below if
they're relevant and delete this text before submitting. Thanks for opening an
issue! -->

Feature

LLVM has support for performing the stack probes directly in the function prologue instead of calling an external function. (see https://github.com/rust-lang/rust/pull/77885 for using this in Rust)

Benefit

This can be faster due to being able to unroll the stack probe loop. It also avoids having to provide an external stack probe function. This makes it possible to enable stack probing in cg_clif. (https://github.com/bjorn3/rustc_codegen_cranelift/issues/661)

Implementation

This should only be implemented for the machinst backends. It should probably be added to either the gen_prologue implementation or gen_prologue caller.

Alternatives

Keep using an external stack probe function with the associated drawbacks.

view this post on Zulip Wasmtime GitHub notifications bot (Sep 01 2022 at 22:32):

jameysharp closed issue #2299:

<!-- Please try to describe precisely what you would like to do in
Cranelift/Wasmtime and/or expect from it. You can answer the questions below if
they're relevant and delete this text before submitting. Thanks for opening an
issue! -->

Feature

LLVM has support for performing the stack probes directly in the function prologue instead of calling an external function. (see https://github.com/rust-lang/rust/pull/77885 for using this in Rust)

Benefit

This can be faster due to being able to unroll the stack probe loop. It also avoids having to provide an external stack probe function. This makes it possible to enable stack probing in cg_clif. (https://github.com/bjorn3/rustc_codegen_cranelift/issues/661)

Implementation

This should only be implemented for the machinst backends. It should probably be added to either the gen_prologue implementation or gen_prologue caller.

Alternatives

Keep using an external stack probe function with the associated drawbacks.

view this post on Zulip Wasmtime GitHub notifications bot (Sep 02 2022 at 06:31):

bjorn3 commented on issue #2299:

Neither AArch64, nor s390x has support for this yet.

view this post on Zulip Wasmtime GitHub notifications bot (Sep 02 2022 at 08:22):

afonso360 commented on issue #2299:

Right, should we reopen this or open issues against both backends?

view this post on Zulip Wasmtime GitHub notifications bot (Sep 02 2022 at 08:25):

bjorn3 commented on issue #2299:

Opened #4846 and #4847.


Last updated: Dec 23 2024 at 12:05 UTC