-
Notifications
You must be signed in to change notification settings - Fork 1.7k
Get all .wast tests passing under Pulley #9783
Copy link
Copy link
Closed
Labels
cranelift:E-compilerCompiler issues.Compiler issues.cranelift:E-compiler-easyBeginner–Intermediate compiler issues.Beginner–Intermediate compiler issues.cranelift:E-easyIssues suitable for newcomers to investigate, including Rust newcomers!Issues suitable for newcomers to investigate, including Rust newcomers!good first issueIssues that are good for new contributors to tackle!Issues that are good for new contributors to tackle!help wantedisleRelated to the ISLE domain-specific languageRelated to the ISLE domain-specific languagepulleyIssues related to the Pulley interpreterIssues related to the Pulley interpreter
Metadata
Metadata
Assignees
Labels
cranelift:E-compilerCompiler issues.Compiler issues.cranelift:E-compiler-easyBeginner–Intermediate compiler issues.Beginner–Intermediate compiler issues.cranelift:E-easyIssues suitable for newcomers to investigate, including Rust newcomers!Issues suitable for newcomers to investigate, including Rust newcomers!good first issueIssues that are good for new contributors to tackle!Issues that are good for new contributors to tackle!help wantedisleRelated to the ISLE domain-specific languageRelated to the ISLE domain-specific languagepulleyIssues related to the Pulley interpreterIssues related to the Pulley interpreter
Let's get all
.wasttests 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.
Diagram of the compiler pipeline with Pulley
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
.wastTests PassingNote that we have docs for contributing to Wasmtime and Cranelift in general as well.
For the most up-to-date list of which
.wasttests are passing and which are failing under Pulley, see theWastTest::should_failmethod incrates/wast-util/src/lib.rs.