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

WebAssembly prototype implementation #63

Closed
wants to merge 5 commits into from
Closed

WebAssembly prototype implementation #63

wants to merge 5 commits into from

Conversation

MikeHolman
Copy link
Contributor

To better facilitate collaboration on our WebAssembly implementation, and have more iterative development, I'd like to merge our prototype into the Microsoft fork. Note that this is still not stable or complete, and it will change, frequently. Use is currently only available through WScript.LoadWasmFile in ch.exe (which uses the JsRunWasmScript JSRT API).

Review on Reviewable

MikeHolman and others added 4 commits January 5, 2016 16:32
- fixed module SectEnd (DeclEnd), added function call decoding, and block control flow
- fixed INT32 constant decoding bug where only the first byte was being decoded
- enable If_Else ASTNode
- Nop handling
- fixed a bug in WasmBytecodeGenerator: when emitting Calls, should first test whether we've looked at all params before we try to read (and test for wnLIMIT)
- fixed missing handling of non-void return implicit blocks. now the binary decoder is at parity with sexpr at least in terms of the basic.wast example.
- This is one place where binary decoder and sexpr parser diverges. Sexpr parser needs to ReadFromCall() to consume the final RPAREN and discard it whereas a follow-up invocation of ReadFromCall() in the binary decoder will cause it to drop the subsequent byte.
- fix for function call argument register allocation management
- starting to implement loop and block labels and br
Getting function calls and loops working in the decoder and misc fixes
@msftclas
Copy link

Hi @MikeHolman, I'm your friendly neighborhood Microsoft Pull Request Bot (You can call me MSBOT). Thanks for your contribution!


It looks like you're a Microsoft contributor (Michael Holman). If you're full-time, we DON'T require a Contribution License Agreement. If you are a vendor, please DO sign the electronic Contribution License Agreement. It will take 2 minutes and there's no faxing! https://cla.microsoft.com.

TTYL, MSBOT;

@dilijev
Copy link
Contributor

dilijev commented Jan 13, 2016

If you have a chance could you incorporate my feedback from here: #62 ?

@MikeHolman
Copy link
Contributor Author

@LouisLaf, @abchatra, @nmostafa, @naturaltransformation: can you review when you get a chance?

@MikeHolman
Copy link
Contributor Author

@dilijev Done. And looks like copyright/EOL tests are passing now.

@dilijev
Copy link
Contributor

dilijev commented Jan 13, 2016

@MikeHolman Yep, looks good.

@dilijev
Copy link
Contributor

dilijev commented Jan 13, 2016

@dotnet-bot test this please

@dilijev
Copy link
Contributor

dilijev commented Jan 13, 2016

@MikeHolman
In .gitattributes, I think you should mark .webm as binary instead of -crlf
See: http://git-scm.com/book/en/v2/Customizing-Git-Git-Attributes

@MikeHolman
Copy link
Contributor Author

To keep things moving along, I'm going to merge this in (to the WebAssembly branch) so we can start putting in more changes on top. If you have any comments at this point, please open an issue.

@MikeHolman
Copy link
Contributor Author

Squashed and merged in: e44a8b2

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants