Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Single-pass native code generation for x86-64 using dynasm. #276

Merged
merged 112 commits into from
Mar 21, 2019

Conversation

losfair
Copy link
Contributor

@losfair losfair commented Mar 17, 2019

No description provided.

@bjfish
Copy link
Contributor

bjfish commented Mar 19, 2019

@losfair I think there is a command to install on nightly , maybe rustup component add clippy —toolchain=nightly
Found in this page: https://github.com/rust-lang/rust-clippy/blob/master/README.md

@losfair losfair force-pushed the feature/dynasm-backend branch from 98ccc4f to 295efbf Compare March 19, 2019 17:52
@losfair
Copy link
Contributor Author

losfair commented Mar 19, 2019

bors try

bors bot added a commit that referenced this pull request Mar 19, 2019
@bors
Copy link
Contributor

bors bot commented Mar 19, 2019

Cargo.toml Show resolved Hide resolved
Cargo.toml Show resolved Hide resolved
@losfair losfair requested review from bjfish and lachlansneff March 20, 2019 15:15
Copy link
Contributor

@lachlansneff lachlansneff left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Almost!

lib/runtime-core/src/vm.rs Outdated Show resolved Hide resolved
lib/runtime-core/src/vm.rs Show resolved Hide resolved
(**(*_vmctx).internal.memories).base,
(**(*_vmctx).internal.memories).bound,
)
let vmctx = _vmctx as *mut vm::InternalCtx;
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Just make the ctx parameter of this function &mut vm::InternalCtx.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Then the definition of the ProtectedCaller trait needs to be changed. I doubt whether this is really needed.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Oh, my mistake. I thought this was part of a different function. Why does the protected caller need to figure out where the memory is?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Because CALL_WASM needs to setup a register containing memory information (base, bound) which is passed in as a paremeter.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Okay. Let's merge this and then discuss implementation later.

@lachlansneff
Copy link
Contributor

bors r+

bors bot added a commit that referenced this pull request Mar 21, 2019
276: Single-pass native code generation for x86-64 using dynasm. r=lachlansneff a=losfair



Co-authored-by: losfair <zhy20000919@hotmail.com>
@bors
Copy link
Contributor

bors bot commented Mar 21, 2019

Build failed

@losfair losfair force-pushed the feature/dynasm-backend branch from f2d7223 to 08ba696 Compare March 21, 2019 01:24
@losfair
Copy link
Contributor Author

losfair commented Mar 21, 2019

bors r+

bors bot added a commit that referenced this pull request Mar 21, 2019
276: Single-pass native code generation for x86-64 using dynasm. r=losfair a=losfair



Co-authored-by: losfair <zhy20000919@hotmail.com>
@bors
Copy link
Contributor

bors bot commented Mar 21, 2019

@bors bors bot merged commit 08ba696 into master Mar 21, 2019
@bors bors bot deleted the feature/dynasm-backend branch March 21, 2019 01:40
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
🎉 enhancement New feature! 📦 lib-deprecated About the deprecated crates 📦 lib-emscripten About wasmer-emscripten 🧪 tests I love tests
Projects
None yet
Development

Successfully merging this pull request may close these issues.

6 participants