-
Notifications
You must be signed in to change notification settings - Fork 98
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
Rewrite rest of the RTS in Rust #2210
Merged
Merged
Commits on Dec 21, 2020
-
Native uses of alloc_array are duplicated in the native test files. Those will be removed when the tests are ported to Rust.
Configuration menu - View commit details
-
Copy full SHA for b8aeb64 - Browse repository at this point
Copy the full SHA b8aeb64View commit details -
This also changes how we store the next free index a little bit. The constant `FULL` is gone, when the next free location is equal to the array length that's how we know the table is full now. Also, `FREE_SLOT` no longer next free location shifted left, it holds the next free location directly (not shifted).
Configuration menu - View commit details
-
Copy full SHA for 135517c - Browse repository at this point
Copy the full SHA 135517cView commit details -
Configuration menu - View commit details
-
Copy full SHA for 5eb1618 - Browse repository at this point
Copy the full SHA 5eb1618View commit details -
Configuration menu - View commit details
-
Copy full SHA for 822497d - Browse repository at this point
Copy the full SHA 822497dView commit details -
Configuration menu - View commit details
-
Copy full SHA for cc5a954 - Browse repository at this point
Copy the full SHA cc5a954View commit details
Commits on Dec 23, 2020
-
Configuration menu - View commit details
-
Copy full SHA for 8ff636b - Browse repository at this point
Copy the full SHA 8ff636bView commit details -
Configuration menu - View commit details
-
Copy full SHA for 61a77c0 - Browse repository at this point
Copy the full SHA 61a77c0View commit details
Commits on Dec 24, 2020
-
Configuration menu - View commit details
-
Copy full SHA for 48cb96a - Browse repository at this point
Copy the full SHA 48cb96aView commit details -
Configuration menu - View commit details
-
Copy full SHA for f0f068d - Browse repository at this point
Copy the full SHA f0f068dView commit details
Commits on Dec 25, 2020
-
Move more text functions to Rust, lots of refactoring
- Introduced `as_blah` methods to convert a SkewedPtr or *Obj to other object types. These methods check the type in debug mode. - Improve error reporting, we know show details in assertion failures - Temporarily link with debug runtime to enable sanity checking by default for now
Configuration menu - View commit details
-
Copy full SHA for 33e560f - Browse repository at this point
Copy the full SHA 33e560fView commit details -
Configuration menu - View commit details
-
Copy full SHA for 63e2b87 - Browse repository at this point
Copy the full SHA 63e2b87View commit details -
Configuration menu - View commit details
-
Copy full SHA for 3d6cb55 - Browse repository at this point
Copy the full SHA 3d6cb55View commit details -
Configuration menu - View commit details
-
Copy full SHA for 6db438e - Browse repository at this point
Copy the full SHA 6db438eView commit details -
Configuration menu - View commit details
-
Copy full SHA for 541c146 - Browse repository at this point
Copy the full SHA 541c146View commit details -
Configuration menu - View commit details
-
Copy full SHA for 1128ee5 - Browse repository at this point
Copy the full SHA 1128ee5View commit details -
Configuration menu - View commit details
-
Copy full SHA for fd013f2 - Browse repository at this point
Copy the full SHA fd013f2View commit details -
Configuration menu - View commit details
-
Copy full SHA for 6d214c0 - Browse repository at this point
Copy the full SHA 6d214c0View commit details -
Configuration menu - View commit details
-
Copy full SHA for bed0bcd - Browse repository at this point
Copy the full SHA bed0bcdView commit details -
Configuration menu - View commit details
-
Copy full SHA for 19972d9 - Browse repository at this point
Copy the full SHA 19972d9View commit details -
Configuration menu - View commit details
-
Copy full SHA for 496a63e - Browse repository at this point
Copy the full SHA 496a63eView commit details -
Configuration menu - View commit details
-
Copy full SHA for f0aabe0 - Browse repository at this point
Copy the full SHA f0aabe0View commit details -
Configuration menu - View commit details
-
Copy full SHA for 8cb19e2 - Browse repository at this point
Copy the full SHA 8cb19e2View commit details -
Configuration menu - View commit details
-
Copy full SHA for 3fc2b54 - Browse repository at this point
Copy the full SHA 3fc2b54View commit details
Commits on Dec 26, 2020
-
Configuration menu - View commit details
-
Copy full SHA for e7187ff - Browse repository at this point
Copy the full SHA e7187ffView commit details -
Configuration menu - View commit details
-
Copy full SHA for 1a4941b - Browse repository at this point
Copy the full SHA 1a4941bView commit details
Commits on Dec 27, 2020
-
Configuration menu - View commit details
-
Copy full SHA for aae504a - Browse repository at this point
Copy the full SHA aae504aView commit details -
Configuration menu - View commit details
-
Copy full SHA for 2819827 - Browse repository at this point
Copy the full SHA 2819827View commit details -
Configuration menu - View commit details
-
Copy full SHA for 1eaabbd - Browse repository at this point
Copy the full SHA 1eaabbdView commit details
Commits on Dec 28, 2020
-
Configuration menu - View commit details
-
Copy full SHA for 3f59326 - Browse repository at this point
Copy the full SHA 3f59326View commit details -
Configuration menu - View commit details
-
Copy full SHA for 977aadf - Browse repository at this point
Copy the full SHA 977aadfView commit details -
Configuration menu - View commit details
-
Copy full SHA for 6054532 - Browse repository at this point
Copy the full SHA 6054532View commit details -
Configuration menu - View commit details
-
Copy full SHA for d0bbd48 - Browse repository at this point
Copy the full SHA d0bbd48View commit details -
Configuration menu - View commit details
-
Copy full SHA for 33dc04f - Browse repository at this point
Copy the full SHA 33dc04fView commit details -
Configuration menu - View commit details
-
Copy full SHA for d8c0ca6 - Browse repository at this point
Copy the full SHA d8c0ca6View commit details -
Configuration menu - View commit details
-
Copy full SHA for f463930 - Browse repository at this point
Copy the full SHA f463930View commit details -
Configuration menu - View commit details
-
Copy full SHA for 619912f - Browse repository at this point
Copy the full SHA 619912fView commit details -
Configuration menu - View commit details
-
Copy full SHA for cfada21 - Browse repository at this point
Copy the full SHA cfada21View commit details -
Configuration menu - View commit details
-
Copy full SHA for 77c501a - Browse repository at this point
Copy the full SHA 77c501aView commit details -
Configuration menu - View commit details
-
Copy full SHA for c66440e - Browse repository at this point
Copy the full SHA c66440eView commit details -
Configuration menu - View commit details
-
Copy full SHA for 3b9c244 - Browse repository at this point
Copy the full SHA 3b9c244View commit details -
Configuration menu - View commit details
-
Copy full SHA for 39d3c39 - Browse repository at this point
Copy the full SHA 39d3c39View commit details -
Configuration menu - View commit details
-
Copy full SHA for 1a23685 - Browse repository at this point
Copy the full SHA 1a23685View commit details -
Configuration menu - View commit details
-
Copy full SHA for d692a26 - Browse repository at this point
Copy the full SHA d692a26View commit details
Commits on Dec 29, 2020
-
Configuration menu - View commit details
-
Copy full SHA for bac8a8e - Browse repository at this point
Copy the full SHA bac8a8eView commit details -
Configuration menu - View commit details
-
Copy full SHA for f5b0652 - Browse repository at this point
Copy the full SHA f5b0652View commit details -
Configuration menu - View commit details
-
Copy full SHA for b9de82e - Browse repository at this point
Copy the full SHA b9de82eView commit details -
Configuration menu - View commit details
-
Copy full SHA for 1440b3c - Browse repository at this point
Copy the full SHA 1440b3cView commit details -
Configuration menu - View commit details
-
Copy full SHA for 2f55974 - Browse repository at this point
Copy the full SHA 2f55974View commit details -
Configuration menu - View commit details
-
Copy full SHA for 4521f23 - Browse repository at this point
Copy the full SHA 4521f23View commit details -
Configuration menu - View commit details
-
Copy full SHA for 8b9f526 - Browse repository at this point
Copy the full SHA 8b9f526View commit details -
Configuration menu - View commit details
-
Copy full SHA for 25fa89e - Browse repository at this point
Copy the full SHA 25fa89eView commit details -
Configuration menu - View commit details
-
Copy full SHA for d544645 - Browse repository at this point
Copy the full SHA d544645View commit details -
Configuration menu - View commit details
-
Copy full SHA for b917d2c - Browse repository at this point
Copy the full SHA b917d2cView commit details -
Configuration menu - View commit details
-
Copy full SHA for abe5da2 - Browse repository at this point
Copy the full SHA abe5da2View commit details
Commits on Dec 30, 2020
-
Configuration menu - View commit details
-
Copy full SHA for 6c28fb4 - Browse repository at this point
Copy the full SHA 6c28fb4View commit details -
Configuration menu - View commit details
-
Copy full SHA for 42328e3 - Browse repository at this point
Copy the full SHA 42328e3View commit details -
Configuration menu - View commit details
-
Copy full SHA for 9efc3ba - Browse repository at this point
Copy the full SHA 9efc3baView commit details -
Configuration menu - View commit details
-
Copy full SHA for 7addce6 - Browse repository at this point
Copy the full SHA 7addce6View commit details
Commits on Dec 31, 2020
-
Zero the slop after adjusting blob size in principal functions
Also refactors object_size slightly Fixes #2216
Configuration menu - View commit details
-
Copy full SHA for 61cb041 - Browse repository at this point
Copy the full SHA 61cb041View commit details
Commits on Jan 1, 2021
-
After several hours of debugging I found out that this struct #[repr(C)] pub struct Bits64 { pub header: Obj, pub bits: u64, } is compiled with one word padding between the fields when compiled to wasm32 targets, but *not* when compiled to i386! (This is weird, but I think not a bug, as wasm32 doesn't have a standard ABI, it's just "whatever LLVM implements", and apparently LLVM decides to align fields when compiling to wasm32) As a result `size_of::<Bits64>` returned 4 words, not 3, which is inconsistent with the compiler's view of this type. This doesn't really break the garbage collector. This is because we don't care about the bit contents of this type in the GC, and it's fine to copy 4 bytes instead of 3 bytes for this object as long as the generated code will find the bit contents in the right place. In other words, if we generate this in the compiler | TAG_BITS64 | word1 | word2 | and the GC copies it as | TAG_BITS64 | word1 | word2 | <one word garbage> | to tospace, that's still fine for the generated code, as it can still find the contents in the right places. However it's a problem for `dump_heap` as it linearly scans the heap. If we generate the first layout above then call `dump_heap`, it skips over the next object's tag, thinking that `Bits64` is 4 words. Even if it was OK the RTS and compiler should be in sync about the object layouts. I now replaced all `repr(C)` with more precise `repr(transparent)` and `repr(packed)`. Relevant documentation: https://doc.rust-lang.org/nomicon/other-reprs.html I think this is a good idea even for the cases where repr(C) did not cause any problems, because repr(C) raises the question of "how would this be represented in C?". transparent and packed are much more precise: - packed: Don't align fields, don't add padding - transparent: Represent as if the struct (newtype) did not exist (newtypes are represented this way on most platforms anyway, see the linked documentation above)
Configuration menu - View commit details
-
Copy full SHA for 4b45424 - Browse repository at this point
Copy the full SHA 4b45424View commit details
Commits on Jan 4, 2021
-
Configuration menu - View commit details
-
Copy full SHA for 72e4663 - Browse repository at this point
Copy the full SHA 72e4663View commit details -
Configuration menu - View commit details
-
Copy full SHA for 21a5774 - Browse repository at this point
Copy the full SHA 21a5774View commit details -
Configuration menu - View commit details
-
Copy full SHA for 70ce96c - Browse repository at this point
Copy the full SHA 70ce96cView commit details -
Configuration menu - View commit details
-
Copy full SHA for b7d2ecf - Browse repository at this point
Copy the full SHA b7d2ecfView commit details -
Configuration menu - View commit details
-
Copy full SHA for 455f6c5 - Browse repository at this point
Copy the full SHA 455f6c5View commit details
Commits on Jan 5, 2021
-
Configuration menu - View commit details
-
Copy full SHA for 1448a99 - Browse repository at this point
Copy the full SHA 1448a99View commit details -
Configuration menu - View commit details
-
Copy full SHA for 1ac6355 - Browse repository at this point
Copy the full SHA 1ac6355View commit details -
Configuration menu - View commit details
-
Copy full SHA for 6d3e94d - Browse repository at this point
Copy the full SHA 6d3e94dView commit details
Commits on Jan 11, 2021
-
Configuration menu - View commit details
-
Copy full SHA for 0fdc1bc - Browse repository at this point
Copy the full SHA 0fdc1bcView commit details -
Configuration menu - View commit details
-
Copy full SHA for b7ecb34 - Browse repository at this point
Copy the full SHA b7ecb34View commit details -
Configuration menu - View commit details
-
Copy full SHA for e9a9748 - Browse repository at this point
Copy the full SHA e9a9748View commit details -
Configuration menu - View commit details
-
Copy full SHA for 8733104 - Browse repository at this point
Copy the full SHA 8733104View commit details -
Configuration menu - View commit details
-
Copy full SHA for 37ac599 - Browse repository at this point
Copy the full SHA 37ac599View commit details -
Configuration menu - View commit details
-
Copy full SHA for 7e2c60b - Browse repository at this point
Copy the full SHA 7e2c60bView commit details -
Configuration menu - View commit details
-
Copy full SHA for 4787991 - Browse repository at this point
Copy the full SHA 4787991View commit details -
Configuration menu - View commit details
-
Copy full SHA for fdee600 - Browse repository at this point
Copy the full SHA fdee600View commit details -
Configuration menu - View commit details
-
Copy full SHA for 9a4ffcc - Browse repository at this point
Copy the full SHA 9a4ffccView commit details -
Configuration menu - View commit details
-
Copy full SHA for 7b3b504 - Browse repository at this point
Copy the full SHA 7b3b504View commit details -
Configuration menu - View commit details
-
Copy full SHA for e025135 - Browse repository at this point
Copy the full SHA e025135View commit details
Commits on Jan 13, 2021
-
Configuration menu - View commit details
-
Copy full SHA for b39bd2b - Browse repository at this point
Copy the full SHA b39bd2bView commit details
Commits on Jan 19, 2021
-
Configuration menu - View commit details
-
Copy full SHA for ed6b571 - Browse repository at this point
Copy the full SHA ed6b571View commit details -
Configuration menu - View commit details
-
Copy full SHA for fadf397 - Browse repository at this point
Copy the full SHA fadf397View commit details -
Configuration menu - View commit details
-
Copy full SHA for 071c39e - Browse repository at this point
Copy the full SHA 071c39eView commit details -
Configuration menu - View commit details
-
Copy full SHA for e20cbbd - Browse repository at this point
Copy the full SHA e20cbbdView commit details -
Configuration menu - View commit details
-
Copy full SHA for e94bcfc - Browse repository at this point
Copy the full SHA e94bcfcView commit details -
Configuration menu - View commit details
-
Copy full SHA for 2a1b04c - Browse repository at this point
Copy the full SHA 2a1b04cView commit details -
Configuration menu - View commit details
-
Copy full SHA for 4e9524c - Browse repository at this point
Copy the full SHA 4e9524cView commit details -
Configuration menu - View commit details
-
Copy full SHA for 4023191 - Browse repository at this point
Copy the full SHA 4023191View commit details -
Run the RTS tests in wasmtime/WASI
this is easier to build on all platforms, compared to building for 32bits. It also means we are testing things closer to what we really run.
Configuration menu - View commit details
-
Copy full SHA for c06a141 - Browse repository at this point
Copy the full SHA c06a141View commit details -
Configuration menu - View commit details
-
Copy full SHA for 06fc768 - Browse repository at this point
Copy the full SHA 06fc768View commit details -
Configuration menu - View commit details
-
Copy full SHA for 05fa886 - Browse repository at this point
Copy the full SHA 05fa886View commit details -
Configuration menu - View commit details
-
Copy full SHA for 18d5351 - Browse repository at this point
Copy the full SHA 18d5351View commit details -
Configuration menu - View commit details
-
Copy full SHA for 1d09658 - Browse repository at this point
Copy the full SHA 1d09658View commit details -
Merge pull request #2265 from dfinity/joachim/rts-tests-via-wasm
Run the RTS tests in wasmtime/WASI
Configuration menu - View commit details
-
Copy full SHA for 0773ebc - Browse repository at this point
Copy the full SHA 0773ebcView commit details -
Configuration menu - View commit details
-
Copy full SHA for 8cf18d5 - Browse repository at this point
Copy the full SHA 8cf18d5View commit details
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.