summaryrefslogtreecommitdiff
path: root/miniany/TODOS
diff options
context:
space:
mode:
Diffstat (limited to 'miniany/TODOS')
-rw-r--r--miniany/TODOS22
1 files changed, 22 insertions, 0 deletions
diff --git a/miniany/TODOS b/miniany/TODOS
index e69de29..530d46b 100644
--- a/miniany/TODOS
+++ b/miniany/TODOS
@@ -0,0 +1,22 @@
+- emul-i386:
+ - running without tracing, maybe with trapping, just mmap, execute
+ and setting the stack (simple loader), maybe binfmt-compatible?
+- asm-i386:
+ - device a new version which runs on c4 and is again freestanding
+ - extend the opcodes slightly so we can use our current generator
+ (and not the old inefficient stack machine)
+- c4/cc:
+ - function forward definitons
+ - checkout c5-AST branch
+ - inline assembly
+ - void parameter declaration for functions like f(void) instead of f()
+ - global char array declarations: instead of char *buf, malloc(512) we could
+ use char buf[512]
+ - static: just ignore, we don't have a linker, otoh, just rewrite it whithout static,
+ vararg, etc. so the code will later respect local definitions of functions.
+ do not allow non-reentrant f() { static var; } constructs.
+ - volatile: we are not doing any optimizations for now, so volatile (as const)
+ can just be a ignored keyword.
+ - void * allowing to omit (char *) from and to for instance structs
+ in dynamic memory management
+