Skip to content

Commit

Permalink
Merge #713
Browse files Browse the repository at this point in the history
713: Add AArch64 support for singlepass. r=syrusakbary a=losfair

This PR includes:

- Support for AArch64 (ARM64) in Singlepass backend. Implemented with a combination of x86_64 instruction translation and native code generation.
- State tracing and backtraces on AArch64/Singlepass. (Tiering is not implemented for this pair because there's no other backend supporting AArch64 yet)
- Debugging tools: `BlockTrace` middleware, and support for reading states of previous WebAssembly stack frames from middlewares.

Co-authored-by: losfair <[email protected]>
  • Loading branch information
bors[bot] and losfair authored Nov 22, 2019
2 parents 7bb570a + 183dd32 commit bcd7bb4
Show file tree
Hide file tree
Showing 32 changed files with 4,522 additions and 1,117 deletions.
62 changes: 62 additions & 0 deletions .travis.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,62 @@
arch:
- arm64

language: rust
rust:
- nightly-2019-08-15

cache:
directories:
- /home/travis/.sccache/
- /home/travis/.cargo/bin/

script:
# Sccache
# - curl -L https://github.com/mozilla/sccache/releases/download/0.2.10/sccache-0.2.10-x86_64-unknown-linux-musl.tar.gz | tar xzf -
# - export RUSTC_WRAPPER=`pwd`/sccache-0.2.10-x86_64-unknown-linux-musl/sccache
- test -f /home/travis/.cargo/bin/sccache || cargo install sccache
- export RUSTC_WRAPPER=/home/travis/.cargo/bin/sccache
- mkdir -p /home/travis/.sccache/
- export SCCACHE_DIR="/home/travis/.sccache/"
- SCCACHE_ERROR_LOG=`pwd`/sccache.log RUST_LOG=debug $RUSTC_WRAPPER --start-server
- $RUSTC_WRAPPER -s

# Tests
- make spectests-singlepass

before_deploy:
# Release
- make release-singlepass
- make wapm
- make build-install
- mkdir -p artifacts
- cp ./wasmer.tar.gz ./artifacts/$(./scripts/binary-name.sh)

# before_deploy:
# # Set up git user name and tag this commit
# - git config --local user.name "Syrus Akbary"
# - git config --local user.email "[email protected]"
# - export TRAVIS_TAG="0.10.2"
# # - git tag $TRAVIS_TAG

deploy:
provider: releases
file_glob: true
file: artifacts/*
api_key: $GITHUB_OAUTH_TOKEN
# This is set to the previous artifacts are not deleted by travis
skip_cleanup: true
on:
tags: true
# branch: feature/singlepass-aarch64

addons:
apt:
packages:
- cmake

branches:
only:
- master
- staging
- trying
1 change: 1 addition & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@

## **[Unreleased]**

- [#713](https://github.com/wasmerio/wasmer/pull/713) Add AArch64 support for singlepass.
- [#995](https://github.com/wasmerio/wasmer/pull/995) Detect when a global is read without being initialized (emit a proper error instead of panicking)
- [#996](https://github.com/wasmerio/wasmer/pull/997) Refactored spectests, emtests and wasitests to use default compiler logic
- [#992](https://github.com/wasmerio/wasmer/pull/992) Updates WAPM version to 0.4.1, fix arguments issue introduced in #990
Expand Down
Loading

0 comments on commit bcd7bb4

Please sign in to comment.