mirror of
https://github.com/mii443/wasmer.git
synced 2025-08-22 16:35:33 +00:00
Simplified the repo docs. Added BUILD and TEST docs
This commit is contained in:
@ -1 +0,0 @@
|
||||
FROM rust:1
|
@ -1,18 +0,0 @@
|
||||
{
|
||||
"name": "Wasmer dev environment",
|
||||
"dockerFile": "Dockerfile",
|
||||
|
||||
// Set *default* container specific settings.json values on container create.
|
||||
"settings": {
|
||||
"terminal.integrated.shell.linux": "/bin/bash",
|
||||
"lldb.executable": "/usr/bin/lldb"
|
||||
},
|
||||
|
||||
// Add the IDs of extensions you want installed when the container is created.
|
||||
"extensions": [
|
||||
"rust-lang.rust-analyzer",
|
||||
"dtsvet.vscode-wasm",
|
||||
"bungcip.better-toml",
|
||||
"vadimcn.vscode-lldb"
|
||||
]
|
||||
}
|
@ -1,17 +0,0 @@
|
||||
[cranelift_coverage]
|
||||
features = "cranelift,singlepass,llvm,coverage,test-cranelift,test-jit"
|
||||
examples = ["early-exit", "engine-jit", "engine-native", "engine-headless", "cross-compilation", "compiler-cranelift", "exported-function", "wasi"]
|
||||
release = true
|
||||
|
||||
[llvm_coverage]
|
||||
features = "cranelift,singlepass,llvm,coverage,test-llvm,test-jit"
|
||||
examples = ["compiler-llvm"]
|
||||
release = true
|
||||
|
||||
[singlepass_coverage]
|
||||
features = "cranelift,singlepass,llvm,coverage,test-singlepass,test-jit"
|
||||
examples = ["compiler-singlepass"]
|
||||
release = true
|
||||
|
||||
[report]
|
||||
out = ["Xml"]
|
13
.vscode/settings.json
vendored
13
.vscode/settings.json
vendored
@ -1,13 +0,0 @@
|
||||
{
|
||||
"[toml]": {
|
||||
"editor.formatOnSave": false,
|
||||
"editor.formatOnPaste": false,
|
||||
"editor.formatOnType": false
|
||||
},
|
||||
"[rust]": {
|
||||
"editor.formatOnSave": true,
|
||||
"editor.formatOnPaste": false,
|
||||
"editor.formatOnType": false
|
||||
},
|
||||
"rust-analyzer.showUnlinkedFileNotification": false
|
||||
}
|
@ -1,76 +0,0 @@
|
||||
# Contributor Covenant Code of Conduct
|
||||
|
||||
## Our Pledge
|
||||
|
||||
In the interest of fostering an open and welcoming environment, we as
|
||||
contributors and maintainers pledge to making participation in our project and
|
||||
our community a harassment-free experience for everyone, regardless of age, body
|
||||
size, disability, ethnicity, sex characteristics, gender identity and expression,
|
||||
level of experience, education, socio-economic status, nationality, personal
|
||||
appearance, race, religion, or sexual identity and orientation.
|
||||
|
||||
## Our Standards
|
||||
|
||||
Examples of behavior that contributes to creating a positive environment
|
||||
include:
|
||||
|
||||
* Using welcoming and inclusive language
|
||||
* Being respectful of differing viewpoints and experiences
|
||||
* Gracefully accepting constructive criticism
|
||||
* Focusing on what is best for the community
|
||||
* Showing empathy towards other community members
|
||||
|
||||
Examples of unacceptable behavior by participants include:
|
||||
|
||||
* The use of sexualized language or imagery and unwelcome sexual attention or
|
||||
advances
|
||||
* Trolling, insulting/derogatory comments, and personal or political attacks
|
||||
* Public or private harassment
|
||||
* Publishing others' private information, such as a physical or electronic
|
||||
address, without explicit permission
|
||||
* Other conduct which could reasonably be considered inappropriate in a
|
||||
professional setting
|
||||
|
||||
## Our Responsibilities
|
||||
|
||||
Project maintainers are responsible for clarifying the standards of acceptable
|
||||
behavior and are expected to take appropriate and fair corrective action in
|
||||
response to any instances of unacceptable behavior.
|
||||
|
||||
Project maintainers have the right and responsibility to remove, edit, or
|
||||
reject comments, commits, code, wiki edits, issues, and other contributions
|
||||
that are not aligned to this Code of Conduct, or to ban temporarily or
|
||||
permanently any contributor for other behaviors that they deem inappropriate,
|
||||
threatening, offensive, or harmful.
|
||||
|
||||
## Scope
|
||||
|
||||
This Code of Conduct applies both within project spaces and in public spaces
|
||||
when an individual is representing the project or its community. Examples of
|
||||
representing a project or community include using an official project e-mail
|
||||
address, posting via an official social media account, or acting as an appointed
|
||||
representative at an online or offline event. Representation of a project may be
|
||||
further defined and clarified by project maintainers.
|
||||
|
||||
## Enforcement
|
||||
|
||||
Instances of abusive, harassing, or otherwise unacceptable behavior may be
|
||||
reported by contacting the project team at contact@wasmer.io. All
|
||||
complaints will be reviewed and investigated and will result in a response that
|
||||
is deemed necessary and appropriate to the circumstances. The project team is
|
||||
obligated to maintain confidentiality with regard to the reporter of an incident.
|
||||
Further details of specific enforcement policies may be posted separately.
|
||||
|
||||
Project maintainers who do not follow or enforce the Code of Conduct in good
|
||||
faith may face temporary or permanent repercussions as determined by other
|
||||
members of the project's leadership.
|
||||
|
||||
## Attribution
|
||||
|
||||
This Code of Conduct is adapted from the [Contributor Covenant][homepage], version 1.4,
|
||||
available at https://www.contributor-covenant.org/version/1/4/code-of-conduct.html
|
||||
|
||||
[homepage]: https://www.contributor-covenant.org
|
||||
|
||||
For answers to common questions about this code of conduct, see
|
||||
https://www.contributor-covenant.org/faq
|
4
Makefile
4
Makefile
@ -850,14 +850,14 @@ untar-wasmer:
|
||||
|
||||
distribution-gnu: package-capi
|
||||
cp LICENSE package/LICENSE
|
||||
cp ATTRIBUTIONS.md package/ATTRIBUTIONS
|
||||
cp docs/ATTRIBUTIONS.md package/ATTRIBUTIONS
|
||||
mkdir -p dist
|
||||
tar -C package -zcvf wasmer.tar.gz lib include winsdk LICENSE ATTRIBUTIONS
|
||||
mv wasmer.tar.gz dist/
|
||||
|
||||
distribution: package
|
||||
cp LICENSE package/LICENSE
|
||||
cp ATTRIBUTIONS.md package/ATTRIBUTIONS
|
||||
cp docs/ATTRIBUTIONS.md package/ATTRIBUTIONS
|
||||
mkdir -p dist
|
||||
ifeq ($(IS_WINDOWS), 1)
|
||||
iscc scripts/windows-installer/wasmer.iss
|
||||
|
@ -219,6 +219,15 @@ languages** with the Wasmer SDK:
|
||||
[OCaml integration]: https://github.com/wasmerio/wasmer-ocaml
|
||||
[`wasmer` OCaml package]: https://opam.ocaml.org/packages/wasmer/
|
||||
|
||||
## Develop
|
||||
|
||||
We have different guides to help you develop Wasmer:
|
||||
|
||||
* [Build Wasmer from Source](./docs/BUILD.md)
|
||||
* [Testing](./docs/TEST.md)
|
||||
* [Security advisory](./docs/SECURITY.md)
|
||||
|
||||
|
||||
## Contribute
|
||||
|
||||
We appreciate your help! 💜
|
||||
|
143
docs/BUILD.md
Normal file
143
docs/BUILD.md
Normal file
@ -0,0 +1,143 @@
|
||||
# Building Wasmer from Source
|
||||
|
||||
## Installing Rustup
|
||||
|
||||
Building Wasmer from source requires [Rust](https://rustup.rs/) **1.67+**.
|
||||
|
||||
The easiest way to install Rust on your system is via Rustup. To get Rustup on Linux and macOS, you can run the following:
|
||||
|
||||
```bash
|
||||
curl https://sh.rustup.rs -sSf | sh
|
||||
```
|
||||
|
||||
> [!NOTE]
|
||||
> To install Rust on Windows, download and run [rustup-init.exe](https://win.rustup.rs/), then follow the on-screen instructions.
|
||||
|
||||
## Installing Additional Dependencies
|
||||
|
||||
### Windows
|
||||
|
||||
Windows is fully supported by Wasmer. WASI is also fully supported, but Emscripten support is still experimental.
|
||||
|
||||
1. Install [Visual Studio](https://visualstudio.microsoft.com/thank-you-downloading-visual-studio/?sku=Community&rel=15)
|
||||
2. Install [Rust for Windows](https://win.rustup.rs/)
|
||||
3. Install [Git for Windows](https://git-scm.com/download/win). Allow it to add `git.exe` to your PATH (default settings for the installer are fine).
|
||||
4. \(optional\) Install [LLVM 11.0](https://prereleases.llvm.org/win-snapshots/LLVM-11.0.0-2663a25f-win64.exe)
|
||||
|
||||
## Building the Wasmer Runtime
|
||||
|
||||
Wasmer is built with [Cargo](https://crates.io/), the Rust package manager.
|
||||
|
||||
First, let's clone Wasmer:
|
||||
|
||||
```text
|
||||
git clone https://github.com/wasmerio/wasmer.git
|
||||
cd wasmer
|
||||
```
|
||||
|
||||
Wasmer supports three different compilers at the moment:
|
||||
|
||||
### Singlepass Compiler
|
||||
|
||||
Build Wasmer:
|
||||
|
||||
```text
|
||||
make build-wasmer
|
||||
```
|
||||
|
||||
**Note**: you should see this `Enabled Compilers: singlepass` in console.
|
||||
|
||||
You may disable Singlepass compiler with `export ENABLE_SINGLEPASS=0`.
|
||||
|
||||
### Cranelift Compiler
|
||||
|
||||
The Cranelift compiler will work if you are on a X86 or ARM machine. It will be detected automatically, so you don't need to do anything to your system to enable it.
|
||||
|
||||
```text
|
||||
make build-wasmer
|
||||
```
|
||||
|
||||
**Note**: should see this as the first line in the console:
|
||||
`Enabled Compilers: cranelift`
|
||||
|
||||
You may disable the Cranelift compiler with `export ENABLE_CRANELIFT=0`.
|
||||
|
||||
### LLVM Compiler
|
||||
|
||||
If you want support for the Wasmer LLVM compiler, then you will also need to ensure:
|
||||
|
||||
* Ensure that LLVM 10.0.x > is installed on your system
|
||||
* You can refer to [LLVM install instructions](https://github.com/wasmerio/wasmer/tree/master/lib/compiler-llvm#requirements)
|
||||
* You can also [download and use a prebuilt LLVM binary](https://releases.llvm.org/download.html)
|
||||
* In case `llvm-config` is not accessible, set the correct environment variable for LLVM to access: For example, the environment variable for LLVM 11.0.x would be: `LLVM_SYS_110_PREFIX=/path/to/unpacked/llvm-11.0`
|
||||
|
||||
And create a Wasmer release
|
||||
|
||||
```bash
|
||||
make build-wasmer
|
||||
```
|
||||
|
||||
**Note**: you should see this in the console:
|
||||
`Enabled Compilers: llvm`
|
||||
|
||||
You may disable the LLVM compiler with `export ENABLE_LLVM=0`.
|
||||
|
||||
### All compilers
|
||||
|
||||
Once you have LLVM and Rust, you can just run:
|
||||
|
||||
```bash
|
||||
make build-wasmer
|
||||
```
|
||||
|
||||
**Note**: you should see this in the console:
|
||||
`Enabled Compilers: singlepass cranelift llvm`
|
||||
|
||||
## Running your Wasmer binary
|
||||
|
||||
Once you run the `make build-wasmer` command, you will have a new binary ready to be used!
|
||||
|
||||
```text
|
||||
./target/release/wasmer quickjs.wasm
|
||||
```
|
||||
|
||||
## Building Wasmer C-API from source
|
||||
|
||||
Wasmer provides a pre-compiled version for the C-API on its [release page](https://github.com/wasmerio/wasmer/releases).
|
||||
|
||||
However, you can also compile the shared library from source:
|
||||
|
||||
```text
|
||||
make build-capi
|
||||
```
|
||||
|
||||
This will generate the shared library (depending on your system):
|
||||
|
||||
* Windows: `target/release/libwasmer_c_api.dll`
|
||||
* macOS: `target/release/libwasmer_c_api.dylib`
|
||||
* Linux: `target/release/libwasmer_c_api.so`
|
||||
|
||||
If you want to generate the library and headers for using them easily, you can execute:
|
||||
|
||||
```bash
|
||||
make package-capi
|
||||
```
|
||||
|
||||
This command will generate a `package` directory, that you can then use easily in the [Wasmer C API examples](./).
|
||||
|
||||
```text
|
||||
package/
|
||||
lib/
|
||||
libwasmer.so
|
||||
headers/
|
||||
wasm.h
|
||||
wasmer.h
|
||||
```
|
||||
|
||||
> [!IMPORTANT]
|
||||
>
|
||||
> By default, the Wasmer C API shared library will include all the backends available in the system where is built.
|
||||
> Defaulting to `cranelift` if available.
|
||||
>
|
||||
> You can generate the C-API for a specific compiler and engine with:
|
||||
> `make build-capi-{ENGINE}`
|
22
docs/TEST.md
Normal file
22
docs/TEST.md
Normal file
@ -0,0 +1,22 @@
|
||||
# Testing
|
||||
|
||||
Thanks to [WebAssembly spec tests](https://github.com/wasmerio/wasmer/tree/master/lib/spectests/spectests) we can ensure 100% compatibility with the WebAssembly spec test suite.
|
||||
|
||||
You can run all the tests with:
|
||||
|
||||
```text
|
||||
make test
|
||||
```
|
||||
|
||||
> [!INFO]
|
||||
> `make test` will automatically detect the compilers available on your system.
|
||||
>
|
||||
> Please follow the [Building from Source](./BUILD.md) guide see how you can[ prepare your system with the requirements needed for each of the backends](./#all-backends-default).
|
||||
|
||||
## Testing Compilers
|
||||
|
||||
Each compiler integration can be tested separately:
|
||||
|
||||
* **Singlepass**: `make test-singlepass`
|
||||
* **Cranelift**: `make test-cranelift`
|
||||
* **LLVM**: `make test-llvm`
|
@ -1,9 +0,0 @@
|
||||
wasmer:
|
||||
language: rust
|
||||
features:
|
||||
- universal
|
||||
- cranelift
|
||||
- singlepass
|
||||
deps:
|
||||
- run: apt update
|
||||
- run: apt install -y zlib1g-dev libffi-dev build-essential
|
@ -33,4 +33,4 @@ attributions of the project.
|
||||
[example]: https://github.com/wasmerio/wasmer/blob/main/examples/compiler_cranelift.rs
|
||||
[`wasmer-compiler-llvm`]: https://github.com/wasmerio/wasmer/tree/main/lib/compiler-llvm
|
||||
[`cranelift-wasm`]: https://crates.io/crates/cranelift-wasm
|
||||
[Wasmer `ATTRIBUTIONS`]: https://github.com/wasmerio/wasmer/blob/main/ATTRIBUTIONS.md
|
||||
[Wasmer `ATTRIBUTIONS`]: https://github.com/wasmerio/wasmer/blob/main/docs/ATTRIBUTIONS.md
|
||||
|
@ -1,5 +1,5 @@
|
||||
// This file contains code from external sources.
|
||||
// Attributions: https://github.com/wasmerio/wasmer/blob/main/ATTRIBUTIONS.md
|
||||
// Attributions: https://github.com/wasmerio/wasmer/blob/main/docs/ATTRIBUTIONS.md
|
||||
|
||||
use cranelift_codegen::Context;
|
||||
use cranelift_codegen::MachSrcLoc;
|
||||
|
@ -1,5 +1,5 @@
|
||||
// This file contains code from external sources.
|
||||
// Attributions: https://github.com/wasmerio/wasmer/blob/main/ATTRIBUTIONS.md
|
||||
// Attributions: https://github.com/wasmerio/wasmer/blob/main/docs/ATTRIBUTIONS.md
|
||||
|
||||
use crate::translator::{
|
||||
type_to_irtype, FuncEnvironment as BaseFuncEnvironment, GlobalVariable, TargetEnvironment,
|
||||
|
@ -1,5 +1,5 @@
|
||||
// This file contains code from external sources.
|
||||
// Attributions: https://github.com/wasmerio/wasmer/blob/main/ATTRIBUTIONS.md
|
||||
// Attributions: https://github.com/wasmerio/wasmer/blob/main/docs/ATTRIBUTIONS.md
|
||||
|
||||
//! A trampoline generator for calling dynamic host functions from Wasm.
|
||||
|
||||
|
@ -1,5 +1,5 @@
|
||||
// This file contains code from external sources.
|
||||
// Attributions: https://github.com/wasmerio/wasmer/blob/main/ATTRIBUTIONS.md
|
||||
// Attributions: https://github.com/wasmerio/wasmer/blob/main/docs/ATTRIBUTIONS.md
|
||||
|
||||
//! A trampoline generator for calling Wasm functions easily.
|
||||
//!
|
||||
|
@ -1,5 +1,5 @@
|
||||
// This file contains code from external sources.
|
||||
// Attributions: https://github.com/wasmerio/wasmer/blob/main/ATTRIBUTIONS.md
|
||||
// Attributions: https://github.com/wasmerio/wasmer/blob/main/docs/ATTRIBUTIONS.md
|
||||
|
||||
//! This module contains the bulk of the interesting code performing the translation between
|
||||
//! WebAssembly bytecode and Cranelift IR.
|
||||
|
@ -1,5 +1,5 @@
|
||||
// This file contains code from external sources.
|
||||
// Attributions: https://github.com/wasmerio/wasmer/blob/main/ATTRIBUTIONS.md
|
||||
// Attributions: https://github.com/wasmerio/wasmer/blob/main/docs/ATTRIBUTIONS.md
|
||||
|
||||
//! All the runtime support necessary for the wasm to cranelift translation is formalized by the
|
||||
//! traits `FunctionEnvMutironment`.
|
||||
|
@ -1,5 +1,5 @@
|
||||
// This file contains code from external sources.
|
||||
// Attributions: https://github.com/wasmerio/wasmer/blob/main/ATTRIBUTIONS.md
|
||||
// Attributions: https://github.com/wasmerio/wasmer/blob/main/docs/ATTRIBUTIONS.md
|
||||
|
||||
//! WebAssembly module and function translation state.
|
||||
//!
|
||||
|
@ -1,5 +1,5 @@
|
||||
// This file contains code from external sources.
|
||||
// Attributions: https://github.com/wasmerio/wasmer/blob/main/ATTRIBUTIONS.md
|
||||
// Attributions: https://github.com/wasmerio/wasmer/blob/main/docs/ATTRIBUTIONS.md
|
||||
|
||||
//! Standalone WebAssembly to Cranelift IR translator.
|
||||
//!
|
||||
|
@ -53,4 +53,4 @@ attributions of the project.
|
||||
|
||||
|
||||
[`cranelift-wasm`]: https://crates.io/crates/cranelift-wasm
|
||||
[Wasmer `ATTRIBUTIONS`]: https://github.com/wasmerio/wasmer/blob/main/ATTRIBUTIONS.md
|
||||
[Wasmer `ATTRIBUTIONS`]: https://github.com/wasmerio/wasmer/blob/main/docs/ATTRIBUTIONS.md
|
||||
|
@ -1,5 +1,5 @@
|
||||
// This file contains code from external sources.
|
||||
// Attributions: https://github.com/wasmerio/wasmer/blob/main/ATTRIBUTIONS.md
|
||||
// Attributions: https://github.com/wasmerio/wasmer/blob/main/docs/ATTRIBUTIONS.md
|
||||
|
||||
//! Memory management for executable code.
|
||||
use super::unwind::UnwindRegistry;
|
||||
|
@ -1,5 +1,5 @@
|
||||
// This file contains code from external sources.
|
||||
// Attributions: https://github.com/wasmerio/wasmer/blob/main/ATTRIBUTIONS.md
|
||||
// Attributions: https://github.com/wasmerio/wasmer/blob/main/docs/ATTRIBUTIONS.md
|
||||
|
||||
//! Module for System V ABI unwind registry.
|
||||
|
||||
|
@ -1,5 +1,5 @@
|
||||
// This file contains code from external sources.
|
||||
// Attributions: https://github.com/wasmerio/wasmer/blob/main/ATTRIBUTIONS.md
|
||||
// Attributions: https://github.com/wasmerio/wasmer/blob/main/docs/ATTRIBUTIONS.md
|
||||
|
||||
//! Module for Windows x64 ABI unwind registry.
|
||||
use std::collections::HashMap;
|
||||
|
@ -1,5 +1,5 @@
|
||||
// This file contains code from external sources.
|
||||
// Attributions: https://github.com/wasmerio/wasmer/blob/main/ATTRIBUTIONS.md
|
||||
// Attributions: https://github.com/wasmerio/wasmer/blob/main/docs/ATTRIBUTIONS.md
|
||||
use super::state::ModuleTranslationState;
|
||||
use crate::lib::std::string::ToString;
|
||||
use crate::lib::std::{boxed::Box, string::String, vec::Vec};
|
||||
|
@ -1,5 +1,5 @@
|
||||
// This file contains code from external sources.
|
||||
// Attributions: https://github.com/wasmerio/wasmer/blob/main/ATTRIBUTIONS.md
|
||||
// Attributions: https://github.com/wasmerio/wasmer/blob/main/docs/ATTRIBUTIONS.md
|
||||
|
||||
//! Translation skeleton that traverses the whole WebAssembly module and call helper functions
|
||||
//! to deal with each part of it.
|
||||
|
@ -1,5 +1,5 @@
|
||||
// This file contains code from external sources.
|
||||
// Attributions: https://github.com/wasmerio/wasmer/blob/main/ATTRIBUTIONS.md
|
||||
// Attributions: https://github.com/wasmerio/wasmer/blob/main/docs/ATTRIBUTIONS.md
|
||||
|
||||
//! Helper functions to gather information for each of the non-function sections of a
|
||||
//! WebAssembly module.
|
||||
|
@ -1,5 +1,5 @@
|
||||
// This file contains code from external sources.
|
||||
// Attributions: https://github.com/wasmerio/wasmer/blob/main/ATTRIBUTIONS.md
|
||||
// Attributions: https://github.com/wasmerio/wasmer/blob/main/docs/ATTRIBUTIONS.md
|
||||
|
||||
use std::boxed::Box;
|
||||
use wasmer_types::entity::PrimaryMap;
|
||||
|
@ -1,5 +1,5 @@
|
||||
// This file contains code from external sources.
|
||||
// Attributions: https://github.com/wasmerio/wasmer/blob/main/ATTRIBUTIONS.md
|
||||
// Attributions: https://github.com/wasmerio/wasmer/blob/main/docs/ATTRIBUTIONS.md
|
||||
|
||||
use std::{
|
||||
io::{self, Read, Write},
|
||||
|
@ -2,7 +2,7 @@
|
||||
//!
|
||||
//! `Memory` is to WebAssembly linear memories what `Table` is to WebAssembly tables.
|
||||
// This file contains code from external sources.
|
||||
// Attributions: https://github.com/wasmerio/wasmer/blob/main/ATTRIBUTIONS.md
|
||||
// Attributions: https://github.com/wasmerio/wasmer/blob/main/docs/ATTRIBUTIONS.md
|
||||
|
||||
use std::{cell::UnsafeCell, convert::TryInto, ptr::NonNull, rc::Rc, sync::RwLock};
|
||||
|
||||
|
@ -25,4 +25,4 @@ Among other things, it defines the following _types_:
|
||||
This project borrowed some of the code for the entity structure from [cranelift-entity](https://crates.io/crates/cranelift-entity).
|
||||
We decided to move it here to help on serialization/deserialization.
|
||||
|
||||
Please check [Wasmer ATTRIBUTIONS](https://github.com/wasmerio/wasmer/blob/main/ATTRIBUTIONS.md) to further see licenses and other attributions of the project.
|
||||
Please check [Wasmer ATTRIBUTIONS](https://github.com/wasmerio/wasmer/blob/main/docs/ATTRIBUTIONS.md) to further see licenses and other attributions of the project.
|
||||
|
@ -1,5 +1,5 @@
|
||||
// This file contains code from external sources.
|
||||
// Attributions: https://github.com/wasmerio/wasmer/blob/main/ATTRIBUTIONS.md
|
||||
// Attributions: https://github.com/wasmerio/wasmer/blob/main/docs/ATTRIBUTIONS.md
|
||||
|
||||
//! A `Compilation` contains the compiled function bodies for a WebAssembly
|
||||
//! module (`CompiledFunction`).
|
||||
|
@ -1,5 +1,5 @@
|
||||
// This file contains code from external sources.
|
||||
// Attributions: https://github.com/wasmerio/wasmer/blob/main/ATTRIBUTIONS.md
|
||||
// Attributions: https://github.com/wasmerio/wasmer/blob/main/docs/ATTRIBUTIONS.md
|
||||
|
||||
//! Boxed slices for `PrimaryMap`.
|
||||
|
||||
|
@ -1,5 +1,5 @@
|
||||
// This file contains code from external sources.
|
||||
// Attributions: https://github.com/wasmerio/wasmer/blob/main/ATTRIBUTIONS.md
|
||||
// Attributions: https://github.com/wasmerio/wasmer/blob/main/docs/ATTRIBUTIONS.md
|
||||
|
||||
//! A double-ended iterator over entity references and entities.
|
||||
|
||||
|
@ -1,5 +1,5 @@
|
||||
// This file contains code from external sources.
|
||||
// Attributions: https://github.com/wasmerio/wasmer/blob/main/ATTRIBUTIONS.md
|
||||
// Attributions: https://github.com/wasmerio/wasmer/blob/main/docs/ATTRIBUTIONS.md
|
||||
|
||||
//! A double-ended iterator over entity references.
|
||||
//!
|
||||
|
@ -1,5 +1,5 @@
|
||||
// This file contains code from external sources.
|
||||
// Attributions: https://github.com/wasmerio/wasmer/blob/main/ATTRIBUTIONS.md
|
||||
// Attributions: https://github.com/wasmerio/wasmer/blob/main/docs/ATTRIBUTIONS.md
|
||||
|
||||
/// A type wrapping a small integer index should implement `EntityRef` so it can be used as the key
|
||||
/// of an `SecondaryMap` or `SparseMap`.
|
||||
|
@ -1,5 +1,5 @@
|
||||
// This file contains code from external sources.
|
||||
// Attributions: https://github.com/wasmerio/wasmer/blob/main/ATTRIBUTIONS.md
|
||||
// Attributions: https://github.com/wasmerio/wasmer/blob/main/docs/ATTRIBUTIONS.md
|
||||
|
||||
//! Compact representation of `Option<T>` for types with a reserved value.
|
||||
//!
|
||||
|
@ -1,5 +1,5 @@
|
||||
// This file contains code from external sources.
|
||||
// Attributions: https://github.com/wasmerio/wasmer/blob/main/ATTRIBUTIONS.md
|
||||
// Attributions: https://github.com/wasmerio/wasmer/blob/main/docs/ATTRIBUTIONS.md
|
||||
|
||||
//! Densely numbered entity references as mapping keys.
|
||||
use crate::entity::boxed_slice::BoxedSlice;
|
||||
|
@ -1,5 +1,5 @@
|
||||
// This file contains code from external sources.
|
||||
// Attributions: https://github.com/wasmerio/wasmer/blob/main/ATTRIBUTIONS.md
|
||||
// Attributions: https://github.com/wasmerio/wasmer/blob/main/docs/ATTRIBUTIONS.md
|
||||
|
||||
//! Densely numbered entity references as mapping keys.
|
||||
|
||||
|
@ -1,5 +1,5 @@
|
||||
// This file contains code from external sources.
|
||||
// Attributions: https://github.com/wasmerio/wasmer/blob/main/ATTRIBUTIONS.md
|
||||
// Attributions: https://github.com/wasmerio/wasmer/blob/main/docs/ATTRIBUTIONS.md
|
||||
|
||||
//! Data structure for representing WebAssembly modules in a
|
||||
//! `wasmer::Module`.
|
||||
|
@ -1,5 +1,5 @@
|
||||
// This file contains code from external sources.
|
||||
// Attributions: https://github.com/wasmerio/wasmer/blob/main/ATTRIBUTIONS.md
|
||||
// Attributions: https://github.com/wasmerio/wasmer/blob/main/docs/ATTRIBUTIONS.md
|
||||
|
||||
//! Source locations.
|
||||
//!
|
||||
|
@ -1,5 +1,5 @@
|
||||
// This file contains code from external sources.
|
||||
// Attributions: https://github.com/wasmerio/wasmer/blob/main/ATTRIBUTIONS.md
|
||||
// Attributions: https://github.com/wasmerio/wasmer/blob/main/docs/ATTRIBUTIONS.md
|
||||
|
||||
//! Trap codes describing the reason for a trap.
|
||||
|
||||
|
@ -1,5 +1,5 @@
|
||||
// This file contains code from external sources.
|
||||
// Attributions: https://github.com/wasmerio/wasmer/blob/main/ATTRIBUTIONS.md
|
||||
// Attributions: https://github.com/wasmerio/wasmer/blob/main/docs/ATTRIBUTIONS.md
|
||||
|
||||
//! Offsets and sizes of various structs in wasmer-vm's vmcontext
|
||||
//! module.
|
||||
|
@ -22,4 +22,4 @@ directly. The `wasmer` crate provides types that embed types from
|
||||
|
||||
This project borrowed some of the code for the VM structure and trapping from the [wasmtime-runtime](https://crates.io/crates/wasmtime-runtime).
|
||||
|
||||
Please check [Wasmer ATTRIBUTIONS](https://github.com/wasmerio/wasmer/blob/main/ATTRIBUTIONS.md) to further see licenses and other attributions of the project.
|
||||
Please check [Wasmer ATTRIBUTIONS](https://github.com/wasmerio/wasmer/blob/main/docs/ATTRIBUTIONS.md) to further see licenses and other attributions of the project.
|
||||
|
@ -1,5 +1,5 @@
|
||||
// This file contains code from external sources.
|
||||
// Attributions: https://github.com/wasmerio/wasmer/blob/main/ATTRIBUTIONS.md
|
||||
// Attributions: https://github.com/wasmerio/wasmer/blob/main/docs/ATTRIBUTIONS.md
|
||||
|
||||
use crate::global::VMGlobal;
|
||||
use crate::memory::VMMemory;
|
||||
|
@ -1,5 +1,5 @@
|
||||
// This file contains code from external sources.
|
||||
// Attributions: https://github.com/wasmerio/wasmer/blob/main/ATTRIBUTIONS.md
|
||||
// Attributions: https://github.com/wasmerio/wasmer/blob/main/docs/ATTRIBUTIONS.md
|
||||
|
||||
use crate::vmcontext::{VMFunctionImport, VMGlobalImport, VMMemoryImport, VMTableImport};
|
||||
use wasmer_types::entity::{BoxedSlice, PrimaryMap};
|
||||
|
@ -1,5 +1,5 @@
|
||||
// This file contains code from external sources.
|
||||
// Attributions: https://github.com/wasmerio/wasmer/blob/main/ATTRIBUTIONS.md
|
||||
// Attributions: https://github.com/wasmerio/wasmer/blob/main/docs/ATTRIBUTIONS.md
|
||||
|
||||
//! An `Instance` contains all the runtime state used by execution of
|
||||
//! a WebAssembly module (except its callstack and register state). An
|
||||
|
@ -1,5 +1,5 @@
|
||||
// This file contains code from external sources.
|
||||
// Attributions: https://github.com/wasmerio/wasmer/blob/main/ATTRIBUTIONS.md
|
||||
// Attributions: https://github.com/wasmerio/wasmer/blob/main/docs/ATTRIBUTIONS.md
|
||||
|
||||
//! Runtime library calls.
|
||||
//!
|
||||
|
@ -1,5 +1,5 @@
|
||||
// This file contains code from external sources.
|
||||
// Attributions: https://github.com/wasmerio/wasmer/blob/main/ATTRIBUTIONS.md
|
||||
// Attributions: https://github.com/wasmerio/wasmer/blob/main/docs/ATTRIBUTIONS.md
|
||||
|
||||
//! Memory management for linear memories.
|
||||
//!
|
||||
|
@ -1,5 +1,5 @@
|
||||
// This file contains code from external sources.
|
||||
// Attributions: https://github.com/wasmerio/wasmer/blob/main/ATTRIBUTIONS.md
|
||||
// Attributions: https://github.com/wasmerio/wasmer/blob/main/docs/ATTRIBUTIONS.md
|
||||
|
||||
//! Low-level abstraction for allocating and managing zero-filled pages
|
||||
//! of memory.
|
||||
|
@ -1,5 +1,5 @@
|
||||
// This file contains code from external sources.
|
||||
// Attributions: https://github.com/wasmerio/wasmer/blob/main/ATTRIBUTIONS.md
|
||||
// Attributions: https://github.com/wasmerio/wasmer/blob/main/docs/ATTRIBUTIONS.md
|
||||
|
||||
//! This section defines the `PROBESTACK` intrinsic which is used in the
|
||||
//! implementation of "stack probes" on certain platforms.
|
||||
|
@ -1,5 +1,5 @@
|
||||
// This file contains code from external sources.
|
||||
// Attributions: https://github.com/wasmerio/wasmer/blob/main/ATTRIBUTIONS.md
|
||||
// Attributions: https://github.com/wasmerio/wasmer/blob/main/docs/ATTRIBUTIONS.md
|
||||
|
||||
//! Implement a registry of function signatures, for fast indirect call
|
||||
//! signature checking.
|
||||
|
@ -1,5 +1,5 @@
|
||||
// This file contains code from external sources.
|
||||
// Attributions: https://github.com/wasmerio/wasmer/blob/main/ATTRIBUTIONS.md
|
||||
// Attributions: https://github.com/wasmerio/wasmer/blob/main/docs/ATTRIBUTIONS.md
|
||||
|
||||
//! Memory management for tables.
|
||||
//!
|
||||
|
@ -1,5 +1,5 @@
|
||||
// This file contains code from external sources.
|
||||
// Attributions: https://github.com/wasmerio/wasmer/blob/main/ATTRIBUTIONS.md
|
||||
// Attributions: https://github.com/wasmerio/wasmer/blob/main/docs/ATTRIBUTIONS.md
|
||||
|
||||
//! This is the module that facilitates the usage of Traps
|
||||
//! in Wasmer Runtime
|
||||
|
@ -1,5 +1,5 @@
|
||||
// This file contains code from external sources.
|
||||
// Attributions: https://github.com/wasmerio/wasmer/blob/main/ATTRIBUTIONS.md
|
||||
// Attributions: https://github.com/wasmerio/wasmer/blob/main/docs/ATTRIBUTIONS.md
|
||||
|
||||
//! WebAssembly trap handling, which is built on top of the lower-level
|
||||
//! signalhandling mechanisms.
|
||||
|
@ -1,5 +1,5 @@
|
||||
// This file contains code from external sources.
|
||||
// Attributions: https://github.com/wasmerio/wasmer/blob/main/ATTRIBUTIONS.md
|
||||
// Attributions: https://github.com/wasmerio/wasmer/blob/main/docs/ATTRIBUTIONS.md
|
||||
|
||||
//! This file declares `VMContext` and several related structs which contain
|
||||
//! fields that compiled wasm code accesses directly.
|
||||
|
@ -1,6 +0,0 @@
|
||||
# Nightly only, sadly.
|
||||
# Need to wait until they are stabilised.
|
||||
# imports_granularity = "Crate"
|
||||
# group_imports = "StdExternalCrate"
|
||||
# reorder_imports = true
|
||||
|
Reference in New Issue
Block a user