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

[sdk] Add wasm interpreter support. #5924

Merged
merged 9 commits into from Nov 7, 2017

Conversation

Projects
None yet
7 participants
@kumpera
Member

kumpera commented Nov 1, 2017

This adds all bits to get the mini test suite to run under the interpreter

Show outdated Hide outdated sdks/builds/setup-emsdk.sh
Show outdated Hide outdated sdks/builds/wasm.mk
--host=i386-apple-darwin10
#toolchain code
.stamp-wasm-toolchain:

This comment has been minimized.

@luhenry

luhenry Nov 2, 2017

Member

Why do we have a wasm while all other targets are wasm-interp?

@luhenry

luhenry Nov 2, 2017

Member

Why do we have a wasm while all other targets are wasm-interp?

This comment has been minimized.

@kumpera

kumpera Nov 2, 2017

Member

cuz the other wasm targets require their own toolchains.

@kumpera

kumpera Nov 2, 2017

Member

cuz the other wasm targets require their own toolchains.

.PHONY: clean-wasm-interp clean-wasm
clean-wasm::
rm -rf .stamp-wasm-toolchain
clean-wasm-interp:: clean-wasm

This comment has been minimized.

@luhenry

luhenry Nov 2, 2017

Member

please unify both wasm-interp and wasm targets as there is no apparent reason to have wasm

@luhenry

luhenry Nov 2, 2017

Member

please unify both wasm-interp and wasm targets as there is no apparent reason to have wasm

This comment has been minimized.

@kumpera

kumpera Nov 2, 2017

Member

There's a reason for this.
There are 4 more runtime configs coming down the line: mini aot/runtime, llvm aot/runtime.

This is the only one ready for merging and I feel like keeping the bits for the others made sense.

@kumpera

kumpera Nov 2, 2017

Member

There's a reason for this.
There are 4 more runtime configs coming down the line: mini aot/runtime, llvm aot/runtime.

This is the only one ready for merging and I feel like keeping the bits for the others made sense.

@kumpera

This comment has been minimized.

Show comment
Hide comment
@kumpera

kumpera Nov 2, 2017

Member

@luhenry I updated this PR with the rest of the required work to bring the interpreter in.

Member

kumpera commented Nov 2, 2017

@luhenry I updated this PR with the rest of the required work to bring the interpreter in.

@kumpera

This comment has been minimized.

Show comment
Hide comment
@kumpera

kumpera Nov 2, 2017

Member

Here's a sample run from the wasm dir: https://gist.github.com/11180dc8613200c0d22a0ba4571ba674

Member

kumpera commented Nov 2, 2017

Here's a sample run from the wasm dir: https://gist.github.com/11180dc8613200c0d22a0ba4571ba674

@kumpera

This comment has been minimized.

Show comment
Hide comment
@kumpera

kumpera Nov 7, 2017

Member

Addressed @SteveSandersonMS issues.

Member

kumpera commented Nov 7, 2017

Addressed @SteveSandersonMS issues.

@lewurm

lewurm approved these changes Nov 7, 2017

amazing stuff 👍

@luhenry

luhenry approved these changes Nov 7, 2017

@kumpera kumpera merged commit a62a7e7 into mono:master Nov 7, 2017

13 of 16 checks passed

Linux AArch64 Interpreter Build finished. 505 tests run, 0 skipped, 1 failed.
Details
Linux ARMv7 hard float Interpreter Build finished. 498 tests run, 0 skipped, 1 failed.
Details
Linux x64 Interpreter Build finished. 507 tests run, 0 skipped, 1 failed.
Details
API Diff No public API changes found.
Details
Linux AArch64 Build finished. 62764 tests run, 1426 skipped, 0 failed.
Details
Linux ARMv5 soft float Build finished. 62728 tests run, 1421 skipped, 0 failed.
Details
Linux ARMv7 hard float Build finished. 62728 tests run, 1421 skipped, 0 failed.
Details
Linux i386 Build finished. 62767 tests run, 1418 skipped, 0 failed.
Details
Linux x64 Build finished. 62767 tests run, 1420 skipped, 0 failed.
Details
Linux x64 FullAOT Build finished. 21685 tests run, 547 skipped, 0 failed.
Details
Linux x64 mcs Build finished.
Details
OS X i386 Build finished. 61929 tests run, 1302 skipped, 0 failed.
Details
OS X x64 Build finished. 61929 tests run, 1304 skipped, 0 failed.
Details
Test Result Viewer Click to view aggregated test results (Xamarin internal).
Details
Windows i386 Build finished. 57932 tests run, 1129 skipped, 0 failed.
Details
Windows x64 Build finished. 57954 tests run, 1131 skipped, 0 failed.
Details
@juepiezhongren

This comment has been minimized.

Show comment
Hide comment
@juepiezhongren

juepiezhongren Nov 10, 2017

So, is xamarin.wasm getting close?

juepiezhongren commented Nov 10, 2017

So, is xamarin.wasm getting close?

@kumpera

This comment has been minimized.

Show comment
Hide comment
@kumpera

kumpera Nov 10, 2017

Member

@juepiezhongren yes, you can try it today if you adventure yourself on building it from source.

Member

kumpera commented Nov 10, 2017

@juepiezhongren yes, you can try it today if you adventure yourself on building it from source.

@Mike-EEE

This comment has been minimized.

Show comment
Hide comment
@Mike-EEE

Mike-EEE Nov 21, 2017

Wow excellent work here @kumpera. Thank you for your time and your contributions!

Mike-EEE commented Nov 21, 2017

Wow excellent work here @kumpera. Thank you for your time and your contributions!

@juepiezhongren

This comment has been minimized.

Show comment
Hide comment
@juepiezhongren

juepiezhongren Nov 21, 2017

@Mike-EEE have u seen the perspective future that x.forms is to fulfill your ubUI?

juepiezhongren commented Nov 21, 2017

@Mike-EEE have u seen the perspective future that x.forms is to fulfill your ubUI?

@Mike-EEE

This comment has been minimized.

Show comment
Hide comment
@Mike-EEE

Mike-EEE Nov 21, 2017

Not yet, @juepiezhongren ... not officially at least. From what I understand, the future is somewhere between Xamarin.Forms, Noesis, and Avalonia. Once mono supports (or rather releases support for :)) WebAssembly, each one of these models will be able to run everywhere. I myself am partial to Noesis/Avalonia models, but there is a market for a XF-type model, too. So everyone is (or will be) covered. 😄

Mike-EEE commented Nov 21, 2017

Not yet, @juepiezhongren ... not officially at least. From what I understand, the future is somewhere between Xamarin.Forms, Noesis, and Avalonia. Once mono supports (or rather releases support for :)) WebAssembly, each one of these models will be able to run everywhere. I myself am partial to Noesis/Avalonia models, but there is a market for a XF-type model, too. So everyone is (or will be) covered. 😄

@juepiezhongren

This comment has been minimized.

Show comment
Hide comment
@juepiezhongren

juepiezhongren Nov 21, 2017

Ava is still at baby stage, what is Noesis, please give a url, por favor@Mike-EEE

juepiezhongren commented Nov 21, 2017

Ava is still at baby stage, what is Noesis, please give a url, por favor@Mike-EEE

@Mike-EEE

This comment has been minimized.

Show comment
Hide comment
@Mike-EEE

Mike-EEE Nov 21, 2017

They are a commercial solution but hold true to WPF. :)

http://www.noesisengine.com/

Mike-EEE commented Nov 21, 2017

They are a commercial solution but hold true to WPF. :)

http://www.noesisengine.com/

@juepiezhongren

This comment has been minimized.

Show comment
Hide comment
@juepiezhongren

juepiezhongren Nov 21, 2017

@Mike-EEE What i prefer most is the architecture for xf, with native binding like x.ios, x.android.... and with Ub solution. So, i hope competitor like ava and noesis could reuse this architecture, to take advantage of native bindings.

Ub is always not covering everything, things like react native is only to make things more and more complicated and is never to be rootly solved.

juepiezhongren commented Nov 21, 2017

@Mike-EEE What i prefer most is the architecture for xf, with native binding like x.ios, x.android.... and with Ub solution. So, i hope competitor like ava and noesis could reuse this architecture, to take advantage of native bindings.

Ub is always not covering everything, things like react native is only to make things more and more complicated and is never to be rootly solved.

@juepiezhongren

This comment has been minimized.

Show comment
Hide comment
@juepiezhongren

juepiezhongren Nov 21, 2017

@Mike-EEE noesis's web page is cool

juepiezhongren commented Nov 21, 2017

@Mike-EEE noesis's web page is cool

@Mike-EEE

This comment has been minimized.

Show comment
Hide comment
@Mike-EEE

Mike-EEE Nov 21, 2017

Like I said @juepiezhongren everyone should be covered, one way or another. You can tell this space is gaining momentum again and there are a lot of creative minds that are starting to explore and contribute. Far cry from a year or so ago, huh! 😆

Mike-EEE commented Nov 21, 2017

Like I said @juepiezhongren everyone should be covered, one way or another. You can tell this space is gaining momentum again and there are a lot of creative minds that are starting to explore and contribute. Far cry from a year or so ago, huh! 😆

@Mike-EEE Mike-EEE referenced this pull request Nov 22, 2017

Open

Discussion: just a thought #222

0 of 4 tasks complete
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment