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

Hackathon Development Roadmap #1

Open
alexanderkyte opened this issue Jul 23, 2018 · 5 comments
Open

Hackathon Development Roadmap #1

alexanderkyte opened this issue Jul 23, 2018 · 5 comments
Assignees

Comments

@alexanderkyte
Copy link
Owner

alexanderkyte commented Jul 23, 2018

Things between now and an MVP:

 0. Write system for making basic blocks when running into Control Instructions. We need the labels for the C# control flow logic. 

1. Finish straight-line codegen translation of non-memory + non-table opcodes. Have test that doesn't use those systems. 

2. Write table+memory systems, use static constructors and arrays

3. Finish writing parser for export/import tables.

4. Set up testing harness with real-world applications.

5. Define embedding API that allows both SRE+Save and SRE+Run. Webassembly is sandboxed, so this admits a "take URL and lazily fetch code" strategy. 

6. Create logging system to better report compilation / format errors (machine 2 machine so less of a concern than for a normal compiler)
@alexanderkyte alexanderkyte self-assigned this Jul 23, 2018
@alexanderkyte
Copy link
Owner Author

The design document that makes this parsing work most productive for me thus far has been here: https://webassembly.github.io/spec/core/binary/modules.html

@alexanderkyte
Copy link
Owner Author

alexanderkyte commented Jul 23, 2018

3. Finish writing parser for export/import tables.
  • William Cummings plans to own this component

@alexanderkyte
Copy link
Owner Author

5. Define embedding API that allows both SRE+Save and SRE+Run. Webassembly is sandboxed, so this admits a "take URL and lazily fetch code" strategy. 
  • Katelyn Gadd plans to own this component

@alexanderkyte
Copy link
Owner Author

alexanderkyte commented Jul 23, 2018

 0. Write system for making basic blocks when running into Control Instructions. We need the labels for the C# control flow logic. 

1. Finish straight-line codegen translation of non-memory + non-table opcodes. Have test that doesn't use those systems. 

I (alexanderkyte) plan to own this component

Development done here: https://github.com/alexanderkyte/Wasm2CIL/tree/opcode_emit

@alexanderkyte alexanderkyte changed the title Development Roadmap Hackathon Development Roadmap Jul 23, 2018
@alexanderkyte
Copy link
Owner Author

Webassembly needs javascript glue to work properly. I think this interpreter should be perfect for glue init.
https://github.com/sebastienros/jint

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

No branches or pull requests

1 participant