diff options
| -rw-r--r-- | README.md | 9 | ||||
| -rw-r--r-- | parse.c | 8 |
2 files changed, 11 insertions, 6 deletions
@@ -33,10 +33,17 @@ cc -O2 *.c -o minias # Roadmap +Essential features: + - [x] Self host, feature complete for goals. - [ ] Two pass jump relaxing. - [ ] Immediate relaxing. -- [ ] Bonus features. + +Bonus features: + +- Test every opcode with all variants in our test suite. +- Keep simplifying while keeping the code tidy. +- Parser that doesn't depend on peg/leg. # Notes @@ -8,11 +8,9 @@ static const Parsev *internparsev(Parsev *p) { for equality, even on pointer values, this works because the pointers themselves are also interned. - This simplicity somes with one big cost - Parsev variants with padding - can trigger a false positive on valgrind. It should still safe - because reading these undefined bytes do not change the behavior of the - program. The best fix is still to avoid the padding bytes in the Parsev - variant layout using a tool such as 'pahole'. + This simplicity comes with one big cost - Parsev variants with padding + can trigger a false positive on valgrind. It should still be safe, + but the best fix is still to avoid the padding bytes in the Parsev variants. */ size_t idx; const Parsev *interned; |
