Closed ptersilie closed 3 months ago
This broadly looks OK but can we a) document/assert more invariants b) document functions (in particular unexpected properties that callers must maintain)? Even a short sentence or two on functions can really help me as a reader. [e.g. for a while I read the function lives
as "is alive" not "all of the variables that aren't dead"! One could blame English for its ambiguity here, but I prefer to think a doc string would have helped me :)]
Do you have examples for invariants you want documented/asserted?
Nice work Lukas. It's evident that this was hard work!
Do you have examples for invariants you want documented/asserted?
No (other than the lives vec thingy) -- and that's my point :) I think you have some invariants in your head that you know but which I might not realise (and future you might forget). Documenting these is always good because they're so easily forgotten or missed. At least, I'm too stupid to remember them!
Do you have examples for invariants you want documented/asserted?
No (other than the lives vec thingy) -- and that's my point :) I think you have some invariants in your head that you know but which I might not realise (and future you might forget). Documenting these is always good because they're so easily forgotten or missed. At least, I'm too stupid to remember them!
Added some docstrings and fixmes.
Ready for re-review.
Please squash and rebase.
Squashed and rebased.
Forgot to run clippy. This needs another squashing.
Please squash.
Force-pushed the ykllvm submodule update just now.
@ltratt Can you try to merge again. Buildbot has deleted the log and I can't replicate.
Ok to squash?
Please squash.
I hope disabling SWT in buildbot.sh
was enough. I guess we'll know once we try to merge again.
I'll press "merge" but this is what I normally use tryci for locally.
The test suite still tried to run jitc_llvm
tests. Let's hope I got all of them this time.
Please squash.
Squashed.
Depends on https://github.com/ykjit/ykllvm/pull/180 and requires an update to the ykllvm submodule before merging.
Implement a basic version of side-tracing. The code can still be simplified a bit and there's some corner cases we don't handle yet.