fitzgen edited issue #9783.
github-actions[bot] commented on issue #9783:
Subscribe to Label Action
cc @cfallin, @fitzgen
<details>
This issue or pull request has been labeled: "isle"Thus the following users have been cc'd because of the following labels:
- cfallin: isle
- fitzgen: isle
To subscribe or unsubscribe from this label, edit the <code>.github/subscribe-to-label.json</code> configuration file.
Learn more.
</details>
fitzgen edited issue #9783:
Let's get all
.wast
tests passing under Pulley!Pulley is Wasmtime's portable, optimizing interpreter.
This is a good first issue for new contributors that are somewhat familiar with Rust development and are excited to dive into Wasmtime/Cranelift/compilers/interpreters/etc.
Guide: How to Add Missing Instructions to Pulley and Get
.wast
Tests Passing
fitzgen edited issue #9783:
Let's get all
.wast
tests passing under Pulley!Pulley is Wasmtime's portable, optimizing interpreter. When using Pulley, Wasmtime still uses Cranelift for optimizations, but Cranelift ultimately emits Pulley bytecode instead of machine code. Then, Wasmtime uses Pulley's interpreter to interpret the bytecode, instead of executing native machine code.
<details> <summary>Diagram of the compiler pipeline with Pulley</summary>
+------+ | Wasm | +------+ | | Wasm-to-CLIF translation (Wasmtime) | V +------+ | CLIF | +------+ | | mid-end optimizations (Cranelift) | V +------+ | CLIF | +------+ | | ISLE lowering rules (Cranelift) | V +-----------------+ | Pulley bytecode | +-----------------+
</details>
This is a good first issue for new contributors that are already somewhat familiar with Rust development and are excited to dive into Wasmtime/Cranelift/compilers/interpreters/etc. To help out with this effort, follow this guide:
Guide: How to Add Missing Instructions to Pulley and Get
.wast
Tests PassingNote that we have docs for contributing to Wasmtime and Cranelift in general as well.
fitzgen edited issue #9783:
Let's get all
.wast
tests passing under Pulley!Pulley is Wasmtime's portable, optimizing interpreter. When using Pulley, Wasmtime still uses Cranelift for optimizations, but Cranelift ultimately emits Pulley bytecode instead of machine code. Then, Wasmtime uses Pulley's interpreter to interpret the bytecode, instead of executing native machine code.
<details> <summary>Diagram of the compiler pipeline with Pulley</summary>
+------+ | Wasm | +------+ | | Wasm-to-CLIF translation (Wasmtime) | V +------+ | CLIF | +------+ | | mid-end optimizations (Cranelift) | V +------+ | CLIF | +------+ | | ISLE lowering rules (Cranelift) | V +-----------------+ | Pulley bytecode | +-----------------+
</details>
This is a good first issue for new contributors that are already somewhat familiar with Rust development and are excited to dive into Wasmtime/Cranelift/compilers/interpreters/etc. To help out with this effort, follow this guide:
Guide: How to Add Missing Instructions to Pulley and Get
.wast
Tests PassingNote that we have docs for contributing to Wasmtime and Cranelift in general as well.
For the most up-to-date list of which
.wast
tests are passing and which are failing under Pulley, see theWastTest::should_fail
method incrates/wast-util/src/lib.rs
.
fitzgen edited issue #9783:
Let's get all
.wast
tests passing under Pulley!Pulley is Wasmtime's portable, optimizing interpreter. When using Pulley, Wasmtime still uses Cranelift (our optimizing compiler) for optimizations, but Cranelift ultimately emits Pulley bytecode instead of machine code. Then, Wasmtime uses Pulley's interpreter to interpret the bytecode, instead of executing native machine code.
<details> <summary>Diagram of the compiler pipeline with Pulley</summary>
+------+ | Wasm | +------+ | | Wasm-to-CLIF translation (Wasmtime) | V +------+ | CLIF | +------+ | | mid-end optimizations (Cranelift) | V +------+ | CLIF | +------+ | | ISLE lowering rules (Cranelift) | V +-----------------+ | Pulley bytecode | +-----------------+
</details>
This is a good first issue for new contributors that are already somewhat familiar with Rust development and are excited to dive into Wasmtime/Cranelift/compilers/interpreters/etc. To help out with this effort, follow this guide:
Guide: How to Add Missing Instructions to Pulley and Get
.wast
Tests PassingNote that we have docs for contributing to Wasmtime and Cranelift in general as well.
For the most up-to-date list of which
.wast
tests are passing and which are failing under Pulley, see theWastTest::should_fail
method incrates/wast-util/src/lib.rs
.
Last updated: Dec 23 2024 at 13:07 UTC