- 17 Oct, 2016 4 commits
-
-
Kunshan Wang authored
-
qinsoon authored
-
qinsoon authored
-
qinsoon authored
-
- 14 Oct, 2016 3 commits
- 11 Oct, 2016 2 commits
- 10 Oct, 2016 4 commits
-
-
John Zhang authored
-
qinsoon authored
-
qinsoon authored
-
qinsoon authored
-
- 06 Oct, 2016 1 commit
-
-
qinsoon authored
-
- 05 Oct, 2016 3 commits
-
-
Kunshan Wang authored
Creaation and destruction of MuVM, MuCtx and MuIRBuilder. Now the `mvm->new_context`, `ctx->new_ir_builder`, `ctx->close_context` and `b->abort` works. MuVM can also be created via a top-level "C"-style exported function `mu_fastimpl_new()` so that in theory, it can be used in C programs.
-
qinsoon authored
-
qinsoon authored
internal id and machine id do not persist during serialization and restoration. Currently I use fixed ID for machine registers. But internal id is still generated, this might be a problem in the future.
-
- 04 Oct, 2016 2 commits
-
-
Kunshan Wang authored
Now it is the time to actually implement the public API. This commit only contains scaffolds so that it compiles, and I can fill in actual implementations later. Most of them should forward to the actual VM.* methods (with some adaptations).
-
qinsoon authored
-
- 30 Sep, 2016 2 commits
-
-
Kunshan Wang authored
-
qinsoon authored
-
- 29 Sep, 2016 7 commits
-
-
qinsoon authored
-
Kunshan Wang authored
-
Kunshan Wang authored
Found a way to implement handle allocation and dealllocation, and a way to access MuVM from MuCtx using pointers.
-
qinsoon authored
-
Kunshan Wang authored
Re-wrote the muapi2rustapi.py script. Use *const for CStrings and CMuValue.
-
Kunshan Wang authored
Set linker flags properly according to the OS. Tested trap handler callback. It looks like it is easy enough for Rust to interact with C.
-
qinsoon authored
-
- 28 Sep, 2016 6 commits
-
-
Kunshan Wang authored
Added linker flags so it will work in Linux.
-
Kunshan Wang authored
Test whether the generated stubs are reasonable.
-
qinsoon authored
-
qinsoon authored
partially serialize compiled function into bootimage
-
Kunshan Wang authored
Added the "localtest" directory for testing the API without touching other modules. (TODO: It could be moved somewhere else, but should not use src as an extern crate, or it will depend on the entire crate.) Use CStr for incoming strings from C. CString is for C-style strings **owned by Rust**. Added comments at the beginning of api_c.rs and api_bridge.rs to indicate some parts of the files are generated.
-
qinsoon authored
-
- 27 Sep, 2016 1 commit
-
-
Kunshan Wang authored
Now the API stubs (__api_impl_stubs.rs) should be ready for use.
-
- 23 Sep, 2016 3 commits
-
-
Kunshan Wang authored
TODO: Convert retvals back to C.
-
Kunshan Wang authored
Inline the converter functions for minimum cost. Use debug_assert! Mark C-facing functions as extern. Added filler functions to fill-up the C-facing structs with methods.
-
Kunshan Wang authored
Now arrays, handles and primitive values can be converted to the appropriate Rust values. TODO: Need to forward each function to the concrete api_impl methods, and convert the return values back to C types. Stubs should be generated to ease the implementation of high-level methods.
-
- 22 Sep, 2016 2 commits
-
-
Kunshan Wang authored
api_bridge.rs will convert low-level C valus to high-level Rust value, such as CMuValue* -> [&APIMuValue].
-
Kunshan Wang authored
fn() is already function pointer type. No need for `*mut fn()`.
-