invokevirtual: implement lazy class loading right
[mate.git] / doc / TODO
index c32d2430d1ddbbb530388caee24a5a00190d9438..15f7cb7190f159e260aeaf7eeb246e1308306413 100644 (file)
--- a/doc/TODO
+++ b/doc/TODO
@@ -7,11 +7,24 @@
        -> for gnu classpath absolutely necessary
        -> estimated effort: unknown
 
+(l) replace signals with "nice traps"?
+       pro -> don't rely on operating system anymore
+       pro -> maybe better ghci behaviour?
+       cons -> at some point, signals are useful for debugging?
+       cons -> better "template" tricks are needed, as we cannot insert more
+       instructions or want to place nop's at production code path
+
 (l) gnu classpath integration
        -> would be awwwesome
        -> depends on: exceptions, jni (?)
        -> estimated effort: unknown
 
+(m) hoopl
+       -> for "frontEnd analysis"
+       -> transition to MIR (Mate IR)?
+
+(h) switch statement (basically lookupswitch insn)
+
 (m) testing: hunit? quickcheck? other?
        -> we have `make tests' now, but it should be only considered as
           high-level test. we need something
@@ -50,9 +63,6 @@
 
 (l) check different types (byte, long, ...)
 
-(l) get rid of CUInt where appropriate
-       -> CPtrdiff and CSize (ptrdiff_t and size_t) is more portable
-
 (l) floating point support
 
 (h) better code generation
 (l) get rid of missingh
        -> huge dependency and we just need one function of it
 
+(l) get more details what takes time
+       -> use Data.Time.Clock
+       -> seperate analysis, jit, execution, ...
+       -> maybe use ghc profiling? (it doesn't measure native execution, but well)
+
+(h) patching also possible with harpy?
+       -> we can use a own buffer @ codegeneration...
+
 
 (l) ... low priority
 (m) ... medium priority